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

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.

Replies are listed 'Best First'.
Re^5: New software TRNG
by hdb (Monsignor) on Jan 31, 2014 at 07:57 UTC

    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.

Re^5: New software TRNG
by AnomalousMonk (Archbishop) on Jan 30, 2014 at 00:21 UTC
      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.