
DocID024597 Rev 5
809/1830
RM0351
True Random Number Generator (RNG)
816
Figure 189. Entropy source model
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
Section 27.4: RNG low-power usage
.
•
A sampling stage of these outputs clocked by a dedicated clock input (
rng_clk
),
delivering a 2-bit raw data output.
The noise source sampling stage solves a metastability problem that may occurs due to the
asynchronism between the noise source output signals and the dedicated
rng_clk
input.
This noise source sampling is also independent to the AHB interface clock frequency
(
rng_hclk
).
Note:
In
Section 27.7: Entropy source validation
recommended RNG clock frequencies are given.
06Y9
(QWURS\VRXUFH
1RLVH6RXUFH
'LJLWL]DWLRQ
3RVWSURFHVVLQJ
RSWLRQDO
5DZGDWD
&RQGLWLRQLQJ
RSWLRQDO
+HDWK
WHVWV
2XWSXW
(UURU
PHVVDJH
2XWSXW
UDZGDWDRU
GLJLWL]HGQRLVH
VRXUFH