Accession Number:



A Multi-Threaded Cryptographic Pseudorandom Number Generator Test Suite

Descriptive Note:

Technical Report,01 Mar 2016,23 Sep 2016

Corporate Author:

Naval Postgraduate School Monterey United States

Personal Author(s):

Report Date:


Pagination or Media Count:



There are multiple applications for pseudorandom number generators, notably in simulation and cryptography. A bad pseudorandom number generator can cause misleading results in simulations or loss of security and attacks against implementations of cryptographic systems with low-entropy sequences. Pseudorandom number generator test suites provide insight and metrics for security-critical system components. This thesis added multi-threading to an existing test-suite, known as Dieharder, to significantly speed up pseudorandom number generator testing on multi-core systems. Evaluations were conducted on the original Dieharder, a threaded version of Dieharder using a POSIX-compliant thread pool Dieharder-T, and a threaded version of Dieharder-T using OpenMP with static and dynamic scheduling. The results show that Dieharder-T with OpenMP, two threads and static scheduling completes in about half the time of the single-threaded Dieharder-T. The run-time is not halved again when the number of threads is increased to four, due to inefficient scheduling of tasks to threads. A hybrid scheduling solution is proposed to improve the performance of the multi-threaded pseudorandom number generator test suite.

Subject Categories:

  • Statistics and Probability

Distribution Statement: