随机数生成器 (RNG) 是用于加密应用程序以增强硬件安全性的解决方案。这些 RNG 应该具有三个特定属性,即不可预测性、非周期性和良好的统计标准。本简介介绍了基于环形振荡器抖动和 MLFSR 的真随机数发生器 (TRNG)。MLFSR 增加了一组素数原始多项式、布尔函数和非线性函数,以实现非线性、不可预测和扩展的序列周期。论文主要集中在通过将 TRNG 与新的有前途的加密引擎 Keccak 集成作为后处理块来实现高随机性;导致数据传输、加密密钥、IC 的数据真实性和基于物联网的应用程序的安全性更高。RNG 设计采用 Verilog HDL 编码并在 FPGA Zed 板上实现。使用 RNG 数据或 SHA 数据以 100 MHz 的 2.4Gbps 吞吐量执行散列。使用 NIST 800–22 & Diehard 测试套件评估生成的非确定性比特流 (10 Mb) 的随机性并成功通过。
Random Number Generators (RNGs) are the solution for cryptographic applications to enhance hardware security. These RNGs ought to have three specific properties unpredictability, aperiodic, and good statistical criteria. This brief presents a True Random Number Generator (TRNG) based on Ring oscillators' jitter with MLFSR. The MLFSR is augmented with a set of prime primitive polynomials, Boolean, and non-linear functions to attain a non-linear, unpredictable, and extended sequence period. Paper mainly focused on achieving high randomness by integrated the TRNG with a new promising crypto engine Keccak as a post-processing block; leads to extensively more security in data transfer, encryption keys, data authenticity of ICs, and IoT based applications. The RNG design is coded in Verilog HDL and implemented on the FPGA Zed board. Hashing is performed with a throughput of 2.4Gbps at 100 MHz either with RNG data or SHA data. Evaluated the randomness of the generated non-deterministic bitstreams (10 Mb) using the NIST 800–22 & Diehard test suite and successfully passed.