随机数生成器 dev/random
我读到 Mac 和 Solaris 上的随机数生成器 dev/random 包含 160 位熵。如果我需要更多的熵,例如 200 位,我该怎么办?提前致谢
I read that the random number generator dev/random on Mac and Solaris includes 160 bits of entropy. What can I do, if I need more entropy, for example, 200 bits? Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不确定您在哪里读到 160 位估计值——我相信 Solaris、Mac 和大多数 BSD 使用 256 位 Yarrow 实现。无论如何,即使是最少量的网络或磁盘活动,熵池也会定期重新填充,因此,即使非 Linux 系统上的
/dev/random
实际上并不阻塞< /em> “等待更多的熵”(它更像是/dev/urandom
的据说更高质量的版本,在这些系统上它通常链接到它),没有什么可以阻止你(如果你相信,比如说,从/dev
中一次不超过 160 位),从“阻塞和刷新熵”中获取 N 位,执行一些磁盘或网络 I/O,再获取 N 位,等等。I'm not sure where you read that 160-bit estimate -- I believe that Solaris, Mac and most BSDs use a 256-bit Yarrow implementation. At any rate, the entropy pool is regularly refilled from even the smallest amount of network or disk activity, so, even though
/dev/random
on non-Linux systems doesn't actually block "waiting for more entropy" (it's more like a supposedly higher-quality version of/dev/urandom
, to which on these systems it's typically linked), nothing stops you (if you trust, say, no more than 160 bits at a time from the/dev
) from "blocking and refreshing entropy" yourself -- get N bits, do some disk or network I/O, get another N bits, and so forth.如果您认为您的磁盘访问过于可预测,您可以寻找一些非常奇怪的来源,例如,如果您的程序可以访问互联网,则可以找到一些最新的 Twitter 条目;)
And if you think your disk access is too predictable, you could go for some really bizzare sources like, say, a few of the most recent twitter entries if your program has internet access;)