mbed TLS v2.16.5

Random number generator (RNG) module

The Random number generator (RNG) module provides random number generation, see `mbedtls_ctr_drbg_random()`.

The block-cipher counter-mode based deterministic random bit generator (CTR_DBRG) as specified in NIST SP800-90. It needs an external source of entropy. For these purposes `mbedtls_entropy_func()` can be used. This is an implementation based on a simple entropy accumulator design.

The other number generator that is included is less strong and uses the HAVEGE (HArdware Volatile Entropy Gathering and Expansion) software heuristic which considered unsafe for primary usage, but provides additional random to the entropy pool if enables.

Meaning that there seems to be no practical algorithm that can guess the next bit with a probability larger than 1/2 in an output sequence.

This module can be used to generate random numbers.