random(9)

NAME

arc4rand, arc4random, random, read_random, srandom - supply
pseudo-random
numbers

SYNOPSIS

#include <sys/libkern.h>
void
srandom(u_long seed);
u_long
random(void);
void
arc4rand(void *ptr, u_int length, int reseed);
u_int32_t
arc4random(void);
#include <sys/random.h>
int
read_random(void *buffer, int count);

DESCRIPTION

The random() function will by default produce a sequence of
numbers that
can be duplicated by calling srandom() with `1' as the seed.
The
srandom() function may be called with any arbitrary seed
value to get
slightly more unpredictable numbers. It is important to re
member that
the random() function is entirely predictable, and is there
fore not of
use where knowledge of the sequence of numbers may be of
benefit to an
attacker.
The arc4rand() function will return very good quality random
numbers,
slightly better suited for security-related purposes. The
random numbers
from arc4rand() are seeded from the entropy device if it is
available.
Automatic reseeds happen after a certain timeinterval and
after a certain
number of bytes have been delivered. A forced reseed can be
forced by
passing a non-zero value in the reseed argument.
The read_random() function is used to return entropy direct
ly from the
entropy device if it has been loaded. If the entropy device
is not
loaded, then the buffer is filled with output generated by
random(). The
buffer is filled with no more than count bytes. It is ad
vised that
read_random() is not used; instead use arc4rand()
All the bits generated by random(), arc4rand() and
read_random() are
usable. For example, `random()&01' will produce a random
binary value.
The arc4random() is a convenience function which calls
arc4rand() to
return a 32 bit pseudo-random integer.

RETURN VALUES

The random() function uses a non-linear additive feedback
random number
generator employing a default table of size 31 long integers
to return
successive pseudo-random numbers in the range from 0 to
(2**31)-1. The
period of this random number generator is very large, ap
proximately
16*((2**31)-1).
The arc4rand() function uses the RC4 algorithm to generate
successive
pseudo-random bytes. The arc4random() function uses
arc4rand() to generate pseudo-random numbers in the range from 0 to (2**32)-1.
The read_random() function returns the number of bytes
placed in buffer.

AUTHORS

Dan Moschuk wrote arc4random().
Mark R V Murray wrote read_random().
BSD September 25, 2000
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout