Design and Implementation of Low-Power High-throughput PRNGs for Security Applications

Pseudo-Random Number Generators (PRNGs) are an integral part of cryptographic applications, such as key generations, digital signatures, Internet-of-Things (IoT) security, etc. These applications require low-power and high-throughput PRNGs along with statistically secure random numbers generation capability. In this paper, we propose two PRNG methods based on Blum-Blum-Shub (BBS), Xorshift and Permuted Congruential PRNGs. The first PRNG is preferred for general purpose applications while the second is preferred for low-power IoT applications. The proposed PRNG methods are implemented on Xilinx FPGA ZedBoard Zynq^TM-7000 and generate 4.83e7 and 4.29e7 random numbers per-second, respectively. The total dynamic power consumption of the proposed PRNGs is 17mW at 48.31Mhz and 16mW at 42.90Mhz with a maximum throughput of 184.288MBps and 163.651MBps, respectively. The proposed PRNGs are tested on Diehard battery and US National Institute of Standard and Technology (NIST) SP 800 - 22 suites for analyzing the randomness quality.