in reply to Re^2: New software TRNG
in thread New software TRNG

I wanted to give it a try but as I run all my scripts under strict and warnings it did not compile.

Replies are listed 'Best First'.
Re^4: New software TRNG
by tim.qfs (Novice) on Jan 29, 2014 at 22:08 UTC
    I have just seen your reply. To be honest, there are some large gaps in my knowledge of Perl and I did not know the importance of strict and warnings. I am now working on my script to address this and I will repost it when I have done so. I hope that you will give it ago again once I have done this.

    Thank you very much.

      As a simple test one could look at the distribution of the random numbers. A good quality generator should distribute the numbers uniformly (and pseudo generators usually do this by construction). I have been counting for 10 buckets and 500,000 trials. ($freq{ int TRNGrand $r }++ for 1..$n; with $r=10; and $n=500000;). One would expect 10% of the numbers in each bucket (ie 50,000). The maximum relative error is around 10.5% in this exercise, ie +/-5000. Using rand, the maximum relative error is around 0.5%.

      This would most likely lead to a failure of the usual statistical test like Diehard_tests but then you might want to see whether this deviation is a welcome additional source of randomness or leads to a predictable bias that could be exploited when you use your numbers for encryption (as one example).

      In any case, generating those 500,000 numbers took nearly 8 hours (rand took less than a second), so I will refrain from more comprehensive testing of your code.

        I have actually edited the original post. I wasn't going to start a new thread for the purpose. I have declared all my variables using "my" so it is now ready for you to try it out.

        Thank you very much.