2011-11-04 43 views
2

我正在寻找一个密码安全的随机数发生器在C/C++中。速度非常重要,因为这将用于在我们的应用程序中产生千兆字节的随机性。我尝试了libgcrypt中的一个,但速度很慢。任何建议都会非常有帮助。最快的加密安全随机数发生器

+1

听起来像你需要更多的处理能力。 – Joe

+1

也许是更好的熵源......你可能想看看RNG卡。你真的需要太字节的密码强度的随机比特? PRNG会为大部分工作吗? – nmichaels

+0

prng是好的..但它必须加密保护.. – danglingptr

回答

-1

你真的需要密码保护,还是只需要真正好的随机数与长周期?

梅森扭转者使用SIMD - SFMT - 是快速和良好的。

BSD上的/ dev/random通常是Yarrow,它是密码安全的。

Fortuna是Yarrow的后续产品。

如果您希望CSPRNG能够稳定胜出,

+0

这是一个加密协议..所以它必须是CSPRNG ..只是寻找最快的csprng,即最快的csprings那里.. – danglingptr

1

您也可以尝试NIST出版物SP800-90中描述的随机生成器(另请参阅revised draft)。

但是,该出版物中的DUAL_EC_DRBG最近一直存在争议;可以使用其他三台发电机中的一台。