Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Vernam, G.S.: Cipher printing telegraph systems: for secret wire and radio telegraphic communications. J. AIEE 45(2), 109–115 (1926)
Goossens, K.: Automated creation and selection of cryptographic primitives. Master’s thesis, Katholieke Universiteit Leuven (2005)
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). https://doi.org/10.1007/978-3-319-10762-2_81
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). https://doi.org/10.1007/0-387-34799-2_31
Fino, B.J., Algazi, V.R.: Unified matrix treatment of the fast Walsh-Hadamard transform. IEEE Trans. Comput. C-25(11), 1142–1146 (1976)
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). https://doi.org/10.1007/978-3-540-24676-3_28
Wu, H.: Cryptanalysis and design of stream ciphers. A Ph.D. thesis of Katholieke Universiteit Leuven, Belgium (2008)
Carlet, C.: Boolean functions for cryptography and error correcting codes. Boolean Models Meth. Math. Comput. Sci. Eng. 2, 257–397 (2010)
Armknecht, F.: Algebraic attacks on certain stream ciphers. Ph.D. thesis, University of Rennes (2006)
Massey, J.: Shift-register synthesis and BCH decoding. IEEE Trans. Inf. Theory 15(1), 122–127 (1969)
Norton, G.H.: The Berlekamp-Massey algorithm via minimal polynomials. arXiv preprint arXiv:1001.1597 (2010)
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). https://doi.org/10.1007/978-3-540-77026-8_32
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)
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)
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). https://doi.org/10.1007/978-3-540-89255-7_26
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). https://doi.org/10.1007/3-540-46035-7_14
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)
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). https://doi.org/10.1007/3-540-45539-6_40
Braeken, A.: Cryptographic properties of Boolean functions and S-boxes. Ph.D. thesis (2006)
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). https://doi.org/10.1007/3-540-45682-1_27
Ronjom, S., Helleseth, T.: A new attack on the filter generator. IEEE Trans. Inf. Theory 53(5), 1752–1758 (2007)
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). https://doi.org/10.1007/3-540-39200-9_21
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)
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). https://doi.org/10.1007/978-3-319-55696-3_19
Brameier, M.: On linear genetic programming. Ph.D. thesis, Universitätsbibliothek Technische Universität Dortmund (2004)
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). https://doi.org/10.1007/BFb0028471
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)
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). https://doi.org/10.1007/978-3-319-10762-2_41
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). https://doi.org/10.1007/978-3-319-14896-0_8
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)
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). https://doi.org/10.1007/978-3-319-16501-1_16
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)
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)
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). https://doi.org/10.1007/978-3-319-26841-5_6
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)
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). https://doi.org/10.1007/978-3-319-77553-1_13
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)
Eiben, A.E., Smith, J.E., et al.: Introduction to Evolutionary Computing, vol. 53. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-662-05094-1
Acknowledgments
This work was supported by Czech Science Foundation project 19-10137S.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Husa, J. (2019). Comparison of Genetic Programming Methods on Design of Cryptographic Boolean Functions. In: Sekanina, L., Hu, T., Lourenço, N., Richter, H., García-Sánchez, P. (eds) Genetic Programming. EuroGP 2019. Lecture Notes in Computer Science(), vol 11451. Springer, Cham. https://doi.org/10.1007/978-3-030-16670-0_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-16670-0_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-16669-4
Online ISBN: 978-3-030-16670-0
eBook Packages: Computer ScienceComputer Science (R0)