Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
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 random trials it is possible to find a set of 2 64 triplets (K, IV 0 , IV 1 ) such that the Key-IV pairs (K, IV 0 ) and (K, IV 1 ) produce identical keystream bits. Second, we show that by performing only around 2 28 random trials it is possible to obtain Key-IV pairs (K 0 , IV 0 ) and (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 random IV encryptions (with encryption required to produce keystream bits) and around bits of memory. Next, 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. We then outline a method to extend our attack to 226 rounds. Our results do not affect the security claims of the designers.
Daniel Patrick Collins, Subhadeep Banik, Willi Meier