True Random Number Generators for Cryptography
Random numbers and randomization techniques are critical for modern-day cryptography. Random numbers are used to initialize key bits for secret- and public-key algorithms, seed pseudo-random number generators, provide challenges, nonces, padding bits, as well as initialization vectors in cryptographic primitives and protocols. For cryptographic applications it is crucial to generate pseudo-random bits which will be unpredictable to the adversary even at the exposure of partial information. The literature is filled with protocols that are built around state-of-the-art cryptographic primitives, yet fail in practice, due to a weak random number generator (cf. ).
In this chapter, we focus on practical TRNG designs that are suitable for manufacturing on common ASIC silicon process or to be implemented on reconfigurable logic platforms (e.g., FPGA, CPLD, etc.). Hence, esoteric designs and software TRNGs (e.g., TRNGs that use randomness in RAM or Disk access times ) are...
KeywordsHash Function Phase Lock Loop Voltage Control Oscillator Ring Oscillator Linear Feedback Shift Register
- I. Goldberg and D. Wagner. Randomness in the Netscape Browser. Dr. Dobb’s Journal, January 1996.Google Scholar
- D. Davis, R. Ihaka, and P. P. Fenstermacher, Cryptographic randomness from air turbulence in disk drives. In Y. Desmedt editor, Advances in Cryptology (Crypto 94), vol. 839, pp. 114–120, Heidelberg, Germany: Springer-Verlag, 1994.Google Scholar
- Random.org. True random number service v2.0 beta. www.random.org
- J. von Neumann. Various techniques for use in connection with random digits, von Neumann’s Collected Works, vol. 5, Pergamon, pp. 768–770, 1963.Google Scholar
- B. Barak, R. Shaltiel, and E. Tomer. True Random Number Generators Secure in a Changing Environment. In Ç. K. Koç and C. Paar, editors, Workshop on Cryptographic Hardware and Embedded Systems–-CHES 2003, pp. 166–180, Berlin, Germany, Lecture Notes in Computer Science, Vol. 2779 2003. Springer-Verlag, 2003.CrossRefGoogle Scholar
- B. Jun and P. Kocher. The Intel random number generator, White Paper Prepared for Intel Corporation, April 1999.Google Scholar
- T. E. Tkacik. A Hardware Random Number Generatork In B. S. Kaliski Jr., Ç. K. Koç, C. Paar, editors, Workshop on Cryptographic Hardware and Embedded Systems–-CHES 2002, pp. 450–453, Berlin, Germany, Lecture Notes in Computer Science, Vol. 2523. Springer-Verlag Berlin Heidelberg, 2003.CrossRefGoogle Scholar
- G. Marsaglia. DIEHARD: A Battery of Tests of Randomness, http:// stat.fsu.edu/\(\sim\)geo, 1996.
- NIST. A Statistical Test Suite for Random and Pseudorandom Numbers. Special Publication 800-22, December 2000.Google Scholar
- W. Schindler and W. Killmann. Evaluation Criteria for True (Physical) Random Number Generators Used in Cryptographic Applications. In B. S. Kaliski Jr., Ç. K. Koç, C. Paar, editors, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems – CHES 2002, Lecture Notes in Computer Science, Vol. 2523, pp. 431–449, Springer-Verlag Berlin Heidelberg, August 2002.Google Scholar
- Anwendungshinweise und Interpretationen zum Schema (AIS). AIS 32, Version 1, Bundesamt fr Sicherheit in der Informationstechnik, 2001.Google Scholar
- V. Bagini and M. Bucci. A Design of Reliable True Random Number Generator for Cryptographic Applications. In Ç. K. Koç and C. Paar, editors, Workshop on Cryptographic Hardware and Embedded Systems–-CHES 1999, pp. 204–218, Berlin, Germany, Lecture Notes in Computer Science, Vol. 1717. Springer-Verlag, 1999.Google Scholar
- M. Dichtl. How to Predict the Output of a Hardware Random Number Generator, In C. D. Walter, Ç. K. Koç, C. Paar, editors, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems – CHES 2003, Lecture Notes in Computer Science, Vol. 2779, pp. 181–188, Springer-Verlag Berlin Heidelberg, 2003.Google Scholar
- W. Schindler. A Stochastical Model and Its Analysis for a Physical Random Number Generator In K. G. Paterson editor, Cryptography and Coding–-IMA 2003, Springer, Lecture Notes in Computer Science, vol. 2898, 276–289, Berlin, 2003.Google Scholar
- M. Epstein, L. Hars, R. Krasinski, M. Rosner and H. Zheng. Design and Implementation of a True Random Number Generator Based on Digital Circuit Artifacts. In C. D. Walter, Ç. K. Koç, C. Paar, editors, Workshop on Cryptographic Hardware and Embedded Systems–-CHES 2003, Lecture Notes in Computer Science, Vol. 2779, pp. 152–165. Springer-Verlag Berlin Heidelberg, 2003.CrossRefGoogle Scholar
- V. Fischer and M. Drutarovský. True Random Number Generator Embedded in Reconfigurable Hardware In B. S. Kaliski Jr., Ç. K. Koç, C. Paar, editors, Workshop on Cryptographic Hardware and Embedded Systems–-CHES 2002, pp. 415–430, Berlin, Germany, Lecture Notes in Computer Science, Vol. 2523. Springer-Verlag Berlin Heidelberg, 2003.CrossRefGoogle Scholar
- P. Kohlbrenner and K. Gaj. An embedded true random number generator for FPGAs International Symposium on Field Programmable Gate Arrays. In Proceedings of the 2004 ACM/SIGDA 12th international symposium on Field programmable gate arrays, PP. 71–78, ACM Press, New York, NY, 2004.Google Scholar
- M. Bucci and R. Luzzi. Design of Testable Random Bit Generators, In J. R. Rao and B. Sunar, editors, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems – CHES 2005, Lecture Notes in Computer Science, Vol. 3659, pp. 131–146, Springer-Verlag Berlin Heidelberg, August 2005.Google Scholar
- D. Schellekens, B. Preneel, and I. Verbauwhede FPGA Vendor Agnostic True Random Number Generator. In Proceedings of the 16th International Conference on Field Programmable Logic and Applications. pp. 1–6, August, 2006.Google Scholar
- M. Dichtl and J. Dj. Golić. High-Speed True Random Number Generation with Logic Gates Only. Pascal Paillier, Ingrid verbauwhede, editors, Proceedings of the Cryptographic Hardware and Embedded Systems – CHES 2007, 9th International Workshop, Vienna, Austria, September 10–13, 2007. Lecture Notes in Computer Science, vol. 4727, pp. 45-62, Springer Verlag, 2007.Google Scholar
- C. W. O’Donnell, G. E. Suh, and S. Devadas. PUF-Based Random Number Generation. Technical Report 481, MIT CSAIL, November 2004. Available at http://www.csg.csail.mit.edu/pubs/publications.html.
- G. E. Suh, C. W. ODonnell, I. Sachdev, and S. Devadas. Design and Implementation of the AEGIS Single-Chip Secure Processor Using Physical Random Functions. Technical report, MIT CSAIL CSG Technical Memo 483, November 2004.Google Scholar
- S.-K. Yoo, B. Sunar, D. Karakoyunlu, and B. Birand. Practical Aspects of the Rings Design, Available at http://ece.wpi.edu/ \(\sim\)sunar/preprints/rings.pdf.
- B. Chor, O. Goldreich, J. Håastad, J. Friedman, S. Rudich, and R. Smolensky. The bit extraction problem or t-resilient functions, 26th IEEE Symposium on Foundations of Computer Science, pp. 396–407, 1985.Google Scholar
- C. J. Colbourn, J. H. Dinitz and D. R. Stinson. Applications of combinatorial designs to communications, cryptography and networking, Surveys in Combinatorics, 1999, pp. 37–100, (1999 British Combinatorial Conference).Google Scholar
- D. R. Stinson and K. Gopalakrishnan. Applications of Designs to Cryptography, In C. D. Colbourn, and J. H. Dinitz, editors, CRC Handbook of Combinatorial Designs, CRC Press 1996.Google Scholar
- R. A. Schulz. Random Number Generator Circuit. United States Patent, Patent Number 4905176, February, 27, 1990.Google Scholar