Two FPGA based implementations of random number generators intended for embedded cryptographic applications are presented. The first is a true random number generator (TRNG) which employs oscillator phase noise, and the second is a bit serial implementation of a Blum Blum Shub (BBS) pseudorandom number generator (PRNG). Both designs are extremely compact and can be implemented on any FPGA or PLD device. They were designed specifically for use as FPGA based cryptographic hardware cores. The TRNG and PRNG were tested using the NIST and Diehard random number test suites.
Kuen Hung Tsoi, K. H. Leung, Philip Heng Wai Leong