Paper 2005/155

Py (Roo): A Fast and Secure Stream Cipher using Rolling Arrays

Eli Biham and Jennifer Seberry


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 designed with operations that are very efficient in software. The allowed stream size is $2^{64}$ bytes in each stream (or $2^{40}$ in the smaller version Py6). The security claims of the cipher are that no key recovery attacks can be performed with complexity smaller than that of exhaustive search, and distinguishing attacks are also impractical with a similar complexity. The speed of the cipher is impressively fast, as it is more than 2.5 times faster than RC4 on a Pentium III (with less than 2.9 cycles/byte when implemented with the API of NESSIE and tested with the NESSIE software).

Available format(s)
Secret-key cryptography
Publication info
Published elsewhere. Submitted to the Eecrypt stream cipher contest
Py (Roo)stream cipher
Contact author(s)
biham @ cs technion ac il
2005-05-30: revised
2005-05-29: received
See all versions
Short URL
Creative Commons Attribution


      author = {Eli Biham and Jennifer Seberry},
      title = {Py (Roo): A Fast and Secure Stream Cipher using Rolling Arrays},
      howpublished = {Cryptology ePrint Archive, Paper 2005/155},
      year = {2005},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.