Using dieharder to certify randomness of a random sequence

163 Views Asked by At

I would like to prove (at a certain level) the randomness of a random sequence of N bits. I know that the dieharder battery of tests is supposed to be used to test the generator, not a particular sequence generated by the generator. From the manual:

...dieharder is a tool that tests random number generators, not files of random numbers! It is extremely inappropriate to try to "certify" a file of random numbers as being random just because it fails to "fail" any of the dieharder tests...

What if I treat every single sequence as generated by an independent RNG, although they are the same RNG (TRNG in this case), then reject all the sequences that fail one of the tests.

I know that with this method I will be rejecting good random sequences, but then I would be able to say that the remaining (ie not rejected) sequences has passed the dieharder battery (the sequence has been generated by a perfect random number generator).

1

There are 1 best solutions below

3
On BEST ANSWER

Your question is answered in the passage in the manual immediately following the one you quoted:

To put it bluntly, if one rejects all such files that fail any test at the $0.05$ level (or any other), the one thing one can be certain of is that the files in question are not random, as a truly random sequence would fail any given test at the $0.05$ level $5\%$ of the time!