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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 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.
The order of Montgomery curves is always a multiple of 4.
- 3.
Counters that add an odd constant different from 1 are often known as Weyl generators.
References
Bernstein, D.J.: ChaCha, a variant of Salsa20. In: Workshop Record of SASC 2008: The State of the Art of Stream Ciphers, January 2008
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)
Bernstein, D.J., Lange, T.: Analysis and optimization of elliptic-curve single-scalar multiplication. IACR Cryptology ePrint Archive 2007, 455 (2007)
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)
Blum, L., Blum, M., Shub, M.: A simple unpredictable pseudo-random number generator. SIAM J. Comput. 15(2), 364–383 (1986)
Chen, Z., Gomez, D., Pirsic, G.: On lattice profile of the elliptic curve linear congruential generators. Period. Math. Hung. 68, 1–12 (2012)
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)
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)
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)
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)
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
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)
L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4), 22 (2007)
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)
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
Marsaglia, G.: Xorshift RNGs. J. Stat. Softw. 8(14), 1–6 (2003)
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)
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)
Montgomery, P.L.: Speeding the Pollard and elliptic curve methods of factorization. Math. Comput. 48, 243–264 (1987)
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)
NVIDIA Corporation: CURAND Library (July 2013), http://docs.nvidia.com/cuda/curand/
Panneton, F., L’ecuyer, P.: On the Xorshift random number generators. ACM Trans. Model. Comput. Simul. 15(4), 346–361 (2005)
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)
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
Shamir, A., Tsaban, B.: Guaranteeing the diversity of number generators. Inf. Comput. 171(2), 350–363 (2002)
Tausworthe, R.C.: Random numbers generated by linear recurrence modulo two. Math. Comput. 19, 201–209 (1965)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)