Skip to main content
QUICK REVIEW

[论文解读] Generating High Quality Random Numbers: A High Throughput Parallel Bitsliced Approach

Saleh Khalaj Monfared, Omid Hajihassani|arXiv (Cornell University)|Sep 10, 2019
Chaos-based Image/Signal Encryption参考文献 33被引用 4
一句话总结

本论文提出了一种基于GPU的并行、位段化实现的高吞吐量、密码学安全伪随机数生成器(CSPRNG)。通过将数据重新组织为列优先格式,并利用基于LFSR的MICKEY 2.0流密码,该方法将昂贵的位移操作替换为高效的寄存器交换操作,实现了在GTX 980 Ti上1.6 Tb/s和在Tesla V100上2.9 Tb/s的性能,其吞吐量和成本效率均优于cuRAND,同时通过了全部NIST统计随机性测试。

ABSTRACT

In this work, by employing a bitsliced data representation as building blocks of algorithms, we showcase the capability and scalability of our proposed method in a variety of PRNG methods in the category of block and stream ciphers. While demonstrating the suitability of stream-ciphers for high throughput PRNG, as an example, we implement and investigate a bitsliced MICKEY 2.0 PRNG by altering the paradigm of internal functions and data structure. The LFSR-based (Linear Feedback Shift Register) nature of the PRNG in our implementation perfectly suits the GPU's many-core structure due to its register oriented architecture and allows the usage of bit slicing technique to further improve the performance. In our SIMD vectorized fully parallel GPU implementation, each GPU thread is capable of generating a remarkable number of 32 pseudo-random bits in each LFSR clock cycle. We then compare our implementation with some of the most significant PRNGs that display a satisfactory performance in both throughput and randomness criteria. The proposed implementation successfully passes the NIST test for statistical randomness and bit-wise correlation criteria. To the best of authors' best knowledge, our method outperforms the current best implementations in the literature for computer-based PRNG and the optical solutions in terms of performance and performance per cost, while maintaining an acceptable measure of randomness. Our highest performance among all of the implemented CPRNGs with the proposed method is achieved by the MICKEY 2.0 algorithm which shows 1.9x improvement over the state of the art NVIDIA's proprietary high-performance PRNG, cuRAND library, achieving 1.6 Tb/s of throughput on the affordable NVIDIA GTX 980 Ti.

研究动机与目标

  • 解决通用并行平台(如GPU)上高吞吐量、密码学安全随机数生成的性能瓶颈问题。
  • 通过提升吞吐量和成本效率,改进现有PRNG,同时保持强大的随机性保证。
  • 将此前用于DES等对称密码的位段化技术,适配应用于CSPRNG,特别是基于LFSR的流密码。
  • 证明列优先数据表示可充分调动GPU SIMD数据通路,实现高度并行执行。
  • 通过NIST SP 800-22随机性测试套件验证方法的统计质量,并与最先进的解决方案(如cuRAND)进行性能对比。

提出的方法

  • 采用列优先数据表示,以充分调动GPU SIMD数据通路,将行式操作转换为并行的位级计算。
  • 将位段化技术应用于基于LFSR的流密码(如MICKEY 2.0),用高效的寄存器交换和按位操作(XOR、AND、OR)替代昂贵的位移和掩码操作。
  • 使用CUDA内核,采用固定线程块配置(每块64个线程,每网格256个线程),以最大化线程占用率和合并内存访问。
  • 利用共享内存减少全局内存延迟,提升带宽效率。
  • 通过适配其内部结构,将该方法推广至其他PRNG(如AES和Grain)。
  • 通过按处理能力归一化性能,实现与以往工作(尤其是老旧或不可访问GPU平台)的公平比较。

实验结果

研究问题

  • RQ1位段化技术能否有效应用于CSPRNG,以在GPU平台上实现高吞吐量?
  • RQ2与传统的行优先布局相比,列优先数据表示是否能显著提升GPU在PRNG中的利用率和性能?
  • RQ3与成熟的库(如cuRAND)及其他高性能PRNG相比,所提出方法在吞吐量和随机性质量方面表现如何?
  • RQ4基于LFSR的流密码(如MICKEY 2.0)的结构在多核、寄存器导向的GPU架构中,与位段化执行的匹配程度如何?
  • RQ5所提出方法能否在保证高性能的同时,通过NIST SP 800-22测试套件验证,实现强统计随机性?

主要发现

  • 在NVIDIA GTX 980 Ti上,基于MICKEY 2.0算法的位段化GPU实现达到峰值吞吐量1.6 Tb/s,相比NVIDIA的cuRAND库提升1.9倍。
  • 在Tesla V100 GPU上,该方法达到2.90 Tb/s,显著优于cuRAND,同时完全符合NIST SP 800-22统计随机性测试要求。
  • 全部15项NIST统计测试(包括频率测试、块频率测试、累积和测试及线性复杂度测试)的p值均高于0.01,证实生成比特流的随机性质量极高。
  • 通过将昂贵的位级操作(移位和掩码)转换为高效的寄存器级交换,实现了GPU线程间的完全并行化。
  • 单位成本性能优于通用PRNG和光学解决方案,是一种高性价比的高吞吐量替代方案。
  • 该方法在多个GPU平台(包括GTX 980 Ti、GTX 1050 Ti、GTX 1080 Ti和Tesla V100)上表现出可扩展性,对cuRAND的性能提升保持一致。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。