Paper 2024/492

Statistical testing of random number generators and their improvement using randomness extraction

Cameron Foreman, University College London, Quantinuum
Richie Yeung, University of Oxford, Quantinuum
Florian J. Curchod
Abstract

Random number generators (RNGs) are notoriously hard to build and test, especially in a cryptographic setting. Although one cannot conclusively determine the quality of an RNG by testing the statistical properties of its output alone, running numerical tests is both a powerful verification tool and the only universally applicable method. In this work, we present and make available a comprehensive statistical testing environment (STE) that is based on existing statistical test suites. The STE can be parameterised to run lightweight (i.e. fast) all the way to intensive testing, which goes far beyond what is required by certification bodies. With it, we benchmark the statistical properties of several RNGs, comparing them against each other. We then present and implement a variety of post-processing methods, in the form of randomness extractors, which improve the RNG's output quality under different sets of assumptions and analyse their impact through numerical testing with the STE.

Note: 20+10 pages, 8 figures and 28 tables. Comments are welcome!

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Preprint.
Keywords
statistical testingrandomness extractorsrandom number generatorinformation-theoretic security
Contact author(s)
cameron foreman @ quantinuum com
richie yeung @ quantinuum com
florian curchod @ quantinuum com
History
2024-03-27: approved
2024-03-27: received
See all versions
Short URL
https://ia.cr/2024/492
License
Creative Commons Attribution-NonCommercial
CC BY-NC

BibTeX

@misc{cryptoeprint:2024/492,
      author = {Cameron Foreman and Richie Yeung and Florian J. Curchod},
      title = {Statistical testing of random number generators and their improvement using randomness extraction},
      howpublished = {Cryptology ePrint Archive, Paper 2024/492},
      year = {2024},
      note = {\url{https://eprint.iacr.org/2024/492}},
      url = {https://eprint.iacr.org/2024/492}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.