NIST SP 800-90B Min-Entropy Suite
NIST Special Publication 800-90B min-entropy estimation suite. Quantifies the worst-case unpredictability of physical entropy sources via 10 estimators across Non-IID and Predictor tracks — the gold standard for FIPS 140-3 entropy source validation.
FIPS 140-3 Entropy Validation: NIST SP 800-90B is the mandatory standard for entropy source validation in FIPS 140-3 certified cryptographic modules. It estimates the worst-case min-entropy ($H_{\infty}$) per sample output by each physical noise source.
NIST SP 800-90B Min-Entropy Estimators
SP 800-90B defines two evaluation tracks. Each estimator independently computes a lower bound on the min-entropy $H_{\infty}$ (bits per output symbol). The final certified value is the minimum across all applicable estimators:
| Section | Estimator Name | Track | Pass Criteria | Description |
|---|---|---|---|---|
| §6.3.1 | Most Common Value | Non-IID | $H_{\infty} \ge 6.00$ b/B | Estimates entropy from the probability of the single most frequent output value. |
| §6.3.2 | Collision Test | Non-IID | $H_{\infty} \ge 6.00$ b/B | Mean time until a repeated value; models birthday-bound min-entropy. |
| §6.3.3 | Markov Test | Non-IID | $H_{\infty} \ge 6.00$ b/B | Entropy of a first-order Markov chain model fitted to the sequence. |
| §6.3.4 | Compression Test | Non-IID | $H_{\infty} \ge 6.00$ b/B | Lempel-Ziv compression-based entropy estimator (planned). |
| §6.3.5 | t-Tuple Test | Non-IID | $H_{\infty} \ge 6.00$ b/B | Frequency of all overlapping $t$-tuples; chooses optimal tuple length. |
| §6.3.6 | Longest Repeated Substring | Non-IID | $H_{\infty} \ge 6.00$ b/B | Length of longest repeated overlapping substring (planned). |
| §6.3.7 | Multi Most Common in Window | Predictor | $P_{\text{global}} \le 0.25$ | Adaptive window-based multi-symbol prediction (planned). |
| §6.3.8 | Lag Prediction Test | Predictor | $P_{\text{global}} \le 0.25$ | Predicts current symbol from a fixed-lag previous symbol (planned). |
| §6.3.9 | MultiMMC Prediction Test | Predictor | $P_{\text{global}} \le 0.25$ | Multi-order Markov chain predictor (planned). |
| §6.3.10 | LZ78Y Prediction Test | Predictor | $P_{\text{global}} \le 0.25$ | LZ78-based dictionary predictor (planned). |
[!NOTE]
§6.3.1–§6.3.3, §6.3.5 (Non-IID track) are fully implemented. §6.3.4, §6.3.6–§6.3.10 are specification stubs shown asNOT IMPLEMENTEDin the dashboard.
Non-IID vs IID Track
- Non-IID track (§6.3.1–§6.3.6): Used when the entropy source output is assumed to be not identically and independently distributed — the conservative, required path for most physical TRNGs.
- Predictor track (§6.3.7–§6.3.10): Adversarial prediction-based estimators that directly measure how well an optimal predictor can guess the next output symbol.
When to Use SP 800-90B
- FIPS 140-3 Entropy Source Submission: The mandatory estimation procedure for all entropy sources claiming FIPS 140-3 compliance (replacing FIPS 140-2). Required before seeding NIST-approved DRBGs (SP 800-90A) in validated modules.
- Physical TRNG Min-Entropy Certification: Characterizing thermal noise amplifiers, ring oscillators, reverse-biased junctions, and photon counting detectors for their certified min-entropy per bit output — the baseline for entropy conditioning design.
- Entropy Conditioner Design: Determining the correct compression ratio for entropy conditioners (hash-based, CBC-MAC-based). SP 800-90B Section 3.1.5 requires the conditioner input min-entropy to exceed the output security strength.
- Common Criteria AVA_VAN Entropy Evidence: Generating formal evidence packages for Common Criteria evaluations at AVA_VAN.3–AVA_VAN.5 requiring statistical entropy analysis of security-enforcing random number sources.
The Minimum Rule: NIST SP 800-90B Section 3.1.3 states that the assessed min-entropy of an entropy source is the minimum of all applicable estimator outputs. Even a single low-entropy estimator result will cap the certified entropy claim regardless of how other estimators perform.
Sample Size Requirement: SP 800-90B requires a minimum of 1,000,000 samples (bytes for byte-output sources, bits for bit-output sources) for formal assessment. The Non-IID estimators may return
INSUFFICIENT DATA for files smaller than ~125 KB.