56 lines
1.5 KiB
Groff
56 lines
1.5 KiB
Groff
.Dd September 6, 2001
|
|
.Dt RANDOM 4
|
|
.Os Darwin
|
|
.Sh NAME
|
|
.Nm random
|
|
,
|
|
.Nm urandom
|
|
.Nd random data source devices.
|
|
.Sh SYNOPSIS
|
|
.Cd "pseudo-device random"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
device produces uniformly distributed random byte values
|
|
of potentially high quality.
|
|
.Pp
|
|
To obtain random bytes, open
|
|
.Nm /dev/random
|
|
for reading and read from it.
|
|
.Pp
|
|
The same random data is also available from
|
|
.Xr getentropy 2 .
|
|
Using the
|
|
.Xr getentropy 2
|
|
system call interface will provide resiliency to file descriptor exhaustion, chroot, or sandboxing which can make
|
|
.Nm /dev/random
|
|
unavailable. Additionally, the
|
|
.Xr arc4random 3
|
|
API provides a fast userspace random number generator built on the
|
|
.Nm
|
|
data source and is preferred over directly accessing the system's random device.
|
|
.Pp
|
|
.Nm /dev/urandom
|
|
is a compatibility nod to Linux. On Linux,
|
|
.Nm /dev/urandom
|
|
will produce lower quality output if the entropy pool drains, while
|
|
.Nm /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.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
device implements the
|
|
.Nm Fortuna
|
|
pseudo random number generator algorithm and maintains its entropy pool.
|
|
The kernel automatically seeds the algorithm with additional entropy during normal execution.
|
|
.Sh FILES
|
|
.Bl -tag -width /dev/urandom -compact
|
|
.It Pa /dev/random
|
|
.It Pa /dev/urandom
|
|
.El
|
|
.Sh HISTORY
|
|
A
|
|
.Nm
|
|
device appeared in the Linux operating system.
|