A parallel unpredictable random number generator

Unpredictable random number generators represent a suitable solution when sources of true randomness are not available, too expensive or the nature of the application employing the generator requires a higher throughput and practicality than available TRNGs might provide, but at the same time, the desired level of irreproducibility and unpredictability can not be met by pseudorandom generators. The main goal of the new generator design is to take advantage of the fast randomness generation and different statistical quality of multiple PRNG families and provide an unpredictable combination method, which improves the quality of produced randomness and mitigates certain security problems the individual generators are exposed to if used on their own. Furthermore, the proposed generator leverages the processing power of multi-core and SMP systems by enabling the parallel execution of multiple generators selected by the user's unpredictable mouse movements. The result is a stream of unpredictably combined pseudorandom number sequences which shows high randomness quality - evaluated by the well known NIST statistical test suite, improved by the unpredictability and nondeterminism characteristic to human-computer interaction and doubled by a high generation speed provided by the parallel generation strategy. These characteristics enable the generator to be considered suitable for producing high quality randomness with the promise of cryptographic security.

[1]  Elaine B. Barker,et al.  A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications , 2000 .

[2]  Manuel Blum,et al.  Comparison of Two Pseudo-Random Number Generators , 1982, CRYPTO.

[3]  Igor E. Shparlinski,et al.  Predicting nonlinear pseudorandom number generators , 2004, Math. Comput..

[4]  Pierre L'Ecuyer,et al.  Testing random number generators , 1992, WSC '92.

[5]  Jason Wittenberg,et al.  Clarify: Software for Interpreting and Presenting Statistical Results , 2003 .

[6]  Jürgen Eichenauer-Herrmann,et al.  Inversive congruential pseudorandom numbers avoid the planes , 1991 .

[7]  Pierre L'Ecuyer,et al.  Tables of linear congruential generators of different sizes and good lattice structure , 1999, Math. Comput..

[8]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[9]  Hugo Krawczyk How to Predict Congruential Generators , 1992, J. Algorithms.

[10]  Xilinx Family Efficient Shift Registers, LFSR Counters, and Long Pseudo- Random Sequence Generators , 1996 .

[11]  Michael Mascagni,et al.  SPRNG: A Scalable Library for Pseudorandom Number Generation , 1999, PP.

[12]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[13]  James L. Massey,et al.  Shift-register synthesis and BCH decoding , 1969, IEEE Trans. Inf. Theory.

[14]  Pierre L'Ecuyer,et al.  On the xorshift random number generators , 2005, TOMC.

[15]  Pierre L'Ecuyer,et al.  Distribution properties of multiply-with-c arry random number generators , 1997, Math. Comput..

[16]  Karl Entacher,et al.  A Collection of Selected Pseudorandom Number Generators With Linear Structures , 1997 .

[17]  Peter Alfke,et al.  Efficient Shift Registers, LFSR Counters, and Long Pseudo Random Sequence Generators , 1995 .

[18]  Pierre L'Ecuyer,et al.  Random Number Generators: Selection Criteria and Testing , 1998 .

[19]  Makoto Matsumoto,et al.  Twisted GFSR generators , 1992, TOMC.

[20]  Bruce Schneier,et al.  Cryptanalytic Attacks on Pseudorandom Number Generators , 1998, FSE.