FPGA真随机数生成器设计:低资源、高可移植性

需积分: 48 11 下载量 26 浏览量 更新于2024-08-13 2 收藏 274KB PDF 举报
"霍文捷、刘政林等人在2009年发表的文章中,提出了一种基于FPGA的真随机数生成器(TRNG)设计,旨在解决传统TRNG资源消耗大、可移植性差的问题。他们利用数字电路中的时钟抖动和相位漂移作为随机性来源,通过多组反相器振荡环路产生随机源,并结合线性反馈移位寄存器(LFSR)进行后处理。在Xilinx Spartan3 FPGA平台上进行了实验,验证了设计的有效性和随机序列的安全可靠性。该设计仅使用普通逻辑单元,易于在集成电路设计中快速移植,从而缩短开发周期。" 本文详细介绍了基于FPGA的真随机数生成器设计方法。真随机数生成器是密码学领域的重要组成部分,因为它们生成的随机数对于加密算法的强度至关重要。传统的TRNG往往面临资源占用过多和移植困难的问题。为了解决这些问题,作者提出了一种创新的TRNG设计方案。 首先,设计的核心是利用数字电路的固有特性——时钟抖动和相位漂移。时钟抖动是指时钟信号在理想周期内的微小偏离,而相位漂移则是在连续周期间发生的相位变化。这些自然出现的不规则性可以作为随机性的基础。 其次,设计采用了多组反相器振荡环路作为随机源。反相器振荡环路能够在不同条件下产生不可预测的振荡,这些振荡的随机性被提取出来作为随机数的种子。通过增加振荡环的数目,可以进一步提高随机数的复杂性和不确定性。 接着,线性反馈移位寄存器(LFSR)被用作后处理模块。LFSR能够通过一系列预先定义的线性组合来扰动和扩展原始随机源,生成更长且统计上独立的随机序列。LFSR的配置和反馈函数的选择对最终随机序列的质量有直接影响。 在实验部分,研究人员在Xilinx Spartan3 FPGA平台上进行了测试,探讨了振荡环数量、采样频率等关键设计参数如何影响TRNG的输出随机特性。实验结果证实,基于多组振荡环结构的TRNG能够生成符合安全标准的随机序列,表明设计的有效性。 最后,由于该TRNG设计仅依赖于基本的逻辑单元,它具有很好的可移植性,可以直接应用于集成电路设计流程,减少了从概念到实现的时间。这对于高速发展的密码学和信息安全领域来说,无疑是一个重要的进步,因为它降低了开发和部署随机数生成器的复杂度。 这项工作提供了一种高效、可移植的TRNG设计方案,不仅提高了随机数生成的效率,还降低了设计成本,对于密码学、安全通信以及相关领域的研究具有重要价值。