I was reading about random numbers and their generation. I was interested in randomness since I started programming. I read that Linux Kernels also use random number generating architectures.
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.
So, full with excitement I tried to enter and check whats there in the /dev/random and /dev/urandom. But it said,
root@ubuntu:/home/sunny# /dev/random
bash: /dev/random: Permission denied
root@ubuntu:/home/sunny# /dev/urandom
bash: /dev/urandom: Permission denied
However, when I check with "ls" command, I can see "random" there in /dev. I would like to know this in detail.
/dev/random
is not an executable. Try cat /dev/random
. Or if you don't like testing your reflexes, dd if=/dev/random bs=128 count=1
will display a limited amount of random junk.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With