Comparison of Genetic Programming Methods on Design of Cryptographic Boolean Functions

  • Jakub HusaEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11451)


The ever-increasing need for information security requires a constant refinement of contemporary ciphers. One of these are stream ciphers which secure data by utilizing a pseudo-randomly generated binary sequence. Generating a cryptographically secure sequence is not an easy task and requires a Boolean function possessing multiple cryptographic properties. One of the most successful ways of designing these functions is genetic programming. In this paper, we present a comparative study of three genetic programming methods, tree-based, Cartesian and linear, on the task of generating Boolean functions with an even number of inputs possessing good values of nonlinearity, balancedness, correlation immunity, and algebraic degree. Our results provide a comprehensive overview of how genetic programming methods compare when designing functions of different sizes, and we show that linear genetic programming, which has not been used for design of some of these functions before, is the best at dealing with increasing number of inputs, and creates desired functions with better reliability than the commonly used methods.


Genetic programming Cartesian Genetic programming Linear Genetic programming Cryptographic Boolean functions Comparative study 



This work was supported by Czech Science Foundation project 19-10137S.


  1. 1.
    Vernam, G.S.: Cipher printing telegraph systems: for secret wire and radio telegraphic communications. J. AIEE 45(2), 109–115 (1926)Google Scholar
  2. 2.
    Goossens, K.: Automated creation and selection of cryptographic primitives. Master’s thesis, Katholieke Universiteit Leuven (2005)Google Scholar
  3. 3.
    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, Cham (2014). Scholar
  4. 4.
    Forrié, 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, New York (1990). Scholar
  5. 5.
    Fino, B.J., Algazi, V.R.: Unified matrix treatment of the fast Walsh-Hadamard transform. IEEE Trans. Comput. C-25(11), 1142–1146 (1976)Google Scholar
  6. 6.
    Meier, W., Pasalic, E., Carlet, C.: Algebraic attacks and decomposition of Boolean functions. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 474–491. Springer, Heidelberg (2004). Scholar
  7. 7.
    Wu, H.: Cryptanalysis and design of stream ciphers. A Ph.D. thesis of Katholieke Universiteit Leuven, Belgium (2008)Google Scholar
  8. 8.
    Carlet, C.: Boolean functions for cryptography and error correcting codes. Boolean Models Meth. Math. Comput. Sci. Eng. 2, 257–397 (2010)CrossRefGoogle Scholar
  9. 9.
    Armknecht, F.: Algebraic attacks on certain stream ciphers. Ph.D. thesis, University of Rennes (2006)Google Scholar
  10. 10.
    Massey, J.: Shift-register synthesis and BCH decoding. IEEE Trans. Inf. Theory 15(1), 122–127 (1969)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Norton, G.H.: The Berlekamp-Massey algorithm via minimal polynomials. arXiv preprint arXiv:1001.1597 (2010)
  12. 12.
    Didier, F.: Attacking the filter generator by finding zero inputs of the filtering function. In: Srinathan, K., Rangan, C.P., Yung, M. (eds.) INDOCRYPT 2007. LNCS, vol. 4859, pp. 404–413. Springer, Heidelberg (2007). Scholar
  13. 13.
    Hodžić, S., Wei, Y., Pašalić, E., Bajrić, S.: Optimizing the placement of tap positions. Ph.D. thesis, Univerza na Primorskem, Fakulteta za matematiko, naravoslovje in informacijske tehnologije (2015)Google 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.
    Carlet, C., Feng, K.: An infinite class of balanced functions with optimal algebraic immunity, good immunity to fast algebraic attacks and good nonlinearity. In: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350, pp. 425–440. Springer, Heidelberg (2008). Scholar
  16. 16.
    Chose, P., Joux, A., Mitton, M.: Fast correlation attacks: an algorithmic point of view. In: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, pp. 209–221. Springer, Heidelberg (2002). Scholar
  17. 17.
    Kavut, S., Maitra, S., Yücel, M.D.: There exist Boolean functions on n (odd) variables having nonlinearity \(> 2^{{n - 1}} - 2^{{\frac{{n - 1}}{2}}}\) if and only if \(n > 7\) (2006)Google Scholar
  18. 18.
    Canteaut, A., Trabbia, M.: Improved fast correlation attacks using parity-check equations of weight 4 and 5. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 573–588. Springer, Heidelberg (2000). Scholar
  19. 19.
    Braeken, A.: Cryptographic properties of Boolean functions and S-boxes. Ph.D. thesis (2006)Google Scholar
  20. 20.
    Tarannikov, Y., Korolev, P., Botev, A.: Autocorrelation coefficients and correlation immunity of Boolean functions. In: Boyd, C. (ed.) ASIACRYPT 2001. LNCS, vol. 2248, pp. 460–479. Springer, Heidelberg (2001). Scholar
  21. 21.
    Ronjom, S., Helleseth, T.: A new attack on the filter generator. IEEE Trans. Inf. Theory 53(5), 1752–1758 (2007)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Courtois, N.T., Meier, W.: Algebraic attacks on stream ciphers with linear feedback. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656, pp. 345–359. Springer, Heidelberg (2003). Scholar
  23. 23.
    Cramer, N.L.: A representation for the adaptive generation of simple sequential programs. In: Proceedings of the First International Conference on Genetic Algorithms, pp. 183–187 (1985)Google Scholar
  24. 24.
    Kalkreuth, R., Rudolph, G., Droschinsky, A.: A new subgraph crossover for Cartesian genetic programming. In: McDermott, J., Castelli, M., Sekanina, L., Haasdijk, E., García-Sánchez, P. (eds.) EuroGP 2017. LNCS, vol. 10196, pp. 294–310. Springer, Cham (2017). Scholar
  25. 25.
    Brameier, M.: On linear genetic programming. Ph.D. thesis, Universitätsbibliothek Technische Universität Dortmund (2004)Google Scholar
  26. 26.
    Millan, W., Clark, A., Dawson, E.: An effective genetic algorithm for finding highly nonlinear boolean functions. In: Han, Y., Okamoto, T., Qing, S. (eds.) ICICS 1997. LNCS, vol. 1334, pp. 149–158. Springer, Heidelberg (1997). Scholar
  27. 27.
    Picek, S., Jakobovic, D., Golub, M.: Evolving cryptographically sound Boolean functions. In: Proceedings of the 15th Annual Conference Companion on Genetic and Evolutionary Computation, pp. 191–192. ACM (2013)Google Scholar
  28. 28.
    Hrbacek, R., Dvorak, V.: Bent function synthesis by means of Cartesian genetic programming. In: Bartz-Beielstein, T., Branke, J., Filipič, B., Smith, J. (eds.) PPSN 2014. LNCS, vol. 8672, pp. 414–423. Springer, Cham (2014). Scholar
  29. 29.
    Hrbacek, R.: Bent functions synthesis on Intel Xeon Phi coprocessor. In: Hliněný, P., et al. (eds.) MEMICS 2014. LNCS, vol. 8934, pp. 88–99. Springer, Cham (2014). Scholar
  30. 30.
    Husa, J., Dobai, R.: Designing bent Boolean functions with parallelized linear genetic programming. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion, pp. 1825–1832. ACM (2017)Google Scholar
  31. 31.
    Picek, S., Jakobovic, D., Miller, J.F., Marchiori, E., Batina, L.: Evolutionary methods for the construction of cryptographic Boolean functions. In: Machado, P., et al. (eds.) EuroGP 2015. LNCS, vol. 9025, pp. 192–204. Springer, Cham (2015). Scholar
  32. 32.
    Picek, S., Carlet, C., Jakobovic, D., Miller, J.F., Batina, L.: Correlation immunity of Boolean functions: an evolutionary algorithms perspective. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, pp. 1095–1102. ACM (2015)Google Scholar
  33. 33.
    Picek, S., Carlet, C., Guilley, S., Miller, J.F., Jakobovic, D.: Evolutionary algorithms for Boolean functions in diverse domains of cryptography. Evol. Comput. 24(4), 667–694 (2016)CrossRefGoogle Scholar
  34. 34.
    Picek, S., Guilley, S., Carlet, C., Jakobovic, D., Miller, J.F.: Evolutionary approach for finding correlation immune Boolean functions of order t with minimal hamming weight. In: Dediu, A.-H., Magdalena, L., Martín-Vide, C. (eds.) TPNC 2015. LNCS, vol. 9477, pp. 71–82. Springer, Cham (2015). Scholar
  35. 35.
    Picek, S., Jakobovic, D.: Evolving algebraic constructions for designing bent Boolean functions. In: Proceedings of the Genetic and Evolutionary Computation Conference 2016, pp. 781–788. ACM (2016)Google Scholar
  36. 36.
    Husa, J., Kalkreuth, R.: A comparative study on crossover in Cartesian genetic programming. In: Castelli, M., Sekanina, L., Zhang, M., Cagnoni, S., García-Sánchez, P. (eds.) EuroGP 2018. LNCS, vol. 10781, pp. 203–219. Springer, Cham (2018). Scholar
  37. 37.
    Zhang, W., Pasalic, E.: Improving the lower bound on the maximum nonlinearity of 1-resilient boolean functions and designing functions satisfying all cryptographic criteria. Inf. Sci. 376, 21–30 (2017)CrossRefGoogle Scholar
  38. 38.
    Eiben, A.E., Smith, J.E., et al.: Introduction to Evolutionary Computing, vol. 53. Springer, Heidelberg (2003). Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Faculty of Information Technology, IT4Innovations Centre of ExcellenceBrno University of TechnologyBrnoCzech Republic

Personalised recommendations