arc4random(3)

NAME

arc4random, arc4random_stir, arc4random_addrandom - arc4
random number
generator

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <stdlib.h>
u_int32_t
arc4random(void);
void
arc4random_stir(void);
void
arc4random_addrandom(unsigned char *dat, int datlen);

DESCRIPTION

The arc4random() function uses the key stream generator em
ployed 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 tradi
tional rand()
and random() functions using arc4random():

#define foo4random() (arc4random() % ((un
signed)RAND_MAX + 1))

SEE ALSO

rand(3), random(3), srandomdev(3)

HISTORY

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.
BSD April 15, 1997
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout