【发布时间】:2015-06-14 00:58:27
【问题描述】:
有没有办法让 /dev/urandom 的熵保持未初始化状态?
我的目标是模拟初始化或简单地取消初始化 /dev/urandom。我该怎么做?
编辑:我看到我的问题被否决了。我相信这样做的人有正当理由。我花了一些时间在网上搜索答案,但我没有找到任何东西。
【问题讨论】:
-
你不能。在不知道您这样做的目的的情况下,没有更好的答案。
-
@indiv 感谢您的澄清。我想挑起一个熵没有被初始化导致随机数生成失败的情况。所以我想做的事是不可能的?
-
顺便说一句,Linux 现在有一个
getrandom系统调用,可以替代/dev/urandom的使用。如果熵池尚未初始化,它可能会阻塞(一次)。这通常只会在早期启动期间发生。 OpenBSD 有一段时间有类似的getentropy。 -
@Greek2015:请注意,
/dev/urandom将永远无法生成伪随机序列,即使没有熵。您可能会得到一个可预测的序列,但对于您对其进行的任何统计测试来说,它都会显得随机...... -
@indiv 谢谢,你的回答很有趣。我怎样才能使没有熵?我知道这对安全很重要,这就是我对它感兴趣的原因。
标签: c random system-calls libc