Project 118: True Random Number Generator ENT Results

I did some further testing of various RNG's using ENT. I thought that my RNG had performed better than the pseudorandom RNG at first, but it turned out that the data had not been correctly formulated. These four tests are based on a 1MB data file.

The Actual Random Sample is binary data downloaded from www.Random.org, the Pseudorandomnumber generator is the c++ rand() function, and the last two are my RNG, one generating 32 bit ints on the arduino and sending them to a pc, and the other generating bits on the arduino and streaming those to a pc.

It seems that while my RNG had some redeeming characteristics, it was not completely predictable, it did not succeed in matching or surpassing the standard C++ rand function.

 

Actual Random Sample:

Entropy = 7.999863 bits per byte.

Optimum compression would reduce the size
of this 1048576 byte file by 0 percent.

Chi square distribution for 1048576 samples is 199.56, and randomly
would exceed this value 99.57 percent of the times.

Arithmetic mean value of data bytes is 127.6036 (127.5 = random).
Monte Carlo value for Pi is 3.137363958 (error 0.13 percent).
Serial correlation coefficient is -0.001483 (totally uncorrelated = 0.0).



Pseudorandomnumber generator (rand()):

Entropy = 7.986311 bits per byte.

Optimum compression would reduce the size
of this 1077258 byte file by 0 percent.

Chi square distribution for 1077258 samples is 20475.02, and randomly
would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 127.4957 (127.5 = random).
Monte Carlo value for Pi is 3.128253399 (error 0.42 percent).
Serial correlation coefficient is -0.002576 (totally uncorrelated = 0.0).



True Random Number Generator (operating in binary mode):

Entropy = 6.046825 bits per byte.

Optimum compression would reduce the size
of this 1077258 byte file by 24 percent.

Chi square distribution for 1077258 samples is 7830356.76, and randomly
would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 44.7198 (127.5 = random).
Monte Carlo value for Pi is 3.960076416 (error 26.05 percent).
Serial correlation coefficient is 0.161436 (totally uncorrelated = 0.0).



True Random Number Generator (operating in 32-bit int mode):

Entropy = 5.504128 bits per byte.

Optimum compression would reduce the size
of this 11468800 byte file by 31 percent.

Chi square distribution for 11468800 samples is 369585950.79, and randomly
would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 66.9419 (127.5 = random).
Monte Carlo value for Pi is 3.997940847 (error 27.26 percent).
Serial correlation coefficient is 0.023851 (totally uncorrelated = 0.0).



 

You must be a member of this blog to see the comments. Log in now!