Distinguishing Attacks on the Stream Cipher Py
نویسندگان
چکیده
The stream cipher Py, which was designed by Biham and Seberry, is a submission for ECRYPT stream cipher competition. The cipher which is based on two large arrays (one is 256 bytes and the other is 1040 bytes) is specifically designed for high speed software applications (Py is more than 2.5 times faster than the RC4 on Pentium III). The paper, for the first time, detects a weakness in the mechanism of the stream cipher Py. We find a statistical bias in the distribution of the output-words at the 1st and the 3rd rounds of the cipher (more generally at the rounds t and t+2 where t > 0). Using this bias, a distinguisher is constructed that works effectively with 2 randomly chosen key/IV’s. Essentially, for each of 2 randomly chosen key/IV’s, the attacker collects only a pair of bits from the outputs at the 1st and the 3rd rounds to establish the distinguisher. The first implication of the results is that it nullifies the claim of the designers of the cipher, that no distinguishing attacks on the cipher are possible with running time less than the exhaustive search (note that the recommended key-length of Py is 256 bits). Secondly, the fact that the bias is found within the outputs generated in the first three rounds (i.e., a segment of 24 bytes) shows that, for Py, the recommended stream length of 2 bytes is also not secure. These results constitute an academic break of the cipher. We have also detected several biases among many pairs of bits and designed distinguishers from them (with the numbers of key/IV’s 2, 2 etc.) however, they are less effective than the one described above. ? This work was supported in part by the Concerted Research Action (GOA) Mefisto 2000/06 and Ambiorix 2005/11 of the Flemish Government and in part by the European Commission through the IST Programme under Contract IST-2002-507932 ECRYPT.
منابع مشابه
New Results of Related-key Attacks on All Py-Family of Stream Ciphers
The stream cipher TPypy has been designed by Biham and Seberry in January 2007 as the strongest member of the Py-family of stream ciphers. At Indocrypt 2007, Sekar, Paul and Preneel showed related-key weaknesses in the Py-family of stream ciphers including the strongest member TPypy. Furthermore, they modified the stream ciphers TPypy and TPy to generate two fast ciphers, namely RCR-32 and RCR-...
متن کاملRelated-Key Attacks on the Py-Family of Ciphers and an Approach to Repair the Weaknesses
The stream cipher TPypy has been designed by Biham and Seberry in January 2007 as the strongest member of the Py-family ciphers, after weaknesses in the other members Py, Pypy, Py6 were discovered. One main contribution of the paper is the detection of related-key weaknesses in the Py-family of ciphers including the strongest member TPypy. Under related keys, we show a distinguishing attack on ...
متن کاملPy (Roo, åø): A Fast and Secure Stream Cipher using Rolling Arrays
Py (pronounced Roo, a shorthand for Kangaroo) is a new stream cipher designed especially for the Ecrypt stream cipher contest. It is based on a new kind of primitive, which we call Rolling Arrays. It also uses various other ideas from many types of ciphers, including variable rotations and permutations. In some sense, this design is a kind of a new type of rotor machine, which is specially desi...
متن کاملPy (Roo): A Fast and Secure Stream Cipher using Rolling Arrays
Py (pronounced Roo, a shorthand for Kangaroo) is a new stream cipher designed especially for the Ecrypt stream cipher contest. It is based on a new kind of primitive, which we call Rolling Arrays. It also uses various other ideas from many types of ciphers, including variable rotations and permutations. In some sense, this design is a kind of a new type of rotor machine, which is specially desi...
متن کاملOn the (In)security of Stream Ciphers Based on Arrays and Modular Addition
Stream ciphers play an important role in symmetric cryptology because of their suitability in high speed applications where block ciphers fall short. A large number of fast stream ciphers or pseudorandom bit generators (PRBGs) can be found in the literature that are based on arrays and simple operations such as modular additions, rotations and memory accesses (e.g. RC4, RC4A, Py, Py6, ISAAC etc...
متن کامل