Evolutionary Methods for the Construction of Cryptographic Boolean Functions

  • Stjepan Picek
  • Domagoj JakobovicEmail author
  • Julian F. Miller
  • Elena Marchiori
  • Lejla Batina
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9025)


Boolean functions represent an important primitive when constructing many stream ciphers. Since they are often the only nonlinear element of such ciphers, without them the algorithm would be trivial to break. Therefore, it is not surprising there exist a substantial body of work on the methods of constructing Boolean functions. Among those methods, evolutionary computation (EC) techniques play a significant role. Previous works show it is possible to use EC methods to generate high-quality Boolean functions that even surpass those built by algebraic constructions. However, up to now, there was no work investigating the use of Cartesian Genetic Programming (CGP) for producing Boolean functions suitable for cryptography. In this paper we compare Genetic Programming (GP) and CGP algorithms in order to reach the conclusion which algorithm is better suited to evolve Boolean functions suitable for cryptographic usage. Our experiments show that CGP performs much better than the GP when the goal is obtaining as high as possible nonlinearity. Our results indicate that CGP should be further tested with different fitness objectives in order to check the boundaries of its performance.


Boolean functions Genetic programming Cartesian Genetic Programming Cryptographic properties Comparison 



This work was supported in part by the Technology Foundation STW (project 12624 - SIDES), The Netherlands Organization for Scientific Research NWO (project ProFIL 628.001.007) and the ICT COST action IC1204 TRUDEVICE.


  1. 1.
    Braeken, A.: Cryptographic Properties of Boolean Functions and S-Boxes. Ph.D. thesis, Katholieke Universiteit Leuven (2006)Google Scholar
  2. 2.
    Burnett, L.D.: Heuristic optimization of boolean functions and substitution boxes for cryptography. Ph.D. thesis, Queensland University of Technology (2005)Google Scholar
  3. 3.
    Cid, C., Kiyomoto, S., Kurihara, J.: The rakaposhi stream cipher. In: Qing, S., Mitchell, C.J., Wang, G. (eds.) ICICS 2009. LNCS, vol. 5927, pp. 32–46. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  4. 4.
    Clark, J.A., Jacob, J.L., Stepney, S., Maitra, S., Millan, W.L.: Evolving boolean functions satisfying multiple criteria. In: Menezes, A., Sarkar, P. (eds.) INDOCRYPT 2002. LNCS, vol. 2551, pp. 246–259. Springer, Heidelberg (2002) CrossRefGoogle Scholar
  5. 5.
    Crama, Y., Hammer, P.L.: Boolean Models and Methods in Mathematics, Computer Science, and Engineering, 1st edn. Cambridge University Press, New York (2010) CrossRefzbMATHGoogle Scholar
  6. 6.
    Goossens, K.: Automated creation and selection of cryptographic primitives. Master’s thesis, Katholieke Universiteit Leuven (2005)Google Scholar
  7. 7.
    Kalganova, T., Miller, J.F.: Evolving more efficient digital circuits by allowing circuit layout evolution and multi-objective fitness. In: Proceedings NASA/DoD Workshop on Evolvable Hardware, pp. 54–63. IEEE Computer Society (1999)Google Scholar
  8. 8.
    Katz, J., Lindell, Y.: Introduction to Modern Cryptography. Chapman and Hall/CRC, Boca Raton (2008)zbMATHGoogle Scholar
  9. 9.
    McLaughlin, J., Clark, J.A.: Evolving balanced boolean functions with optimal resistance to algebraic and fast algebraic attacks, maximal algebraic degree, and very high nonlinearity. Cryptology ePrint Archive, Report 2013/011 (2013).
  10. 10.
    Millan, W.L., Clark, A.J., Dawson, E.: Heuristic design of cryptographically strong balanced boolean functions. In: Nyberg, K. (ed.) EUROCRYPT 1998. LNCS, vol. 1403, pp. 489–499. Springer, Heidelberg (1998) CrossRefGoogle Scholar
  11. 11.
    Millan, W., Fuller, J., Dawson, E.: New concepts in evolutionary search for boolean functions in cryptology. Computat. Intell. 20(3), 463–474 (2004)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Miller, J., Smith, S.: Redundancy and computational efficiency in cartesian genetic programming. IEEE Trans. Evol. Comput. 10(2), 167–174 (2006)CrossRefGoogle Scholar
  13. 13.
    Miller, J.F.: An empirical study of the efficiency of learning boolean functions using a cartesian genetic programming approach. In: Banzhaf, W., Daida, J.M., Eiben, A.E., Garzon, M.H., Honavar, V., Jakiela, M.J., Smith, R.E. (eds.) GECCO, pp. 1135–1142. Morgan Kaufmann (1999)Google Scholar
  14. 14.
    Miller, J.F. (ed.): Cartesian Genetic Programming. Natural Computing Series. Springer, Heidelberg (2011) zbMATHGoogle Scholar
  15. 15.
    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
  16. 16.
    Miller, J.F., Harding, S.L.: Cartesian Genetic Programming. In: Proceedings of the 10th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO 2008, pp. 2701–2726. ACM, New York (2008)Google Scholar
  17. 17.
    Nyberg, K.: Perfect nonlinear S-Boxes. In: Davies, D.W. (ed.) EUROCRYPT 1991. LNCS, vol. 547, pp. 378–386. Springer, Heidelberg (1991) Google Scholar
  18. 18.
    Picek, S., Batina, L., Jakobovic, D.: Evolving DPA-resistant boolean functions. In: Bartz-Beielstein, T., Branke, J., Filipič, B., Smith, J. (eds.) PPSN 2014. LNCS, vol. 8672, pp. 812–821. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  19. 19.
    Picek, S., Jakobovic, D., Golub, M.: Evolving cryptographically sound boolean functions. In: GECCO (Companion), pp. 191–192 (2013)Google Scholar
  20. 20.
    Picek, S., Marchiori, E., Batina, L., Jakobovic, D.: Combining evolutionary computation and algebraic constructions to find cryptography-relevant boolean functions. In: Bartz-Beielstein, T., Branke, J., Filipič, B., Smith, J. (eds.) PPSN 2014. LNCS, vol. 8672, pp. 822–831. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  21. 21.
    Prouff, E.: DPA Attacks and S-Boxes. In: Gilbert, H., Handschuh, H. (eds.) FSE 2005. LNCS, vol. 3557, pp. 424–441. Springer, Heidelberg (2005). CrossRefGoogle Scholar
  22. 22.
    Sarkar, P., Maitra, S.: Nonlinearity Bounds and Constructions of Resilient Boolean Functions. In: Bellare, M. (ed.) CRYPTO 2000. LNCS, vol. 1880, pp. 515–532. Springer, Heidelberg (2000) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Stjepan Picek
    • 1
    • 3
  • Domagoj Jakobovic
    • 1
    Email author
  • Julian F. Miller
    • 2
  • Elena Marchiori
    • 3
  • Lejla Batina
    • 3
  1. 1.Faculty of Electrical Engineering and ComputingUniversity of ZagrebZagrebCroatia
  2. 2.Department of ElectronicsUniversity of YorkYorkUK
  3. 3.Radboud University NijmegenNijmegenThe Netherlands

Personalised recommendations