|
@ -1,4 +1,4 @@ |
|
|
.\" $OpenBSD: arc4random.3,v 1.15 2000/04/28 21:02:55 deraadt Exp $ |
|
|
|
|
|
|
|
|
.\" $OpenBSD: arc4random.3,v 1.16 2000/04/28 21:16:25 deraadt Exp $ |
|
|
.\" |
|
|
.\" |
|
|
.\" Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> |
|
|
.\" Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> |
|
|
.\" All rights reserved. |
|
|
.\" All rights reserved. |
|
@ -49,10 +49,30 @@ |
|
|
.Sh DESCRIPTION |
|
|
.Sh DESCRIPTION |
|
|
The |
|
|
The |
|
|
.Fn arc4random |
|
|
.Fn arc4random |
|
|
function uses the key stream generator employed by the |
|
|
|
|
|
arc4 cipher, which uses 8*8 8 bit S-Boxes. |
|
|
|
|
|
|
|
|
function provides a high quality 32-bit pseudo-random |
|
|
|
|
|
number very quickly. |
|
|
|
|
|
.Fn arc4random |
|
|
|
|
|
seeds itself on a regular basis from the kernel strong random number |
|
|
|
|
|
subsystem described in |
|
|
|
|
|
.Xr random 4 . |
|
|
|
|
|
On each call, an ARC4 generator is used to generate a new result. |
|
|
|
|
|
The |
|
|
|
|
|
.Fn arc4random |
|
|
|
|
|
function uses the ARC4 ciper key stream generator, |
|
|
|
|
|
which uses 8*8 8 bit S-Boxes. |
|
|
The S-Boxes can be in about (2**1700) states. |
|
|
The S-Boxes can be in about (2**1700) states. |
|
|
.Pp |
|
|
.Pp |
|
|
|
|
|
.Fn arc4random |
|
|
|
|
|
fits into a middle ground not covered by other subsystems such as |
|
|
|
|
|
the strong, slow, and resource expensive random |
|
|
|
|
|
devices described in |
|
|
|
|
|
.Xr random 4 |
|
|
|
|
|
versus the fast but poor quality interfaces described in |
|
|
|
|
|
.Xr rand 3 , |
|
|
|
|
|
.Xr random 3 , |
|
|
|
|
|
and |
|
|
|
|
|
.Xr drand48 3 . |
|
|
|
|
|
.Pp |
|
|
The |
|
|
The |
|
|
.Fn arc4random_stir |
|
|
.Fn arc4random_stir |
|
|
function reads data from |
|
|
function reads data from |
|
|