Paper 2016/1034

Significantly Improved Multi-bit Differentials for Reduced Round Salsa and ChaCha

Arka Rai Choudhuri and Subhamoy Maitra


ChaCha and Salsa are two software oriented stream ciphers that have attracted serious attention in academic as well as commercial domain. The most important cryptanalysis of reduced versions of these ciphers was presented by Aumasson et al. in FSE 2008. One part of their attack was to apply input difference(s) to investigate biases after a few rounds. So far there have been certain kind of limited exhaustive searches to obtain such biases. For the first time, in this paper, we show how to theoretically choose the combinations of the output bits to obtain significantly improved biases. The main idea here is to consider the multi-bit differentials as extension of suitable single-bit differentials with linear approximations, which is essentially a differential-linear attack. As we consider combinations of many output bits (for example 19 for Salsa and 21 for ChaCha), exhaustive search is not possible here. By this method we obtain very high biases for linear combinations of bits in Salsa after 6 rounds and in ChaCha after 5 rounds. These are clearly two rounds of improvement for both the ciphers over the existing works. Using these biases we obtain several significantly improved cryptanalytic results for reduced round Salsa and ChaCha that could not be obtained earlier. In fact, with our results it is now possible to cryptanalyse 6-round Salsa and 5-round ChaCha in practical time.

Available format(s)
Secret-key cryptography
Publication info
Published by the IACR in FSE 2017
Stream CipherChaChaSalsaNon-RandomnessBiasProbabilistic Neutral Bit (PNB)ARX CipherDifferential-Linear Cryptanalysis
Contact author(s)
subho @ isical ac in
2016-11-24: revised
2016-11-01: received
See all versions
Short URL
Creative Commons Attribution


      author = {Arka Rai Choudhuri and Subhamoy Maitra},
      title = {Significantly Improved Multi-bit Differentials for Reduced Round Salsa and ChaCha},
      howpublished = {Cryptology ePrint Archive, Paper 2016/1034},
      year = {2016},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.