Paper 2007/054

Cryptanalysis of Stream Ciphers Based on Arrays and Modular Addition

Souradyuti Paul


In modern cryptography, stream ciphers are most useful in applications where information needs to be encrypted/decrypted at high speed (e.g. high resolution streaming video data) or when low footprint (gates/memory) encryption is required. In the literature, there exist plenty of stream ciphers whose internal states are based on arrays and that they use modular additions to generate output streams. The abundance of array-based stream ciphers with modular additions can be attributed to the fact that, when implemented in software skillfully, they are able to produce outputs at a very high speed. The main contribution of this thesis is a unified analysis of stream ciphers based on arrays and modular addition. During the process, we detect cryptographic weaknesses in the designs of 9 widely known stream ciphers or pseudorandom bit generators (PRBGs). At first, we show some theoretical results on solving an important class of equations known as \emph{differential equations of addition} (DEA) that combine modular additions over two different algebraic groups such as GF(2) and GF($2^{32}$). The results include, \bite \item proof of the fact that the satisfiability of an arbitrary set of DEA is in the complexity class \pP,\item deriving all the solutions of an arbitrary set of DEA. \eite Next, we apply these results to attack a practical stream cipher named Helix (designed by Ferguson \emph{et al.}) with both chosen plaintexts and adaptive chosen plaintexts. In the second phase, the thesis closely scrutinizes a number of array-based stream ciphers (or PRBGs) in order to estimate their resistance against distinguishing attacks. We eventually discover, counter-intuitively, that the correlations between the array-indices and their associated array-elements, which apparently seem to be useful from the point of view of implementation purposes, can be exploited to mount distinguishing attacks on such type of ciphers if adequate precautions are not taken. In support of our theoretical findings, we point out distinguishing attacks on 8 practical array-based stream ciphers (or PRBGs), namely RC4 (designed by Rivest), RC4A (designed by Paul and Preneel), Py, Py6 (designed by Biham and Seberry), IA, ISAAC (designed by Jenkins Jr.), GGHN, NGG (by Gong \emph{et al.}); our attacks are based on the dependence of array-elements on array-indices. In all the cases we work under the assumption that the key-setup algorithms of the ciphers produce uniformly distributed internal states. We detect flaws in the mixing of bits in the keystream generation algorithms. Our analysis can be explained as the extension, development, adaptation and deeper characterization of the \ti{fortuitous states attacks} on the RC4 cipher by Fluhrer and McGrew in 2000.

Note: The attack on ISAAC, as claimed in the thesis, relies on a wrong interpretation of the original ISAAC algorithm with respect to the programming language C. This was pointed out by Jean Philippe Aumasson in this database in the Report 2006/438 which also claims to reveal weaknesses on the original ISAAC. The reason for this confusion has been explained in the Asiacrypt 2006 presentation the slides of which can found via author's homepage.

Available format(s)
Secret-key cryptography
Publication info
Published elsewhere. Ph.D. thesis, Katholieke Universiteit Leuven, B. Preneel (supervisor), 145+xxiv pages, November 2006.
Contact author(s)
Souradyuti Paul @ esat kuleuven be
2011-11-24: revised
2007-02-20: received
See all versions
Short URL
Creative Commons Attribution


      author = {Souradyuti Paul},
      title = {Cryptanalysis of Stream Ciphers Based on Arrays and Modular Addition},
      howpublished = {Cryptology ePrint Archive, Paper 2007/054},
      year = {2007},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.