A Multi-Threaded Cryptographic Pseudorandom Number Generator Test Suite
Abstract
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.
Document Details
- Document Type
- Technical Report
- Publication Date
- Sep 01, 2016
- Accession Number
- AD1030162
Entities
People
- Zhibin Zhang
Organizations
- Naval Postgraduate School