| .TH GENRANDOM 3 | 
 | .SH NAME | 
 | genrandom, prng \- random number generation | 
 | .SH SYNOPSIS | 
 | .B #include <u.h> | 
 | .br | 
 | .B #include <libc.h> | 
 | .br | 
 | .B #include <mp.h> | 
 | .br | 
 | .B #include <libsec.h> | 
 | .PP | 
 | .B | 
 | void	genrandom(uchar *buf, int nbytes) | 
 | .PP | 
 | .B | 
 | void	prng(uchar *buf, int nbytes) | 
 | .SH DESCRIPTION | 
 | Most security software requires a source of random or, at the | 
 | very least, unguessable numbers. | 
 | .PP | 
 | .I Genrandom | 
 | fills a buffer with bytes from the X9.17 pseudo-random | 
 | number generator.  The X9.17 generator is seeded by 24 | 
 | truly random bytes read via | 
 | .I truerand | 
 | (see | 
 | .IR rand (3)). | 
 | .PP | 
 | .I Prng | 
 | uses the native | 
 | .IR rand (3) | 
 | pseudo-random number generator to fill the buffer.  Used with | 
 | .IR srand , | 
 | this function can produce a reproducible stream of pseudo random | 
 | numbers useful in testing. | 
 | .PP | 
 | Both functions may be passed to | 
 | .I mprand | 
 | (see | 
 | .IR mp (3)). | 
 | .SH SOURCE | 
 | .B \*9/src/libsec | 
 | .SH SEE ALSO | 
 | .IR mp (3) |