/dev/random
,但是Windows中是否存在类似的池?#1 楼
更新:自从我写这篇文章以来,CryptGenRandom
已被弃用。显然,现在建议使用“下一代加密” API中的BCryptGenRandom
。(令人困惑的是,它与bcrypt无关。)
是的,Windows有类似的东西。可以通过
CryptGenRandom
访问它。对于Microsoft CSP,CryptGenRandom使用与其他安全组件相同的随机数生成器。这允许许多过程有助于整个系统的种子。 CryptoAPI与每个用户一起存储中间随机种子。为了形成随机数生成器的种子,调用应用程序提供它可能具有的位(例如,鼠标或键盘定时输入),然后将这些位与存储的种子以及各种系统数据和用户数据(例如进程ID和线程ID,系统时钟,系统时间,系统计数器,内存状态,可用磁盘集群,散列的用户环境块。该结果用于播种伪随机数生成器(PRNG)。在带有Service Pack 1(SP1)和更高版本的Windows Vista中,使用在NIST特殊出版物800-90中指定的基于AES计数器模式的PRNG的实现。到
/dev/urandom
而不是/dev/random
,但是实际上,您获得的是密码随机数而不是“纯熵”这一事实并不重要。评论
$ \ begingroup $
离题评论:您在哪里阅读这些高级文章?
$ \ endgroup $
–斯潘丹
16年9月2日在13:07
$ \ begingroup $
@Spandan,我给出了链接,或者您是什么意思?
$ \ endgroup $
–otus
16年9月2日在13:20
$ \ begingroup $
本PDF文件的第11页提供了更多信息:csrc.nist.gov/CSRC/media/projects/…
$ \ endgroup $
– Marc
19-10-21在14:19
评论
也许是从文件复制对话框?抱歉,无法抗拒...直接来自Niels Ferguson /微软的这份白皮书可以很好地解释所有内容。