Generating True Random Numbers Based on Multicore CPU Using Race Conditions and Chaotic Maps
Sen Teh, Je
MetadataShow full item record
A true random number generator (TRNG) is proposed, harvesting entropy from multicore CPUs to generate non-deterministic outputs. The entropy source is the unpredictable sequence of thread access when parallel threads attempt to access the same memory location, known as race condition or data races. Although prior work using the same entropy source exists, they either have low efficiency or insufficient security analysis. The novelty of this work lies in its use of chaotic networks capable of extracting entropy while postprocessing outputs simultaneously. These networks are formulated by coupling chaotic maps in the form of chaotic coupled map lattices which have the capability to amplify minor uncertainties, leading to better performance as compared to other CPU-based TRNGs. We first perform experiments to depict the unpredictable nature of thread access due to race conditions through entropy and scale index analysis. Next, the proposed generator is scrutinized based on a standardized set of evaluation criteria which includes the use of multiple statistical test suites followed by an analysis of its non-deterministic property. We also perform an in-depth entropy analysis of the generator’s outputs and measure its degree of non-periodicity. Results indicate that the proposed chaos-based TRNG is fast, evenly distributed, and is secure enough for applications that have high security requirements.