True random number generator (RNG)
conditioning algorithm, a health monitoring block and two interfaces that are used to interact
with the entropy source: GetEntropy and HealthTest.
The components pictured above are detailed hereafter.
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. This noise source provides 1-bit samples. It is composed of:
•
Multiple analog noise sources (x6), each based on three XORed free-running ring
oscillator outputs. It is possible to disable those analog oscillators to save power, as
described in
•
The XORing of all the noise sources into a single analog output.
•
A sampling stage of this output clocked by a dedicated clock input (rng_clk with
integrated divider), delivering a 1-bit raw data output.
This noise source sampling is independent to the AHB interface clock frequency (rng_hclk),
with a possibility for the software to decrease the sampling frequency by using the
integrated divider.
Note:
In
Section 22.6: RNG entropy source validation
and associated divider value are given.
Post processing
In the NIST configuration no post-processing is applied to the sampled noise source. In non-
NIST configuration B (as defined in
that is half of the bits are taken from the sampled noise source, half of the bits are taken
from the inverted sampled noise source.
634/1450
Figure 99. NIST SP800-90B entropy source model
Error
message
(HealthTest)
Heath
tests
Entropy source
Section 22.3.8: RNG low-power
Section
RM0453 Rev 5
Output
(GetEntropy)
Conditioning
(optional)
Raw data
Post-processing
(optional)
Digitization
Noise Source
use.
the recommended RNG clock frequencies
22.6.2) a normalization debiasing is applied,
RM0453
MSv44200V3
Need help?
Do you have a question about the STM32WL5 Series and is the answer not in the manual?
Questions and answers