skip to main content
research-article

MaD0: An Ultrafast Nonlinear Pseudorandom Number Generator

Published: 06 January 2016 Publication History

Abstract

In this article, we present MaD0, an ultrafast nonlinear pseudorandom number generator (PRNG) for noncryptographic applications. MaD0 uses byte-oriented operations for state initialization and fast integer-oriented operations for state transition and pseudorandom number generation. Its state transition follows a pseudorandom mapping. MaD0 generates high-quality pseudorandom numbers and reaches a generation speed of half cycle per byte on an Intel Core i3 processor. It has a state space of 2,240 bits and an expected period length around 21120. It also shows other good properties, such as fast recovery from biased states and ease of use.

References

[1]
Richard W. Hamming. 1950. Error detecting and error correcting codes. Bell System Technical Journal 29, 2, 147--160.
[2]
Donald E. Knuth. 1998. The Art of Computer Programming, Vol. 2: Seminumerical Algorithms (3rd ed.). Addison Wesley Longman, New York, NY.
[3]
Valentin Fedorovich Kolchin. 1986. Random Mappings. Springer.
[4]
Pierre L’Ecuyer and Richard Simard. 2007. TestU01: A C library for empirical testing of random number generators. ACM Transactions on Mathematical Software 33, 4, 22.
[5]
Pierre L’Ecuyer, Richard Simard, E. Jack Chen, and W. David Kelton. 2002. An object-oriented random-number package with many long streams and substreams. Operations Research 50, 6, 1073--1075.
[6]
Felix V. Leitner. 2009. Source Code Optimization. Retrieved December 22, 2015, from http://www.linux-kongress.org/2009/slides/compiler_survey_felix_von_leitner.pdf.
[7]
Jie Li. 2013. Ultrafast Pseudorandom Number Generation Using Pseudorandom Permutations and Mappings. P.h.D. Dissertation. Publication No. 3601931. City University of New York, ProQuest/UMI.
[8]
Chris Lomont. 2008. Random number generation. In Games Programming Gems 7, Course Technology. Retrieved December 22, 2015, from http://www.lomont.org/Math/Papers/2008/Lomont_PRNG_2008.pdf.
[9]
George Marsaglia. 1995. The Marsaglia Random Number CDROM Including the Diehard Battery of Tests of Randomness. New version available at http://www.csis.hku.hk/diehard/.
[10]
George Marsaglia. 2003. Xorshift RNGs. Journal of Statistical Software 8, 14, 1--6.
[11]
George Marsaglia and Wai Wan Tsang. 2002. Some difficult-to-pass tests of randomness. Journal of Statistical Software 7, 3, 1--9.
[12]
Makoto Matsumoto and Takuji Nishimura. 1998. Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Transactions on Modeling and Computer Simulation 8, 1, 3--30.
[13]
Bruce D. McCullough. 1998. Assessing the reliability of statistical software: Part I. American Statistician 52, 4, 358--366.
[14]
National Institute of Standards and Technology. 2008. Secure Hash Standard (SHS). National Institute of Standards and Technology. Federal Information Processing Standards Publication 180-3.
[15]
François Panneton, Pierre L’Ecuyer, and Makoto Matsumoto. 2006. Improved long-period generators based on linear recurrences modulo 2. ACM Transactions on Mathematical Software 32, 1, 1--16.
[16]
Andrew Rukhin, Juan Soto, James Nechvatal, Miles Smid, Elaine Barker, Stefan Leigh, Mark Levenson, Mark Vangel, David Banks, Alan Heckert, James Dray, and San Vo. 2001. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. NIST Special Publication 800-22. National Institute of Standards and Technology, Gaithersburg, MD.
[17]
Mutsuo Saito and Makoto Matsumoto. 2008. SIMD-oriented fast Mersenne Twister: A 128-bit pseudorandom number generator. In Monte Carlo and Quasi-Monte Carlo Methods 2006. Springer, 607--622.
[18]
Brouce Schneier. 1996. Applied Cryptography. Protocols, Algorithms, and Source Code in C. John Wiley & Sons.
[19]
Paul C. Van Oorschot and Michael J. Wiener. 1999. Parallel collision search with cryptanalytic applications. Journal of Cryptology 12, 1, 1--28.
[20]
A. F. Webster and S. E. Tavares. 1986. On the design of S-boxes. In Advances in Cryptology—CRYPTO ’85 Proceedings. Lecture Notes in Computer Science, Vol. 218. Springer, 523--534.
[21]
Jianliang Zheng and Jie Li. 2013. MARC: Modified ARC4. In Foundations and Practice of Security. Lecture Notes in Computer Science, Vol. 7743. Springer, 33--44.

Index Terms

  1. MaD0: An Ultrafast Nonlinear Pseudorandom Number Generator

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Modeling and Computer Simulation
      ACM Transactions on Modeling and Computer Simulation  Volume 26, Issue 2
      January 2016
      152 pages
      ISSN:1049-3301
      EISSN:1558-1195
      DOI:10.1145/2875131
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 06 January 2016
      Accepted: 01 September 2015
      Revised: 01 August 2015
      Received: 01 January 2015
      Published in TOMACS Volume 26, Issue 2

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Random number generation
      2. nonlinear random number generator
      3. random mapping

      Qualifiers

      • Research-article
      • Research
      • Refereed

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • 0
        Total Citations
      • 216
        Total Downloads
      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 24 Jan 2025

      Other Metrics

      Citations

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media