random, srandom, urandom, prandom, arandom - random data
source devices
#include <sys/types.h>
#include <dev/rndvar.h>
#include <dev/rndioctl.h>
The various random devices produce random output data with
different random
qualities. Entropy data is collected from system activity (like disk
and network device interrupts and such), and then run
through various
hash or message digest functions to generate the output.
/dev/random This device is reserved for future support of
hardware
random generators.
/dev/srandom Strong random data. This device returns reliable random
data. If sufficient entropy is not currently
available
(i.e., the entropy pool quality starts to run
low), the
driver pauses while more of such data is collected. The
entropy pool data is converted into output
data using MD5.
/dev/urandom Same as above, but does not guarantee the data to be
strong. The entropy pool data is converted
into output
data using MD5. When the entropy pool quality runs low,
the driver will continue to output data.
/dev/prandom Simple pseudo-random generator.
/dev/arandom As required, entropy pool data re-seeds an
ARC4 generator,
which then generates high-quality pseudo-random output data.
The arc4random(3) function in userland libraries seeds itself
from this device, providing a second
level of ARC4
hashed data.
/dev/random
/dev/srandom
/dev/urandom
/dev/prandom
/dev/arandom
arc4random(3), md5(3), random(3), amdpm(4), pchb(4), md5(9),
random(9)
A random device first appeared in Linux operating system.
This is a
cloned interface.
ARC4 routines added by David Mazieres.
No randomness testing suite provided.
OpenBSD 3.6 March 25, 1996
[ Back ] |