:man| Alphabetical   Categories   About us 
 
ARC4RANDOM (3) | C library functions | Unix Manual Pages | :man

NAME

arc4random, arc4random_stir, arc4random_addrandom - arc4 random number generator

CONTENTS

Library
Synopsis
Description
Examples
See Also
History

LIBRARY


.Lb libc

SYNOPSIS


.In 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 employed by the arc4 cipher, which uses 8*8 8 bit S-Boxes. The S-Boxes can be in about 217000 states. The arc4random function returns pseudo-random numbers in the range of 0 to 2310-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:

"#define foo4random() (arc4random() % ((unsigned)RAND_MAX + 1))"

SEE ALSO

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

HISTORY

 
Created by Blin Media, 2008-2013