← 最新论文
💻 计算机科学

A High-Throughput DSP-Free PRNG for FPGA based on Xoshiro128** and Integer Chaotic Mixing

本文提出了一种面向 Xilinx Zynq-7000 平台的资源高效、无需 DSP 且全流水线的混合伪随机数生成器(PRNG),该生成器结合了 Xoshiro128**、Weyl 序列和整数 Tent 映射,在实现高吞吐量(5.82 Gbps)并能通过严格统计测试的同时,保持了适用于嵌入式应用的微小占用。

原作者: Milad Mohammadian, Bahadin Azizinasab, Abobakr Mohammadian, Mahrokh G. Shayesteh, Mohammad Saeed khayati, Sheida Mohammadpour, Mosleh yousefi

发布于 2026-11-09
📖 1 分钟阅读☕ 轻松阅读

原作者: Milad Mohammadian, Bahadin Azizinasab, Abobakr Mohammadian, Mahrokh G. Shayesteh, Mohammad Saeed khayati, Sheida Mohammadpour, Mosleh yousefi

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 ✨ 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在数字世界中,许多系统依赖于看起来完全随机的数字序列来正常运行。这些序列对于保障通信安全、模拟复杂的物理系统以及运行加密协议至关重要。然而,机器很难生成真正的随机性,因此工程师们使用算法来创建“伪随机”数。这些是确定性的序列,对观察者而言表现得随机,但实际上是由特定的规则从一个初始种子开始生成的。硬件设计师面临的挑战在于,如何在不消耗过多电量或占用过多芯片空间的情况下,快速且高效地创建这些序列。当这些生成器被构建在被称为 FPGA(一种常用于嵌入式系统的可重构硬件)的专用芯片中时,目标是在保持设计精简和能效高的同时实现高速度,避免使用通常为重型数学计算保留的高性能、高耗能组件。

来自伊朗多所大学的研究团队开发了一种在 FPGA 上运行的新型生成器构建方法。他们的工作重点是创建一个无需使用大多数芯片上常见的标准高性能数学单元即可产生海量类随机数流的设备。该团队并未依赖这些数量有限且消耗大量功率的专门组件,而是设计了一个仅使用基础逻辑门和标准存储寄存器的系统。结果显示,该生成器能够以每秒 5.82 Gb 的速率产生数据,这一速度足以媲美更为复杂的设计,同时仅使用了极少的芯片资源并消耗了极低的功耗。

这一新设计的核心是一种结合了三种不同混合方法的混合方案。其主要引擎是一个名为 Xoshiro128** 的知名算法,它作为序列的主要来源。该引擎效率极高,且在重复前具有非常长的周期,但它具有一种可能被熟练攻击者利用的可预测数学结构。为了解决这个问题,研究人员增加了两个额外的混合层。第一层使用一种简单的加法过程,通过以一种产生不同模式的方式移动数值来进行处理。第二层使用了一种“帐篷映射”(tent map)方法,这种方法会对数字进行拉伸和折叠,类似于面包师折叠面团的方式,只不过在这里,折叠是通过简单的整数运算而非物理操作实现的。这些层级旨在协同工作,以打破主引擎中可预测的模式,使最终输出更难以被逆向工程。

研究人员使用高层次综合工具构建了这个系统,该工具能自动将软件层面的逻辑描述转化为芯片的物理布局。他们在一种被称为 Xilinx Zynq-7000 的特定芯片上测试了该设计。该实现方案在对嵌入式应用至关重要的每一个指标上都取得了成功。最终设计仅占用了芯片上 934 个小型逻辑块,并使用了 1,071 个寄存器,占用的空间非常紧凑。至关重要的是,它使用了零个专门的数字信号处理(DSP)切片和零个专用存储块,证明了无需这些沉重的资源也能实现高速随机数生成。该系统以 181.82 MHz 的频率运行,提供了前文提到的高吞吐量。在功耗方面,芯片在运行期间仅消耗了 29 毫瓦的动态功耗,这一数字代表了一个下限估计值,表明该设计极其节能。

为了确保生成的数字在严肃用途中确实足够随机,团队将输出结果置于一系列严格的统计测试中。这些测试包括政府机构和独立研究人员使用的标准套件,用于检查是否存在模式、偏差和相关性,从而判断随机性是否缺失。该生成器通过了每一项测试,包括那些旨在寻找细微缺陷的最严苛测试。研究人员还分析了系统对初始条件的敏感程度。他们发现,即使改变初始设置中的单个比特,输出也会发生完全背离,这种特性被称为对初始条件的敏感性。这确保了两个以略微不同的种子启动的设备会产生完全不同的序列,这对于安全性至关重要。

该研究还详细分解了系统中各部分的贡献。研究人员发现,主引擎 Xoshiro128** 本身在统计学上已经足够强大,足以通过测试。增加的层级并没有提高数字的统计质量,但它们完成了另一件重要的事:它们消除了使主引擎变得可预测的线性数学结构。通过添加这些层级,研究人员使得攻击者仅仅通过观察输出就试图推导出生成器内部状态的难度显著增加。虽然单独的主引擎可以相对较快地被逆向工程,但完整的混合系统则需要更加复杂且耗时的努力才能破解,从而有效地保护生成器免受某些类型攻击。

这项工作表明,可以在资源受限的环境中,无需依赖沉重的硬件组件来构建高性能的随机数生成器。该设计提供了一种实际的权衡,在速度、资源使用量和安全性之间取得了平衡。尽管研究人员指出,用于折叠层的数学步骤在代数上并不复杂,但它们与其他层的结合创造了一个稳健的系统。研究结果表明,这种方法非常适用于空间和功耗要求极高的嵌入式系统,能够为广泛的设备提供可靠的随机性来源。研究人员已将其代码和数据公开,以便他人验证和改进,从而确保结果的可重复性并使设计能够适应未来的需求。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →