除非我完全糊涂了,它就不会这么做。
我想知道如果我采用硬件 RNG 并将其熵插入 /dev/random,/dev/urandom 是否会获得增加的熵。
换句话说,如果我将 /dev/random 的熵增加 X 位/秒(即,注入后 /dev/random 让您以 X 位/秒的速度采样),增加的熵会转移到 urandom 吗?
答案1
答案2
答案3
在 Linux 中,任何写入 /dev/random 或 /dev/urandom 的数据都会被复制到阻塞池(/dev/random 的随机源)和非阻塞池(/dev/urandom 的随机源)。
看看random_write功能。
但是写入 /dev/random 的数据不会被内部熵估计器计算(毕竟,一些本地对手可能会尝试将 /dev/zero 或其他一些高度非随机的源重定向到 /dev/random),因此如果您在阻止 /dev/random 时遇到问题,仅写入 /dev/random 也无济于事。
在 Linux 中写入 /dev/random(或 /dev/urandom,没有区别),但始终从 /dev/urandom 读取(一旦播种 - 实际上最好的方法是使用新的系统调用获取随机数)。
我不知道它在其他 Unices 上是如何工作的。