Distinguishing attacks on the stream cipher py

  • Authors:
  • Souradyuti Paul;Bart Preneel;Gautham Sekar

  • Affiliations:
  • Dept. ESAT/COSIC, Katholieke Universiteit Leuven, Leuven-Heverlee, Belgium;Dept. ESAT/COSIC, Katholieke Universiteit Leuven, Leuven-Heverlee, Belgium;Dept. ESAT/COSIC, Katholieke Universiteit Leuven, Leuven-Heverlee, Belgium

  • Venue:
  • FSE'06 Proceedings of the 13th international conference on Fast Software Encryption
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The stream cipher Py designed by Biham and Seberry is a submission to the ECRYPT stream cipher competition. The cipher is based on two large arrays (one is 256 bytes and the other is 1040 bytes) and it is designed for high speed software applications (Py is more than 2.5 times faster than the RC4 on Pentium III). The paper shows a statistical bias in the distribution of its output-words at the 1st and 3rd rounds. Exploiting this weakness, a distinguisher with advantage greater than 50% is constructed that requires 284.7 randomly chosen key/IV’s and the first 24 output bytes for each key. The running time and the data required by the distinguisher are t284.7 and 289.2 respectively (t denotes the running time of the key/IV setup). We further show that the data requirement can be reduced by a factor of about 3 with a distinguisher that considers outputs of later rounds. In such case the running time is reduced to t284.7 (t denotes the time for a single round of Py). The Py specification allows a 256-bit key and a keystream of 264 bytes per key/IV. As an ideally secure stream cipher with the above specifications should be able to resist the attacks described before, our results constitute an academic break of Py. In addition we have identified several biases among pairs of bits; it seems possible to combine all the biases to build more efficient distinguishers.