Source of secure random data
random [-hpt] [-i #] [-l library[:init_string]] [-m mode] [-s path] [-U string]
QNX Neutrino
In the second form, the primary group is the one specified for user_name in /etc/passwd.
The random service runs in the background providing a source of secure, pseudo-random data suitable for encryption and security. The service builds its internal pool of pseudo-random data from sources specified when it is started. These sources may include timers, interrupts, and detailed system runtime information. The service makes this random data available by providing device entries that any application can read:
These device entries provide the same functionality.
The user controls all of the sources to be used to collect random data by specifying source options on the command line.
Start the random service using three PC interrupts as sources:
random -i12 -i14 -i15
From an application, read 4 bytes of random data like this:
int data; int fd; fd = open( "/dev/random", O_RDWR ); if( fd == -1 ) { exit( 1 ); } read( fd, &data, sizeof( data ) ); close( fd );
If an error occurs, random sends a description of the error to slogger and doesn't create /dev/random or /dev/urandom.
The random service uses the core algorithm from the copyright-free Yarrow pseudo-random number generator (PRNG) from Counterpane Security (http://www.counterpane.com/yarrow.html). Bruce Schneier and John Kelsey designed the Yarrow PRNG.
The random service doesn't work unless you specify at least one source of random data (options -p, -t, or -i).