Cryptographically Secure Pseudorandom Number Generators

  • Ronald T. Kneusel


Cryptographically secure pseudorandom number generators (CSPRNGs) are pseudorandom number generators that protect against attack while still providing high quality pseudorandom values. In this chapter, we explore four of these generators, one for historical purposes (Blum Blum Shub) and three that are considered secure and are in current use: ISAAC, Fortuna, and ChaCha20.


  1. 1.
    Schneier, Bruce. Applied cryptography: protocols, algorithms, and source code in C. john wiley & sons, 2015.Google Scholar
  2. 2.
    Andrew Chi-Chih Yao. Theory and applications of trapdoor functions. In Proceedings of the 23rd IEEE Symposium on Foundations of Computer Science, 1982.Google Scholar
  3. 3.
    Goldberg, Ian, and David Wagner. “Randomness and the Netscape browser.” Dr Dobb’s Journal-Software Tools for the Professional Programmer 21, no. 1 (1996): 66–71.Google Scholar
  4. 4.
    Dorrendorf, Leo, Zvi Gutterman, and Benny Pinkas. “Cryptanalysis of the random number generator of the windows operating system.” ACM Transactions on Information and System Security (TISSEC) 13, no. 1 (2009): 10.Google Scholar
  5. 5.
    Lenstra, Arjen, James P. Hughes, Maxime Augier, Joppe Willem Bos, Thorsten Kleinjung, and Christophe Wachter. “Ron was wrong, Whit is right.” (2012).Google Scholar
  6. 6.
    Heninger, Nadia, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman. “Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices.” In USENIX Security Symposium, vol. 8. 2012.Google Scholar
  7. 7.
    Blum, Lenore, Manuel Blum, and Mike Shub. “A simple unpredictable pseudo-random number generator.” SIAM Journal on computing 15, no. 2 (1986): 364–383.MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Gauss, Carl Friedrich. Disquisitiones arithmeticae. Vol. 157. Yale University Press, 1966.Google Scholar
  9. 9.
    Sidorenko, Andrey, and Berry Schoenmakers. “Concrete security of the blum-blum-shub pseudorandom generator.” Lecture notes in computer science 3796 (2005): 355.MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Erdös, Paul, Carl Pomerance, and Eric Schmutz. “Carmichael’s lambda function.” Acta Arith 58, no. 4 (1991): 363–385.MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Jenkins, Robert J. “Isaac.” In International Workshop on Fast Software Encryption, pp. 41–49. Springer, Berlin, Heidelberg, 1996.Google Scholar
  12. 12.
    Paul, Souradyuti, and Bart Preneel. “On the (in) security of stream ciphers based on arrays and modular addition.” In ASIACRYPT, vol. 6. 2006.Google Scholar
  13. 13.
    Aumasson, Jean-Philippe. “On the pseudo-random generator ISAAC.” IACR Cryptology ePrint Archive 2006 (2006): 438.Google Scholar
  14. 14.
    Pudovkina, Marina. “A known plaintext attack on the ISAAC keystream generator.” IACR Cryptology ePrint Archive 2001 (2001): 49.Google Scholar
  15. 15.
    Ferguson, Niels, and Bruce Schneier. Practical cryptography. Vol. 23. New York: Wiley, 2003.zbMATHGoogle Scholar
  16. 16.
    McEvoy, Robert, James Curran, Paul Cotter, and Colin Murphy. “Fortuna: cryptographically secure pseudo-random number generation in software and hardware.” (2006): 457–Z462.Google Scholar
  17. 17.
    Bernstein, Daniel J. “The ChaCha family of stream ciphers.” DJ Bernstein’s Webpage.

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Ronald T. Kneusel
    • 1
  1. 1.ThorntonUSA

Personalised recommendations