High performance true random number generator based on FPGA block RAMs

This paper presents a new method for creating TRNGs in Xilinx FPGAs. Due to its simplicity and ease of implementation, the design constitutes a valuable alternative to existing methods for creating single-chip TRNGs. Its main advantages are the high throughput, the portability and the low amount of resources it occupies inside the chip. Therefore, it could further extend the use of FPGA chips in cryptography. Our primary source of entropy is a True Dual-Port Block-RAM operating at high frequency, which is used in a special architecture that creates a concurrent write conflict. The paper also describes the practical issues which make it possible to convert that conflict into a strong entropy source. Depending on the users' requirements, it is possible to connect many units of this generator in parallel on a single FPGA device, thus increasing the bit generation throughput up to the Gbps level. The generator has successfully passed the major statistical test batteries.

[1]  Gregory Chaitin,et al.  The limits of reason. , 2006, Scientific American.

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

[3]  Paul C. Kocher,et al.  The intel random number generator , 1999 .

[4]  Pavol Galajda,et al.  CHAOS-BASED TRUE RANDOM NUMBER GENERATOR EMBEDDED IN A MIXED-SIGNAL RECONFIGURABLE HARDWARE , 2006 .

[5]  Octavian Cret,et al.  Design and Implementation of a High Quality and High Throughput TRNG in FPGA , 2009, ArXiv.

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

[7]  Enrique San Millán,et al.  Accelerating secure circuit design with hardware implementation of Diehard Battery of tests of randomness , 2011, 2011 IEEE 17th International On-Line Testing Symposium.

[8]  Pierre L'Ecuyer,et al.  TestU01: A C library for empirical testing of random number generators , 2006, TOMS.

[9]  Craig B. Borkowf,et al.  Random Number Generation and Monte Carlo Methods , 2000, Technometrics.

[10]  Octavian Cret,et al.  Practical Issues in Implementing TRNGs in FPGAs Based on the Ring Oscillator Sampling Method , 2008, 2008 10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

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

[12]  M. Drutarovsky,et al.  A Robust Chaos-Based True Random Number Generator Embedded in Reconfigurable Switched-Capacitor Hardware , 2007, 2007 17th International Conference Radioelektronika.

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

[14]  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..