• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * \file doc_rng.h
3  *
4  * \brief Random number generator (RNG) module documentation file.
5  */
6 /*
7  *
8  *  Copyright The Mbed TLS Contributors
9  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
10  */
11 
12 /**
13  * @addtogroup rng_module Random number generator (RNG) module
14  *
15  * The Random number generator (RNG) module provides random number
16  * generation, see \c mbedtls_ctr_drbg_random().
17  *
18  * The block-cipher counter-mode based deterministic random
19  * bit generator (CTR_DBRG) as specified in NIST SP800-90. It needs an external
20  * source of entropy. For these purposes \c mbedtls_entropy_func() can be used.
21  * This is an implementation based on a simple entropy accumulator design.
22  *
23  * The other number generator that is included is less strong and uses the
24  * HAVEGE (HArdware Volatile Entropy Gathering and Expansion) software heuristic
25  * which considered unsafe for primary usage, but provides additional random
26  * to the entropy pool if enables.
27  *
28  * Meaning that there seems to be no practical algorithm that can guess
29  * the next bit with a probability larger than 1/2 in an output sequence.
30  *
31  * This module can be used to generate random numbers.
32  */
33