/dev/random |
In Unix-like operating systems, /dev/random is a special file that serves as a hardware random number generator which gathers environmental noise from device drivers and other sources into an information entropy pool. The generator also keeps an estimate of the number of Bits of noise in the entropy pool. From this entropy pool random numbers are created. When read, the /dev/random device will only return random bytes within the estimated number of bits of noise in the entropy pool. /dev/random should be suitable for uses that need very high quality randomness such as one-time pad or public key generation. When the entropy pool is empty, reads from /dev/random will blocking I/O until additional environmental noise is gathered. (Source: Linux Programmer s Manual, section 4)
Typical uses include all those for which random numbers are useful: Games and simulations, Encryption, data compression data etc. However, the low availability of genuine entropy makes the direct use of /dev/random unsuitable for generation of large quantities of data. A counterpart to /dev/random is /dev/urandom which uses a hash function to produce more pseudo-random bits. The intent is to serve as a cryptographically secure pseudo-random number generator, although most implementations are not designed by cryptographers; as a result, most cryptographic software (including OpenSSL, PGP, and GnuPG, for example) implements its own random number generator seeded from /dev/random.
= See also =
*Unix philosophy *Standard streams *hardware random number generator *cryptographically secure pseudo-random number generator *Yarrow algorithm|
|
