blob: 40852ee14d27604481457209f17829e9930e7a6f [file] [log] [blame]
Paul Bakker37ca75d2011-01-06 12:28:03 +00001/**
2 * @file
3 * Random number generator (RNG) module documentation file.
4 */
5
6/**
7 * @addtogroup rng_module Random number generator (RNG) module
8 *
9 * The Random number generator (RNG) module provides random number
Paul Bakker6083fd22011-12-03 21:45:14 +000010 * generation, see \c ctr_dbrg_random() or \c havege_random().
11 *
12 * The former uses the block-cipher counter-mode based deterministic random
13 * bit generator (CTR_DBRG) as specified in NIST SP800-90. It needs an external
14 * source of entropy. For these purposes \c entropy_func() can be used. This is
15 * an implementation based on a simple entropy accumulator design.
16 *
17 * The latter random number generator uses the HAVEGE (HArdware Volatile
Paul Bakker37ca75d2011-01-06 12:28:03 +000018 * Entropy Gathering and Expansion) software heuristic which is claimed
19 * to be an unpredictable or empirically strong* random number generation.
20 *
21 * \* Meaning that there seems to be no practical algorithm that can guess
22 * the next bit with a probability larger than 1/2 in an output sequence.
23 *
24 * This module can be used to generate random numbers.
25 */