75 research outputs found

    Conditional differential cryptanalysis of 105 round Grain v1

    Get PDF

    Some results on Sprout

    Get PDF
    Sprout is a lightweight stream cipher proposed by Armknecht and Mikhalev at FSE 2015. It has a Grain-like structure with two State Registers of size 40 bits each, which is exactly half the state size of Grain v1. In spite of this, the cipher does not appear to lose in security against generic Time-Memory-Data Tradeoff attacks due to the novelty of its design. In this paper, we first present improved results on Key Recovery with partial knowledge of the internal state. We show that if 50 of the 80 bits of the internal state are guessed then the remaining bits along with the Secret Key can be found in a reasonable time using a SAT solver. Thereafter we show that it is possible to perform a distinguishing attack on the full Sprout stream cipher in the multiple IV setting using around 2402^{40} randomly chosen IVs on an average. The attack requires around 2482^{48} bits of memory. Thereafter we will show that for every Secret Key, there exist around 2302^{30} IVs for which the LFSR used in Sprout enters the all zero state during the Keystream generating phase. Using this observation, we will first show that it is possible to enumerate Key-IV pairs that produce keystream bits with period as small as 80. We will then outline a simple Key recovery attack that takes time equivalent to 266.72^{66.7} encryptions with negligible memory requirement. This although is not the best attack reported against this cipher in terms of the Time complexity, it is the best in terms of the memory required to perform the attack

    A Dynamic Cube Attack on 105105 round Grain v1

    Get PDF
    As far as the Differential Cryptanalysis of reduced round Grain v1 is concerned, the best results were those published by Knellwolf et al. in Asiacrypt 20112011. In an extended version of the paper, it was shown that it was possible to retrieve {\bf (i)} 55 expressions in the Secret Key bits for a variant of Grain v1 that employs 9797 rounds (in place of 160160) in its Key Scheduling process using 2272^{27} chosen IVs and {\bf (ii)} 11 expression in Secret Key bits for a variant that employs 104104 rounds in its Key Scheduling using 2352^{35} chosen IVs. However, the second attack on 104104 rounds, had a success probability of around 5050\%, which is to say that the attack worked for only around one half of the Secret Keys. In this paper we propose a dynamic cube attack on 105105 round Grain v1, that has a success probability of 100100\%, and thus we report an improvement of 88 rounds over the previous best attack on Grain v1 that attacks the entire Keyspace. We take the help of the tool Δ\Delta{\sf Grain}KSA_{\sf KSA}, proposed by Banik at ACISP 2014, to track the differential trails induced in the internal state of Grain v1 by any difference in the IV bits, and we prove that a suitably introduced difference in the IV leads to a distinguisher for the output bit produced in the 105th105^{th} round. This, in turn, helps determine the values of 66 expressions in the Secret Key bits

    Exploring Energy Efficiency of Lightweight Block Ciphers

    Get PDF
    Abstract. In the last few years, the field of lightweight cryptography has seen an influx in the number of block ciphers and hash functions being proposed. One of the metrics that define a good lightweight design is the energy consumed per unit operation of the algorithm. For block ciphers, this operation is the encryption of one plaintext. By studying the energy consumption model of a CMOS gate, we arrive at the conclusion that the total energy consumed during the encryption operation of an r-round unrolled architecture of any block cipher is a quadratic function in r. We then apply our model to 9 well known lightweight block ciphers, and thereby try to predict the optimal value of r at which an r-round unrolled architecture for a cipher is likely to be most energy efficient. We also try to relate our results to some physical design parameters like the signal delay across a round and algorithmic parameters like the number of rounds taken to achieve full diffusion of a difference in the plaintext/key

    Exploring the energy consumption of lightweight blockciphers in FPGA

    Get PDF

    Compact Circuits for Efficient Möbius Transform

    Get PDF
    The Möbius transform is a linear circuit used to compute the evaluations of a Boolean function over all points on its input domain. The operation is very useful in finding the solution of a system of polynomial equations over GF(2) for obvious reasons. However the operation, although linear, needs exponential number of logic operations (around n · 2n−1 bit xors) for an n-variable Boolean function. As such, the only known hardware circuit to efficiently compute the Möbius Transform requires silicon area that is exponential in n. For Boolean functions whose algebraic degree is bound by some parameter d, recursive definitions of the Möbius Transform exist that requires only O(nd+1) space in software. However converting the mathematical definition of this space-efficient algorithm into a hardware architecture is a non-trivial task, primarily because the recursion calls notionally lead to a depth-first search in a transition graph that requires context switches at each recursion call for which straightforward mapping to hardware is difficult. In this paper we look to overcome these very challenges in an engineering sense. We propose a space efficient sequential hardware circuit for the Möbius Transform that requires only polynomial circuit area (i.e. O(nd+1)) provided the algebraic degree of the Boolean function is limited to d. We show how this circuit can be used as a component to efficiently solve polynomial equations of degree at most d by using fast exhaustive search. We propose three different circuit architectures for this, each of which uses the Möbius Transform circuit as a core component. We show that asymptotically, all the solutions of a system of m polynomials in n unknowns and algebraic degree d over GF(2) can be found using a circuit of silicon area proportional to m · nd+1 and circuit depth proportional to 2 · log2(n − d). In the second part of the paper we introduce a fourth hardware solver that additionally aims to achieve energy efficiency. The main idea is to reduce the solution space to a small enough value by parallel application of Möbius Transform circuits over the first few equations of the system. This is done so that one can check individually whether the vectors of this reduced solution space satisfy each of the remaining equations of the system using lower power consumption. The new circuit has area also bound by m · nd+1 and has circuit depth proportional to d · log2 n. We also show that further optimizations with respect to energy consumption may be obtained by using depth-bound Möbius circuits that exponentially decrease run time at the cost of additional logic area and depth

    Compact Circuits for Efficient Mobius Transform

    Get PDF
    Möbius transform is a linear circuit used to compute the evaluations of a Boolean function over all points on its input domain. The operation is very useful in finding the solution of a system of polynomial equations over GF (2) for obvious reasons. However the operation, although linear, needs exponential number of logic operations (around n⋅2n−1n\cdot 2^{n-1} bit xors) for an nn-variable Boolean function. As such the only known hardware circuit to efficiently compute the Möbius Transform requires silicon area that is exponential in nn. For Boolean functions whose algebraic degree is bound by some parameter dd, recursive definitions of the Möbius Transform exist that requires only O(nd+1)O(n^{d+1}) space in software. However converting the mathematical definition of this space-efficient algorithm into a hardware architecture is a non-trivial task, primarily because the recursion calls notionally lead to a depth-first search in a transition graph that require context switches at each recursion call for which straightforward mapping in hardware is difficult. In this paper we look to overcome these very challenges in an engineering sense. We propose a space efficient sequential hardware circuit for the Möbius Transform that requires only polynomial circuit area (i.e. O(nd+1)O(n^{d+1})) provided the algebraic degree of the Boolean function is limited to dd. We show that how this circuit can be used as a component to efficiently solve polynomial equations of degree at most dd by using fast exhaustive search. We propose three different circuit architectures for this, each of which used the Möbius Transform circuit as a core component. We show that asymptotically, all the solutions of a system of mm polynomials in nn unknowns and algebraic degree dd over GF (2) can be found using a circuit of silicon area proportional to m⋅nd+1m \cdot n^{d+1} and physical time proportional to 2⋅log⁥2(n−d)⋅2n−d2\cdot\log_2(n-d)\cdot 2^{n-d}

    Some cryptanalytic results on Lizard

    Get PDF
    Lizard is a lightweight stream cipher proposed by Hamann, Krause and Meier in IACR ToSC 2017. It has a Grain-like structure with two state registers of size 90 and 31 bits. The cipher uses a 120 bit Secret Key and a 64 bit IV. The authors claim that Lizard provides 80 bit security against key recovery attacks and a 60-bit security against distinguishing attacks. In this paper, we present an assortment of results and observations on Lizard. First, we show that by doing 2582^{58} random trials it is possible to a set of 2642^{64} triplets (K,IV0,IV1)(K,IV_0,IV_1) such that the Key-IV pairs (K,IV0)(K,IV_0) and (K,IV1)(K,IV_1) produce identical keystream bits. Second, we show that by performing only around 2282^{28} random trials it is possible to obtain 2642^{64} Key-IV pairs (K0,IV0)(K_0,IV_0) and (K1,IV1)(K_1,IV_1) that produce identical keystream bits. Thereafter, we show that one can construct a distinguisher for Lizard based on IVs that produce shifted keystream sequences. The process takes around 251.52^{51.5} random IV encryptions and around 276.62^{76.6} bits of memory. Finally, we propose a key recovery attack on a version of Lizard with the number of initialization rounds reduced to 223 (out of 256) based on IV collisions

    Differential Fault Attack against Grain family with very few faults and minimal assumptions

    Get PDF
    The series of published works, related to Differential Fault Attack (DFA) against the Grain family, require (i) quite a large number (hundreds) of faults (around nln⁥nn \ln n, where n=80n = 80 for Grain v1 and n=128n = 128 for Grain-128, Grain-128a) and also (ii) several assumptions on location and timing of the fault injected. In this paper we present a significantly improved scenario from the adversarial point of view for DFA against the Grain family of stream ciphers. Our model is the most realistic one so far as it considers that the cipher to be re-keyed a very few times and fault can be injected at any random location and at any random point of time, i.e., no precise control is needed over the location and timing of fault injections. We construct equations based on the algebraic description of the cipher by introducing new variables so that the degrees of the equations do not increase. In line of algebraic cryptanalysis, we accumulate such equations based on the fault-free and faulty key-stream bits and solve them using the SAT Solver Cryptominisat-2.9.5 installed with SAGE 5.7. In a few minutes we can recover the state of Grain v1, Grain-128 and Grain-128a with as little as 10, 4 and 10 faults respectively (and may be improved further with more computational efforts)

    Cryptanalysis of Plantlet

    Get PDF
    Plantlet is a lightweight stream cipher designed by Mikhalev, Armknecht and MĂŒller in \texttt{IACR ToSC} 2017. It has a Grain-like structure with two state registers of size 4040 and 6161 bits. In spite of this, the cipher does not seem to lose in security against generic Time-Memory-Data Tradeoff attacks due to the novelty of its design. The cipher uses a 80-bit secret key and a 90-bit IV. In this paper, we first present a key recovery attack on Plantlet that requires around 276.262^{76.26} Plantlet encryptions. The attack leverages the fact that two internal states of Plantlet that differ in the 43rd LFSR location are guaranteed to produce keystream that are either equal or unequal in 45 locations with probability 1. Thus an attacker can with some probability guess that when 2 segments of keystream blocks possess the 45 bit difference just mentioned, they have been produced by two internal states that differ only in the 43rd LFSR location. Thereafter by solving a system of polynomial equations representing the keystream bits, the attacker can find the secret key if his guess was indeed correct, or reach some kind of contradiction if his guess was incorrect. In the latter event, he would repeat the procedure for other keystream blocks with the given difference. We show that the process when repeated a finite number of times, does indeed yield the value of the secret key. In the second part of the paper, we observe that the previous attack was limited to internal state differences that occurred at time instances that were congruent to 0 mod 800\bmod 80. We further observe that by generalizing the attack to include internal state differences that are congruent to all equivalence classed modulo 80, we lower the total number of keystream bits required to perform the attack and in the process reduce the attack complexity to 269.982^{69.98} Plantlet encryptions
    • 

    corecore