| .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) |