ORIGINAL RESEARCH Pseudo-random number generators based on the Collatz conjecture David Xu 1 • Dan E. Tamir 2 Received: 22 November 2018 / Accepted: 8 April 2019 Ó Bharati Vidyapeeth’s Institute of Computer Applications and Management 2019 Abstract In this research, we have studied the applica- bility of the Collatz Conjecture to pseudo-random number generators (PRNG). The research was motivated by the simplicity of the Collatz function, which makes it attractive as a potential PRNG. We have experimented with several candidate PRNGs based on the trajectory property of the Collatz function and the Collatz graph. The NIST Test Suite (SP 800-22) was used to evaluate the statistical ran- domness of the output of our PRNGs. In addition, we uti- lized a method to rank each PRNG by quality of random output. The test results have demonstrated that two of our PRNGs pass the NIST Test Suite, and that there is no significant statistical difference between the outputs of our PRNGs to that of the Mersenne Twister, the built-in PRNG in Python 3.7. To the best of our knowledge, our algorithms are the first to successfully utilize properties of the Collatz function to generate random numbers. Additionally, we have proved that one of our PRNGs generates uniformly distributed output with a period of 2 32 . Finally, we have found that two of our PRNGs perform on par with the Mersenne Twister algorithm. Because our algorithms pass the NIST Test Suite, they are suitable for usage in certain cryptographic applications as well as simulations. Keywords Pseudo-random number generator Collatz conjecture Statistical testing 1 Introduction Randomness is a key component in areas such as statistical testing, simulations, and the generation of encryption keys for cryptographic purposes [4]. Random number generators can be divided into two categories: pseudo-random number generators (PRNGs) and true random number generators (TRNGs). TRNGs rely on physical processes, such as atmospheric noise or radioactive decay, to generate numbers. However, sources for TRNGs are not only hard to find, but also typically too inefficient to generate sufficient quantities of random numbers in a short time. This makes TRNGs less suit- able for applications such as simulations, which require high throughput of random numbers. Additionally, TRNGs do not provide the ability to produce the same sequence of random numbers, which is often required in simulations and encryption applications. PRNGs are algorithms that generate sequences of numbers with similar statistical properties to those from a TRNG. An example of a PRNG is the Mersenne Twister [10]. However, PRNGs are not truly random because they are deterministic and periodic. PRNG algorithms may be evaluated through batteries of statistical tests to check for non-random behavior and suitability for cryptography. In this research, we utilized the National Institute of Science and Technology (NIST) Test Suite (SP 800-22), which was used in the selection of Advanced Encryption Standard (AES), to evaluate the effectiveness of our proposed PRNGs [5, 11]. Passing the NIST Test Suite indicates that the output from the PRNG is statistically similar to output from a true source of ran- domness. The NIST Test Suite contains 15 statistical tests, namely, the Frequency, Block Frequency, Runs, Longest Runs, Binary Matrix Rank, Spectral, Non-Overlapping/ & Dan E. Tamir dan.tamir@txstate.edu David Xu david.duanmu.xu@gmail.com 1 Westwood High School, Austin, TX, USA 2 Texas State University, San Marcos, TX, USA 123 Int. j. inf. tecnol. https://doi.org/10.1007/s41870-019-00307-9