Towards a General RC4-Like Keystream Generator

  • Guang Gong
  • Kishan Chand Gupta
  • Martin Hell
  • Yassir Nawaz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3822)


RC4 was designed in 1987 when 8-bit and 16-bit processors were commercially available. Today, most processors use 32-bit or 64-bit words but using original RC4 with 32/64 bits is infeasible due to the large memory constraints and the number of operations in the key scheduling algorithm. In this paper we propose a new 32/64-bit RC4-like keystream generator. The proposed generator produces 32 or 64 bits in each iteration and can be implemented in software with reasonable memory requirements. It has a huge internal state and offers higher resistance to state recovery attacks than the original 8-bit RC4. Further, on a 32-bit processor the generator is 3.1 times faster than original RC4. We also show that it can resist attacks that are successful on the original RC4. The generator is suitable for high speed software encryption.


RC4 stream ciphers random shuffle keystream generator 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Biham, E., Granboulan, L., Nguyen, P.: Impossible and Differential Fault Analysis of RC4. Fast Software Encryption (2005)Google Scholar
  2. 2.
    Finney, H.: An RC4 cycle that can’t happen, Post in sci.crypt (September 1994)Google Scholar
  3. 3.
    Flajolet, P., Odlyzko, A.M.: Random mapping statistics. In: Quisquater, J.-J., Vandewalle, J. (eds.) EUROCRYPT 1989. LNCS, vol. 434, pp. 329–354. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  4. 4.
    Fluhrer, S., Mantin, I., Shamir, A.: Weaknesses in the key scheduling algorithm of RC4. In: Vaudenay, S., Youssef, A.M. (eds.) SAC 2001. LNCS, vol. 2259, pp. 1–24. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Fluhrer, S., McGrew, D.: Statistical analysis of the alleged RC4 keystream generator. In: Schneier, B. (ed.) FSE 2000. LNCS, vol. 1978, pp. 19–30. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Golić, J.: Linear statistical weakness of alleged RC4 keystream generator. In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 226–238. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Golić, J.D.: Iterative Probabilistic Cryptanalysis of RC4 Keystream Generator. In: Clark, A., Boyd, C., Dawson, E.P. (eds.) ACISP 2000. LNCS, vol. 1841, pp. 220–233. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    Grosul, A., Wallach, D.: A related key cryptanalysis of RC4. Department of Computer Science, Rice University, Technical Report TR-00-358 (June 2000)Google Scholar
  9. 9.
    Jenkins, R.: Isaac and RC4. Published on the Internet, at
  10. 10.
    Klimov, A., Shamir, A.: A new class of invertible mappings. In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 470–483. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Knudsen, L., Meier, W., Preneel, B., Rijmen, V., Verdoolaege, S.: Analysis methods for (Alleged) RC4. In: Ohta, K., Pei, D. (eds.) ASIACRYPT 1998. LNCS, vol. 1514, pp. 327–341. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  12. 12.
    MacLaren, M.D., Marsaglia, G.: Uniform random number generation. J. ACM 15, 83–89 (1965)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Mantin, I.: Predicting and distinguishing attacks on RC4 keystream generator. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 491–506. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Mantin, I., Shamir, A.: A practical attack on broadcast RC4. In: Matsui, M. (ed.) FSE 2001. LNCS, vol. 2355, pp. 152–164. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Mantin, I.: The Security of the Stream Cipher RC4. Master Thesis, The Weizmann Institute of Science (2001)Google Scholar
  16. 16.
    Maximov, A.: Two Linear Distinguishing Attacks on VMPC and RC4A and Weakness of the RC4 Family of Stream Ciphers. Fast Software Encryption (2005)Google Scholar
  17. 17.
    Mironov, I.: Not (so) random shuffles of RC4. In: Yung, M. (ed.) CRYPTO 2002. LNCS, vol. 2442, pp. 304–319. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Mister, S., Tavares, S.: Cryptanalysis of RC4-like ciphers. In: Tavares, S., Meijer, H. (eds.) SAC 1998. LNCS, vol. 1556, pp. 131–143. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  19. 19.
    NIST statistical tests suite with documentation. Available on the internet at URL,
  20. 20.
    Paul, S., Preneel, B.: Analysis of non-fortuitous predictive states of the RC4 keystream generator. In: Johansson, T., Maitra, S. (eds.) INDOCRYPT 2003. LNCS, vol. 2904, pp. 52–67. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  21. 21.
    Paul, S., Preneel, B.: A new weakness in the RC4 keystream generator and an approach to improve the security of the cipher. In: Roy, B., Meier, W. (eds.) FSE 2004. LNCS, vol. 3017, pp. 245–259. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  22. 22.
    Pudovkina, M.: Statistical Weaknesses in the Alleged RC4 keystream generator. Cryptology ePrint Archive 2002-171, IACR (2002)Google Scholar
  23. 23.
    Roos, A.: Class of weak keys in the RC4 stream cipher. Post in sci.crypt (September 1995)Google Scholar
  24. 24.
    Stubblefield, A., Ioannidis, J., Rubin, A.: Using the Fluhrer, Mantin and Shamir attack to break WEP. In: Proceedings of the 2002 Network and Distributed Systems Security Symposium, pp. 17–22 (2002)Google Scholar
  25. 25.
    Tsunoo, Y., Saito, T., Kubo, H., Shigeri, M., Suzaki, T., Kawabata, T.: The Most Efficient Distinguishing Attack on VMPC and RC4A. In: SKEW (2005)Google Scholar
  26. 26.
    Zoltak, B.: VMPC one-way function and stream cipher. In: Roy, B., Meier, W. (eds.) FSE 2004. LNCS, vol. 3017, pp. 210–225. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Guang Gong
    • 1
  • Kishan Chand Gupta
    • 2
  • Martin Hell
    • 3
  • Yassir Nawaz
    • 1
  1. 1.Department of Electrical and Computer EngineeringUniversity of WaterlooWaterlooCanada
  2. 2.Centre for Applied Cryptographic ResearchUniversity of WaterlooWaterlooCanada
  3. 3.Department of Information TechnologyLund UniversityLundSweden

Personalised recommendations