Every key, nonce, and challenge your cryptography generates traces back to a source of unpredictability. If that source is weak, every algorithm built on top of it — AES, RSA, ECDSA, ML-KEM — inherits the weakness. We're building a software entropy source with a realistic, phased roadmap to NIST SP 800-90B conformance and ESV certification.
NIST Special Publication 800-90B has required formal characterization, testing, and justification of entropy sources for every FIPS 140 submission since November 2020 — not merely a claim that a source is "random enough." Historical incidents involving predictable key generation have shown entropy failures are exploited in practice, not theoretical.
True randomness that resists reverse-engineering is the foundation every key, nonce, and IV depends on.
Validated entropy sources are now a formal requirement for FIPS 140-3 and Common Criteria module certification.
A certified, standards-aligned entropy source is what makes every downstream cryptographic claim credible.
Entropy sources can't be self-certified. Testing runs through a laboratory holding NVLAP 17ESV accreditation, which submits raw noise samples and design documentation to NIST's Cryptographic Module Validation Program via the Entropy Source Validation Test System — which then issues (or returns for revision) a public ESV certificate.
Specifies Deterministic Random Bit Generator mechanisms — Hash DRBG, HMAC DRBG, and CTR DRBG — validated through the Automated Cryptographic Validation Test System.
Specifies requirements for the entropy source itself: noise source behavior, conditioning, continuous health tests, and statistical min-entropy estimation. Validated through ESVTS, producing an ESV certificate.
Specifies constructions that combine an SP 800-90B entropy source with an SP 800-90A DRBG into a complete Random Bit Generator. NIST opened SP 800-90C conformance submissions in May 2026 — a comparatively new, still under-served certification target.
Required for all Common Criteria evaluations.
For all new FIPS 140-3 submissions, including software-only cryptographic modules — the direct commercial driver behind third-party entropy source products.
SafeLogic's CryptoComply Entropy Provider (CCEP) is the most visible commercial, standalone, ESV-certified software entropy source today — ESV Certificate #E241, shipping as a native OpenSSL 3.x provider (3.0 through 3.5), certified across 16 Operating Environments at launch. It demonstrates real market demand. It also leaves clear gaps we're building toward.
| Dimension | CryptoComply Entropy Provider | Our Opportunity |
|---|---|---|
| Ecosystem coverage | OpenSSL 3.x only | PKCS#11, Java JCA, Go, Rust bindings |
| Noise source transparency | Not publicly documented | Published design and estimator results |
| Operating Environments | 16 at launch | Broader, cloud/container-aware OE roadmap |
| SP 800-90C readiness | Not explicitly marketed | Target RBG-construction conformance early |
| Evaluation access | Consultation-gated | Public, rate-limited evaluation sandbox |
| Pricing transparency | Not published | Published tiered pricing |
| Hardware-assisted variant | Not offered | Optional hardware-backed source for higher assurance |
Comparison based on SafeLogic's public product documentation as of July 2026.
The prototype belongs to the well-established family of CPU/timer-jitter software entropy sources. Between two executions of a fixed, data-dependent workload, elapsed time is measured on the highest-resolution monotonic clock available — and because that elapsed time is shaped by cache state, memory bus contention, branch prediction, interrupts, and OS scheduling jitter, the low-order bits of the timing delta serve as the raw noise output.
SP 800-90B §4.4 requires continuous, in-line health testing during normal operation, not just pre-certification characterization. The prototype implements both default tests: the Repetition Count Test, which alarms when a sample value repeats too many times in a row, and the Adaptive Proportion Test, which alarms when a reference value reappears too often within a sliding window. Both cutoffs are currently conservative placeholders — per SP 800-90B, they must be recalculated from the validated min-entropy estimate, not assumed in advance.
// Core raw-sample generation — illustrative excerpt static uint8_t get_raw_noise_byte(uint64_t *state) { uint8_t out = 0; for (int fold = 0; fold < 4; fold++) { uint64_t t0 = monotonic_ns(); *state = jitter_workload(*state); uint64_t t1 = monotonic_ns(); uint64_t delta = t1 - t0; out ^= (uint8_t)(delta & 0xFF); out = (uint8_t)((out << 2) | (out >> 6)); } return out; }
A 200,000-sample batch was collected from the prototype running in a containerized Linux environment, scored by both the implemented continuous health tests and a fast, non-authoritative sanity-check estimator for early-stage screening only.
| Metric | Observed Value |
|---|---|
| Raw samples collected | 200,000 bytes |
| Unique byte values observed | 256 / 256 |
| RCT alarms | 0 |
| APT alarms | 0 |
| Shannon entropy (reference upper bound) | 5.07 bits/byte |
| Simplified MCV min-entropy estimate | 1.79 bits/byte (≈22% of max) |
Zero continuous-health-test alarms with a non-degenerate entropy signal is a reasonable early indicator — it is explicitly not sufficient evidence of SP 800-90B conformance. The sanity-check script implements only a simplified Most Common Value estimator and a Shannon entropy reference bound. It omits the IID determination test and the remaining estimators — roughly ten for IID data, fifteen for non-IID data — that the official NIST SP 800-90B Entropy Assessment Library requires, and it doesn't include the restart testing (1,000 restarts × 1,000 samples) SP 800-90B mandates.
The modest entropy-per-byte figure is itself informative: timer resolution inside virtualized and containerized environments is coarser than on bare metal — exactly the kind of platform-dependent behavior that must be re-characterized per target Operating Environment before any certification claim is credible.
PKCS#11, Java JCA, Go, and Rust bindings in addition to an OpenSSL 3.x provider.
Publish the noise source design and estimator methodology, rather than a black box behind a certificate number.
Target full RBG-construction conformance early, ahead of the compliance wave NIST opened in May 2026.
An optional hardware-backed source — RDRAND/RDSEED chaining, TPM-based, or dedicated TRNG — for higher FIPS 140-3 security levels.
A public, rate-limited evaluation sandbox and published pricing, without consultation-gated friction.
Explicitly validate and document entropy behavior under ML-KEM/ML-DSA key generation.
Prototype source code, the preliminary estimator script, and the full phased engineering roadmap are available on request.