Skip to main content

Engineering Nonlinear Pseudorandom Number Generators

  • Conference paper
  • First Online:
  • 1555 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8384))

Abstract

In the era of multi and many-core processors, computer simulations increasingly require parallel, small and fast pseudorandom number generation. Although linear generators lend themselves to a simpler evaluation that ensures favorable properties like guaranteed period, they may adversely affect the result of simulations or be quite large. Conversely, nonlinear generators may provide apparently random sequences, but are either very slow or difficult to analyze regarding their period.

This is the case of our previous functions, Tyche and Tyche-i. Despite being among the fastest in their class and having average periods of \(2^{127}\), they may contain smaller cycles of arbitrary size. To overcome this limitation, in this paper we explore different forms of counters impacting either the state or the speed of the generator. We also introduce two number-theoretic generators that use \(2 \times 127\) bits for periods of \(2^{116}\) and \(2^{125}\) and low to moderate computational costs. We experimentally demonstrate the efficiency of our new generators and observe that they exchange speed for period guarantees in a tradeoff that seems widespread in state-of-the-art random number generators.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    Most known efficient formulas for various curves and point representations are found in the Explicit-Formulas Database: http://hyperelliptic.org/EFD/index.html

  2. 2.

    The order of Montgomery curves is always a multiple of 4.

  3. 3.

    Counters that add an odd constant different from 1 are often known as Weyl generators.

References

  1. Bernstein, D.J.: ChaCha, a variant of Salsa20. In: Workshop Record of SASC 2008: The State of the Art of Stream Ciphers, January 2008

    Google Scholar 

  2. Bernstein, D.J., Birkner, P., Joye, M., Lange, T., Peters, Ch.: Twisted edwards curves. In: Vaudenay, S. (ed.) AFRICACRYPT 2008. LNCS, vol. 5023, pp. 389–405. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Bernstein, D.J., Lange, T.: Analysis and optimization of elliptic-curve single-scalar multiplication. IACR Cryptology ePrint Archive 2007, 455 (2007)

    Google Scholar 

  4. Bernstein, D.J., Lange, T.: Faster addition and doubling on elliptic curves. In: Kurosawa, K. (ed.) ASIACRYPT 2007. LNCS, vol. 4833, pp. 29–50. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  5. Blum, L., Blum, M., Shub, M.: A simple unpredictable pseudo-random number generator. SIAM J. Comput. 15(2), 364–383 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  6. Chen, Z., Gomez, D., Pirsic, G.: On lattice profile of the elliptic curve linear congruential generators. Period. Math. Hung. 68, 1–12 (2012)

    Article  Google Scholar 

  7. Chudnovsky, D.V., Chudnovsky, G.V.: Sequences of numbers generated by addition in formal groups and new primality and factorization tests. Adv. Appl. Math. 7(4), 385–434 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  8. Dworkin, M.: Recommendation for block cipher modes of operation: methods and techniques. Special Publication 800–38A, National Institute of Standards and Technology, Gaithersburg, MD 20899–8930 (2001)

    Google Scholar 

  9. Ferrenberg, A.M., Landau, D.P., Wong, Y.J.: Monte Carlo simulations: hidden errors from “good” random number generators. Phys. Rev. Lett. 69, 3382–3384 (1992)

    Article  Google Scholar 

  10. Lenstra, H.W. Jr.: Elliptic curves and number-theoretic algorithms. In: Gleason, A.M. (ed.) Proceedings of the International Congress of Mathematicians, vol. 1, pp. 99–120. American Mathematical Society, Providence (1987)

    Google Scholar 

  11. Hess, F., Shparlinski, I.E.: On the linear complexity and multidimensional distribution of congruential generators over elliptic curves. Des. Codes Crypt. 35(1), 111–117 (2005). http://dx.doi.org/10.1007/s10623-003-6153-0

    Article  MATH  MathSciNet  Google Scholar 

  12. Klimov, A., Shamir, A.: Cryptographic applications of T-Functions. In: Matsui, M., Zuccherato, R.J. (eds.) SAC 2003. LNCS, vol. 3006, pp. 248–261. Springer, Heidelberg (2004)

    Google Scholar 

  13. L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4), 22 (2007)

    Article  MathSciNet  Google Scholar 

  14. Lehmer, D.: Mathematical methods in large-scale computing units. In: Proceedings of the 2nd Symposium on Large-Scale Digital Calculating Machinery, pp. 141–146. Harvard University Press, Cambridge, Massachusetts (1949)

    Google Scholar 

  15. Marsaglia, G.: Random numbers fall mainly in the planes. PNAS 61(1), 25–28 (1968). http://dx.doi.org/10.1073/pnas.61.1.25

    Article  MATH  MathSciNet  Google Scholar 

  16. Marsaglia, G.: Xorshift RNGs. J. Stat. Softw. 8(14), 1–6 (2003)

    Google Scholar 

  17. Matsumoto, M., Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8(1), 3–30 (1998)

    Article  MATH  Google Scholar 

  18. Miller, V.S.: Use of elliptic curves in cryptography. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 417–426. Springer, Heidelberg (1986)

    Google Scholar 

  19. Montgomery, P.L.: Speeding the Pollard and elliptic curve methods of factorization. Math. Comput. 48, 243–264 (1987)

    Article  MATH  Google Scholar 

  20. Neves, S., Araujo, F.: Fast and small nonlinear pseudorandom number generators for computer simulation. In: Dongarra, J., Karczewski, K., Waśniewski, J., Wyrzykowski, R. (eds.) PPAM 2011, Part I. LNCS, vol. 7203, pp. 92–101. Springer, Heidelberg (2012)

    Google Scholar 

  21. NVIDIA Corporation: CURAND Library (July 2013), http://docs.nvidia.com/cuda/curand/

  22. Panneton, F., L’ecuyer, P.: On the Xorshift random number generators. ACM Trans. Model. Comput. Simul. 15(4), 346–361 (2005)

    Article  Google Scholar 

  23. Saito, M., Matsumoto, M.: SIMD-oriented fast Mersenne Twister: a 128-bit pseudorandom number generator. In: Keller, A., Heinrich, S., Niederreiter, H. (eds.) Monte Carlo and Quasi-Monte Carlo Methods 2006, pp. 607–622. Springer, Berlin (2008)

    Chapter  Google Scholar 

  24. Salmon, J.K., Moraes, M.A., Dror, R.O., Shaw, D.E.: Parallel random numbers: as easy as 1, 2, 3. In: Lathrop, S., Costa, J., Kramer, W. (eds.) SC, p. 16. ACM (2011). http://doi.acm.org/10.1145/2063384.2063405

  25. Shamir, A., Tsaban, B.: Guaranteeing the diversity of number generators. Inf. Comput. 171(2), 350–363 (2002)

    Article  MathSciNet  Google Scholar 

  26. Tausworthe, R.C.: Random numbers generated by linear recurrence modulo two. Math. Comput. 19, 201–209 (1965)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Acknowledgments

This work has been supported by the project CMU-PT/RNQ/0015/2009, TRONE — Trustworthy and Resilient Operations in a Network Environment.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Samuel Neves .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Neves, S., Araujo, F. (2014). Engineering Nonlinear Pseudorandom Number Generators. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2013. Lecture Notes in Computer Science(), vol 8384. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-55224-3_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-55224-3_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-55223-6

  • Online ISBN: 978-3-642-55224-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics