Skip to main content
QUICK REVIEW

[论文解读] Randen - fast backtracking-resistant random generator with AES+Feistel+Reverie

Jan Wassenberg, Robert Obryk|arXiv (Cornell University)|Oct 4, 2018
Chaos-based Image/Signal Encryption参考文献 23被引用 5
一句话总结

Randen 是一种快速、抗回溯的伪随机数生成器,结合了 AES、16 路广义 Feistel 结构以及类似海绵的 Reverie 构造。它在实际应用基准测试中,性能优于 Mersenne Twister、PCG、ChaCha8、ISAAC 和 Philox,同时具备强大的安全性——不可区分于随机数且抗状态泄露,因此适合作为非密码学应用中安全、高性能的替代方案。

ABSTRACT

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 生成,并经人工编辑审核。