Skip to main content
QUICK REVIEW

[论文解读] Design and Implementation of a High Quality and High Throughput TRNG in FPGA

Cristian Klein, Octavian Creţ|ArXiv.org|Jun 25, 2009
Algorithms and Data Compression参考文献 5被引用 6
一句话总结

本文提出了一种在FPGA中实现的高质量、高吞吐量真随机数生成器(TRNG),采用多个具有微小频率差异的环形振荡器(ROs),其输出经异或后由固定频率时钟采样。该设计使用抗偏置函数从有偏置输入中提取随机性,以极低的资源消耗实现密码学安全的输出,并通过DieHard和TestU01等标准统计测试。

ABSTRACT

This paper focuses on the design and implementation of a high-quality and high-throughput true-random number generator (TRNG) in FPGA. Various practical issues which we encountered are highlighted and the influence of the various parameters on the functioning of the TRNG are discussed. We also propose a few values for the parameters which use the minimum amount of the resources but still pass common random number generator test batteries such as DieHard and TestU01.

研究动机与目标

  • 设计一种适用于低成本FPGA(特别是Xilinx Spartan 3E)的高质量、高吞吐量TRNG。
  • 解决基于FPGA的TRNG在实际实现中的挑战,包括抖动稳定性、资源效率和随机性提取。
  • 确定最优参数值(d, r, n, l),在保证统计随机性和通过标准测试套件的前提下最小化资源使用。
  • 在无需外部组件的情况下,实现在资源受限FPGA中的安全密码学应用。

提出的方法

  • TRNG使用多个具有略微不同频率的环形振荡器(ROs),以生成抖动,作为主要的随机性来源。
  • 将多个RO的输出进行异或,以提高抖动跳变相对于平坦区域的比例。
  • 使用固定频率时钟对异或后的输出进行采样,生成包含确定性和非确定性比特的比特流。
  • 抗偏置函数处理采样后的比特,即使部分输入比特可预测,也能提取出高质量的随机性。
  • 设计中包含时钟分频器(d)和抗偏置函数深度(r),分别控制吞吐量和随机性质量。
  • 通过调节参数(n = RO数量,l = 每个RO的长度,d = 时钟分频器,r = 抗偏置深度)实现吞吐量、资源使用和统计质量之间的平衡。

实验结果

研究问题

  • RQ1如何在资源消耗极少的前提下,于低成本FPGA中实现高吞吐量、高质量的TRNG?
  • RQ2哪些关键参数(d, r, n, l)影响基于FPGA的TRNG的统计质量与吞吐量?
  • RQ3增加环形振荡器数量(n)如何影响输出的随机性和可预测性?
  • RQ4当结合多个RO和采样机制时,抗偏置函数能否有效从有偏置输入中提取随机性?
  • RQ5在基于FPGA的TRNG中,吞吐量、资源利用率与统计质量之间存在何种权衡?

主要发现

  • 该TRNG设计在d=0、r=2、n=20、l=3的参数下,吞吐量最高可达12,500 Kbps,且通过了所有标准统计测试,包括DieHard和TestU01。
  • 增加环形振荡器数量(n)可显著提升抖动跳变的比例,从而增强随机性质量。
  • 抗偏置函数深度(r)至关重要:当r=0时,即使使用160个RO,输出比特仍呈现相关性,导致随机性测试失败。
  • 时钟分频器(d)必须足够大,以避免重复采样同一平坦区域;当r较小时,d=0会导致高相关性。
  • 参数l(RO长度)对输出质量影响极小,但建议l≥3以在温度变化下维持抖动稳定性。
  • 即使使用8个并行采样器,每个采样器连接20个RO(共160个RO)且不启用抗偏置函数(r=0),随机性测试仍会失败,证明抗偏置函数对高质量输出至关重要。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。