FPGA Implementation of Metastability-Based True Random Number Generator

SUMMARY True random number generators (TRNGs) are important as a basis for computer security. Though there are some TRNGs composed of analog circuit, the use of digital circuits is desired for the application of TRNGs to logic LSIs. Some of the digital TRNGs utilize jitter in freerunning ring oscillators as a source of entropy, which consume large power. Another type of TRNG exploits the metastability of a latch to generate entropy. Although this kind of TRNG has been mostly implemented with fullcustom LSI technology, this study presents an implementation based on common FPGA technology. Our TRNG is comprised of logic gates only, and can be integrated in any kind of logic LSI. The RS latch in our TRNG is implemented as a hard-macro to guarantee the quality of randomness by minimizing the signal skew and load imbalance of internal nodes. To improve the quality and throughput, the output of 64–256 latches are XOR’ed. The derived design was verified on a Xilinx Virtex-4 FPGA (XC4VFX20), and passed NIST statistical test suite without post-processing. Our TRNG with 256 latches occupies 580 slices, while achieving 12.5Mbps through

[1]  Elaine B. Barker,et al.  A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications , 2000 .

[2]  David Blaauw,et al.  True Random Number Generator With a Metastability-Based Quality Control , 2007, IEEE Journal of Solid-State Circuits.

[3]  R. C. Fairfield,et al.  An LSI Random Number Generator (RNG) , 1985, CRYPTO.

[4]  Nathalie Bochard,et al.  Observing the Randomness in RO-Based TRNG , 2009, 2009 International Conference on Reconfigurable Computing and FPGAs.

[5]  Chik How Tan,et al.  Analysis and Enhancement of Random Number Generator in FPGA Based on Oscillator Rings , 2008, 2008 International Conference on Reconfigurable Computing and FPGAs.

[6]  Berk Sunar,et al.  A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks , 2007, IEEE Transactions on Computers.

[7]  Ingrid Verbauwhede,et al.  FPGA Vendor Agnostic True Random Number Generator , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[8]  Jovan Dj. Golic,et al.  High-Speed True Random Number Generation with Logic Gates Only , 2007, CHES.

[9]  Milos Drutarovský,et al.  High Performance True Random Number Generator in Altera Stratix FPLDs , 2004, FPL.

[10]  Kris Gaj,et al.  An embedded true random number generator for FPGAs , 2004, FPGA '04.

[11]  E.Y. Lam,et al.  FPGA-based High-speed True Random Number Generator for Cryptographic Applications , 2006, TENCON 2006 - 2006 IEEE Region 10 Conference.

[12]  Peter Alfke Metastable Recovery in Virtex-II Pro FPGAs , 2005 .

[13]  Ichikawa Shuichi,et al.  FPGA Implementation of Metastability-based True Random Number Generator , 2009 .

[14]  Shuichi Ichikawa,et al.  True random number generator based on metastability of RS latch 市川周一 , 2008 .

[15]  Milos Drutarovský,et al.  True Random Number Generator Embedded in Reconfigurable Hardware , 2002, CHES.

[16]  J.-L. Danger,et al.  Fast True Random Generator in FPGAs , 2007, 2007 IEEE Northeast Workshop on Circuits and Systems.

[17]  Hao Zheng,et al.  Design and Implementation of a True Random Number Generator Based on Digital Circuit Artifacts , 2003, CHES.

[18]  Milos Drutarovský,et al.  New High Entropy Element for FPGA Based True Random Number Generators , 2010, CHES.

[19]  J.D. Golic,et al.  New Methods for Digital Generation and Postprocessing of Random Data , 2006, IEEE Transactions on Computers.

[20]  Philip Heng Wai Leong,et al.  Compact FPGA-based true and pseudo random number generators , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[21]  J. Holleman,et al.  A 2.92μW Hardware Random Number Generator , 2006, 2006 Proceedings of the 32nd European Solid-State Circuits Conference.

[22]  Petar Borisov Minev,et al.  The Virtex-5 Routing and Logic Architecture , 2009 .

[23]  J. Holleman,et al.  A 3 $\mu$W CMOS True Random Number Generator With Adaptive Floating-Gate Offset Cancellation , 2008, IEEE Journal of Solid-State Circuits.

[24]  E. G. Chester,et al.  Design of an on–chip random number generator using metastability , 2002, Proceedings of the 28th European Solid-State Circuits Conference.

[25]  Angel Barriga,et al.  Simple binary random number generator , 1992 .

[26]  Antonio Cantoni,et al.  Metastable Behavior in Digital Systems , 1987, IEEE Design & Test of Computers.