Next Article in Journal
Medical Image Encryption: A Comprehensive Review
Next Article in Special Issue
Enhancing Data Security: A Cutting-Edge Approach Utilizing Protein Chains in Cryptography and Steganography
Previous Article in Journal
Downlink Power Allocation for CR-NOMA-Based Femtocell D2D Using Greedy Asynchronous Distributed Interference Avoidance Algorithm
Previous Article in Special Issue
Joining Federated Learning to Blockchain for Digital Forensics in IoT
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Genetic Approach to Improve Cryptographic Properties of Balanced Boolean Functions Using Bent Functions

1
Computer Technologies Department, Vocational School, Balıkesir University, 10145 Balıkesir, Turkey
2
Software Engineering Department, Faculty of Engineering, Karabük University, 78050 Karabük, Turkey
3
Computer Engineering Department, Faculty of Engineering, Balıkesir University, 10145 Balıkesir, Turkey
*
Author to whom correspondence should be addressed.
Computers 2023, 12(8), 159; https://doi.org/10.3390/computers12080159
Submission received: 15 July 2023 / Revised: 3 August 2023 / Accepted: 7 August 2023 / Published: 9 August 2023
(This article belongs to the Special Issue Using New Technologies on Cyber Security Solutions)

Abstract

:
Recently, balanced Boolean functions with an even number n of variables achieving very good autocorrelation properties have been obtained for 12 n 26 . These functions attain the maximum absolute value in the autocorrelation spectra (without considering the zero point) less than 2 n 2 and are found by using a heuristic search algorithm that is based on the design method of an infinite class of such functions for a higher number of variables. Here, we consider balanced Boolean functions that are closest to the bent functions in terms of the Hamming distance and perform a genetic algorithm efficiently aiming to optimize their cryptographic properties, which provides better absolute indicator values for all of those values of n for the first time. We also observe that among our results, the functions for 16 n 26 have nonlinearity greater than 2 n 1 2 n 2 . In the process, our search strategy produces balanced Boolean functions with the best-known nonlinearity for 8 n 16 .

1. Introduction

In symmetric cryptography, Boolean functions used in a cryptosystem are essential building blocks, and two of their most significant cryptographic properties are nonlinearity and an absolute indicator. Nonlinearity should be high to resist the best affine approximation attacks [1] (in the case of stream ciphers) and linear cryptanalysis [2] (in the case of block ciphers). On the other hand, it is important to achieve a low absolute indicator that, while providing resistance against differential and fault attacks (e.g., [3,4]) on stream ciphers, ensures good diffusion properties. For an even number of variables, optimal Boolean functions in terms of these two properties exist, and such functions are called bent [5,6]; however, since bent functions are not balanced, they cannot be directly used in a cryptosystem. Therefore, it is important to construct balanced Boolean functions with high nonlinearities and low absolute indicators.
Let us denote the maximum nonlinearity of a balanced n-variable Boolean function by nlb ( n ) . It has been conjectured [7] for an even n that nlb ( n ) can be at most 2 n 1 2 n 2 + nlb ( n 2 ) , which is still unsettled. In [7], this nonlinearity was achieved by making the all-zero block (of a length 2 n 2 ) of a normal bent function balanced, which indeed provides the minimum number ( 2 n 2 1 ) of bit changes necessary to make a bent function balanced. However, it is well-known that highly nonlinear Boolean functions exist with better absolute indicator values than those of the construction in [7]. In this direction, it was conjectured [8] for an even n that the maximum absolute indicator of a balanced Boolean function cannot be less than 2 n 2 . This conjecture was first disproved in [9] for n = 14 by utilizing a heuristic search method beginning with a randomly generated bent function as its starting function. Shortly after that, by performing a steepest-descent-like search method within the class of 10-variable rotation-symmetric Boolean functions, it was also disproved [10] for n = 10 . Apart from these two search results, theoretical constructions of balanced n-variable Boolean functions with an absolute indicator of less than 2 n 2 were obtained recently in [11,12] for n 46 ( n 2 mod 4 ) and for n 52 ( n 0 mod 4 ), respectively. By suitably modifying the underlying Boolean functions of the constructions in [11,12], specific examples for n = 18 , 22, and 26 are demonstrated in [11] and, subsequently, using the steepest-descent-like search method, these results are further improved in [12], which provides additional examples for n = 12 , 14, 16, 20, and 24. Informally speaking, the Boolean functions obtained in [11,12] are constructed by modifying two blocks (with a length of 2 n 2 + 1 bits) of Dillon’s bent function [5].
Evident from the above discussion, balanced Boolean functions with an even number of variables n achieving an absolute indicator of less than 2 n 2 are mostly generated by modifying the bent functions. Here, we perform a genetic algorithm that also exploits a bent function to generate such balanced Boolean functions; however, there are some subtle differences, as follows:
  • Our search is realized among the balanced Boolean functions that are at a distance with a length of 2 n 2 1 from a bent function, and, hence, compared to, e.g., [9], we do not need to seek to achieve the balancedness property during the search.
  • Though the Boolean functions generated from the construction in [7] have the same distance, our search strategy does not restrict the corresponding bit changes to a specific block of a bent function.
  • We do not impose the conditions of a theoretical construction (e.g., [11,12]); rather, our search is more generic, and its search space is all the balanced Boolean functions that are closest to a bent function in terms of the Hamming distance.
Here, we point out that for the balanced n-variable Boolean functions that we consider, a modified hill-climbing method was applied previously in [13] for n = 8 , 10 , and 12. In addition, for these numbers of variables, the bent functions were used in [14] to form the initial population of a hybrid genetic algorithm, which was exploited to construct balanced Boolean functions without restricting their distance to the bent functions. Our approach basically applies a global optimization algorithm to the search space used in [13] for even n [ 8 , 26 ] , which yields better cryptographic properties than those obtained in the related literature. More specifically, the absolute indicators that we find improve the best-known values for n 12 , and the Boolean functions with these absolute indicators achieve nonlinearity of greater than 2 n 1 2 n 2 for n 16 . Further, the best-known nonlinearities are obtained for n 16 .
Over the years, researchers have explored different metaheuristic techniques (such as local search, simulated annealing, particle swarm optimization, genetic algorithm, genetic programming, etc.) to design Boolean functions in various dimensions that satisfy multiple cryptographic properties. In the related literature, most of the works consider Boolean functions with numbers of the variables of up to at most 16, and the most commonly sought cryptographic properties to be optimized are balancedness, nonlinearity, and absolute indicator. We refer the reader to [15] and the references therein for a recent survey of metaheuristic algorithms for the design of cryptographic Boolean functions. In the following section, we give a brief background on the cryptographic properties of Boolean functions. For a comprehensive survey and discussion of Boolean functions, we like to refer the reader to [16,17]. Next, in Section 3, we describe the traditional genetic algorithm and present our search strategy, kee** the distance to a bent function unchanged during the search. The details of our search effort are given in Section 4, and then we draw our conclusions in Section 5.

2. Preliminaries

Let f : G F ( 2 ) n G F ( 2 ) be an n-variable Boolean function, which is usually defined by its truth table f = [ f ( 0 , , 0 , 0 ) , f ( 0 , , 0 , 1 ) , , f ( 1 , , 1 , 1 ) ] of a length 2 n . The Hamming weight w t ( f ) of a Boolean function f is the number of ones in its truth table, and the Hamming distance d ( f 1 , f 2 ) between two Boolean functions f 1 and f 2 , both with the same number of input variables, is the number of places for which f 1 and f 2 differ in their truth tables, i.e.,  d ( f 1 , f 2 ) = w t ( f 1 f 2 ) . If  w t ( f ) = 2 n 1 for an n-variable Boolean function f , then f is said to be balanced. A Boolean function f with input variables ( x 0 , x 1 , , x n 1 ) G F ( 2 ) n can be considered as a sum of the products (with all distinct orders) of the variables, i.e., it can be written as a multivariate polynomial over G F ( 2 ) :
u G F ( 2 ) n a u i = 0 n 1 x i u i ,
where the coefficients a u G F ( 2 ) . This representation is unique and called the algebraic normal form (ANF). The largest number of variables in the product terms with nonzero coefficients is called the algebraic degree of f and is denoted by d f . The Boolean functions in the form of g ( x ) = ω · x c , i.e., those with an algebraic degree of at most one, are referred to as affine functions, where c G F ( 2 ) , ω · x = ω 0 x 0 ω n x n is the inner product of x = ( x 0 , , x n 1 ) and ω = ( ω 0 , , ω n 1 ) G F ( 2 ) n . We denote the set of all n-variable affine functions by A n . An affine function is called a linear function if its constant term is equal to zero, and a Boolean function is called nonlinear if it is not affine.
The Walsh–Hadamard coefficients of an n-variable Boolean function f are the values of the integer-valued function over G F ( 2 ) n given by
W f ( ω ) = x G F ( 2 ) n ( 1 ) f ( x ) x · ω for all ω G F ( 2 ) n
and the multi-set { W f ( ω ) ω G F ( 2 ) n } , where ω runs through G F ( 2 ) n in lexicographic order, is called the Walsh–Hadamard spectrum of f. The nonlinearity N L f of f is defined as the minimum Hamming distance from all n-variable affine functions, i.e.,  N L f = min g A n d ( f , g ) . As the distance between f and the affine function g can be computed by using the corresponding Walsh–Hadamard coefficient W f ( ω ) , N L f can be expressed in terms of the maximum value in the absolute Walsh–Hadamard spectrum as follows:
N L f = 2 n 1 1 2 max ω G F ( 2 ) n W f ( ω ) .
The autocorrelation properties of a Boolean function are cryptographically important [8,18]. Let f be an n-variable Boolean function and d G F ( 2 ) n . The autocorrelation value of f with respect to d is given by r f ( d ) = x G F ( 2 ) n ( 1 ) f ( x ) f ( x d ) . The maximum absolute autocorrelation value, excluding r f ( 0 , , 0 ) , is known as the absolute indicator of f and denoted as
Δ f = max d G F ( 2 ) n , d ( 0 , , 0 ) r f ( d ) ,
which should be small to provide good diffusion properties.

3. Genetic Algorithm

The genetic algorithm (GA) [19], which is based on Darwin’s survival of the fittest principle, is the most widely applied evolutionary algorithm in optimization and search problems. The GA is based on the evolutionary process known as natural selection in which any parent, i.e., a pair of individuals, selected from a population produces an offspring. Mutations can occur in this process; however, after mutation, only the fittest individuals survive for the next generation. The general structure of the genetic algorithm used in our study is shown in Figure 1. The initial population in Figure 1 is composed of randomly generated balanced Boolean functions at the closest distance to a fixed bent function. The selection operation (using the elitism approach and the k-tournament mechanism) is applied to the initial population to create the parent population from which the offspring are generated using our crossover strategy given by Algorithm 1. In the elitism approach, the fittest individuals in a population, i.e., the balanced Boolean functions with the best fitness values, survive. In contrast, in the k-tournament method, the fittest one among randomly selected k individuals survives. For a Boolean function f, we use the cost function given in [10,20] as our fitness function here:
f i t n e s s f = ω G F ( 2 ) n W f ( ω ) 2 2 n 2 ,
which can be considered as a measure proportional to the sum of the squared spectrum deviations from that of a bent function.
Though any bent function can be used, we randomly select a Maiorana–McFarland (MM)-type bent function [21] from which the balanced Boolean functions are generated to form the initial population whose size is set to 1000 in our search. In our experiments, any bent function that we generate has a Hamming weight of 2 n 1 2 n 2 1 , i.e., the number of zeros is 2 n 2 more than the number of ones in its truth table. Next, we compute the fitness value of each individual within the initial population and then apply the elitism approach by selecting 100 of those with the best fitness values. Subsequently, out of the selected individuals, 40 are chosen as the parent population using the k-tournament method, where we take k = 3 .
After generating the parent population, the algorithm enters the generation loop, which begins with a crossover operation. There are various crossover methods, such as one-point, two-point, uniform, and partial fit, which are used to obtain the offspring from the parent population. Here, we utilize the uniform crossover as given by Algorithm 1 in which the offspring produced from the mating of any two individuals (belonging to the parent population) that are at a distance of 2 n 2 1 from an n-variable bent function keeps the same distance to that bent function. In Algorithm 1, the functions f, g, p 1 , and  p 2 represent the bent function, the offspring, the first individual, and the second individual, respectively. The algorithm starts by checking each pair of the bits (belonging to the same position) of p 1 and p 2 and assigns their value to the offspring if both are equal. Then, as given by the next two steps, any position at which the bent function f is zero and the first individual p 1 (the second individual p 2 ) is one is assigned to I 1 (resp., I 2 ). The crossover operation is completed by assigning 0 to the randomly selected half of the positions in J 1 J 2 , and 1 to the other half, where J 1 and J 2 are the sets formed by removing the positions belonging to both I 1 and I 2 from I 1 and I 2 , respectively. In the GA that we perform, the offspring is generated by using Algorithm 1 from each possible pair of individuals within the parent population. In other words, we take the crossover probability as one. It is to be noted that the offspring g is balanced and has the distance 2 n 2 1 to the bent function f.
Algorithm 1 Uniform crossover operation
Input:  f , p 1 , p 2
Output: g
1:
g ( x ) = p 1 ( x ) for all G F ( 2 ) n such that p 1 ( x ) = p 2 ( x )
2:
I 1 = { x G F ( 2 ) n : f ( x ) = 0 & p 1 ( x ) = 1 }
3:
I 2 = { x G F ( 2 ) n : f ( x ) = 0 & p 2 ( x ) = 1 }
4:
J 1 = I 1 \ ( I 1 I 2 )
5:
J 2 = I 2 \ ( I 1 I 2 )
6:
g ( x ) = 1 for all x J 1 J 2
7:
g ( x ) = 0 for a randomly selected half of the positions x J 1 J 2
The mutation is applied to the offspring obtained from the crossover in order to ensure diversity. It is realized by flip** a randomly chosen pair of 0 and 1 in the truth table of an offspring such that the bent function is 0 at the corresponding positions of these two bits, which implies that the distance (to the bent function) remains the same after the mutation operation. Since the search space grows super-exponentially as the value n of the variables increases, high mutation probabilities may hinder exploration near the parents. Therefore, in our search, the probability of any offspring being mutated is taken as 2 / 2 n , which decreases as n increases. The offspring obtained after the mutation operation are added to the parent population (selected previously from the initial population). Then, a new parent population is formed by applying the selection operation mentioned earlier to the current population.
As the last stage of the loop, to provide additional diversity to the parent population, we apply a resetting step that is a slightly modified version of the one suggested in [22]. An optional resetting step is applied in [22], which keeps the fittest individual and randomly generates the remainder of the parent population if there is no improvement in the best fitness value for a number of generations. Here, we apply the resetting step by considering the fitness values of all individuals in the parent population of each generation. More specifically, if those values are the same for a generation, then one of them is kept, and the other 39 individuals are generated by forming a new population of size 1000 randomly and then applying the selection operation to them. Moreover, in this step, the GA outputs the fittest individual within the parent population of the current generation. The loop continues until the stop** criterion is met, which is the maximum number of generations, and, throughout our experiments, it varies between 100 and 20,000.

3.1. Tuning Phase

The performance of the GA depends upon fine-tuning parameters, such as the size of the initial population, the size of the parent population, and the number of individuals selected from the initial population. We conduct a parameter-tuning phase for 8-, 10-, and 12-variable Boolean functions to determine the values (aforementioned in Section 3) of these parameters by performing a large number of experiments. More precisely, for each number of variables, we experiment with initial population sizes of 500, 1000, 1500, and 2000; parent population sizes of 20, 40, 60, and 80; and selection sizes of 50, 100, 150, and 200. After omitting the combinations for which the parent population size is greater than the selection size, there are 56 combinations left, and the parameter-tuning phase has a stop** criteria of 20,000 iterations for each combination. The set of the best-obtained parameters is used for all Boolean functions considered in this paper.
Since our aim is to optimize the nonlinearity of balanced Boolean functions, the combinations have been evaluated in terms of their corresponding nonlinearity results. Clearly, when a combination is evaluated in terms of the average value obtained, a bad solution can lead to the neglect of good solutions. Therefore, instead of average values, we consider the best values found to compare the combinations. For eight-variable Boolean functions, we observe that every combination of parameters reaches the best-known nonlinearity value of 116. For 10- and 12-variable cases, 11 and 4 combinations obtain the best-known nonlinearities of 492 and 2010, respectively. These combinations are given in Table 1, where a combination is represented by a triplet (initial population size, selection size, parent population size). As can be seen, the best nonlinearity value is achieved for all initial populations with sizes 500, 1000, 1500, and 2000 in the case of 10 variables and for initial populations with sizes 1000 and 2000 in the case of 12 variables. Since the population sizes of 1000 and 2000 provide the best nonlinearity value for both cases, we opted for the size of 1000. Looking at the parent population sizes, it is seen that the best nonlinearity value of 492 is obtained for 10-variable Boolean functions with parent population sizes 20 and 40, while for 12-variable Boolean functions, the best nonlinearity value of 2010 is obtained with a parent population size of 40. Hence, we chose the parent population size of 40, which yields the best nonlinearity value for both the 10- and 12-variable cases. Finally, since the best nonlinearity value is achieved with a selection size of 100 for both 10- and 12-variable scenarios, we chose the selection size to be 100.

3.2. Performance Evaluation

The choice of the fitness function, along with the tuning of the parameters, plays a crucial role in the performance of the GA and the quality of solutions. In literature, Clark’s cost/fitness function [23] is one of the most widely used ones for evolving Boolean functions; however, it has parameters that need to be tuned experimentally. As our fitness function ( f i t n e s s f given by Equation (5)) does not require any experimental parameter, here, we evaluate the performance of our algorithm using two different fitness functions (given below) that do not involve experimental parameters.
f i t n e s s f 1 = N L f
f i t n e s s f 2 = 1 2 4 n ω G F ( 2 ) n W f ( ω ) 4
While the fitness function f i t n e s s f 1 is simply the nonlinearity of f, the other fitness function f i t n e s s f 2 is Gowers second-order norm of f which, by comparing it with Clark’s fitness function, has been shown in [14] to be efficient for reaching the optimal solutions. In Figure 2, for the 8-, 10-, and 12-variable cases, the comparison results of the mentioned three fitness functions are presented in boxplot form. The boxplots shown in Figure 2a–c (Figure 2d–f) represent the nonlinearity (resp. the absolute indicator) distribution of 400,000 balanced Boolean functions generated by running the GA 20 times with 20,000 iterations each.
From Figure 2a, it is seen that, when f i t n e s s f or f i t n e s s f 2 is used, the boxplot distributions are the same, and the GA obtains nonlinearity values of 112, 114, and 116. Additionally, we observe that the GA with f i t n e s s f 1 does not produce the lowest nonlinearity (112) among them. Figure 2b shows that the GA with f i t n e s s f or f i t n e s s f 2 reaches the nonlinearity value of 492 (with the former one producing this nonlinearity more frequently), and the best-achieved nonlinearity by the GA with f i t n e s s f 1 is 488. In the case of 12 variables, as can be seen from Figure 2c, the boxplot distributions indicating that the highest achieved nonlinearity value is 2010 are the same for f i t n e s s f and f i t n e s s f 2 ; however, the best-achieved nonlinearity value is 2004 for f i t n e s s f 1 .
Considering the boxplot distributions in Figure 2d–f, we see that both f i t n e s s f and f i t n e s s f 2 provide the same boxplots with lowest absolute indicator values of 16 and 32 for the cases of 8- and 10-variable Boolean functions, respectively. In addition, we observe that f i t n e s s f and f i t n e s s f 2 outperforms f i t n e s s f 1 for the 10- and 12-variable cases by producing better absolute indicator values of 32 and 56, respectively. However, for the 8-variable case, the GA with f i t n e s s f 1 produces an absolute indicator value of 16 more frequently compared to the GA with f i t n e s s f or f i t n e s s f 2 , and, similarly, for the 12-variable case, the GA with f i t n e s s f produces an absolute indicator value of 56 more frequently compared to the GA with f i t n e s s f 2 .
From the boxplot distributions in Figure 2, one can infer that though the GA with f i t n e s s f provides more frequent generations of the nonlinearity value of 492 for the 10-variable case and the absolute indicator value of 56 for the 12-variable case, it exhibits a similar performance to the GA with f i t n e s s f 2 when we consider only the best-achieved results. Further, both of these generate better nonlinearity and absolute indicator values than the GA with f i t n e s s f 1 for the 10- and 12-variable cases.
The averages and standard deviations of the distributions of nonlinearity and absolute indicator values, which are represented with boxplots in Figure 2, are given in Table 2. As can be seen, for the cases of 10 and 12 variables, the average nonlinearity (absolute indicator) value obtained for f i t n e s s f is greater (resp. less) than that obtained for f i t n e s s f 2 . Additionally, compared to f i t n e s s f 2 , f i t n e s s f gives larger standard deviations for the nonlinearity and absolute indicator distributions. Therefore, for these cases, the statistical parameters provided by f i t n e s s f seem to be better than those provided by f i t n e s s f 2 . In the eight-variable case, for both nonlinearity and absolute indicator values, though the standard deviations corresponding to f i t n e s s f are larger than those corresponding to f i t n e s s f 2 , f i t n e s s f gives worse average values than f i t n e s s f 2 . When we consider the average nonlinearity (absolute indicator) values found for f i t n e s s f 1 , we observe that they are better (resp. worse) than the other averages of the nonlinearity (resp. absolute indicator) distributions. It should be noticed that since f i t n e s s f 1 gives very small standard deviations (with the exception of the distribution of the absolute indicator values in the eight-variable case), the nonlinearity and absolute indicator values reached by f i t n e s s f or f i t n e s s f 2 can be seen as less likely to be achieved with f i t n e s s f 1 .

4. Search Effort

The GA explained in the section above is performed by setting the experimental parameter values as summarized in Table 3. The computer system that we utilize has the following specifications: Intel® Core™ i5-9400F CPU (2.9 GHz, 9 MB cache, 6 cores), 16 GB RAM, and Windows 10 Pro 64-bit operating system. The GA is implemented in C programming language, and the typical consumed times for 100 generations are given in Table 4 for all the values of n of the variables we consider. We used 20 computers (each with the given specification) that work with all of the cores for about six months to obtain our results. All truth tables of our best-achived results can be found in [24]. Among them, we have provided the truth tables of the Boolean functions with numbers of the variables 8, 10, and 12 in Appendix A.
Clearly, the number N balanced ( n ) of the balanced n-variable Boolean functions generated by flip** 2 n 2 1 bits of a single bent function is 2 n 1 + 2 n 2 1 2 n 2 1 , which is computed as given in Table 4. Let N bent ( n ) be the number of n-variable bent functions. We know from [25] that N bent ( 8 ) = 99 , 270 , 589 , 265 , 934 , 370 , 305 , 785 , 861 , 242 , 880 ( 2 106 ), and it is unknown for n > 8 . Then, the search space is of the size N bent ( n ) × 2 n 1 + 2 n 2 1 2 n 2 1 , which gives 2 147 in the case of n = 8 .
To better understand the efficiency of our search strategy, let us consider in particular the case of eight-variable Boolean functions. Using an exhaustive search, we enumerate all balanced Boolean functions with the best possible nonlinearity obtained from a randomly selected MM-type bent function f whose truth table is given as follows using hexadecimal notation:  
3C3C5A5A33CC669900000FF066665AA5 0F0F3CC3696933336996555555AA00FF
As a result, we find that the number of those balanced functions is 6,346,334,872, and their classification is given in Table 5, where the cryptographic properties are denoted by the triplet (nonlinearity; absolute indicator; algebraic degree). As can be seen from Table 5, the best possible profile is ( 116 ; 16 ; 7 ) , and there are 34,336 balanced Boolean functions with that profile. Noting that lim z 1 1 / z z = 1 / e , one may obtain such a function in approximately 136 8 / 34 , 336 ( > 2 26 ) trials in a random search with a probability of 1 1 / e ( > 1 / 2 ) . We then perform the GA by using the bent function f (to form the initial population) and setting the maximum number of generations to 20,000. In 50 runs, we observe that 4 of the 10 6 ( = 20 , 000 × 50 < 2 20 ) generation outputs have the best profile, which shows the superiority of our method over a random search.
We now construct, as an example, a balanced eight-variable Boolean function with nonlinearity 116, absolute indicator 16, and algebraic degree 7. Let ω ( x ) = ω · x , for all x G F ( 2 ) 4 , be a linear function determined by ω G F ( 2 ) 4 , and let f = [ ω ( 1 ) ω ( 2 ) ω ( 16 ) ] be an MM-type bent function that can be seen as a concatenation of the distinct linear functions determined by ω ( 1 ) , ω ( 2 ) , , ω ( 16 ) . Consider the bent function f formed by the linear functions ω ( i ) corresponding to the ω ( i ) vectors, i = 1 , 2 , , 16 , given in Table 6. Flip** the eight bits ω ( 5 ) ( 1 , 0 , 1 , 0 ) , ω ( 5 ) ( 1 , 1 , 1 , 1 ) , ω ( 6 ) ( 0 , 0 , 0 , 0 ) , ω ( 6 ) ( 1 , 1 , 0 , 0 ) , ω ( 16 ) ( 0 , 1 , 0 , 0 ) , ω ( 16 ) ( 0 , 1 , 0 , 1 ) , ω ( 16 ) ( 0 , 1 , 1 , 0 ) , and  ω ( 16 ) ( 0 , 1 , 1 , 1 ) of the bent function f yields the balanced eight-variable Boolean function with the profile (116; 16; 7).

5. Conclusions

In Table 7, denoting the cryptographic properties by the triplet (nonlinearity; absolute indicator; algebraic degree), we summarize and compare our best-achieved results with the present best results in [9,10,11,12] for even n [ 8 , 26 ] . As can be seen, by applying the GA to the balanced n-variable Boolean functions produced by flip** the minimum number ( 2 n 2 1 ) of bits of a bent function, we can achieve better absolute indicators (less than 2 n 2 ), which were unknown before, for all n = 12 , 14 , , 26 . In addition, we find that the corresponding nonlinearity values exceed 2 n 1 2 n 2 for n = 16 , 18 , , 26 . The results also demonstrate examples of balanced Boolean functions with the best-known nonlinearity that are at the closest distance to a bent function for n = 8 , 10 , , 16 . To the best of our knowledge, there is no nontrivial lower bound on the absolute indicator values, and we only know that the absolute indicator of a balanced Boolean function can be as low as eight. Hence, though the results given in Table 7 improve the absolute indicator values in [12], it is quite possible that one can achieve further improvements with sufficient computational power, especially for a large number of variables. On the other hand, as a long-standing open problem, it is still unknown whether there exists a balanced Boolean function with an even number n of variables that achieves nonlinearity of greater than 2 n 1 2 n 2 + nlb ( n 2 ) for n 8 , and, hence, it seems elusive to achieve this nonlinearity. For instance, it is unknown whether there exists a balanced eight-variable Boolean function with nonlinearity of 118.
Here, we mainly consider two of the most important cryptographic properties of balanced Boolean functions, which are nonlinearity and the absolute indicator. It should be noted that in order for a Boolean function to be used in a cryptosystem, one should also consider the other cryptographic properties, such as resiliency, algebraic immunity, and fast algebraic immunity. We think that it is possible to exploit our search strategy to optimize these properties as well by increasing the distance to the bent functions and designing the fitness function accordingly. However, since there is a trade-off among those cryptographic properties and improving one property may lead to the deterioration of another property, it seems quite probable to deterioriate our best-found cryptographic properties in Table 7 while optimizing the other cryptographic properties. For instance, when compared to [26], where two classes of one-resilient Boolean functions with the best-known absolute indicator values are constructed, one can see that the absolute indicator values presented in Table 7 are better.

Author Contributions

Conceptualization, H.K. and S.K.; methodology, H.K. and S.K.; software, E.Ö. and S.K.; validation, E.Ö., S.K. and H.K.; formal analysis, H.K. and S.K.; investigation, E.Ö., S.K. and H.K.; resources, E.Ö. and S.K.; data curation, E.Ö. and S.K.; writing—original draft preparation, E.Ö., S.K. and H.K.; writing—review and editing, E.Ö. and S.K.; visualization, E.Ö.; supervision, H.K. and S.K.; project administration, H.K. and S.K.; funding acquisition, E.Ö., S.K. and H.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The programming code supporting the results presented in this manuscript is available in the GitHub repository, https://github.com/Selcuk-kripto/imp_AC (accessed on 8 August 2023).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

For 8, 10, and 12 variables, we provide the truth tables of the balanced Boolean functions with the cryptographic properties in Table 7. All truth tables for our results given in this paper are available at [24].
( 116 ; 16 ; 7 ) :
3C3C5A5A33CC669900218FF866665AA50F0F3CC3696933336996555555AA0FFF
( 480 ; 24 ; 6 ) :
3C3C3C3C79699696555555555AB5A55A333333330F0F0F1F5A5A5A5A33CCDC33
4F0FF0F0669966993373CCCC00FF00FF0FF0F04F55AA55AA3CC37CC30FF00FF0
696969696E6666660000FFFF699E69965AA55AA555AAAA5D00FFFF0069969E69
020000003C3CC3C35557AAAA666699995A5AA5A73CC3C33C66999B6633CC33CC
( 492 ; 40 ; 9 ) :
0000FFFF55AA55AA00FF00FF0F0F0F0F33333333555555555AA55AA566996699
00FFFF00060080003333CCCC0FF00FF055AAAA5566E6F9995555AAAA66999966
3CC33CC32FF4F99F696969693CC3C33C3C3C3C3C79976BD65A5AA5A533CCCC33
696996960F0FF0F06996966933CC33CC5A5A5A5A3C3CC3C3666666665AA5A55A
( 1984 ; 40 ; 7 ) :
6666666666766666555555555555755555AAAA55AA5555AA6969696969696969
5555AAAA5555AAAA0F0FF0F0F0F00F0F55AAAA5555AABA550FF00FF0F02FF00F
666799999999666633CCCE3333CCCC333333CCCC3333CCCC00FF00FFFF00FF00
00FFFF00FF0000FF33CC33CC33CC33CC3333CDCCCCCC33330002000000000000
0FF0F00F0FF0F08F3C3CC3C37C3CC3C35AA55AA5A55AA55A5A5AA5A5A5A55A5A
69699696969669693C3C3C3C3C3C3C3C69969669E996966900FFFF0000FFFF40
6699996E996666996D9669966996699600000000FFFFFFFF0F0F0F0FF0F0F0F0
3CC3C33C3CC3C33C69966996966996695D555555AAAAAAAA5555AAAEAAAA5555
3CC33CC33CC33CD35A5A5A5A7A5A5A5A3CC33CC3C33CC33C6666666699999999
699696699669699633333333CCCCCCCC0FF00FF01FF00FF069699696696996B6
5AA5A55BA55A5AA56B696969969696963C3C3C3CC3C3C3C30000FFFF0000FFFF
5A5AA5A55A5AA5A566996699996699660100FFFFFFFF00006699669B66996699
0F0F0F0F0F8F0F0F33CCCC33CC3373CC3C3CC3C3C3C33C3C55AA55AA55AA55AA
66669999666699990F0FF0F00F0FF0F000FF00FF00FF80FF3333333333733333
5AAD5AA55AA55AA566999D66669999660FF0F00FF00F0FF03CC3C33CC33C3CC3
33CC33CCCC33CC335A5A5A5AA5A5A5A55AA5AD5A5AA5A55A55AE55AAAA55AA55
( 1984 ; 48 ; 11 ) :
0F0FF0F0F0F02F0F696969696969696933CCCC33CC3337CC0FF0F00FF00F0FF0
3CC3C33CCB3C3CC30F0FF0F00F0FF0F055555555BAAAAAAA0FF00FF00FF00FF0
666699B99999666600FF00FF00FF00FF5555AAAE5555AAAA3C3C3C3CC3C3C3C3
0008FFFF0000FFFF3333CCCCCCCC33335AB5A55A5AA5A55A00FF00FFFF00FF00
01FFFF00FF0000FF0FF0F00F0FF0F00FDAA55AA5A55AA55A6996966969969669
6699D9669966669933CC33CC33CC33CC5AA5A75AA55A5AA55A5A5A5A5A5A5A5A
66666666666766663CC3C33C3CC3C33C3CC33CC3C3BCC33C3C3CC3C33C3CC3C3
66669999666699D90FF00FF0F00FF00F5555AAAAAAAA555700FFFF0000FFFF00
55AAAA55AA5555AA7C3C3C3C3C3C3C3C66996699669966996B69969696966969
5A5A5A5AA5A5A5A55AA55BA55AA55AA533CC33CCCC33CC333333333333333333
0F0F0F0FF0F0F0F06666666699D9999955555555555555555B5AA5A5A5A75A5A
699669969669966969699696696996975A5AA5A55A5AA5A566999966669999E6
6996966996696996000000000000080033CCCC3333CCCC330000FFFFFFFF1000
55AA55AAAA55AA5566996699B966996633333333CCCCCCCC699669966D966996
00000000FFFFFFFF55AAAA5D55AAAA553333CCCC3333CCCC3C3CC3D3C3C33C3C
69696969969696960F2F0F0F0F0F0F0F3CC33CC33CC33CC355AE55AA55AA55AA
( 2010 ; 80 ; 11 ) :
0F0FF0F00F0FF0F000000000FFFFFFFF33333333CCCCCCCC5AA55AA5A55AA55A
33F7CCFE3733FDCC333333333333333333FCCC7BEC33FBCC3C3CC3C33C3CC3C3
0FF0F00FF00F0FF00F0F0F0FF0F0F0F069699696696996966996966996696996
33CCCC3333CCCC333C3C3C3CC3C3C3C30F0FF0F0F0F00F0F00FFFF0000FFFF00
55555555AAAAAAAA5AA55AA55AA55AA55A5A5A5A5A5A5A5A6996699696699669
0FF0F00F0FF0F00F3C3C3C3C3C3C3C3C5555AAAAAAAA555500FF00FF00FF00FF
666666669999999955AAAA55AA5555AA5A5AA5A5A5A55A5A3CC3C33CC33C3CC3
6996966969969669666666666666666655AA55AAAA55AA555A5A5A5AA5A5A5A5
5AA5A55A5AA5A55A0FF00FF0F00FF00F00FFFF00FF0000FF3C3CC3C3C3C33C3C
69699696969669690000FFFF0000FFFF69696969969696965A5AA5A55A5AA5A5
33CC33CC33CC33CC666699996666999966999966996666993CC3C33C3CC3C33C
66999966669999665555AAAA5555AAAA3333CCCCCCCC333333CC33CCCC33CC33
5AA5A55AA55A5AA566996699996699660000FFFFFFFF00005555555555555555
8CFF21FFFF00FF2355AAAA5555AAAA5520000800003100806666999999996666
69696969696969690F0F0F0F0F0F0F0F3CC33CC33CC33CC355AA55AA55AA55AA
3CC33CC3C33CC33C66996699669966990FF00FF00FF00FF06996699669966996

References

  1. Ding, C.; **ao, G.; Shan, W. The Stability Theory of Stream Ciphers; Springer: Berlin/Heidelberg, Germany, 1991. [Google Scholar]
  2. Matsui, M. Linear cryptanalysis method for DES cipher. In Proceedings of the Eurocrypt’93, Lofthus, Norway, 23–27 May 1993; Springer: Berlin/Heidelberg, Germany, 1994. LNCS. Volume 765, pp. 386–397. [Google Scholar]
  3. Aumasson, J.-P.; Fischer, S.; Khazaei, S.; Meier, W.; Rechberger, C. New features of Latin dances: Analysis of Salsa, ChaCha, and Rumba. In Proceedings of the Fast Software Encryption, Lausanne, Switzerland, 10–13 February 2008; Springer: Berlin/Heidelberg, Germany, 2008. LNCS. Volume 5086, pp. 470–488. [Google Scholar]
  4. Banik, S.; Maitra, S.; Sarkar, S. A differential fault attack on the Grain family of stream ciphers. In Proceedings of the Cryptographic Hardware and Embedded Systems, Leuven, Belgium, 9–12 September 2012; Springer: Berlin/Heidelberg, Germany, 2012. LNCS. Volume 7428, pp. 122–139. [Google Scholar]
  5. Dillon, J.F. Elementary Hadamard Difference Sets. Ph.D. Dissertation, University of Maryland, College Park, MD, USA, 1974. [Google Scholar]
  6. Rothaus, O.S. On “bent” functions. J. Combin. Theory Ser. A 1976, 20, 300–305. [Google Scholar] [CrossRef] [Green Version]
  7. Dobbertin, H. Construction of bent functions and balanced Boolean functions with high nonlinearity. In Proceedings of the Fast Software Encryption, Leuven, Belgium, 14–16 December 1994; Springer: Berlin/Heidelberg, Germany, 1995. LNCS. Volume 1008, pp. 61–74. [Google Scholar]
  8. Zhang, X.M.; Zheng, Y. GAC—The criterion for global avalanche characteristics of cryptographic functions. J. Univers. Comp. Sci. 1995, 1, 316–333. [Google Scholar]
  9. Burnett, L.; Millan, W.; Dawson, E.; Clark, A. Simpler methods for generating better Boolean functions with good cryptographic properties. Aust. J. Comb. 2004, 29, 231–248. [Google Scholar]
  10. Kavut, S.; Maitra, S.; Yücel, M.D. Search for Boolean Functions With Excellent Profiles in the Rotation Symmetric Class. IEEE Trans. Inf. Theory 2007, 53, 1743–1751. [Google Scholar] [CrossRef]
  11. Tang, D.; Maitra, S. Construction of n-variable (n ≡ 2 mod 4) balanced Boolean functions with maximum absolute value in autocorrelation spectra < 2 n 2 . IEEE Trans. Inf. Theory 2018, 64, 393–402. [Google Scholar]
  12. Kavut, S.; Maitra, S.; Tang, D. Construction and search of balanced Boolean functions on even number of variables towards excellent autocorrelation profile. Des. Codes Cryptogr. 2019, 87, 261–276. [Google Scholar] [CrossRef]
  13. Izbenko, Y.; Kovtun, V.; Kuznetsov, A. The design of Boolean functions by modified hill climbing method. In Proceedings of the Sixth International Conference on Information Technology: New Generations, Las Vegas, NV, USA, 27–29 April 2009; IEEE: Manhattan, NY, USA, 2009; pp. 356–361. [Google Scholar]
  14. Behera, P.K.; Gangopadhyay, S. An improved hybrid genetic algorithm to construct balanced Boolean function with optimal cryptographic properties. Evol. Intel. 2022, 15, 639–653. [Google Scholar] [CrossRef]
  15. Djurasevic, M.; Jakobovic, D.; Mariot, L.; Picek, S. A survey of metaheuristic algorithms for the design of cryptographic Boolean functions. Cryptogr. Commun. 2023. [Google Scholar] [CrossRef]
  16. Carlet, C. Boolean Functions for Cryptography and Error Correcting Codes; Cambridge University Press: Cambridge, UK, 2021. [Google Scholar]
  17. Cusick, T.W.; Stănică, P. Cryptographic Boolean Functions and Applications; Elsevier: Amsterdam, The Netherlands; Academic Press: Cambridge, MA, USA, 2009. [Google Scholar]
  18. Preneel, B.; Leekwijck, W.V.; Linden, L.V.; Govaerts, R.; Vandewalle, J. Propagation characteristics of Boolean functions. In Proceedings of the Eurocrypt’90, Aarhus, Denmark, 21–24 May 1990; Springer: Berlin/Heidelberg, Germany, 1991. LNCS. Volume 473, pp. 161–173. [Google Scholar]
  19. Holland, J.H. Adaptation in Natural and Artificial Systems; University of Michigan Press: Ann Arbor, MI, USA, 1975. [Google Scholar]
  20. Kavut, S.; Yücel, M.D. Improved cost function in the design of Boolean functions satisfying multiple criteria. In Proceedings of the Indocrypt’03, New Delhi, India, 8–10 December 2003; Springer: Berlin/Heidelberg, Germany, 2003. LNCS. Volume 2904, pp. 121–134. [Google Scholar]
  21. McFarland, R.L. A family of noncyclic difference sets. J. Combin. Theory Ser. A 1973, 15, 1–10. [Google Scholar] [CrossRef] [Green Version]
  22. Millan, W.; Clark, A.; Dawson, E. Heuristic design of cryptographically strong balanced Boolean functions. In Proceedings of the Eurocrypt’98, Espoo, Finland, 31 May–4 June 1998; Springer: Berlin/Heidelberg, Germany, 1998. LNCS. Volume 1403, pp. 489–499. [Google Scholar]
  23. Clark, J.A.; Jacob, J.L.; Stepney, S.; Maitra, S.; Millan, W. Evolving Boolean functions satisfying multiple criteria. In Proceedings of the Indocrypt 2002, Hyderabad, India, 16–18 December 2002; Springer: Berlin/Heidelberg, Germany, 2002. LNCS. Volume 2551, pp. 246–259. [Google Scholar]
  24. Balanced Boolean Functions on Even Number of Variables Achieving Absolute Indicator Less Than 2n/2. Available online: https://github.com/Selcuk-kripto/imp_AC (accessed on 14 July 2023).
  25. Langevin, P.; Leander, G. Counting all bent functions in dimension eight 99270589265934370305785861242880. Des. Codes Cryptogr. 2011, 59, 193–205. [Google Scholar] [CrossRef]
  26. Li, Y.; Kan, H.; Peng, J.; Tan, C.H. SAO 1-resilient functions with lower absolute indicator in even variables. IEEE Access 2020, 8, 222377–222384. [Google Scholar] [CrossRef]
Figure 1. Genetic algorithm structure.
Figure 1. Genetic algorithm structure.
Computers 12 00159 g001
Figure 2. Boxplot distributions produced by different cost functions for 8-, 10, and 12-variable Boolean functions, where (ac) [(df)] show nonlinearity (resp. absolute indicator) distributions, respectively.
Figure 2. Boxplot distributions produced by different cost functions for 8-, 10, and 12-variable Boolean functions, where (ac) [(df)] show nonlinearity (resp. absolute indicator) distributions, respectively.
Computers 12 00159 g002
Table 1. The combinations yielding the best-known nonlinearities for 10- and 12-variable Boolean functions, where a combination is represented by the triplet (initial population size, selection size, parent population size).
Table 1. The combinations yielding the best-known nonlinearities for 10- and 12-variable Boolean functions, where a combination is represented by the triplet (initial population size, selection size, parent population size).
# of VariablesCombinations
10(500,100,20) (500,100,60)
(1000,50,20) (1000,100,40) (1000,200,40)
(1500,100,20) (1500,150,80) (1500,200,40)
(2000,50,20) (2000,100,20) (2000,100,40)
12(1000,100,40) (1000,150,40)
(2000,100,60) (2000,200,40)
Table 2. The averages ( μ ) and standard deviations ( σ ) of the boxplot distributions (given in in Figure 2) of (a) nonlinearity values and (b) absolute indicator values for n-variable Boolean functions, where n = 8 , 10 , and 12.
Table 2. The averages ( μ ) and standard deviations ( σ ) of the boxplot distributions (given in in Figure 2) of (a) nonlinearity values and (b) absolute indicator values for n-variable Boolean functions, where n = 8 , 10 , and 12.
(a)
n = 8 n = 10 n = 12
f i t n e s s f μ 115.2670 483.4514 1987.4868
σ 1.4142 4.8963 7.0278
f i t n e s s f 1 μ 115.9977 487.8096 2000.1845
σ 0.0684 0.5870 0.5789
f i t n e s s f 2 μ 115.3356 482.5152 1986.9790
σ 1.3560 4.3490 6.1503
(b)
n = 8 n = 10 n = 12
f i t n e s s f μ 24.6387 43.6811 76.0864
σ 2.1718 5.2957 12.6712
f i t n e s s f 1 μ 27.8896 49.7244 81.5849
σ 3.9986 4.3848 6.3888
f i t n e s s f 2 μ 24.6021 43.6920 76.1885
σ 2.1139 4.9239 11.1301
Table 3. Experimental parameter values.
Table 3. Experimental parameter values.
ParameterValue
Initial population size1000
Number of individuals left after the elitisim approach100
Number of individuals participating in the tournament (k)3
Parent population size40
Crossover probability1
Mutation probability (n is the number of input variables) 2 / 2 n
Maximum number of generations100 to 20,000
Table 4. Consumed times for 100 generations and # of balanced functions.
Table 4. Consumed times for 100 generations and # of balanced functions.
nConsumed Time N balanced ( n )
83 s 2 41
105 s 2 100
1210 s 2 234
1432 s 2 536
161 min 52 s 2 1204
187 min 33 s 2 2668
2034 min 56 s 2 5853
222 h 37 min 52 s 2 12 , 735
2414 h 18 min 10 s 2 27 , 524
261 d 18 h 50 min 36 s 2 59 , 150
Table 5. Classification of balanced Boolean functions with nonlinearity 116 in the neighborhood of the bent function f.
Table 5. Classification of balanced Boolean functions with nonlinearity 116 in the neighborhood of the bent function f.
( NL f ; Δ f ; d f ) #
( 116 , 16 , 6 ) 22,720
( 116 ; 16 ; 7 ) 34,336
( 116 ; 24 ; 6 ) 1,006,138,800
( 116 ; 24 ; 7 ) 1,906,929,536
( 116 ; 32 ; 6 ) 2,090,955,784
( 116 ; 32 ; 7 ) 1,342,253,696
Table 6. The ω ( i ) vectors to generate the bent function f.
Table 6. The ω ( i ) vectors to generate the bent function f.
ω ( 1 ) = ( 0 , 1 , 1 , 0 ) ω ( 5 ) = ( 0 , 0 , 0 , 0 ) ω ( 9 ) = ( 0 , 1 , 0 , 0 ) ω ( 13 ) = ( 1 , 1 , 1 , 1 )
ω ( 2 ) = ( 0 , 1 , 0 , 1 ) ω ( 6 ) = ( 1 , 1 , 0 , 0 ) ω ( 10 ) = ( 1 , 1 , 1 , 0 ) ω ( 14 ) = ( 0 , 0 , 0 , 1 )
ω ( 3 ) = ( 1 , 0 , 1 , 0 ) ω ( 7 ) = ( 0 , 0 , 1 , 1 ) ω ( 11 ) = ( 0 , 1 , 1 , 1 ) ω ( 15 ) = ( 1 , 0 , 0 , 1 )
ω ( 4 ) = ( 1 , 0 , 1 , 1 ) ω ( 8 ) = ( 1 , 1 , 0 , 1 ) ω ( 12 ) = ( 0 , 0 , 1 , 0 ) ω ( 16 ) = ( 1 , 0 , 0 , 0 )
Table 7. Comparison of our best-achieved profiles with those in the literature, where the profile of f is defined as the triplet ( N L f ; Δ f ; d f ).
Table 7. Comparison of our best-achieved profiles with those in the literature, where the profile of f is defined as the triplet ( N L f ; Δ f ; d f ).
Reference n = 8 n = 10 n = 12 n = 14
[9] ( 116 ; 16 ; 7 ) ( 488 ; 40 ; 9 ) ( 2002 ; 64 ; 11 ) ( 8102 ; 104 ; 13 )
( 8104 ; 112 ; 13 )
 [10] ( 488 ; 24 ; 9 )
 [12] ( 1996 ; 56 ; 11 ) ( 8106 ; 96 ; 13 )
 [13] ( 116 ; 24 ; 7 ) ( 488 ; 40 ; 9 ) ( 2002 ; 72 ; 11 )
 [14] ( 116 ; 24 ; ) ( 488 ; 40 ; ) ( 2002 ; 72 ; )
Our results ( 116 ; 16 ; 7 ) ( 480 ; 24 ; 6 )
( 492 ; 40 ; 9 )
( 1984 ; 40 ; 7 )
( 1984 ; 48 ; 11 )
( 2010 ; 80 ; 11 )
( 8064 ; 88 ; 13 )
( 8064 ; 88 ; 13 )
( 8120 ; 144 ; 12 )
Reference n = 16 n = 18 n = 20
 [11]-(130,664; 480; 17)-
 [12](32,604; 160; 15)(130,762; 312; 17)(523,688; 600; 19)
Our results(32,516; 152; 15)
(32,628; 288; 14)
(130,752; 256; 17)(523,676; 400; 19)
Reference n = 22 n = 24 n = 26
 [11](2,095,484; 1880; 21)-(33,547,436; 7856; 25)
 [12](2,096,020; 1224; 21)(8,386,392; 2360; 23)(33,550,064; 4584; 25)
Our results(2,095,958; 592; 21)(8,386,318; 904; 23)(33,549,996; 1360; 25)
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Özçekiç, E.; Kavut, S.; Kutucu, H. Genetic Approach to Improve Cryptographic Properties of Balanced Boolean Functions Using Bent Functions. Computers 2023, 12, 159. https://doi.org/10.3390/computers12080159

AMA Style

Özçekiç E, Kavut S, Kutucu H. Genetic Approach to Improve Cryptographic Properties of Balanced Boolean Functions Using Bent Functions. Computers. 2023; 12(8):159. https://doi.org/10.3390/computers12080159

Chicago/Turabian Style

Özçekiç, Erol, Selçuk Kavut, and Hakan Kutucu. 2023. "Genetic Approach to Improve Cryptographic Properties of Balanced Boolean Functions Using Bent Functions" Computers 12, no. 8: 159. https://doi.org/10.3390/computers12080159

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop