Docs / Compliance / PractRand 0.96

PractRand 0.96 Validation

TrueEntropy hybrid output was tested against PractRand 0.96 - a rigorous statistical battery widely regarded as the gold standard for PRNG quality testing. The output passed all 157 tests across 32 GB with zero anomalies detected.

32 GB Clean - 157/157 Tests Passed
PractRand 0.96 - test set: core, folding: standard (8-bit) - zero anomalies

What is PractRand?

PractRand (Practically Random) is an open-source C++ statistical testing suite for random number generators. It is considered more demanding than NIST SP800-22 because it scales continuously - running more tests at each power-of-two data boundary and detecting weaknesses that only emerge at large volumes. A weak PRNG will typically fail between 1 MB and 16 MB. Cryptographic-grade generators are expected to pass well beyond 32 GB.

Test Methodology

Entropy source

10,485,760 bytes (10 MB) of true quantum random numbers generated via IBM Quantum hardware (ibm_fez, 156-qubit system) using 8-qubit Hadamard circuits, verified 7/7 by NIST SP800-22.

Hybrid expansion

The quantum dataset seeds a ChaCha20 stream cipher (key = first 32 bytes, nonce = bytes 33–44), mirroring the production hybrid architecture. The quantum bytes are prepended to the keystream to produce the full test stream.

Test command

bash
# PractRand 0.96, 8-bit input, 32 GB limit ./RNG_test stdin8 -tlmax 32G < raw_hybrid_32g.bin

Results

Stream LengthTests RunAnomaliesStatus
128 MB1020Pass
256 MB1100Pass
512 MB1180Pass
1 GB1250Pass
2 GB1320Pass
4 GB1390Pass
8 GB1450Pass
16 GB1510Pass
32 GB1570Pass

Full output

PractRand output
RNG_test using PractRand version 0.96 RNG = RNG_stdin8, seed = unknown test set = core, folding = standard (8 bit) rng=RNG_stdin8, seed=unknown length= 128 megabytes (2^27 bytes), time= 2.0 seconds no anomalies in 102 test result(s) rng=RNG_stdin8, seed=unknown length= 256 megabytes (2^28 bytes), time= 4.0 seconds no anomalies in 110 test result(s) rng=RNG_stdin8, seed=unknown length= 512 megabytes (2^29 bytes), time= 7.5 seconds no anomalies in 118 test result(s) rng=RNG_stdin8, seed=unknown length= 1 gigabyte (2^30 bytes), time= 14.6 seconds no anomalies in 125 test result(s) rng=RNG_stdin8, seed=unknown length= 2 gigabytes (2^31 bytes), time= 29.8 seconds no anomalies in 132 test result(s) rng=RNG_stdin8, seed=unknown length= 4 gigabytes (2^32 bytes), time= 59.8 seconds no anomalies in 139 test result(s) rng=RNG_stdin8, seed=unknown length= 8 gigabytes (2^33 bytes), time= 119 seconds no anomalies in 145 test result(s) rng=RNG_stdin8, seed=unknown length= 16 gigabytes (2^34 bytes), time= 246 seconds no anomalies in 151 test result(s) rng=RNG_stdin8, seed=unknown length= 32 gigabytes (2^35 bytes), time= 471 seconds no anomalies in 157 test result(s)

Context & Comparison

Test SuiteTestsScaleTrueEntropy Result
NIST SP800-2215 tests~1 MB15/15 Pass
PractRand 0.96157 tests32 GB157/157 Pass
Typical commercial CSPRNGvaries1–4 GBindustry baseline

Caveats

These results are statistical evidence, not a cryptographic proof. PractRand tests detect structural patterns and biases; they do not evaluate key security or resistance to cryptanalysis. The quantum seed (IBM Fez hardware) is the irreducible entropy source - the ChaCha20 expansion is computationally secure, not information-theoretically secure. Results are reproducible given the same quantum seed material.