我正在寻找一个C/C++中的密码学安全的随机数生成器。速度非常重要,因为这将用于在我们的应用程序中生成TB级别的随机性。我尝试过libgcrypt中的生成器,但它非常慢。任何建议都将非常有帮助。
我正在寻找一个C/C++中的密码学安全的随机数生成器。速度非常重要,因为这将用于在我们的应用程序中生成TB级别的随机性。我尝试过libgcrypt中的生成器,但它非常慢。任何建议都将非常有帮助。
尝试一下ANSI X9.17标准(金融机构密钥管理(批发))。
该技术在此页面上有所描述: http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
你可以采用任何块密码实现,例如AES,并使用这种技术轻松地将其包装成相当快速、相对安全的随机数生成器,只需要几行代码。
你真的需要密码学安全,还是只需要具有长周期的非常好的随机数?
Mersenne Twister使用SIMD-SFMT非常快且有效。
在BSD上,/dev/random通常使用Yarrow算法,这是具有密码学安全性的。
Fortuna是Yarrow的后继版本。
如果您想要优于速度的CSPRNG,那么肯定需要吗?