Implementation of Duplicate TRNG on FPGA by Using Two Different Randomness Source - Tuncer, Taner (Kaunas Univ Technology, 2015)
It is critical in terms of security that numbers used in cryptographic systems are generated by hardware such as Field Programmable Gate Array (FPGA). The most common method to develop high-quality and fast True Random Number Generators (TRNGs) is to use Ring Oscillator (RO). Jitter is mostly used as an approach to provide randomness source in clock signals generated by RO so that random numbers can be generated. Numbers generated by RO based TRNGs are random because jitter generated by RO is random. However, it is a disadvantage that these numbers do not have good statistical properties. Post-processing is applied so as to overcome this disadvantage. In this article, a duplicate system to generate numbers with statistically good properties without post-processing is proposed. The system consists of two TRNGs developed by ROs on two different FPGA boards. The proposed system has six different scenarios with different frequencies and quantity of ROs. It is shown in the proposed system that post-processing is not needed, and numbers are generated in high data rates such as 47.68, 71.52 and 95.37 Mbit/s. The proposed system also successfully passed NIST 800.22 tests.
Keywords: Hybrid integrated circuit; jitter; random number generation