Chapter 2
True Random Number Generator (TRNG)
True random number generators (TRNGs) play a fundamental role in cryptographic systems. TRNGs are widely used in cryptographic applications such as key generation, random padding bits, and generation of challenges and nonces in authentication protocols. This chapter provides a basic understanding of multi-RO based TRNG design techniques in FPGAs, sources of randomness in TRNG output during measurement, how to create a technology-independent true random number generator (TI-TRNG) step by step and extract the random numbers on an FPGA board, and also presents ways to measure the quality of randomness of the generated true random numbers.