Abstract
Boolean functions are important cryptographic primitives with extensive use in symmetric cryptography. These functions need to possess various properties, such as nonlinearity to be useful. The main limiting factor of the quality of a Boolean function is the number of its input variables, which has to be sufficiently large. The contemporary design methods either scale poorly or are able to create only a small subset of all functions with the desired properties. This necessitates the development of new and more efficient ways of Boolean function design. In this paper, we propose a new semantic mutation operator for the design of bent Boolean functions via genetic programming. The principle of the proposed operator lies in evaluating the function’s nonlinearity in detail to purposely avoid mutations that could be disruptive and taking advantage of the fact that the nonlinearity of a Boolean function is invariant under all affine transformations. To assess the efficiency of this operator, we experiment with three distinct variants of genetic programming and compare its performance to three other commonly used non-semantic mutation operators. The detailed experimental evaluation proved that the proposed semantic mutation operator is not only significantly more efficient in terms of evaluations required by genetic programming but also nearly three times faster than the second-best operator when designing bent functions with 12 inputs and almost six times faster for functions with 20 inputs.
Similar content being viewed by others
Notes
Note that CGP is often used to solve problems that require multiple output values. In these scenarios, the genotype is extended with a number of additional genes that specify which nodes represent which outputs.
References
A. Braeken, Cryptographic properties of Boolean functions and S-boxes. Ph.D thesis, Katholieke Universiteit Leuven (2006)
M. Brameier, W. Banzhaf, W. Banzhaf, Linear Genetic Programming, vol. 1 (Springer, New York, 2007)
Ç. Çalık, Computing cryptographic properties of Boolean functions from the algebraic normal Form representation. Ph.D thesis, Middle East Technical University (2013)
C. Carlet, Boolean Functions for Cryptography and Error-Correcting Codes Encyclopedia of Mathematics and its Applications. (Cambridge University Press, Cambridge, 2010), pp.257–397
C. Carlet, M. Djurasevic, D. Jakobovic, L. Mariot, S. Picek, Evolving constructions for balanced, highly nonlinear boolean functions, in Proceedings of the Genetic and Evolutionary Computation Conference (2022), pp. 1147–1155.
C. Carlet, D. Jakobovic, S. Picek. Evolutionary algorithms-assisted construction of cryptographic Boolean functions, in Proceedings of the Genetic and Evolutionary Computation Conference (2021), pp. 565–573
C. Carlet, S. Mesnager, Four decades of research on bent functions. Des. Codes Crypt. 78(1), 5–50 (2016)
M. Castelli, S. Silva, L. Vanneschi, A c++ framework for geometric semantic genetic programming. Genet. Program Evolv. Mach. 16(1), 73–81 (2015)
J.E. Fuller. Analysis of affine equivalent Boolean functions for cryptography. Ph.D thesis, Queensland University of Technology (2003)
B.W Goldman, W.F. Punch, Length bias and search limitations in cartesian genetic programming, in Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation (2013), pp. 933–940
B.W. Goldman, W.F. Punch, Analysis of cartesian genetic programming’s evolutionary mechanisms. IEEE Trans. Evol. Comput. 19(3), 359–373 (2014)
A. Grocholewska-Czuryło, A study of differences between bent functions constructed using rothaus method and randomly generated bent functions. J. Telecommun. Inf. Technol., 19–24 (2003)
D. Hodan, V. Mrazek, Z. Vasicek, Semantically-oriented mutation operator in cartesian genetic programming for evolutionary circuit design. Genet. Program Evolvable Mach. 22(4), 539–572 (2021)
D. Hodan, V. Mrazek, Z. Vasicek, Semantically-oriented mutation operator in cartesian genetic programming for evolutionary circuit design. Genet. Prog. Evolv. Mach. 22(4), 539–572 (2021)
R. Hrbacek, Bent functions synthesis on intel xeon phi coprocessor, in International Doctoral Workshop on Mathematical and Engineering Methods in Computer Science (Springer, 2014), pp. 88–99
R. Hrbacek, V. Dvorak, Bent function synthesis by means of cartesian genetic programming, in International Conference on Parallel Problem Solving from Nature (Springer, 2014), pp. 414–423
R. Hrbacek, L. Sekanina, Towards highly optimized cartesian genetic programming: from sequential via simd and thread to massive parallel implementation, in Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation (2014), pp. 1015–1022
J. Husa, Comparison of genetic programming methods on design of cryptographic boolean functions, in European Conference on Genetic Programming (Springer, 2019), pp. 228–244
J. Husa, Designing correlation immune boolean functions with minimal hamming weight using various genetic programming methods, in Proceedings of the Genetic and Evolutionary Computation Conference Companion (2019), pp. 342–343
J. Husa, R. Dobai, Designing bent boolean functions with parallelized linear genetic programming, in Proceedings of the Genetic and Evolutionary Computation Conference Companion (2017), pp. 1825–1832
J. Husa, L. Sekanina, Evolving cryptographic Boolean functions with minimal multiplicative complexity, in 2020 IEEE Congress on Evolutionary Computation (CEC) (IEEE, 2020), pp. 1–8
D. Jakobovic, S. Picek, M.S.R. Martins, M. Wagner, Toward more efficient heuristic construction of Boolean functions. Appl. Soft Comput. 107, 107327 (2021)
H.B. Mann, D.R. Whitney, On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Stat. 50–60 (1947)
L. Mariot, S. Picek, D. Jakobovic, M. Djurasevic, A. Leporati. Evolutionary construction of perfectly balanced boolean functions. arXiv:2202.08221 (2022)
W. Millan, A. Clark, E. Dawson, An effective genetic algorithm for finding highly nonlinear boolean functions, in International Conference on Information and Communications Security (Springer, 1997), pp. 149–158
W. Millan, J. Fuller, E. Dawson, New concepts in evolutionary search for Boolean functions in cryptology. Comput. Intell. 20(3), 463–474 (2004)
J.F. Miller, Cartesian genetic programming: its status and future. Genet. Prog. Evolv. Mach. 21(1), 129–168 (2020)
A. Moraglio, K. Krawiec, C.G. Johnson, Geometric semantic genetic programming, in International Conference on Parallel Problem Solving from Nature (Springer, 2012), pp. 21–31.
Q.U. Nguyen, X. Hoai Nguyen, M. O’Neill, Semantic aware crossover for genetic programming: the case for real-valued function regression, in European Conference on Genetic Programming (Springer, 2009), pp. 292–302
Q.U. Nguyen, M. O’Neill, X.H. Nguyen, Examining semantic diversity and semantic locality of operators in genetic programming. PhD thesis, University College Dublin (2011)
M. O’Neill, R. Poli, W.B. Langdon, N.F. McPhee, A Field Guide to Genetic Programming (Springer, Berlin, 2009)
S. Picek, C. Carlet, S. Guilley, J.F. Miller, D. Jakobovic, Evolutionary algorithms for Boolean functions in diverse domains of cryptography. Evol. Comput. 24(4), 667–694 (2016)
S. Picek, C. Carlet, D. Jakobovic, J.F. Miller, L. Batina, Correlation immunity of Boolean functions: an evolutionary algorithms perspective, in Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation (2015), pp. 1095–1102
S. Picek, S. Guilley, C. Carlet, D. Jakobovic, J.F. Miller, Evolutionary approach for finding correlation immune boolean functions of order t with minimal hamming weight, in International Conference on Theory and Practice of Natural Computing (Springer, 2015), pp. 71–82
S. Picek, D. Jakobovic, Evolving algebraic constructions for designing bent boolean functions, in Proceedings of the Genetic and Evolutionary Computation Conference, 2016 (2016), pp. 781–788
S. Picek, D. Jakobovic, J.F. Miller, L. Batina, M. Cupic, Cryptographic Boolean functions: one output, many design criteria. Appl. Soft Comput. 40, 635–653 (2016)
S. Picek, D. Jakobovic, J.F. Miller, E. Marchiori, L. Batina, Evolutionary methods for the construction of cryptographic Boolean functions, in European Conference on Genetic Programming (Springer, 2015), pp 192–204
S. Picek, E. Marchiori, L. Batina, D. Jakobovic, Combining evolutionary computation and algebraic constructions to find cryptography-relevant boolean functions, in International Conference on Parallel Problem Solving from Nature (Springer, 2014), pp. 822–831
S. Picek, R. Santana, D. Jakobovic, Maximal nonlinearity in balanced boolean functions with even number of inputs, revisited, in 2016 IEEE Congress on Evolutionary Computation (CEC) (IEEE, 2016), pp. 3222–3229
M. Stanek, On cryptographic properties of random Boolean functions. J. Univ. Comput. Sci. 4(8), 705–717 (1998)
N. Tokareva, On the number of bent functions from iterative constructions: lower bounds and hypotheses. Cryptology ePrint Archive (2011)
N.Q. Uy, N. Xuan Hoai, M. O’Neill, B. McKay, Semantics based crossover for boolean problems, in Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation (2010), pp. 869–876
N.Q. Uy, N. Xuan Hoai, M. O’Neill, Semantics based mutation in genetic programming: the case for real-valued symbolic regression, in 15th International Conference on Soft Computing, Mendel, vol. 9 (2009), pp. 73–91
N.Q. Uy, N.X. Hoai, M. O’Neill, R.I. McKay, E. Galván-López, Semantically-based crossover in genetic programming: application to real-valued symbolic regression. Genet. Prog. Evolv. Mach. 12(2), 91–119 (2011)
L. Vanneschi, M. Castelli, S. Silva, A survey of semantic methods in genetic programming. Genet. Prog. Evolv. Mach. 15(2), 195–214 (2014)
Funding
This work was supported by the Czech Science Foundation Project 21-13001 S.
Author information
Authors and Affiliations
Contributions
JH: Conceptualization, Methodology, Software, Validation, Investigation, Data curation, Visualization, Writing - original draft. LS: Conceptualization, Supervision, Project administration, Funding acquisition, Writing - review & editing.
Corresponding author
Ethics declarations
Conflict of interests
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Husa, J., Sekanina, L. Semantic mutation operator for a fast and efficient design of bent Boolean functions. Genet Program Evolvable Mach 25, 3 (2024). https://doi.org/10.1007/s10710-023-09476-w
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10710-023-09476-w