A Systematic Study on the Design of Odd-Sized Highly Nonlinear Boolean Functions via Evolutionary Algorithms
Claude Carlet, Marko Đurasevic, Domagoj Jakobovic, Stjepan Picek, Luca Mariot
TL;DR
This work tackles the challenge of designing highly nonlinear Boolean functions with an odd number of variables using evolutionary algorithms. It systematically compares three encodings (bitstring, symbolic GP, floating-point) across four problem sizes (7,9,11,13) and multiple algorithms, showing that genetic programming (GP) typically yields the best results but still lags behind specialized heuristics for larger instances. The study demonstrates that augmentations like local search and rotation symmetry can improve certain GA outcomes (notably achieving nonlinearity 241 for a 9-variable function under rotation symmetry) but may hamper GP performance, highlighting trade-offs in representation and search dynamics. Overall, GP remains strong for this hard, high-dimensional search, while the insights point to future work in fitness landscape analysis and semantically-aware evolutionary operators to close the gap with expert-crafted constructions.
Abstract
This paper focuses on the problem of evolving Boolean functions of odd sizes with high nonlinearity, a property of cryptographic relevance. Despite its simple formulation, this problem turns out to be remarkably difficult. We perform a systematic evaluation by considering three solution encodings and four problem instances, analyzing how well different types of evolutionary algorithms behave in finding a maximally nonlinear Boolean function. Our results show that genetic programming generally outperforms other evolutionary algorithms, although it falls short of the best-known results achieved by ad-hoc heuristics. Interestingly, by adding local search and restricting the space to rotation symmetric Boolean functions, we show that a genetic algorithm with the bitstring encoding manages to evolve a $9$-variable Boolean function with nonlinearity 241.
