A genetic algorithm for constructing bijective substitution boxes with high nonlinearity
Substitution box (S-box) is one of the most important components in the design of block ciphers. In this work, different from traditional methods, we convert the construction of n × n S-box into a process of putting n Boolean functions one by one into a container. On this basis, we regard the Boolean function as the chromosome of the S-box and propose a novel genetic algorithm to construct bijective S-boxes with high nonlinearity. In this genetic algorithm, the optimization objective is the nonlinearity of the S-box, and the bijection requirement is converted to its optimization constraint. First, we use a chaotic system to generate the initial S-boxes since chaotic systems have excellent properties like nonlinearity, ergodicity and pseudo-randomness. These initial S-boxes lay a good foundation for subsequent optimization of our algorithm. Then, for the merit of bijectivity and nonlinearity, we elaborately design the crossover and mutation operator of the genetic algorithm to improve the capability of generating bijective S-boxes with high nonlinearity. Under the proposed framework, two theorems can be proven, which imply that the proposed solution ensures bijection and high nonlinearity of the generated S-box. Further experimental analyses corroborate that our method is an effective way for constructing bijective S-boxes with high nonlinearity.
National Natural Science Foundation of China
Chaos, Genetic algorithm, Nonlinearity, Optimization, S-box
Yong Wang, Zhiqiang Zhang, Leo Yu Zhang, Jun Feng, Jerry Gao, and Peng Lei. "A genetic algorithm for constructing bijective substitution boxes with high nonlinearity" Information Sciences (2020): 152-166. https://doi.org/10.1016/j.ins.2020.03.025