RANDOM(4)                    Device Drivers Manual                   RANDOM(4)

NAME
     random , urandom – random data source devices.

SYNOPSIS
     pseudo-device random

DESCRIPTION
     The random device produces uniformly distributed random byte values of
     potentially high quality.

     To obtain random bytes, open /dev/random for reading and read from it.

     The same random data is also available from getentropy(2).  Using the
     getentropy(2) system call interface will provide resiliency to file
     descriptor exhaustion, chroot, or sandboxing which can make /dev/random
     unavailable.  Additionally, the arc4random(3) API provides a fast
     userspace random number generator built on the random data source and is
     preferred over directly accessing the system's random device.

     /dev/urandom is a compatibility nod to Linux. On Linux, /dev/urandom will
     produce lower quality output if the entropy pool drains, while
     /dev/random will prefer to block and wait for additional entropy to be
     collected.  With Fortuna, this choice and distinction is not necessary,
     and the two devices behave identically. You may use either.

     The random device implements the Fortuna pseudo random number generator
     algorithm and maintains its entropy pool.  The kernel automatically seeds
     the algorithm with additional entropy during normal execution.

FILES
     /dev/random
     /dev/urandom

HISTORY
     A random device appeared in the Linux operating system.

Darwin                         September 6, 2001                        Darwin