Evolving Cryptographic Pseudorandom Number Generators

  • Stjepan Picek
  • Dominik Sisejkovic
  • Vladimir Rozic
  • Bohan Yang
  • Domagoj Jakobovic
  • Nele Mentens
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9921)


Random number generators (RNGs) play an important role in many real-world applications. Besides true hardware RNGs, one important class are deterministic random number generators. Such generators do not possess the unpredictability of true RNGs, but still have a widespread usage. For a deterministic RNG to be used in cryptography, it needs to fulfill a number of conditions related to the speed, the security, and the ease of implementation. In this paper, we investigate how to evolve deterministic RNGs with Cartesian Genetic Programming. Our results show that such evolved generators easily pass all randomness tests and are extremely fast/small in hardware.


Random number generators Pseudorandomness Cryptography Cartesian Genetic Programming Statistical tests 


  1. 1.
    Katz, J., Lindell, Y.: Introduction to Modern Cryptography, 2nd edn. Chapman and Hall/CRC, Boca Raton (2014)zbMATHGoogle Scholar
  2. 2.
    Blum, L., Blum, M., Shub, M.: A simple unpredictable pseudo random number generator. SIAM J. Comput. 15(2), 364–383 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Danger, J.L., Guilley, S., Barthe, L., Benoit, P.: Countermeasures against physical attacks in FPGAs. In: Badrignans, B., Danger, L.J., Fischer, V., Gogniat, G., Torres, L. (eds.) Security Trends for FPGAS: From Secured to Secure Reconfigurable Systems, pp. 73–100. Springer, Dordrecht (2011)CrossRefGoogle Scholar
  4. 4.
    Lamenca-Martinez, C., Hernandez-Castro, J.C., Estevez-Tapiador, J.M., Ribagorda, A.: Lamar: a new pseudorandom number generator evolved by means of genetic programming. In: Runarsson, T.P., Beyer, H.-G., Burke, E.K., Merelo-Guervós, J.J., Whitley, L.D., Yao, X. (eds.) PPSN 2006. LNCS, vol. 4193, pp. 850–859. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Peris-Lopez, P., Hernandez-Castro, J.C., Estevez-Tapiador, J.M., Ribagorda, A.: LAMED - a PRNG for EPC class-1 generation-2 RFID specification. Comput. Stand. Interfaces 31(1), 88–97 (2009)CrossRefGoogle Scholar
  6. 6.
    Killmann, W., Schindler, W.: A proposal for: functionality classes for random number generators. Bundesamt für Sicherheit in der Informationstechnik (BSI), Germany (2011)Google Scholar
  7. 7.
    Bassham, III, Lawrence, E., Rukhin, A.L., Soto, J., Nechvatal, J.R., Smid, M.E., Barker, E.B., Leigh, S.D., Levenson, M., Vangel, M., Banks, D.L., Heckert, N.A., Dray, J.F., Vo, S.: A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, SP 800-22 Rev. 1a. National Institute of Standards & Technology, Gaithersburg, MD, USA (2010)Google Scholar
  8. 8.
    Marsaglia, G.: The Marsaglia Random Number CDROM including the Diehard Battery of Tests of Randomness (1995).
  9. 9.
    Koza, J.R.: Evolving a computer program to generate random numbers using the genetic programming paradigm. In: Proceedings of the Fourth International Conference on Genetic Algorithms, pp. 37–44. Morgan Kaufmann (1991)Google Scholar
  10. 10.
    Hernandez, J., Seznec, A., Isasi, P.: On the design of state-of-the-art pseudorandom number generators by means of genetic programming. In: Congress on Evolutionary Computation, CEC2004, vol. 2, pp. 1510–1516, June 2004Google Scholar
  11. 11.
    Warren, H.S.: Hacker’s Delight. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  12. 12.
    Miller, J.F., Thomson, P.: Cartesian genetic programming. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 121–132. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Tian, X., Benkrid, K.: Mersenne twister random number generation on FPGA, CPU and GPU. In: NASA/ESA Conference on Adaptive Hardware and Systems, AHS 2009, pp. 460–464, July 2009Google Scholar
  14. 14.
    Picek, S., Jakobovic, D., Miller, J.F., Batina, L., Cupic, M.: Cryptographic boolean functions: one output, many design criteria. Appl. Soft Comput. 40, 635–653 (2016)CrossRefGoogle Scholar
  15. 15.
    Sekanina, L.: Virtual reconfigurable circuits for real-world applications of evolvable hardware. In: Tyrrell, A.M., Haddow, P.C., Torresen, J. (eds.) ICES 2003. LNCS, vol. 2606, pp. 186–197. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Stjepan Picek
    • 1
  • Dominik Sisejkovic
    • 2
  • Vladimir Rozic
    • 1
  • Bohan Yang
    • 1
  • Domagoj Jakobovic
    • 2
  • Nele Mentens
    • 1
  1. 1.KU Leuven, ESAT/COSIC and iMindsLeuven-HeverleeBelgium
  2. 2.Faculty of Electrical Engineering and ComputingUniversity of ZagrebZagrebCroatia

Personalised recommendations