[论文解读] Randen - fast backtracking-resistant random generator with AES+Feistel+Reverie
Randen 是一种快速、抗回溯的伪随机数生成器,结合了 AES、16 路广义 Feistel 结构以及类似海绵的 Reverie 构造。它在实际应用基准测试中,性能优于 Mersenne Twister、PCG、ChaCha8、ISAAC 和 Philox,同时具备强大的安全性——不可区分于随机数且抗状态泄露,因此适合作为非密码学应用中安全、高性能的替代方案。
Algorithms that rely on a pseudorandom number generator often lose their performance guarantees when adversaries can predict the behavior of the generator. To protect non-cryptographic applications against such attacks, we propose 'strong' pseudorandom generators characterized by two properties: computationally indistinguishable from random and backtracking-resistant. Some existing cryptographically secure generators also meet these criteria, but they are too slow to be accepted for general-purpose use. We introduce a new open-sourced generator called 'Randen' and show that it is 'strong' in addition to outperforming Mersenne Twister, PCG, ChaCha8, ISAAC and Philox in real-world benchmarks. This is made possible by hardware acceleration. Randen is an instantiation of Reverie, a recently published robust sponge-like random generator, with a new permutation built from an improved generalized Feistel structure with 16 branches. We provide new bounds on active s-boxes for up to 24 rounds of this construction, made possible by a memory-efficient search algorithm. Replacing existing generators with Randen can protect randomized algorithms such as reservoir sampling from attack. The permutation may also be useful for wide-block ciphers and hashing functions.
研究动机与目标
- 设计一种在计算上不可区分于随机数且抗回溯的伪随机数生成器,即使在非密码学场景下也适用。
- 通过利用硬件加速的 AES 技术,解决通用应用中密码学安全生成器的性能瓶颈问题。
- 为广泛使用但缺乏正式安全保证的不安全生成器(如 Mersenne Twister 和 PCG)提供安全替代方案。
- 通过优化置换设计与硬件利用,证明高安全性的 PRNG 可以比现有非密码学生成器更快。
- 通过防止攻击者预测或重构过去输出,实现对随机化算法(如水库采样)更安全的部署。
提出的方法
- Randen 是 Reverie 类海绵随机生成器的一种实例化,采用一种新型的 16 路广义 Feistel 置换,以实现高效的内部状态混合。
- 该置换使用基于 AES 的轮函数构建,并针对现代 CPU 上的 AES-NI 支持进行了优化,以实现低延迟、高吞吐量执行。
- 采用内存高效的搜索算法,推导出最多 24 轮情况下的活跃 S 盒数量的新边界,确保强扩散特性。
- 该生成器在设计上具备抗回溯能力,即使当前状态被泄露,也无法重构过去的输出。
- 通过 AES-NI 硬件加速,其性能超越了纯软件实现的生成器(如 ChaCha8 和 Philox),尽管具备更强的安全保证。
- 该生成器是确定性的且无需重新播种,支持可重现性和调试,同时保持前向安全性。
实验结果
研究问题
- RQ1伪随机数生成器是否能在不牺牲性能的前提下,同时实现计算上不可区分于随机数和抗回溯性?
- RQ2能否构建一种密码学强度足够强的 PRNG,其速度超过现有的非密码学生成器(如 Mersenne Twister 和 PCG)?
- RQ3如何高效地使用基于 Feistel 的置换实例化类海绵构造(Reverie),以实现高吞吐量和强安全性?
- RQ4在 24 轮内,16 路广义 Feistel 结构中活跃 S 盒的最紧边界是什么?这些边界如何影响安全性?
- RQ5能否利用硬件加速的 AES 构建一种既安全又适用于生产系统通用场景的 PRNG?
主要发现
- 在 x86 和 POWER8 平台上,Randen 的速度比 Mersenne Twister 快 1.1 至 1.4 倍,x86 平台的几何平均加速比为 1.1,POWER8 平台也为 1.1。
- 在 POWER8 上,Randen 的性能优于 PCG(加速 1.1 倍);在 x86 上的蒙特卡洛模拟中,其速度也快 1.2 倍,尽管 PCG 在微基准测试中更快。
- 在 x86 上,Randen 比 Philox 快 2.3 倍,在 POWER8 上快 3.4 倍;在 x86 上比 ISAAC 快 2.0 倍,在 POWER8 上快 2.5 倍。
- 在 x86 上,Randen 比 ChaCha8 快 2.1 倍,比 ChaCha20 快 7.8 倍,比 CTR-DRBG 快 9.3 倍。
- 基于 AES 轮函数的新型 16 路 Feistel 置换实现了强扩散性,通过内存高效的搜索算法推导出最多 24 轮的活跃 S 盒新边界。
- Randen 是首个在真实工作负载中被证明既具备抗回溯性又比 Mersenne Twister 更快的软件 PRNG,使其成为非密码学应用中不安全生成器的可行替代品。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。