Abstract
In this research, we have studied the applicability 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 randomness of the output of our PRNGs. In addition, we utilized 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 232. 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.
Similar content being viewed by others
References
Bauchot F (2012) Efficient and low power encrypting and decrypting of data. US Patent 8,130,956 B2
Ciet M, Farrugia A, Icart T (2013) System and method for a Collatz based hash function. US Patent Application Publication 2013/0108038 A1
Givens R (2006) On Conway’s generalization of the 3x + 1 problem. Honors Theses. Paper 484. Retrieved from https://scholarship.richmond.edu/cgi/viewcontent.cgi?article=1496&context=honors-theses. Accessed 22 Apr 2019
Haahr M (2017) Introduction to randomness and random numbers. https://www.random.org/randomness/. Accessed 22 Apr 2019
Kim S, Umeno K, Hasegawa A (2004) Corrections of the NIST statistical test suite for randomness, chaos-based cipher chip project. https://eprint.iacr.org/2004/018.pdf. Accessed 22 Apr 2019
Kontorovich A, Lagarias J (2010) Stochastic models for the 3x + 1 and 5x + 1 problems and related problems. The ultimate challenge: the 3x + 1 problem, Amer Math Soc pp 131–188
Lagarias J (1985) The 3x + 1 Problem and its Generalizations. Am Math Monthly 92(1):3–23
Lang W (2014) On Collatz words, sequences, and trees. J Int Sequences 17:1–14
Martin P (2002) An analysis of random number generators for a hardware implementation of genetic programming using FPGAs and handel-C. In: GECCO proceedings of the 4th annual conference on genetic and evolutionary computation, Morgan Kaufmann Publishers, San Francisco, pp 837–844
Matsumoto M, Nishimura T (1998) Mersenne Twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans Model Comput Simul 8(1):3–30
Rukhin A et al (2018) A statistical test suite for random and pseudo-random number generators for cryptographic applications. Special Publication 800-22, Revision 1a. Retrieved from https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-22r1a.pdf. Accessed 22 Apr 2019
Soto J (1999) Statistical testing of random numbers. National Institute of Standards and Technology, Gaithersburg
Terras R (1976) A stopping time problem on the positive integers. Acta Arithm 30(3):241–252
Tzanis E (2003) Collatz conjecture: properties and algorithms. Retrieved from https://www.delab.csd.auth.gr/bci1/Panhellenic/700tzanis.pdf. Accessed 22 Apr 2019
Acknowledgements
We thank Ashley Chen and Michael Liu for contributing to drafts of this paper, as well as developing Algorithms 3, 4, 5, 6, and 7.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Xu, D., Tamir, D.E. Pseudo-random number generators based on the Collatz conjecture. Int. j. inf. tecnol. 11, 453–459 (2019). https://doi.org/10.1007/s41870-019-00307-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41870-019-00307-9