我正在阅读有关随机数及其生成的信息。自从我开始编程以来,我就对随机性很感兴趣。我读到 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 中看到“随机”。我想详细了解这一点。