True random number generator (RNG)
16.3.3
Random number generation
The true random number generator (RNG) delivers truly random data through its AHB
interface at deterministic intervals. The RNG implements the entropy source model pictured
on
Figure
•
Collects the bitstring output of the entropy source box
•
Obtains samples of the noise source for validation purpose
•
Collects error messages from continuous health tests
The main components of the RNG are:
•
A source of physical randomness (analog noise source)
•
A digitization stage for this analog noise source
•
A stage delivering post-processed noise source (raw data)
•
An output buffer for the raw data. If further cryptographic conditioning is required by the
application it will need to be performed by software.
•
An optional output for the digitized noise source (unbuffered, on digital pads)
•
Basic health tests on the digitized noise source
All those components are detailed below.
Noise source
The noise source is the component that contains the non-deterministic, entropy-providing
activity that is ultimately responsible for the uncertainty associated with the bitstring output
by the entropy source. It is composed of:
•
Two analog noise sources, each based on three XORed free-running ring oscillator
outputs. It is possible to disable those analog oscillators to save power, as described in
452/1324
86, and provides three main functions to the application:
Figure 86. Entropy source model
RM0430 Rev 8
RM0430
Need help?
Do you have a question about the STM32F423 and is the answer not in the manual?
Questions and answers