Abstract

A true random number generator (TRNG) is suitable for generating secure keys and nonces. TRNGs implemented in IoT devices must be small in scale and have low power consumption. The random number sequence generated by TRNG needs to have high entropy immediately after startup and a stable state. In this paper, three types of ring oscillator type TRNGs, TERO-based, COSO-based, and STR-based TRNG, are implemented on Zynq-7010. When these TRNGs are implemented as a single entropy source, it is challenging to implement them because it is necessary to evaluate the layout and wiring for each FPGA. This paper proposes a TRNG configuration, which exclusively ORs the outputs of multiple entropy sources. We show that this configuration can reduce the implementing difficulty and realize high entropy. For the random number sequence evaluation, we use the statistical test of NIST SP800-90B and BSI AIS 20/31. In addition, the random number sequence immediately after the startup is also statistically evaluated. As a result, our proposed TRNGs generate high entropy random numbers and are easy to implement on FPGA when we implement TRNGs with eight single entropy sources for TERO-based TRNG, 48 for COSO-based TRNG, and two for STR-based TRNG, respectively.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call