1

I want to produce verifications to a true random number generator (TRNG) numbers generated by specific hardware, but I'm not used to this.

Firstly, I want to test the consistency of the True Random Number Generator (TRNG) via empiric methods (AKA, I want to check if they are really true random numbers (TRNs)); and I don't know if I can check this with formal methods.

Are there some specific lectures on this topic? What about some tips? Are there tools for this empiric method testing?

ROMANIA_engineer
  • 54,432
  • 29
  • 203
  • 199
mekoda
  • 313
  • 2
  • 13
  • Did you mean TRNG instead of PRNG in the second paragraph? – AndrewC Apr 06 '13 at 14:09
  • 1
    Check out [this answer](http://stackoverflow.com/a/778754/1598537). Distinguishing Pseudo Random from Random is very tricky. Build on others' solutions. Look up NIST and diehard to start with. – AndrewC Apr 06 '13 at 14:18
  • 2
    As with the last time you asked this, could you clarify what it means to you to use formal methods to verify a PRNG? You could mean so many things such as "verify it matches a high-level description of the RNG algorithm" or "verify the output passes a randomness test or is inhibited" or so many other things. Also, do you know about the language Cryptol? – Thomas M. DuBuisson Apr 06 '13 at 15:26
  • @AndrewC oh yes! I edited the question properly. – mekoda Apr 11 '13 at 21:23

1 Answers1

3

I'd suggest that you not try to duplicate existing tools, since it would be a lot of work. Marsaglia's Diehard tests should work, or you can use dieharder, which is a GPL reimplementation. From the webpage:

The primary point of dieharder (like diehard before it) is to make it easy to time and test (pseudo)random number generators, both software and hardware, for a variety of purposes in research and cryptography. The tool is built entirely on top of the GSL's random number generator interface and uses a variety of other GSL tools (e.g. sort, erfc, incomplete gamma, distribution generators) in its operation.

Dietrich Epp
  • 205,541
  • 37
  • 345
  • 415