A New S-Box Generation Method and Advanced Design Based on Combined Chaotic System

: The construction of substitute box (S-box) has always been an important research direction in cryptography. This paper proposes a new S-box generation method and advanced design based on combined chaotic system. Firstly, our paper proposes a new combined chaotic system and analyze its dynamic behavior. Next, we construct S-box by combining the generated pseudo-random sequence with the linear congruence random number generator, and the standard mapping is introduced to scramble the initial S-box. Then, the S-box optimization method based on advanced genetic algorithm is proposed in this paper. We design adaptive of S-box coding, selection operator, crossover operator and mutation operator to avoid the shortcomings of low calculation efficiency and non-convergence of optimization results in traditional genetic algorithm. Finally, through a lot of security analysis experiments and comparison with other papers, the optimized S-box has better cryptography characteristics and can resist linear attacks and differential attacks.

The purpose of our study was not to focus on how to design cryptographic algorithm, we aimed to propose the method to construct and optimize the S-box. One advantage of our study is that the criteria can reflect the performance of S-box, another advantage is that the optimization S-box can be applied in any block cipher algorithms. The main contributions are as follows: • Our paper proposes a new combined chaotic system and analyzes its dynamic behavior.

•
We construct S-Box by combining the generated pseudo-random sequence with the linear congruence random number generator, and the standard mapping is introduced to scramble the initial S-box. • The S-box optimization method based on advanced genetic algorithm is proposed in this paper.

•
Through a lot of security analysis experiment and comparison with other papers, the optimized S-box has better cryptography characteristics and can resist linear attacks and differential attacks.
Therefore, this paper proposes a new combined chaotic system and the S-boxes construction method. We design self-adaptive processing of multiple operators in general genetic algorithm to optimize performances of the S-boxes. Through a lot of security analysis experiments and comparison with other papers, the optimized S-box has better cryptography characteristics and can resist linear attacks and differential attacks.
The remaining part of this paper is organized as follows. In Section 2, we have listed some review related to construction and optimization of S-box. The new combined chaotic system is proposed in Section 3, and analyzes its dynamic behavior. Section 4 introduces the method of S-box generation based on combined chaotic system. In Section 5, we propose an advanced genetic algorithm to optimize the S-Box. In Section 6, we evaluate the proposed S-box by a lot of security analysis experiments and comparison with other papers. In Section 7, we have a comprehensive analysis of the advantage of the proposed method. Finally, we present the conclusion in Section 8.

Review of S-Box
In recent years, many methods of S-box construction have been proposed. Tian [6] designed a chaotic S-box based on the intertwining logistic map and bacterial foraging optimization. Ahmed [7] proposed an S-box using Gaussian distribution and linear fractional transform based on the BoxMuller transform, polarization decision and central limit algorithm. Khan [8] proposed a systematic design methodology to generate a chaotic S-box using difference distribution table. Isa [9] proposed a heuristic method called the bee waggle dance for designing of S-box. Rafip [10] proposed an innovative scheme of S-box based on the action of projective linear groups on the projective line and the permutation triangle groups. Ahmad [11] proposed an S-box based on artificial bee colony optimization and the chaotic map. Grosso [12] proposed an innovative design of S-boxes using cubic polynomial mapping. Shahzad [13] proposed a method for obtaining random bijective S-boxes based on improved one-dimensional discrete chaotic map. Khan [7] proposed an S-box construction algorithm based on Gaussian distribution, linear fractional transformation and center restriction algorithm; Asif [8] proposed an S-box construction algorithm based on differential distribution table; Ullah [14] proposed an S-box construction algorithm based on box linear fractional transformation of chaotic system; Belazi and El-Latif [15] proposed a simple S-box generation algorithm based on sine chaotic map. Khan [7] proposed an S-box using Gaussian distribution and linear fractional transform, which is constructed by employing a linear fractional transform based on the BoxâASMuller transform, polarization decision and central limit algorithm. Rafifiq [10] developed an innovative scheme of S-box based on the action of projective linear groups on the projective line, and the permutation triangle groups. Zahid [12] proposed an innovative design of S-boxes using cubic polynomial mapping, the use of cubic polynomial maintains the simplicity of the S-box construction method.

Review of Genetic Algorithm
The linear probability (LP) and differential probability (DP) of the normal method are not good, and the ability to resist linear and differential attacks is not ideal. In addition, many scholars turned their attention to some mathematical intelligent algorithms. For example, Guesmi et al. [16] proposed an S-box optimization method based on genetic algorithm, and optimized the generated S-box with nonlinearity as the fitness value; Ilvanov et al. [17] proposed an S-box construction and optimization algorithm based on the genetic algorithm of reverse work, which can quickly generate multi-dimensional bijective S-boxes. Wang et al. [18] proposed an 8 × 8 S-box design scheme based on chaos mapping and genetic algorithm, which turned the construction of S-boxes into a traveling salesman problem. Through this method makes full use of the characteristics of chaotic mapping and evolution process, a better performance S-box is obtained. However, there are some problems in the application of this genetic algorithm, such as the low efficiency of calculation and the non-convergence of optimization results, which lead to the low performance of the optimized S-boxes.

Chaotic System Analysis
There are two one-dimensional chaotic maps. Equation (1) is called as logistic map, where x n−1 is a state variable, k ∈ (0, 4] is a control parameter and n is the number of iterations. The bifurcation diagram and Lyapunov exponent of Equation (1) are shown in Figure 1a,b. Sine map is showed as Equation (2). k ∈ (0, 4] is a control parameter, The bifurcation diagram and Lyapunov exponent of Equation (1) are shown in Figure 1c,d. We can find that the ergodicity is not good and there exist some periodic windows of logistic map and sine map, their Lyapunov exponent are low, none of them is more than 1, which shows that the above two chaotic systems are defective and chaotic dynamic behavior can be improved.

Review of Genetic Algorithm
The linear probability (LP) and differential probability (DP) of the normal method are not good, and the ability to resist linear and differential attacks is not ideal. In addition, many scholars turned their attention to some mathematical intelligent algorithms. For example, Guesmi et al. [16] proposed an S-box optimization method based on genetic algorithm, and optimized the generated S-box with nonlinearity as the fitness value; Ilvanov et al. [17] proposed an S-box construction and optimization algorithm based on the genetic algorithm of reverse work, which can quickly generate multidimensional bijective S-boxes. Wang et al. [18] proposed an 8 × 8 S-box design scheme based on chaos mapping and genetic algorithm, which turned the construction of S-boxes into a traveling salesman problem. Through this method makes full use of the characteristics of chaotic mapping and evolution process, a better performance S-box is obtained. However, there are some problems in the application of this genetic algorithm, such as the low efficiency of calculation and the non-convergence of optimization results, which lead to the low performance of the optimized S-boxes.

Chaotic System Analysis
There are two one-dimensional chaotic maps. Equation (1) is called as logistic map, where xn−1 is a state variable, ∈ (0,4] is a control parameter and n is the number of iterations. The bifurcation diagram and Lyapunov exponent of Equation (1) are shown in Figure 1a,b. Sine map is showed as Equation (2). ∈ (0,4] is a control parameter, The bifurcation diagram and Lyapunov exponent of Equation (1) are shown in Figure 1c,d. We can find that the ergodicity is not good and there exist some periodic windows of logistic map and sine map, their Lyapunov exponent are low, none of them is more than 1, which shows that the above two chaotic systems are defective and chaotic dynamic behavior can be improved.  Enhance the ergodicity, randomness and enlarge the key space to make it suitable for cryptography. Then, this paper constructed the combined chaotic system based on Equations (1) and (2): where 0 < k ≤ 4, the following is the dynamic behavior analysis of the combined chaotic system, mainly analyzing the following performance characteristics: Lyapunov exponent, bifurcation diagram, sequence uniformity and initial value sensitivity. •

Lyapunov exponent of the combined chaotic system
Lyapunov exponent describes the chaotic system quantitatively. For one-dimensional chaos, as long as one positive Lyapunov exponent of the chaotic system means that the system is chaotic. Lyapunov exponent is denoted as following Equation (4): where F(x) is the chaotic system. LE is the Lyapunov exponent, it represents the exponent of the exponential separation caused by each iteration in multiple iterations. As illustrated in Figure 1, the Lyapunov exponents of the system are all positive in the parameter space, and the maximum Lyapunov exponent is 1.265 (k = 0.13), which shows that the system is chaotic. •

Bifurcation diagram of the combined system
Bifurcation diagram is another important concept to study the chaotic characteristics of chaotic system, which means that the dynamic state of chaotic system may change with the change of parameters, resulting in bifurcation phenomenon. Figure 2a is bifurcation diagrams of the combined system, which shows that the system is in a chaotic state all the time, without obvious bifurcation phenomenon. It proves that the dynamic state of the system does not change with the change of parameters, and the system is always in a stable chaotic state. Therefore, the system is a chaotic system with good chaotic characteristics. Enhance the ergodicity, randomness and enlarge the key space to make it suitable for cryptography. Then, this paper constructed the combined chaotic system based on Equations (1) and (2): arc where 0 4 k < ≤ , the following is the dynamic behavior analysis of the combined chaotic system, mainly analyzing the following performance characteristics: Lyapunov exponent, bifurcation diagram, sequence uniformity and initial value sensitivity.
• Lyapunov exponent of the combined chaotic system Lyapunov exponent describes the chaotic system quantitatively. For one-dimensional chaos, as long as one positive Lyapunov exponent of the chaotic system means that the system is chaotic. Lyapunov exponent is denoted as following Equation (4): where F(x) is the chaotic system. LE is the Lyapunov exponent, it represents the exponent of the exponential separation caused by each iteration in multiple iterations. As illustrated in Figure 1, the Lyapunov exponents of the system are all positive in the parameter space, and the maximum Lyapunov exponent is 1.265 (k = 0.13), which shows that the system is chaotic. •

Bifurcation diagram of the combined system
Bifurcation diagram is another important concept to study the chaotic characteristics of chaotic system, which means that the dynamic state of chaotic system may change with the change of parameters, resulting in bifurcation phenomenon. Figure 2a is bifurcation diagrams of the combined system, which shows that the system is in a chaotic state all the time, without obvious bifurcation phenomenon. It proves that the dynamic state of the system does not change with the change of parameters, and the system is always in a stable chaotic state. Therefore, the system is a chaotic system with good chaotic characteristics.

Sequence uniformity
The chaotic sequences generated by a strong chaotic system iterated should be uniform. Figure 3 represents the number of occurrences of X values in different ranges for different iterations.  Figure 4 shows the distribution of the chaotic sequence after 5000 iterations times of the combined chaotic system. The X-axis represents the number of iterations, the Y-axis represents frequency of the sequence value of iterations and the different colors represent the different range of values. According to the maximum Lyapunov exponent of the combined chaotic system, we set X 0 = 0.05, t = 0.13 as initial conditions. As illustrated in Figures 3 and 4, the chaotic sequences generated are evenly distributed in the whole range, and can completely cover the whole value range. Therefore, the combined chaotic system has strong performance in sequence uniformity and can be used to generate chaotic pseudo-random sequences.
Symmetry 2020, 12, x FOR PEER REVIEW 5 of 17 The chaotic sequences generated by a strong chaotic system iterated should be uniform. Figure  3 represents the number of occurrences of X values in different ranges for different iterations. Figure  4 shows the distribution of the chaotic sequence after 5000 iterations times of the combined chaotic system. The X-axis represents the number of iterations, the Y-axis represents frequency of the sequence value of iterations and the different colors represent the different range of values. According to the maximum Lyapunov exponent of the combined chaotic system, we set X0 = 0.05, t = 0.13 as initial conditions. As illustrated in Figures 3 and 4, the chaotic sequences generated are evenly distributed in the whole range, and can completely cover the whole value range. Therefore, the combined chaotic system has strong performance in sequence uniformity and can be used to generate chaotic pseudo-random sequences.  •

Initial value sensitivity
Set X0 = 0.12345, X0 = 0.12345 + 10 −10 and t = 0.13 as initial conditions, and conditions of other parameters are the same, then the two chaotic sequences are generated through 100 iterations. The system is behaving chaotically with this condition; when t = 0.13, the system has the largest Lyapunov exponent, as shown in Figure 5. The chaos sequences begin to diverge and show a stable state of divergence after the number of iterations close to 11. In the long-term behavior of the system, the system has initial value sensitivity. Therefore, the combined chaotic system proposed in this paper is  The chaotic sequences generated by a strong chaotic system iterated should be uniform. Figure  3 represents the number of occurrences of X values in different ranges for different iterations. Figure  4 shows the distribution of the chaotic sequence after 5000 iterations times of the combined chaotic system. The X-axis represents the number of iterations, the Y-axis represents frequency of the sequence value of iterations and the different colors represent the different range of values. According to the maximum Lyapunov exponent of the combined chaotic system, we set X0 = 0.05, t = 0.13 as initial conditions. As illustrated in Figures 3 and 4, the chaotic sequences generated are evenly distributed in the whole range, and can completely cover the whole value range. Therefore, the combined chaotic system has strong performance in sequence uniformity and can be used to generate chaotic pseudo-random sequences.  •

Initial value sensitivity
Set X0 = 0.12345, X0 = 0.12345 + 10 −10 and t = 0.13 as initial conditions, and conditions of other parameters are the same, then the two chaotic sequences are generated through 100 iterations. The system is behaving chaotically with this condition; when t = 0.13, the system has the largest Lyapunov exponent, as shown in Figure 5. The chaos sequences begin to diverge and show a stable state of divergence after the number of iterations close to 11. In the long-term behavior of the system, the system has initial value sensitivity. Therefore, the combined chaotic system proposed in this paper is •

Initial value sensitivity
Set X 0 = 0.12345, X 0 = 0.12345 + 10 −10 and t = 0.13 as initial conditions, and conditions of other parameters are the same, then the two chaotic sequences are generated through 100 iterations. The system is behaving chaotically with this condition; when t = 0.13, the system has the largest Lyapunov exponent, as shown in Figure 5. The chaos sequences begin to diverge and show a stable state of divergence after the number of iterations close to 11. In the long-term behavior of the system, the system has initial value sensitivity. Therefore, the combined chaotic system proposed in this paper is a chaotic system with strong performance and can be used to generate chaotic pseudo-random sequences.
a chaotic system with strong performance and can be used to generate chaotic pseudo-random sequences.

Construction of S-Box
The construction steps of S-box in this paper are shown as the Figure 6: Step 1. Generate chaotic pseudo-random sequence according to Equation (3).
Step 2. Discretization of pseudo-random sequences, the phase space [0,1] of chaotic sequence is equally divided into 65,536 parts. The chaotic sequence { } is transformed into the corresponding phase space with the help of Equation (5), then we obtain the discrete pseudo-random sequence Step 3. The randomness of the pseudo-random sequences will be reduced after discretization, the linear congruence random number generator (LCGs) is used to avoid the short-period phenomena with the help of Equation (6).

Construction of S-Box
The construction steps of S-box in this paper are shown as the Figure 6:

Construction of S-Box
The construction steps of S-box in this paper are shown as the Figure 6: Step 1. Generate chaotic pseudo-random sequence according to Equation (3).
Step 2. Discretization of pseudo-random sequences, the phase space [0,1] of chaotic sequence is equally divided into 65,536 parts. The chaotic sequence { } =1 is transformed into the corresponding phase space with the help of Equation (5), then we obtain the discrete pseudo-random sequence Step 3. The randomness of the pseudo-random sequences will be reduced after discretization, the linear congruence random number generator (LCGs) is used to avoid the short-period phenomena with the help of Equation (6).
where a, b, c are constant, a is multiplier, b is increment, m is module. Set a = 16807, b = 0, m = 232 − 1.
Therefore, the periodic value of LCGs is 2 31−1 , then we obtain the new discrete sequence { } =1 with the help of Equation (7). Step 1. Generate chaotic pseudo-random sequence according to Equation (3).
Step 2. Discretization of pseudo-random sequences, the phase space [0, 1] of chaotic sequence is equally divided into 65,536 parts. The chaotic sequence {x i } N i=1 is transformed into the corresponding phase space with the help of Equation (5), then we obtain the discrete pseudo-random sequence seq N i=1 , where N is the iteration times.
Step 3. The randomness of the pseudo-random sequences will be reduced after discretization, the linear congruence random number generator (LCGs) is used to avoid the short-period phenomena with the help of Equation (6).
where a, b, c are constant, a is multiplier, b is increment, m is module. Set a = 16,807, b = 0, m = 232 − 1. Therefore, the periodic value of LCGs is 2 31−1 , then we obtain the new discrete sequence y i N i=1 with the help of Equation (7).
Step 4. Convert the chaotic sequence y i N i=1 into 256 integers with the help of Equation (8).
Select 256 non-repeated from sequence {z i } N i=1 and record their positions. Rearrange the sequence with ascending order then obtain a new sequence {S i } 256 i=1 .

Scrambling of S-Box
The scrambling steps of S-box in this paper is shown as the Figure 7: Step 4. Convert the chaotic sequence { } =1 into 256 integers with the help of Equation (8).
Select 256 non-repeated from sequence { } =1 and record their positions. Rearrange the sequence with ascending order then obtain a new sequence { } =1 256 .

Scrambling of S-Box
The scrambling steps of S-box in this paper is shown as the Figure 7: where represents rotate left by bits for the i-th row of the initial S-box, represents rotate the bits for the j-th column of the initial S-box.

Security Analysis of Chaotic Pseudo-Random Sequences
In order to verify the randomness of the discrete chaotic pseudo-random sequence obtained from the combined chaotic system, SP800-22 is tested in this paper. SP800-22 has 16 test items. The test items meet the requirements if p-value > 0.01. Only if all the 16 test items meet the requirements, the ciphertext generated by cryptographic algorithm can be considered as good random performance.
The selected text should be large enough and divided into 100 groups. The results as shown in Table  1:  Step 1. Scrambling the sequence {S i } 256 i=1 . generated in the Section 4.1 with the help of standard mapping. The standard mapping follows Equation (9): x n+1 = (x n + y n )mod2π y n+1 = (y n + k sin(x n + y n ))mod2π (9) Step 2. Obtain two sequences {x i } and y i by step 1. Then the elements in initial S-box are scrambled by row left and column rotation, and the sequence is discretized to [0, 15] with the help of Equation (10): row i = f loor((x i + 0.5) * 16) + 1 col i = f loor((y i + 0.5) * 16) + 1 i = 1, 2, . . . , 16 where row i represents rotate left by row i bits for the i-th row of the initial S-box, col j represents rotate the col j bits for the j-th column of the initial S-box.

Security Analysis of Chaotic Pseudo-Random Sequences
In order to verify the randomness of the discrete chaotic pseudo-random sequence obtained from the combined chaotic system, SP800-22 is tested in this paper. SP800-22 has 16 test items. The test items meet the requirements if p-value > 0.01. Only if all the 16 test items meet the requirements, the ciphertext generated by cryptographic algorithm can be considered as good random performance. The selected text should be large enough and divided into 100 groups. The results as shown in Table 1.
The chaotic sequences generated by the combined chaotic system proposed have strong pseudo randomness. The proposed is suitable for constructing S-boxes.
We can dynamically generate the S-boxes after the above steps, which is the preparation for the Section 4 about the S-box optimization based on the advanced genetic algorithm.

Traditional Genetic Algorithm
Genetic algorithm (GA) is a kind of population optimization algorithm derived from the evolution of biological world, which was proposed by J. Holland in 1957. The general process is to calculate the fitness of each individual by calculating the objective function of each individual in the group and comparing the relationship with the fitness function, then select two individuals with larger fitness value to cross and mutate to generate new individuals. The algorithm is terminated when it reaches iteration times. Figure 8 shows the process of traditional genetic algorithm. The chaotic sequences generated by the combined chaotic system proposed have strong pseudo randomness. The proposed is suitable for constructing S-boxes.
We can dynamically generate the S-boxes after the above steps, which is the preparation for the Section 4 about the S-box optimization based on the advanced genetic algorithm.

Traditional Genetic Algorithm
Genetic algorithm (GA) is a kind of population optimization algorithm derived from the evolution of biological world, which was proposed by J. Holland in 1957. The general process is to calculate the fitness of each individual by calculating the objective function of each individual in the group and comparing the relationship with the fitness function, then select two individuals with larger fitness value to cross and mutate to generate new individuals. The algorithm is terminated when it reaches iteration times. Figure 8 shows the process of traditional genetic algorithm.

Adaptive S-Boxes Coding
The S-boxes coding format should be determined before optimizing S-boxes by GA. There are generally two ways: decimal coding and binary coding. This paper proposes different encoding methods for S-boxes encoding in different stages according to characteristics of different encoding format. Select decimal coding in the iterative and crossover stages and select binary coding when calculating fitness value, which improves the speed of calculating the fitness value and simplifies the de-duplication stage of iterative operation and cross operation.

Adaptive S-Boxes Coding
The S-boxes coding format should be determined before optimizing S-boxes by GA. There are generally two ways: decimal coding and binary coding. This paper proposes different encoding methods for S-boxes encoding in different stages according to characteristics of different encoding format. Select decimal coding in the iterative and crossover stages and select binary coding when calculating fitness value, which improves the speed of calculating the fitness value and simplifies the de-duplication stage of iterative operation and cross operation.

Advanced Fitness Function
A strong S-box has good performance in nonlinearity, differential uniformity and strict avalanche effect according to the evaluation criteria. However, the design of fitness function is too simple in traditional GA to comprehensively satisfy the performance standard of S-box. Therefore, the fitness function in this paper shown as Equation (11): where F(s) is fitness function, F(N s ), F(δ s ), F(B s ) represent nonlinear, difference uniformity, strict avalanche effect; a, b and c represent the relevant weights coefficients, respectively. Through the extensive experiment, a piecewise weighting function is designed in this paper as following Equation (12):

Advanced Selection Operator
The purpose of selection operator is to select good individuals for the population and eliminate the bad ones in GA. Firstly, the individuals are sorted according to the fitness value, then N individuals with high fitness value are selected as the next generation. However, there exists many problems in this process. In the early stage of evolution, there are few excellent individuals and their distribution is scattered. In the late stage of evolution, there are many excellent individuals and their distribution is centralized. It is easy to cause the non-convergence of evolution if selection rate is fixed. Therefore, this paper proposes an adaptive selection probability as shown in Equation (13): (13) where q is q-th iteration, Q is the total number of iterations, pa is the selection probability, p max is the maximum selection probability, p min is the minimum selection probability.

Advanced Crossover Operator
The purpose of crossover operator is to generate new individuals in the iterative process. The crossover rate is a fixed constant in traditional GA. However, a fixed crossover probability may cause that there are not enough individuals in the early stage, or the calculation speed cannot be guaranteed, the stable convergence of the algorithm cannot be guaranteed in the later stage. Therefore, this paper proposes an adaptive crossover probability as shown in Equation (14): where q is q-th iteration, Q is the total number of iterations, pb is the selection probability, p max is the maximum crossover probability, p min is the minimum crossover probability.

Advanced Mutation Operator
The purpose of mutation operator is to increase the diversity of population in traditional GA. The algorithm is not easy to converge and the evolutionary randomness is enhanced when the mutation rate is too large, the algorithm may cause he local optimal solution and the population diversity is too small when the mutation rate is too small. Therefore, this paper proposes the adaptive mutation rate. Firstly, the individuals with larger adaptability should have a lower mutation probability to retain the good characteristics, and the individuals with smaller adaptability should have a larger mutation probability. Secondly, the mutation rate should decrease gradually and the algorithm tends to be stable with the increase of the number of iterations. The adaptive mutation probability designed in this paper as shown in Equation (15): where F max is the maximum fitness of the current population, F(x) is the fitness of the individual mutated, p max is the maximum mutation probability, p min is the minimum mutation probability.

The Design of S-Boxes Optimization Based on Advanced GA
The S-boxes optimization algorithm in this paper combines the S-box construction method proposed in the Section 3 with the advanced GA, including population initialization stage, individual evaluation, selection stage, crossover stage, mutation stage and termination condition determination. Algorithm 1 shows the pseudo code of chaotic s-box optimization. The steps are as follows: Step 1: Initialization Initialize each element x in the S-box generated in Section 3 with the help of Equation (16): Add each X to sequence {S}, and the output is the individual of the initial population. Repeat the above steps until all the populations are initialized.

Step 2: Individual evaluation
Calculate the fitness value of the S-box according to the fitness function, then arrange the individuals in ascending order according to the fitness values. The operation continues unless the number of iterations reaches the threshold or the maximum fitness value in the population is greater than the predetermined value.

Step 3: Selection stage
Calculate the selection probability pa in the current iteration stage, then select N 1 excellent individuals with the help of Equation (17): where T is the number of initial populations.

Step 4: Crossover stage
Calculate the number of populations N 2 generated in the crossover according to Equation (18). Select the individual with the largest fitness value as the parent-1, and the i-th individual as the parent-2, add parent-1 and parent-2 to the crossover population. The above operation continues until the number of individuals generated by the crossover operator is not greater than N 2 . Cross descendants of the output as elements in {S'} where p b is the crossover probability, x is the element of the sequence {S}. Step 5: Mutation stage Calculate the number N 3 of individuals to be mutated according to Equation (20). Select the i-th individual in the cross population is to perform the mutation operation. Then exchange the (P 1 + i)-th and (P 2 + i)-th individuals to generate an individual mutated. The above operation continues until the number of individuals generated by the mutation operator is not greater than N 3 .
where p c is the mutation probability, x is the element of the sequence {S'}.

Step 6: Termination condition determination
If the number of iterations is greater than the threshold Q, obtain the individual with the maximum fitness in the optimization process as the optimal solution, then the algorithm is terminated. Obtain S1: F(S1) = max(F{S}); 18: Obtain S2: i = Floor(T × x'); 19: S' = Crossover(S1,S2); 20: add S' to {S};
Generate the S-box according to the above steps as shown in Table 2.

Performance Analysis
In order to verify the cryptography characteristics of S-boxes, according to the performance standard evaluation system of S-boxes, this paper analyzes the performances of the proposed S-boxes included nonlinear criterion, the strict avalanche criterion, differential uniformity, the output bits independence criterion and linear approximation probability.

Nonlinear Criterion
Nonlinear criterion is an important characteristic of S-boxes performance evaluation system. The higher the nonlinearity, the stronger the ability of S-box to resist nonlinear attack. By definition, f : F n 2 → F 2 can be considered as N-Variable Boolean function. The nonlinear criterion is denoted by where L n is an affine function set, d H ( f , l) is the Hamming distance between f and l. In general, f is denoted by Walsh spectrum as Equation (24): with ω GF(2 n ), and ω·x is the dot product between x and ω s. The nonlinearity is shown in Equation (25): Nonlinearity is a criterion of linear cryptanalysis. The higher the nonlinearity, the stronger the ability of S-boxes to resist nonlinear attack.

The Strict Avalanche Criterion (SAC)
S(x) = [ f 1 (x), . . . , f m (x)] : F n 2 → F m 2 satisfies the strict avalanche effect, which means that each output bit changes with each input bit, and the probability of change is strictly 0.5.
In general, the strict avalanche effect of S-boxes can be measured by SAC correlation matrix. The S-boxes satisfy the strict avalanche effect if each of the sac correlation matrix is close to 0.5.
Set e i = [δ i,1 , δ i,2 , . . . δ i,n ] T , δ i,j is denoted as Equation (26): (·) T is transpose matrix, showed as Equation (27): The estimation bias of SAC correlation is measured by Equation (28): Table 3 shows the comparison of our S-boxes and other S-boxes about the values of SAC values. The S-boxes satisfy the strict avalanche criterion when every value of the matrix is close to 0.5.

The Output Bits Independence Criterion
By inverting the plaintext bits to generate vector sets, if the vector sets are independent of each other, the S-boxes satisfy the output bits independence criterion. The independence of avalanche vector pairs can be measured by calculating the correlation coefficient. The correlation coefficient is denoted as Equation (31). Set a given sum of two variables, A and B.
where ρ{A,B} is the correlation between A and B, cov{A,B} = E{AB} − E{A}E{B} is the covariance between A and B, σ 2 {A} = E{A 2 } − (E{A}) 2 and σ 2 {B} = E{B 2 } − (E{B}) 2 . Set two output bits, f i and f k . It shows that S-boxes satisfy the output bits independence criterion if the non-linearity of f i ⊕ f k is high and the strict avalanche effect is close to the 0.5. Tables 3 and 4 show that the minimum of BIC-nonlinearity is 105 and the BIC-SAC is so close to the ideal value 0.5.

Linear Approximation Probability
Linear approximation probability (LP) is defined as where a is the input and b is the output. The smaller values of LP f gives better resistance to liner cryptanalysis. Table 5 shows the comparison of our S-boxes proposed and other S-boxes from references [16][17][18][19][20][21][22][23][24].

Performance Comparation
Comparing the results in the Table 3, some insights we can summarize as follows: • The average nonlinearity of the constructed S-box-based construction method in Section 3 is 107.5, and the optimized S-box based on the advanced GA in Section 4 is 110.75, which is better than all other S-box algorithms except for literature 16 and 19. Therefore, our S-box has very good nonlinear characteristics and can resist linear attacks.

•
The SAC value of S-box in this paper is 0.0019 different from 0.5000, and the performance is better than that of references 17,18,19,22,23,24. The performance of the optimized S-box is better than that of all other S-box algorithms except for reference 24.

•
The value of the XOR distribution of equiprobable input/output of our constructed S-box is 0.03900 and the optimized S-box is 0.01560, which illustrates resistance to differential cryptanalysis.

•
The BIC-nonlinearity of our constructed S-box is 105.75 and the BIC-SAC is 0.5005. The BICnonlinearity of optimized S-box is 110.02 and the BIC-SAC is 0.5005, which illustrates good output bits independence.

•
The LP of our constructed S-box is 0.0629 and the optimized S-box is 0.0156, which illustrates resistance to liner cryptanalysis.

Comprehensive Analysis of Proposed Method
Our proposed method contains the construction of S-box and the optimization of S-box. The quality of this construction method depends on the chaotic system used. The chaotic system is controlled by parameters k and x, the proposed method is to generate S-box population by determining the optimal range of these two parameters, the obtained S-box population can guarantee the quality of the S-box. In addition, the speed of the proposed advanced genetic algorithm can be converged, our proposed method presents the following advantages after comparing with method [19][20][21][22][23][24][25][26]: • The S-box of proposed method is determined in advance, which can ensure the quality of optimization.

•
The proposed optimization algorithm controls the degree of optimization through the fitness function; therefore, we can obtain the satisfactory S-box by controlling the fitness function.

•
The comparison of performance illustrated that the optimized S-box have a better performance in above performance than method [19][20][21][22][23][24][25][26], which shows the optimized S-box has better cryptography characteristics and can resist linear attacks and differential attacks.

Conclusions
In this paper, a new combined chaotic system is proposed based on the chaotic theory, which has good chaotic characteristics proved by analyzing its dynamic characteristics. Next, this paper proposes a method of generating S-boxes based on the combined chaotic system. Finally, an advanced genetic algorithm is proposed to optimize the performances of S-boxes. The proposed advanced genetic algorithm is effective to avoid the shortcomings of low calculation efficiency and non-convergence of optimization results in traditional genetic algorithm. Through a lot of security analysis experiments and comparison with other papers, the optimized S-box has better cryptography characteristics and can resist linear attacks and differential attacks. The constructed S-box can be used in information hiding, image encryption, communication security technology and other fields.