Paper 2015/828

State-recovery analysis of Spritz

Ralph Ankele, Stefan Koelbl, and Christian Rechberger


RC4 suffered from a range of plaintext-recovery attacks using statistical biases, which use substantial, albeit close-to-practical, amounts of known keystream in applications such as TLS or WEP/WPA. Spritz was recently proposed at the rump session of CRYPTO 2014 as a slower redesign of RC4 by Rivest and Schuldt, aiming at reducing the statistical biases that lead to these attacks on RC4. Even more devastating than those plaintext-recovery attacks from large amounts of keystream would be state- or key-recovery attacks from small amounts of known keystream. For RC4, there is unsubstantiated evidence that they may exist, the situation for Spritz is however not clear, as resistance against such attacks was not a design goal. In this paper, we provide the first cryptanalytic results on Spritz and introduce three different state recovery algorithms. Our first algorithm recovers an internal state, requiring only a short segment of keystream, with an approximated complexity of $2^{1400}$, which is much faster than exhaustive search through all possible states, but is still far away from a practical attack. Furthermore, we introduce a second algorithm that uses a pattern in the keystream to reduce the number of guessed values in our state recovery algorithm. Our third algorithm uses a probabilistic approach by considering the permutation table as probability distribution. All in all, rather than showing a weakness, our analysis supports the conjecture that compared to RC4, Spritz may also provide higher resistance against potentially devastating state-recovery attacks.

Available format(s)
Secret-key cryptography
Publication info
Published elsewhere. LatinCrypt 2015, LNCS 9230 proceedings
SpritzRC4stream cipherstate recoverycryptanalysis
Contact author(s)
Ralph Ankele 2015 @ live rhul ac uk
2015-08-26: received
Short URL
Creative Commons Attribution


      author = {Ralph Ankele and Stefan Koelbl and Christian Rechberger},
      title = {State-recovery analysis of Spritz},
      howpublished = {Cryptology ePrint Archive, Paper 2015/828},
      year = {2015},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.