Dated RNG Evaluation


11DEC2007

07DEC2007

18NOV2007

A Generic Random Number Generator Test Suite - RNGTS - http://arxiv.org/PS_cache/math/pdf/0410/0410385v1.pdf

Boost Random Number Library - http://www.koders.com/noncode/fid41C39BFBAD7DF469EC5600089B8D9FA6BAF4D69A.aspx

A Comparison of Random Number Generators Used in Business - Proceedings of the Annual Meeting of the American Statistical Association, August 5-9, 2001 - http://www.amstat.org/sections%5CSRMS%5CProceedings%5Cy2001%5CProceed%5C00109.pdf

Random Number Generators: An Evaluation and Comparison of Random.org and Some Commonly Used Generators April 2005 - http://www.random.org/analysis/Analysis2005.pdf

24OCT2007

DDJ June 01, 1996 - Testing Random Number Generators http://www.ddj.com/cpp/184403185 source source source
Random Number Generation - good description of many generators & testing - http://www.shadlen.org/ichbin/random/
Tuning the Collision Test for Stringency - http://www.cs.hku.hk/research/techreps/document/TR-2000-05.pdf
Working Collision Test - http://i.cs.hku.hk/~tsang/collision.c
Random Number Generators: An Evaluation and Comparison of Random.org and Some Commonly Used Generators - http://www.random.org/analysis/Analysis2005.pdf
A Random Number Generator Test Suite for the C++ Standard - http://www.comp-phys.org/software/rngts/doc/main.pdf
    RandomNumberGeneratorTestSuite(RNGTS) File List - http://www.comp-phys.org/rngts/doc/interface-source/files.html local

10OCT2007

NIST - 07OCT2007  12OCT2007 14OCT2007

Diehard v0.2 - 07OCT2007 10OCT2007 14OCT2007

Diehardc - 10OCT2007 14OCT2007

Knuth - 

piHex Results - 10000

Microsoft Crypto - 11OCT2007

Dialog Box Project 2005 - 24OCT2007

Sockets Project 2005 - 24OCT2007

Simple DLL - http://pheatt.emporia.edu/courses/2007/cs260f07/hand55/hand55.htm 

Creating a dll for a Class - http://pheatt.emporia.edu/courses/2007/cs260f07/hand54/hand54.htm

Creating A Windows System Service - http://pheatt.emporia.edu/courses/2007/cs260f07/hand45/hand45.htm

29SEP2007

Revised NIST Classes 23SEP2007 28SEP2007 29SEP2007 07OCT2007 - Interface with defaults, all tests working.  Diehard v0.2 07OCT2007

13SEP2007

Smith NIST with Classes  Hex PI Generation Hex digits beginning at position  357,134 Hex Digits Sample digits for hexa decimal digits of pi 65536 hexadecimal digits

references: testing PRNGs PDH Random Numbers  TestU01 Empirical Testing of Random Number Generators 

12SEP2007

12SEP2007 NIST v1.8 command line version with all tests working.  NIST Classes

08SEP2007 NIST v1.8 command line version with Serial working.  NIST Files

06SEP2007

Statistical Testing of Random Number Generators

The HAVEGE unpredictable random number generator (HArdware Volatile Entropy Gathering and Expansion)

Corrections of the NIST Statistical Test Suite for Randomness local

03SEP2007

join together several binary files

NIST DOC: A STATIISTIICAL TEST SUIITE FOR RANDOM AND PSEUDORANDOM NUMBER GENERATORS FOR CRYPTOGRAPHIIC APPLIICATIIONS

30AUG2007

    Preliminary Diehard comparison is here. A B C D E F

    Diehard v0.2 Sample Size Requirements   Diehard C Sample Size Requirements NIST Sample Size requirements

23AUG2007

The thought is at this time to get both the Diehard and the NIST code into shape so it ultimately can be run in the DCEZ environment. This may require among other things:

For Diehard, need to compare the the output from:

Based on the comparison, we can pick the most compatible with ?. What is truth?

For NIST:

A question: We can generate ransom bits with the TRNG, but what is the best way to convert these to uniform random values U(0,1)?

19AUG2007

Autoregressive to Anything (ARTA) processes are stationary time series with arbitrary marginal distributions and feasible autocorrelation structure specified through lag p.

http://users.iems.northwestern.edu/~nelsonb/ARTA/  local   zipped compiled FORTRAN programs

Random Number Machines: A Literature Survey - http://www.ciphersbyritter.com/RES/RNGMACH.HTM

SAS Autocorrelation

http://support.sas.com/rnd/app/examples/ets/gplot/index.htm
http://ftp.sas.com/techsup/download/sample/samp_lib/etssampAutoreg_Getting_Started_Examples.html

18AUG2007:

Preliminary look at George Marsaglia's Diehard:

The Marsaglia Random Number CDROM including the Diehard Battery of Tests of Randomness - http://i.cs.hku.hk/~diehard/cdrom/

The C code was gathered up and compiled and compared to the Windows executable version. This raised some issues, specifically concerning the missing erf function and it's definition. A fair amount of work leads one to believe that there are many things that were left unsaid about the original conversion from Fortran to C. Substituting the erf function from NRC led to almost universally bad results. Probably easier to rewrite this, or search the Internet and find somebody else who did.

Next the C code at:

Diehard Battery v0.2 beta - http://i.cs.hku.hk/~diehard/ local

Local:

Windows Executable (106Kb)  
ReadMe (9Kb) VS 6 Project
Source code (51Kb)  

was found. This appears to be a working version of the C code (it compiled on one pass) and appears to match the C implementation (not necessarily the Fortran version). It compares favorably to the Windows version at http://i.cs.hku.hk/~diehard/cdrom/ (with some minor differences). It also summarizes all the p-values at the end, which is the cheap and dirty way of doing the comparison. Need to compare C compilation with their supplied Windows .exe.

There is also a port of Diehard known as DiehardC, http://www.geocities.com/arhuaco/software-by-others/scott-nelson/index.html. (local diehardc.c and parse_diehardc.pl, a Diehard output parser.). This compares favorably with Diehard (with some minor differences, specifically the order of the tests.) Compiled with out any issues.

DiehardC VS6 Project

Another thought is the Dieharder (Robert G. Brown's General Tools Page) approach - http://www.phy.duke.edu/~rgb/General/dieharder.php. This is a Linux implementation of Diehard with some other tests added. It requires the GNU Scientific Library. A Windows port of the GNU Library is here. Getting this sucker to work in a Windows environment would on the surface to be time intensive.

 For another day:


Hash Functions for Hash Table Lookup - http://www.burtleburtle.net/bob/hash/evahash.html