6

我正在阅读有关随机数及其生成的信息。自从我开始编程以来,我就对随机性很感兴趣。我读到 Linux 内核也使用随机数生成架构。

The structure consists of a two-level cascaded sequence of pools coupled with 
CSPRNGs.
Each pool is a large group of bits which represents the current state of the 
random number generator. The CSPRNGs are currently based on SHA-1, but the 
kernel developers are considering a switch to SHA-3.

The kernel RNG produces two user-space output streams. One of these goes to 
/dev/urandom and also to the kernel itself; the latter is useful because there 
are uses for random numbers within the kernel. The other output stream goes to
/dev/random. The difference between the two is that /dev/random tries to estimate
how much entropy is coming into the system, and will throttle its output if there 
is insufficient entropy. By contrast, the /dev/urandom stream does not throttle
output, and if users consume all of the available entropy, the interface degrades
to a pure CSPRNG.

因此,我兴奋地尝试进入并检查 /dev/random 和 /dev/urandom 中的内容。但它说,

root@ubuntu:/home/sunny# /dev/random
bash: /dev/random: Permission denied

root@ubuntu:/home/sunny# /dev/urandom
bash: /dev/urandom: Permission denied

但是,当我使用“ls”命令检查时,我可以在 /dev 中看到“随机”。我想详细了解这一点。

4

1 回答 1

14

/dev/random不是可执行文件。试试cat /dev/random。或者,如果您不喜欢测试您的反应能力,dd if=/dev/random bs=128 count=1则会显示有限数量的随机垃圾。

于 2012-11-27T20:55:29.117 回答