Affiliation:
1. Department of Engineering and Architecture, University of Trieste, 34127 Trieste, Italy
Abstract
Stream ciphers usually rely on highly secure Boolean functions to ensure safe communication within unsafe channels. However, discovering secure Boolean functions is a non-trivial optimization problem that has been addressed by many optimization techniques: in particular by evolutionary algorithms. We investigate in this article the employment of Genetic Programming (GP) for evolving Boolean functions with large non-linearity by examining the search space consisting of Walsh transforms. Especially, we build generic Walsh spectra starting from the evolution of Walsh transform coefficients. Then, by leveraging spectral inversion, we build pseudo-Boolean functions from which we are able to determine the corresponding nearest Boolean functions, whose computation involves filling via a random criterion a certain amount of “uncertain” positions in the final truth table. We show that by using a balancedness-preserving strategy, it is possible to exploit those positions to obtain a function that is as balanced as possible. We perform experiments by comparing different types of symbolic representations for the Walsh transform, and we analyze the percentage of uncertain positions. We systematically review the outcomes of these comparisons to highlight the best type of setting for this problem. We evolve Boolean functions from 6 to 16 bits and compare the GP-based evolution with random search to show that evolving Walsh transforms leads to highly non-linear functions that are balanced as well.
Subject
Computational Mathematics,Computational Theory and Mathematics,Numerical Analysis,Theoretical Computer Science
Reference48 articles.
1. Katz, J., and Lindell, Y. (2020). Introduction to Modern Cryptography, CRC Press.
2. Mariot, L., and Leporati, A. (2015, January 15–16). A genetic algorithm for evolving plateaued cryptographic boolean functions. Proceedings of the International Conference on Theory and Practice of Natural Computing, Mieres, Spain.
3. Millan, W., Clark, A., and Dawson, E. (1997, January 11–14). An effective genetic algorithm for finding highly nonlinear Boolean functions. Proceedings of the International Conference on Information and Communications Security, Beijing, China.
4. Miller, J.F. (1999, January 13–17). An empirical study of the efficiency of learning boolean functions using a cartesian genetic programming approach. Proceedings of the Genetic and Evolutionary Computation Conference, Orlando, FL, USA.
5. Picek, S., Jakobovic, D., Miller, J.F., Marchiori, E., and Batina, L. (2015, January 8–10). Evolutionary methods for the construction of cryptographic boolean functions. Proceedings of the European Conference on Genetic Programming, Copenhagen, Denmark.