RM0453
22.3.3
Random number generation
The true random number generator (RNG) delivers truly random data through its AHB
interface at deterministic intervals.
Within its boundary RNG integrates all the required NIST components depicted on
Figure
99. Those components are an analog noise source, a digitization stage, a
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 the six 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
associated divider value are given.
Figure 99. NIST SP800-90B entropy source model
Error
message
(HealthTest)
Heath
tests
Entropy source
Section 22.3.8: RNG low-power
RM0453 Rev 2
True random number generator (RNG)
Output
(GetEntropy)
Conditioning
(optional)
Raw data
Post-processing
(optional)
Digitization
Noise Source
usage.
recommended RNG clock frequencies and
MSv44200V2
635/1454
647
Need help?
Do you have a question about the STM32WL55JC and is the answer not in the manual?
Questions and answers