🤖 AI Summary
To address the challenge of validating and enhancing cryptographic-grade random number generator (RNG) quality, this paper proposes the first configurable evaluation framework integrating randomness extractors with multi-tiered statistical testing. Methodologically, it unifies mainstream test suites—including NIST SP 800-22, Dieharder, and TestU01—with Von Neumann, Trevisan, and Toeplitz extractors, supporting high-performance C/C++ implementations and automated testing pipelines, alongside a tunable testing paradigm ranging from lightweight to exhaustive. Its key contribution lies in the systematic integration of extraction and validation into a closed-loop, unified workflow for both RNG assessment and enhancement. Experimental results demonstrate that post-processed LFSRs achieve a test pass rate increase from 0% to 92%; RDSEED and Quantis exhibit over 30% improved stability under low-entropy conditions; and the framework supports both millisecond-scale rapid detection and hour-scale deep validation.
📝 Abstract
Random number generators (RNGs) are notoriously challenging to build and test, especially for cryptographic applications. While statistical tests cannot definitively guarantee an RNG’s output quality, they are a powerful verification tool and the only universally applicable testing method. In this work, we design, implement, and present various post-processing methods, using randomness extractors, to improve the RNG output quality and compare them through statistical testing. We begin by performing intensive tests on three RNGs—the 32-bit linear feedback shift register (LFSR), Intel’s ‘RDSEED,’ and IDQuantique’s ‘Quantis’—and compare their performance. Next, we apply the different post-processing methods to each RNG and conduct further intensive testing on the processed output. To facilitate this, we introduce a comprehensive statistical testing environment, based on existing test suites, that can be parametrised for lightweight (fast) to intensive testing.