DexterLab

🚨 New downloadable modules coming soon📘 Electrical Signaling & PHY Interfaces — new overview📘 Electrical I/O Standards — new overview📘 Integration between Theory and Design Library in progress

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