在完成所有这些NSA之后,我只是想知道是否有人知道来自.NET的System.Security.Cryptography.RNGCryptoServiceProvider()的替代品 - 可能是一个开源解决方案?
我试图搜索它,但没有真正成功,所以我希望社区中的任何人有一个想法?
由于
答案 0 :(得分:2)
Bouncy Castle中有两个随机数生成器 - 可能有用的C#版本:DigestRandomGenerator
和VmpcRandomGenerator
,两者都在crypto.prng
名称空间中。诀窍是从你可以信任的来源中获取那些随机熵。
请注意,我不熟悉VMPC算法。 DigestRandomGenerator
在很大程度上取决于底层哈希函数的安全性(SHA-512在64位硬件上非常安全且快速)。这是一个相当简单的实现,但它应该是安全的。