我正在阅读有关随机数字及其生成的信息。自从我开始编程以来,我对随机性很感兴趣。我读到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中看到“随机”。 我想详细了解这一点。
答案 0 :(得分:10)
/dev/random
不是可执行文件。试试cat /dev/random
。或者,如果您不想测试您的反应,dd if=/dev/random bs=128 count=1
将显示有限数量的随机垃圾。