research

Some Difficult-to-pass Tests of Randomness

Abstract

We describe three tests of randomness-- tests that many random number generators fail. In particular, all congruential generators-- even those based on a prime modulus-- fail at least one of the tests, as do many simple generators, such as shift register and lagged Fibonacci. On the other hand, generators that pass the three tests seem to pass all the tests in the Diehard Battery of Tests. Note that these tests concern the randomness of a generator's output as a sequence of independent, uniform 32-bit integers. For uses where the output is converted to uniform variates in [0,1), potential flaws of the output as integers will seldom cause problems after the conversion. Most generators seem to be adequate for producing a set of uniform reals in [0,1), but several important applications, notably in cryptography and number theory-- for example, establishing probable primes, complexity of factoring algorithms, random partitions of large integers-- may require satisfactory performance on the kinds of tests we describe here.

    Similar works