Lamar: A New Pseudorandom Number Generator Evolved by Means of Genetic Programming

  • Carlos Lamenca-Martinez
  • Julio Cesar Hernandez-Castro
  • Juan M. Estevez-Tapiador
  • Arturo Ribagorda
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4193)


Pseudorandom number generation is a key component of many Computer Science algorithms, including mathematical modeling, stochastic processes, Monte Carlo simulations, and most cryptographic primitives and protocols. To date, multiple approaches that use Evolutionary Computation (EC) techniques have been proposed for designing useful Pseudorandom Number Generators (PRNGs) for certain non-cryptographic applications. However, none of the proposals have been secure nor efficient enough to be of interest for the much more demanding crypto world. In this work, we present a general scheme, which uses Genetic Programming (GP), for the automatic design of crypto-quality PRNGs by evolving highly nonlinear and extremely efficient functions. A new PRNG named Lamar and obtained using this scheme is proposed, whose C code and preliminary security analysis are provided.


Genetic Programming Cellular Automaton Block Cipher Stream Cipher Pseudorandom Number Generator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Bao, F.: Cryptanalysis of a partially known cellular automata cryptosystem. IEEE Trans. on Computers 53(11), 1493–1497 (2004)CrossRefGoogle Scholar
  3. 3.
    Cantú-Paz, E.: On random numbers and the performance of genetic algorithms. In: Proc. of GECCO 2002, vol. 2, pp. 311–318. Morgan Kaufmann, San Francisco (2002)Google Scholar
  4. 4.
    Forré, R.: The strict avalanche criterion: Spectral properties of boolean functions and an extended definition. In: Goldwasser, S. (ed.) CRYPTO 1988. LNCS, vol. 403, pp. 450–468. Springer, Heidelberg (1990)Google Scholar
  5. 5.
    Hernandez-Castro, J.C., Isasi, P., Seznec, A.: On the design of state-of-the-art PRNGs by means of genetic programming. In: Proc. of the IEEE CEC 2004, pp. 1510–1516. IEEE Press, Los Alamitos (2004)Google Scholar
  6. 6.
    Hernandez-Castro, J.C., Ribagorda, A., Isasi, P., Sierra, J.M.: Finding near optimal parameters for linear congruential PRNGs by means of evolutionary computation. In: Proc. of GECCO 2001, pp. 1292–1298. Morgan Kaufmann, San Francisco (2001)Google Scholar
  7. 7.
    Hinton, G., et al.: The microarchitecture of the pentium 4 processor. Intel Technology Journal Q1 (2001)Google Scholar
  8. 8.
    Hirose, S., Yoshida, S.: A one-way hash function based on a two-dimensional cellular automaton. In: Proc. of the 20th Symposium on Information Theory and its Applications, Matsuyama, vol. 1, pp. 213–216 (1997)Google Scholar
  9. 9.
    Johnson, B.C.: Radix-b extensions to some common empirical tests for PRNGs. ACM Trans. on Modeling and Comp. Sim. 6(4), 261–273 (1996)MATHCrossRefGoogle Scholar
  10. 10.
    Kanter, I., Kinzel, W., Kanter, E.: Secure exchange of information by synchronization of neural networks. Europhysical Letters 57(141) (2002)Google Scholar
  11. 11.
    Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, 3rd edn., vol. 2. Addison-Wesley, Reading (1998)Google Scholar
  12. 12.
    Koza, J.R.: Evolving a computer program to generate random number using the genetic programming paradigm. In: Proc. of the 4th Int. Conference on Genetic Algorithms, pp. 37–44. Morgan Kaufmann, San Francisco (1991)Google Scholar
  13. 13.
    Marsaglia, G.: Yet another RNG. Posted to sci.stat.math (1994)Google Scholar
  14. 14.
    Marsaglia, G.: The Marsaglia Random Number CDROM Including the DIEHARD Battery of Tests of Randomness (1996),
  15. 15.
    Marsaglia, G., Tsang, W.W.: Some difficult-to-pass tests of randomness. Journal of Statistical Software 7(3) (2002)Google Scholar
  16. 16.
    Matsumoto, M., Kurita, Y.: Twisted GFSR generators. ACM Trans. on Modeling and Comp. Sim. 2(3), 179–194 (1992)MATHCrossRefGoogle Scholar
  17. 17.
    Matsumoto, M., et al.: Mersenne twister: A 623-dimensionally equidistributed uniform PRNG. ACM Trans. on Modeling and Comp. Sim. 8(1), 3–30 (1998)MATHCrossRefGoogle Scholar
  18. 18.
    Meysenburg, M.M., Foster, J.A.: The quality of PRNGs and simple genetic algorithm performance. In: Proc. of the 7th Int. Conference on Genetic Algorithms, pp. 276–281. Morgan Kaufmann, San Francisco (1997)Google Scholar
  19. 19.
    Meysenburg, M.M., Foster, J.A.: Randomness and GA performance, revisited. In: Proc. of GECCO 1999, vol. 1, pp. 425–432. Morgan Kaufmann, San Francisco (1999)Google Scholar
  20. 20.
    Mihaljevic, M., Zheng, Y., Imai, H.: A cellular automaton based fast one-way hash function suitable for hardware implementation. In: Imai, H., Zheng, Y. (eds.) PKC 1998. LNCS, vol. 1431, Springer, Heidelberg (1998)CrossRefGoogle Scholar
  21. 21.
    Mihaljevic, M.J.: An improved key stream generator based on the programmable cellular automata. In: Han, Y., Quing, S. (eds.) ICICS 1997. LNCS, vol. 1334, pp. 181–191. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  22. 22.
    Millan, W., Clark, A., Dawson, E.: An effective genetic algorithm for finding boolean functions. In: Han, Y., Quing, S. (eds.) ICICS 1997. LNCS, vol. 1334, Springer, Heidelberg (1997)CrossRefGoogle Scholar
  23. 23.
    Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes in C, 2nd edn. Cambridge University Press, Cambridge (1992)MATHGoogle Scholar
  24. 24.
    Rivest, R.L., Robshaw, M.J.B., Sidney, R., Yin, Y.L.: The RC6 block cipher, v1.1 (August 20, 1998)Google Scholar
  25. 25.
    Rukhin, A., et al.: A statistical test suite for random and pseudorandom number generators for cryptographic applications. NIST special publication 800-22 (2001),
  26. 26.
    Schneier, B.: Applied Cryptography. John Wiley and Sons, Chichester (1994)Google Scholar
  27. 27.
    Seredynski, M., Bouvry, P.: Block cipher based on reversible cellular automata. Next Generation Computing Journal 23(3), 245–258 (2005)MATHCrossRefGoogle Scholar
  28. 28.
    Sipper, M., Tomassini, M.: Generating parallel random number generators by cellular programming. Int. Journal of Modern Physics C, 181–190 (1996)Google Scholar
  29. 29.
    Tezuka, S., L’Ecuyer, P.: Efficient and portable combined Tausworthe Random Number Generators. ACM Trans. on Modeling and Comp. Sim. 1(2), 99–112 (1991)MATHCrossRefGoogle Scholar
  30. 30.
    Walker, J.: ENT Randomness Tests (1998),
  31. 31.
    Wolfram, S.: Random sequence generation by cellular automata. Advances in Applied Mathematics 7, 123–169 (1986)MATHCrossRefMathSciNetGoogle Scholar
  32. 32.
    Yalcin, M.E., Suykens, J.A.K., Vandewalle, J.: True random bit generation from a double-scroll attractor. IEEE Trans. on Circuits and Systems-I: Regular Papers 51(7), 1395–1404 (2004)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Carlos Lamenca-Martinez
    • 1
  • Julio Cesar Hernandez-Castro
    • 1
  • Juan M. Estevez-Tapiador
    • 1
  • Arturo Ribagorda
    • 1
  1. 1.Computer Science DepartmentCarlos III University of Madrid 

Personalised recommendations