Abstract

Semi-numerical analysis, cryptography, operations research, gaming, gambling and simulation models where is desirable an unpredictable result rely on random numbers. In order to produce long sequences of random numbers, several ideas may be used: physical sources of randomness, arithmetic operations, chaos theory, machine learning which uses physical sources of randomness, functions included in the libraries of the programming languages, hash functions. Regardless the method to produce pseudo-random numbers, the results of the random numbers generators (RNGs) must be tested in order to provide a high degree of randomness. The paper presents several methods to produce pseudo-random numbers and proposes a framework to test the degree of randomness using criteria originating from Monte Carlo methods and from NIST requirements. A software application was developed in C++ for testing files containing pseudo-random numbers. Its flexible structure allows the addition of new modules that implement new testing methods. The files containing sequences of pseudo-random numbers were generated using original applications developed in C++ GNU Multiple Precision, GNU Octave, Java, Python, PHP, JavaScript.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call