除非我完全感到困惑,否则它不会那样做。
我想知道如果我使用硬件RNG并将其熵插入/ dev / random中,/ dev / urandom是否会获得更大的熵。
因此,如果我将/ dev / random的熵提高X位/秒(也就是说,注入后的/ dev / random让您采样X位/秒),那将增加的熵转移到urandom吗?
除非我完全感到困惑,否则它不会那样做。
我想知道如果我使用硬件RNG并将其熵插入/ dev / random中,/ dev / urandom是否会获得更大的熵。
因此,如果我将/ dev / random的熵提高X位/秒(也就是说,注入后的/ dev / random让您采样X位/秒),那将增加的熵转移到urandom吗?
Answers:
在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读取(一旦被播种,实际上最好的方法是使用新的系统调用getrandom)。
我不知道它在其他Unices中如何工作。