The
arc4random ();
function uses the key stream generator employed by the
arc4 cipher, which uses 8*8 8 bit S-Boxes.
The S-Boxes
can be in about
(2**1700)
states.
The
arc4random ();
function returns pseudo-random numbers in the range of 0 to
(2**32)-1,
and therefore has twice the range of
rand(3)
and
random(3).
The
arc4random_stir ();
function reads data from
/dev/urandom
and uses it to permute the S-Boxes via
arc4random_addrandom (.);
There is no need to call
arc4random_stir ();
before using
arc4random (,);
since
arc4random ();
automatically initializes itself.
EXAMPLES
The following produces a drop-in replacement for the traditional
rand ();
and
random ();
functions using
arc4random (:);
RC4
has been designed by RSA Data Security, Inc.
It was posted anonymously
to the USENET and was confirmed to be equivalent by several sources who
had access to the original cipher.
Since
RC4
used to be a trade secret, the cipher is now referred to as
ARC4