TRNG – Architecture & Fundamentals
True Random Number Generators (TRNGs) produce non‑deterministic bitstreams derived from physical noise sources. Unlike pseudo‑random generators, which rely on deterministic algorithms, TRNGs extract entropy from inherently unpredictable physical phenomena such as oscillator jitter, thermal noise, or metastability amplification. TRNGs are used in cryptography, secure boot, key generation, authentication, and any system requiring unpredictable randomness.
1. Purpose of TRNGs
Digital systems often require randomness that cannot be predicted or reproduced. Pseudo‑random generators (PRNGs) are deterministic and therefore unsuitable for security‑critical applications. TRNGs provide:
- non‑deterministic entropy
- unpredictability across power cycles
- resistance to replay and modeling attacks
- compliance with security standards (FIPS, NIST SP800‑90B)
In FPGA and ASIC designs, TRNGs are typically implemented using digital structures that expose and amplify physical noise.
2. Physical Entropy Sources
A TRNG must rely on a physical phenomenon that is fundamentally unpredictable. Common entropy sources include:
- oscillator jitter (phase noise accumulated over time)
- thermal noise in resistive or MOS structures
- shot noise in reverse‑biased junctions
- metastability amplification in bistable circuits
- power‑supply noise and substrate noise (secondary sources)
In FPGA implementations, the most accessible and robust source is jitter from free‑running ring oscillators.
3. Ring Oscillator TRNGs
Ring‑oscillator‑based TRNGs are the most widely used in programmable logic. The architecture typically includes:
- multiple free‑running oscillators with slightly different frequencies
- asynchronous sampling between oscillators
- XOR networks to combine jitter contributions
- a conditioner to remove bias and decorrelate the output
The entropy arises from the accumulated phase noise between oscillators, which cannot be predicted or controlled digitally.
4. Metastability‑Based TRNGs
Metastability can be used to amplify noise, but not as a standalone entropy source. A metastable latch resolves unpredictably only when physical noise dominates over structural mismatch. Practical TRNGs use metastability in combination with:
- asynchronous sampling
- jitter injection
- balanced structures
- whitening stages
This approach is common in ASICs and some FPGA‑based TRNGs, but always requires conditioning.
5. Why Metastability Alone Is Not a Reliable Entropy Source
A flip‑flop forced into metastability does not resolve to 0 or 1 with equal probability. Device mismatch, threshold offsets, routing imbalance, and load asymmetry introduce a structural bias that dominates over the available noise. As a result, metastability alone produces a skewed and potentially predictable output. Modern TRNGs use metastability only as a noise amplifier, not as the entropy source itself. A dedicated note in the Notes section provides a deeper explanation of this limitation.
6. Conditioning and Whitening
Raw entropy is often biased or correlated. TRNGs therefore include a conditioning stage to:
- remove bias
- decorrelate consecutive bits
- ensure minimum entropy per output bit
- meet statistical test requirements
Common conditioning blocks include: - XOR folding
- LFSR‑based whitening
- Von Neumann corrector
- cryptographic hash functions (SHA‑256, Keccak)
Conditioning does not create entropy; it only improves the statistical quality of the raw bitstream.
7. Relationship with LFSR / PRBS Generators
LFSR and PRBS generators are deterministic and therefore not suitable as entropy sources. However, they play an important role in TRNG architectures:
- used as whitening stages to remove bias
- used to decorrelate raw entropy
- used to spread entropy across multiple bits
- used to implement health tests and monitors
This creates a natural link between TRNGs and LFSR/PRBS architectures. A reference to the LFSR / PRBS page is included in the Related Pages section.
8.Health Tests and Standards
Modern TRNGs must include continuous health tests to detect failures or degradation of the entropy source. Typical tests include:
- repetition count test
- adaptive proportion test
- stuck‑bit detection
- entropy‑rate monitoring
- startup tests
Standards such as NIST SP800‑90B and FIPS 140‑3 define minimum requirements for entropy sources and conditioning.
9.Use Cases
TRNGs are used in:
- secure boot and key generation
- authentication protocols
- session key derivation
- nonce generation
- random masking in cryptographic engines
- FPGA/ASIC security subsystems
- embedded systems requiring unpredictable behavior
10. Related Pages
- Entropy Sources — Classification & Practical Limits
Overview of the physical phenomena that provide usable entropy in digital systems, including thermal noise, shot noise, oscillator jitter, and metastability amplification. Explains their characteristics, limitations, PVT sensitivity, and how they are used in TRNG architectures together with conditioning and health‑monitoring mechanisms. - Metastability — Why It Cannot Be Used as a True Entropy Source
Technical note explaining why metastability alone cannot serve as a reliable entropy source. - Conditioning Techniques — Whitening, Decorrelation & Post‑Processing
Digital post‑processing methods used to remove bias, reduce correlations, and ensure statistical quality in TRNG outputs.