FPGA实现的真随机数发生器:设计与性能分析

3 下载量 131 浏览量 更新于2024-08-31 收藏 357KB PDF 举报
"该文介绍了一种基于FPGA的真随机数发生器设计,通过利用振荡环路的相位漂移和抖动以及亚稳态作为随机源,结合线性反馈移位寄存器(LFSR)进行后续处理。在Xilinx Virtex-5平台上进行测试,证明设计产生的随机序列质量高,可满足DIEHARD测试标准,并且由于仅使用基本逻辑单元,易于移植到ASIC设计,缩短开发周期。" 在信息安全和统计学领域,真随机数发生器(True Random Number Generator, TRNG)扮演着关键角色。它们生成的随机序列必须具有良好的统计性质,如均匀分布和不可预测性,以确保数据安全。文章引用了B. Sunar, W.J. Martin和D.R. Stinson的研究,介绍了几种常见的TRNG设计方法,包括振荡器采样、离散时间混沌法等。本文则提出了一种纯数字电路实现的TRNG方案,不依赖特殊硬件资源如PLL,有利于FPGA验证和ASIC集成。 该设计的核心在于使用两组独立的振荡环路,每组由反相器和延迟单元组成。由于内部噪声的影响,各振荡器之间会出现相位漂移,而这种漂移加上时钟抖动,成为随机性的来源。同时,利用锁存器的亚稳态,即在特定条件下其输出处于不确定状态,进一步增加了随机性。通过多组振荡器的输出异或和同步处理,最终生成随机序列。 文章详细探讨了相位漂移和抖动的概念,抖动是时钟信号周期的随机变化,相位漂移则源于振荡器起振时刻的微小差异。这两个现象在数字电路中天然存在,适合作为随机数生成的基础。亚稳态是双稳态器件(如锁存器)在非稳定状态下的表现,其输出处于‘1’和‘0’之间,提供了额外的随机性元素。 在Xilinx Virtex-5 FPGA上实施的测试表明,该TRNG设计生成的随机序列能够通过DIEHARD测试,这是一个严格的随机性评估套件,证明了设计的随机性和质量。此外,由于设计仅使用基本逻辑单元,使得其能快速适应ASIC平台,显著提高了设计效率。 这篇文章提供了一种创新的FPGA-based TRNG设计,它利用了数字电路的固有特性生成随机数,且在性能和可移植性方面表现出色,对于需要高效、高质量随机数生成的领域具有重要价值。