Full text
A new encoding for generating highly nonlinear eight-variables Boolean functions using multi-parent genetic algorithms Salaheddine Bougouffa and Menouar Boulif LIMOSE laboratory, Department of computer science, M’hamed Bougara University Boumerdes, Algeria, [email protected], [email protected] Abstract Balanced Boolean functions are a critical component in cryptographic systems, as they provide the necessary nonlinearity to resist linear attacks. Generating such functions with high nonlinearity is a challenging task, especially for functions with a large number of variables. In this work, we employ genetic algorithms to generate eight-variable Boolean functions with high nonlinearity. Unlike traditional algebraic methods, which often explore only a limited portion of the search space, genetic algorithms leverage stochastic search techniques to explore a broader and more diverse set of solutions. We introduce a novel encoding scheme for the genetic algorithm that enhances flexibility and efficiency, enabling the generation of highly nonlinear Boolean functions in a shorter time frame. This approach not only produces Boolean functions with high nonlinearity but also introduces an element of randomness, making the generated functions less predictable and more resistant to cryptographic attacks. Furthermore, the generated functions can be used to personalize cryptographic algorithms, enhancing their security and adaptability to specific use cases. Keywords: Computer security, Cryptography, Evolutionary Intelligence, Genetic Algorithms, Boolean functions, S-boxes. 1 Introduction The integration of artificial intelligence (AI) techniques, particularly Genetic Algorithms (GAs), into the field of cryptography has garnered substantial attention since the late 1990s and early 2000s. This surge in interest stems from the remarkable ability of GAs to address complex optimization challenges and bolster the security of cryptographic systems. Within cryptography, GAs have found diverse applications, including key generation, cryptanalysis, the design of cryptographic algorithms, and the creation of cryptographic objects such as Boolean functions and S-boxes. Boolean functions play a pivotal role in cryptographic ciphers, serving as the primary source of nonlinearity. This critical characteristic has driven extensive research efforts focused on generating Boolean functions with specific properties that enhance security. These optimized functions are then utilized in the design and customization of ciphers. Given the vast search space of possible Boolean functions, Evolution Intelligence optimization techniques, particularly genetic algorithms, have emerged as powerful tools for identifying functions that meet desired criteria. In order to contribute to this filed of research, this work proposes a new encoding scheme to derive eight-variables Boolean function with high nonlinearity. The reminder of this paper is structured as follows. The first section provides an introduction to Boolean functions and explains how to calculate their nonlinearity. The second section offers a concise overview of genetic algorithms, followed by a discussion of a specific variant of GAs in the third section. Subsequently, we present our proposed algorithm, detailing its advantages and limitations. Finally, we showcase our experimental results, demonstrating the effectiveness of our genetic algorithm in comparison to existing research. Through this exploration, we aim to contribute to the ongoing advancement of cryptographic techniques leveraging AI-driven optimization methods. 191
2 Boolean functions 2.1 Description A Boolean function (BF) with nvariables is a mathematical object that takes nbinary inputs and produces a binary output [3]. BFs are typically represented by using truth tables, which show the output for every possible combination of inputs. For instance, Table 1illustrates a truth table for a BF with three variables, where the sequence of outputs forms the function’s value vector. In cryptography, balanced Boolean functions, which have an equal number of 0s and 1s in their outputs, are especially valuable. Indeed, these kinds of BFs are the backbone of S-Boxes. Another way to represent Boolean functions is through the algebraic normal form (ANF), which writes the function as a polynomial. Because the inputs are binary, the polynomial’s degree for each variable is limited to one, and each term in the polynomial corresponds to a specific combination of input variables. This ANF representation is particularly useful in fields like coding theory and cryptography for analyzing and working with Boolean functions. x1x2x3Decimal value f(x1, x2, x3) 0 0 0 0 1 1 0 0 1 0 0 1 0 2 1 1 1 0 3 1 0 0 1 4 0 1 0 1 5 0 0 1 1 6 0 1 1 1 7 1 Table 1: Truth table of a Boolean function of 3 variables. An nvariable Boolean function fcan be represented by its truth table as an array of length 2n, as follows: Entry 0 1 . . . 2n−1 Output f(0) f(1) . . . f(2n−1) Table 2: Truth table of a nvariable Boolean function as an array of length 2n In our work, we are dealing with eight-variables Boolean functions, which means that we have 28= 256 entries. The Hamming weight of a BF fis defined as: HW (f) = Px∈F⋉ ⊭f(x),in particular the Hamming weight of a balanced BF is 2n−1. The Hamming distance between two BFs is defined as : d(f, g) = card{x, f(x)=g(x)} 2.2 Nonlinearity of a Boolean function The nonlinearity of a Boolean function is a measure of how far the function is from being linear or affine. It is defined as the minimum of the Hamming distance between fand the set of all affine functions (linear functions and their complements) [9,10]. The easiest way to calculate it is using the Walsh transform which is a variant of the Fourier transform adapted for the binary field Fn 2.It is calculated as follows: Wf(u) = X x∈Fn 2 (−1)f(x)+u·x, where: •u∈Fn 2is a vector in the input space, •f(x) is the value of the Boolean function at x, 192
•u·xdenotes the dot product of uand xin Fn 2, •(−1)f(x)+u·xrepresents the sign change based on the parity of f(x) + u·x. The array containing the values of Wf(u) for u from 0 to 2n−1 is called the Walsh spectrum. The nonlinearity is expressed in term of the Walsh transform as follows: NL(f)=2n−1−1 2maxu∈Fn 2|Wf(u)| 3 Genetic algorithms Genetic algorithms (GAs) [1,8,11,12] are a key component of evolutionary intelligence, that draws inspiration from biological evolution and natural selection. By mimicking how systems evolve over time to adapt to their environments, GAs leverage the principal of “survival of the fittest” where only organisms that are better adapted to their environment are more likely to survive, reproduce, and pass on their traits to the next generations. Over time, this process leads to the emergence of traits that enhance survival and reproduction. The field of genetics began with Darwin and Wallace introducing their theory of natural selection [4,7] in 1858. Later, in 1910, Thomas Hunt Morgan contributed to the field by discovering mutations through experiments on flies. His work demonstrated how simple changes in genes could occur, providing some individuals with a genetic advantage that allowed them to survive and pass on their traits to future generations. However, it wasn’t until the 1920s that genetics truly flourished, thanks to the contributions of three key pioneers: Ronald Aylmer Fisher, John Burdon Sanderson Haldane, and Sewall Wright. Their work introduced the use of mathematics, including quantification and the calculation of genetic frequencies, which became foundational to modern genetics. GAs in their modern form were introduced by J. Holland [8] and his colleagues in 1975 as a way of solving hard optimization problems using stochastic search. It can be used to offer good solutions in a short amount of time, which is very efficient when the na¨ıve search is not feasible. They are very efficient in representing optimization problems due to their simple way of representing solutions as chromosomes which can take the form of an array, a matrix, a list, a tree, etc. Each chromosome is composed of genes coding its characteristics. The set of all possible chromosomes is called genotypic space which is closely related to the phenotypic space representing the solutions in their original form. GAs fall into the category of metaheuristics using an initial pool of solutions, and their usage differs from the other approximate methods in the way that solutions are combined to get new ones. GAs rely on three core operations: selection, crossover, and mutation. In selection, the fittest individuals from a population are chosen based on their performance, ensuring that better solutions have higher chance of passing their traits to the next generation. Crossover then combines genetic material from selected parents to create new offspring, promoting the exploration of promising solution spaces by merging advantageous traits. Finally, mutation introduces small, random changes to some offspring, maintaining genetic diversity and preventing premature convergence to suboptimal solutions. These iterative processes mimic natural evolution, gradually improving the population’s overall fitness until an optimal or satisfactory solution is achieved. This approach is widely used in optimization, machine learning, and engineering design to solve complex problems where traditional methods may struggle. 193
Figure 1: GA flowchart. 4 Multi-parent Genetic algorithms A multi-parent Genetic Algorithm [6] is a variant of the standard Genetic Algorithm, which traditionally combines only two parents to produce offspring. In contrast, the multi-parent GA extends this approach by allowing the combination of three or more parents during the crossover process. This variant has demonstrated its ability to outperform the standard GA in terms of convergence speed, often achieving better results in a shorter amount of time. By leveraging the genetic material of multiple parents, the algorithm can explore a broader search space, and potentially learns to discover more optimal or near-optimal solutions. 5 Description of the proposed approach The proposed algorithm is inspired by processor architecture principles, where the byte serves as the foundational unit. The core concept involves partitioning the truth table of a Boolean function into eight-bits bytes, enforcing strict balancedness by requiring each byte to contain exactly four zeros and four ones. Given a 256-bit output, this divides naturally into 32 bytes, each of which must conform to the 4-zero/4-one constraint. There are precisely 70 distinct valid configurations that satisfy this balanced condition for a single byte, as enumerated in Table 3. To implement this, we construct a chromosome-like encoding where each of the 32 bytes is represented as a gene, with each gene assuming an integer value between 0 and 69—corresponding to one of the 70 admissible byte patterns. This structured approach ensures both balancedness and efficient representation in our algorithmic framework. 194
Table 3: The 70 configurations for the encoding. Configuration Encoding 0, 0, 0, 0, 1, 1, 1, 1 0 0, 0, 0, 1, 0, 1, 1, 1 1 0, 0, 0, 1, 1, 0, 1, 1 2 0, 0, 0, 1, 1, 1, 0, 1 3 0, 0, 0, 1, 1, 1, 1, 0 4 0, 0, 1, 0, 0, 1, 1, 1 5 0, 0, 1, 0, 1, 0, 1, 1 6 0, 0, 1, 0, 1, 1, 0, 1 7 0, 0, 1, 0, 1, 1, 1, 0 8 0, 0, 1, 1, 0, 0, 1, 1 9 0, 0, 1, 1, 0, 1, 0, 1 10 0, 0, 1, 1, 0, 1, 1, 0 11 0, 0, 1, 1, 1, 0, 0, 1 12 0, 0, 1, 1, 1, 0, 1, 0 13 0, 0, 1, 1, 1, 1, 0, 0 14 0, 1, 0, 0, 0, 1, 1, 1 15 0, 1, 0, 0, 1, 0, 1, 1 16 0, 1, 0, 0, 1, 1, 0, 1 17 0, 1, 0, 0, 1, 1, 1, 0 18 0, 1, 0, 1, 0, 0, 1, 1 19 0, 1, 0, 1, 0, 1, 0, 1 20 0, 1, 0, 1, 0, 1, 1, 0 21 0, 1, 0, 1, 1, 0, 0, 1 22 0, 1, 0, 1, 1, 0, 1, 0 23 0, 1, 0, 1, 1, 1, 0, 0 24 0, 1, 1, 0, 0, 0, 1, 1 25 0, 1, 1, 0, 0, 1, 0, 1 26 0, 1, 1, 0, 0, 1, 1, 0 27 0, 1, 1, 0, 1, 0, 0, 1 28 0, 1, 1, 0, 1, 0, 1, 0 29 0, 1, 1, 0, 1, 1, 0, 0 30 0, 1, 1, 1, 0, 0, 0, 1 31 0, 1, 1, 1, 0, 0, 1, 0 32 0, 1, 1, 1, 0, 1, 0, 0 33 0, 1, 1, 1, 1, 0, 0, 0 34 1, 0, 0, 0, 0, 1, 1, 1 35 1, 0, 0, 0, 1, 0, 1, 1 36 1, 0, 0, 0, 1, 1, 0, 1 37 1, 0, 0, 0, 1, 1, 1, 0 38 1, 0, 0, 1, 0, 0, 1, 1 39 1, 0, 0, 1, 0, 1, 0, 1 40 1, 0, 0, 1, 0, 1, 1, 0 41 1, 0, 0, 1, 1, 0, 0, 1 42 1, 0, 0, 1, 1, 0, 1, 0 43 1, 0, 0, 1, 1, 1, 0, 0 44 1, 0, 1, 0, 0, 0, 1, 1 45 1, 0, 1, 0, 0, 1, 0, 1 46 1, 0, 1, 0, 0, 1, 1, 0 47 1, 0, 1, 0, 1, 0, 0, 1 48 1, 0, 1, 0, 1, 0, 1, 0 49 1, 0, 1, 0, 1, 1, 0, 0 50 1, 0, 1, 1, 0, 0, 0, 1 51 1, 0, 1, 1, 0, 0, 1, 0 52 1, 0, 1, 1, 0, 1, 0, 0 53 1, 0, 1, 1, 1, 0, 0, 0 54 195
Configuration Encoding 1, 1, 0, 0, 0, 0, 1, 1 55 1, 1, 0, 0, 0, 1, 0, 1 56 1, 1, 0, 0, 0, 1, 1, 0 57 1, 1, 0, 0, 1, 0, 0, 1 58 1, 1, 0, 0, 1, 0, 1, 0 59 1, 1, 0, 0, 1, 1, 0, 0 60 1, 1, 0, 1, 0, 0, 0, 1 61 1, 1, 0, 1, 0, 0, 1, 0 62 1, 1, 0, 1, 0, 1, 0, 0 63 1, 1, 0, 1, 1, 0, 0, 0 64 1, 1, 1, 0, 0, 0, 0, 1 65 1, 1, 1, 0, 0, 0, 1, 0 66 1, 1, 1, 0, 0, 1, 0, 0 67 1, 1, 1, 0, 1, 0, 0, 0 68 1, 1, 1, 1, 0, 0, 0, 0 69 Hereafter, we present the key components of the proposed genetic algorithm: 1. Pool size: We use an initial pool of 500 solutions generated randomly, employing the encoding scheme described earlier. 2. Fitness function: The fitness function we use is [10]: fitness(f) = Nl(f) + 2n−freq(maxu∈Fn 2|Wf(u)|) 2n, The so defined fitness not only utilizes nonlinearity but also incorporates information from the Walsh spectrum, making the selection more efficient. This is achieved by minimizing the occurrences of the maximum value until it disappears, resulting in a new maximum value in the Walsh spectrum. 3. Selection: we use tournament selection where we pick 3 random individuals and we chose the fittest as a parent, repeating until the mating pool is filled (with a selection rate of 0.02%). 4. Crossover: The multi-parent Genetic Algorithm we use employs a uniform three-parent crossover mechanism. In this approach, each gene in the offspring has an equal probability (1 3chance) of being inherited from any of the three parents. To facilitate this process, a mask is used, which can take on three possible values: 0, 1, or 2. Each value in the mask corresponds to one of the three parents and occurs with the same frequency, ensuring fairness in the selection process. This mechanism generates six offspring in each crossover operation, significantly enhancing the diversity of the population. 196
Figure 2: Three-parent uniform crossover. 5. Mutation: a random gene is chosen for mutation with a rate of 0.01. The value of the gene is replaced by one of the remaining 69 possible values. The design of the encoding scheme inherently ensures balancedness, meaning that the genetic material from all the three parents is evenly distributed across the offspring. As a result, there is no need for post-crossover corrections or adjustments, which simplifies the algorithm and improves its computational efficiency. By leveraging this multi-parent crossover strategy, the proposed algorithm achieves a more extensive exploration of the search space, leading to faster convergence and higher-quality solutions compared to traditional two-parent crossover methods. This approach is particularly advantageous in complex optimization problems where diversity and exploration are critical to avoiding local optima. 6 Experimental results To trial the effectiveness of the proposed GA, we conducted a series of experiments. In the first experiment, the GA was able to find the Boolean function with the genotype: 39, 4, 15, 64, 49, 60, 11, 27, 19, 0, 47, 7, 49, 35, 55, 61, 27, 58, 37, 36, 60, 0, 41, 67, 55, 67, 31, 24, 59, 5, 33, 8 This solution is equivalent to the phenotype: 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0 This solution has a high nonlinearity of 116. In the second experiment, the GA reached the Boolean function with the genotype: 197
54, 48, 22, 39, 15, 37, 5, 65, 46, 64, 33, 53, 34, 38, 59, 44, 18, 55, 0, 68, 61, 41, 18, 40, 37, 66, 43, 13, 42, 35, 18, 36 This solution is equivalent to the phenotype: 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0 This solution has also a high nonlinearity of 116. In the third experiment, the GA found the Boolean function with the genotype: 13, 69, 49, 0, 30, 40, 21, 57, 28, 48, 56, 25, 10, 12, 27, 44, 18, 9, 17, 27, 57, 34, 20, 65, 31, 12, 62, 10, 46, 66, 20, 34 This solution is equivalent to the phenotype: 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1 Again, this solution has a high nonlinearity of 116. In the fourth experiment, the GA determined the Boolean function with the genotype: 23, 56, 36, 46, 38, 33, 53, 28, 18, 10, 45, 13, 46, 53, 9, 48, 0, 59, 38, 11, 3, 16, 31, 20, 63, 11, 60, 27, 27, 1, 40, 45 This solution is equivalent to the phenotype: 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1 Once again, this solution has a high nonlinearity of 116. It is important to mention that so far, there is no proof of the existence of a balanced Boolean function with eight variables having a nonlinearity of 118 [10]. Table 4presents a comparison of the best-achieved solutions with those of the literature, in term of nonlinearity. Refrence Nonlinearity [5] 114 [13] 116 [2] 116 Proposal 116 Table 4: Comparison in term of nonlinearity For instance, in [13] [2], the authors generated their solutions using bent functions, which are nonbalanced Boolean functions with high nonlinearity. They made minor modifications to these functions, essentially working within the neighborhood of a bent function. This raises questions about their security, as such solutions lack true randomness and may not be as secure as they appear. In contrast, the proposed approach generates Boolean functions from scratch using Evolutionary Intelligence, which introduces greater randomness. Indeed, unlike methods that rely on algebraic properties, the proposed 198
GA disperses the solutions more widely across the search space. Furthermore, the devised GA leverages the inherent randomness of stochastic optimization, thanks to the proposed encoding, resulting in more robust and less predictable BF solutions. 7 Conclusion The use of genetic algorithms is a powerful approach for generating random Boolean functions with desirable properties, such as high nonlinearity. Boolean functions play a critical role in enhancing security by introducing complexity and filtering mechanisms, making it more difficult for attackers to decipher cryptographic systems. The proposed approach, which specifically targets balanced Boolean functions that are widely used in cryptography, was able to generate high-quality Boolean functions efficiently. In future work, we plan to explore improvements to the proposed genetic algorithm by incorporating additional metaheuristics, such as Stochastic Local Search, to further enhance the quality of the generated functions. References [1] Menouar Boulif. Genetic algorithm encoding representation for graph partitioning problems. In 2010 International Conference on Machine and Web Intelligence, ICMWI 2010 - Proceedings, pages 288–291, 10 2010. [2] Linda Burnett, Andrew Clark, Ed Dawson, and William Millan. Simpler methods for generating better boolean functions with good cryptographic properties. 29, 01 2004. [3] Anne Canteaut. Lecture Notes on Cryptographic Boolean Functions. Inria, Paris, France, 2016. [4] Viviane Carmo and Lilian Martins. Wallace, Darwin, and the Relationship Between Species and Varieties (1858), pages 147–161. 10 2023. [5] A. Dimovski and D. Gligoroski. Generating highly nonlinear boolean functions using a genetic algorithm. In 6th International Conference on Telecommunications in Modern Satellite, Cable and Broadcasting Service, 2003. TELSIKS 2003., volume 2, pages 604–607 vol.2, 2003. [6] A. E. Eiben, P. E. Rau´e, and Zs Ruttkay. Genetic algorithms with multi-parent recombination. pages 78–87, 1994. [7] Prakash Gorroochurn. Darwin and the Origin of Species, pages 55–146. 12 2024. [8] John H. Holland. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence, pages 203–205. 1992. [9] William Millan. How to improve the nonlinearity of bijective s-boxes. In Colin Boyd and Ed Dawson, editors, Information Security and Privacy, pages 181–192, Berlin, Heidelberg, 1998. Springer Berlin Heidelberg. [10] Stjepan Picek, Roberto Santana, and Domagoj Jakobovic. Maximal nonlinearity in balanced boolean functions with even number of inputs, revisited. In 2016 IEEE Congress on Evolutionary Computation (CEC), pages 3222–3229, 2016. [11] Franz Rothlauf. Representations for Genetic and Evolutionary Algorithms, volume 104, pages 73 – 96. 01 2006. [12] Kumara Sastry, David Goldberg, and Graham Kendall. Genetic Algorithms, pages 97–125. Springer US, Boston, MA, 2005. [13] Erol ¨ Oz¸ceki¸c, Sel¸cuk Kavut, and Hakan Kutucu. Genetic approach to improve cryptographic properties of balanced boolean functions using bent functions. Computers, 12:159, 08 2023. 199