2011-11-04 47 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最近一直存在爭議;可以使用其他三臺發電機中的一臺。