Evolutionary Computation and Cryptology

Evolutionary Computation (EC) has been used with great success on various real-world problems. One domain abundant with numerous difficult problems is cryptology. Cryptology can be divided into cryptography, that informally speaking considers methods how to ensure secrecy (but also authenticity, privacy, etc.), and cryptanalysis, that deals with methods how to break cryptographic systems. Although not always in an obvious way, EC can be applied to problems from both domains. This tutorial will first give a brief introduction to cryptology intended for general audience (therefore, omitting proofs and mathematics behind many concepts). Afterwards, we concentrate on several topics from cryptography that are successfully tackled up to now with EC and discuss why those topics are suitable to apply EC. However, care must be taken since there exists a number of problems that seem to be impossible to solve with EC and one needs to realize the limitations of the heuristics. We will discuss the choice of appropriate EC techniques (GA, GP, CGP, ES, multi-objective optimization, etc) for various problems and evaluate on the importance of that choice. Furthermore, we will discuss the gap between the cryptographic community and EC community and what does that mean for the results. By doing that, we will give a special emphasis on the perspective that cryptography presents a source of benchmark problems for the EC community. To conclude, we will present a number of topics we consider to be a strong research choice that can have a real-world impact. In that part, we give a special attention to cryptographic problems where cryptographic community successfully applied EC, but where those problems remained out of the focus of EC community. This tutorial will also present some live demos of EC in action when dealing with cryptographic problems. We will present several problems, ways of encoding solutions, impact of the algorithms choice and finally, we will run some experiments to show the results and discuss how to assess them from cryptographic perspective.

[1]  J. Miller An empirical study of the efficiency of learning boolean functions using a Cartesian Genetic Programming approach , 1999 .

[2]  William Millan,et al.  Boolean Function Design Using Hill Climbing Methods , 1999, ACISP.

[3]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[4]  Julian Francis Miller,et al.  Cryptographic Boolean functions: One output, many design criteria , 2016, Appl. Soft Comput..

[5]  Sylvain Guilley,et al.  Correlation-immune Boolean functions for easing counter measures to side-channel attacks , 2014 .

[6]  Claude Carlet,et al.  Correlation Immunity of Boolean Functions: An Evolutionary Algorithms Perspective , 2015, GECCO.

[7]  Annelie Heuser,et al.  Intelligent Machine Homicide - Breaking Cryptographic Devices Using Support Vector Machines , 2012, COSADE.

[8]  Tamás D. Gedeon,et al.  Fighting the Symmetries: The Structure of Cryptographic Boolean Function Spaces , 2015, GECCO.

[9]  Susan Stepney,et al.  Evolving Boolean Functions Satisfying Multiple Criteria , 2002, INDOCRYPT.

[10]  Nele Mentens,et al.  S-box Pipelining Using Genetic Algorithms for High-Throughput AES Implementations: How Fast Can We Go? , 2014, INDOCRYPT.

[11]  Francisco Rodríguez-Henríquez,et al.  An Artificial Immune System Heuristic for Generating Short Addition Chains , 2008, IEEE Transactions on Evolutionary Computation.

[12]  Kostas Papagiannopoulos,et al.  Improving DPA resistance of S-boxes: How far can we go? , 2015, 2015 IEEE International Symposium on Circuits and Systems (ISCAS).

[13]  Lejla Batina,et al.  On using genetic algorithms for intrinsic side-channel resistance: the case of AES S-box , 2014, CS2 '14.

[14]  Sylvain Guilley,et al.  Side-Channel Analysis of Lightweight Ciphers: Does Lightweight Equal Easy? , 2016, RFIDSec.

[15]  Luca Mariot,et al.  A Genetic Algorithm for Evolving Plateaued Cryptographic Boolean Functions , 2015, TPNC.

[16]  Siva Sai Yerubandi,et al.  Differential Power Analysis , 2002 .

[17]  Nele Mentens,et al.  PRNGs for Masking Applications and Their Mapping to Evolvable Hardware , 2016, CARDIS.

[18]  Julian Francis Miller,et al.  Cartesian genetic programming , 2000, GECCO '10.

[19]  Roel Maes,et al.  Physically Unclonable Functions , 2012, Springer Berlin Heidelberg.

[20]  Marco A. Moreno-Armendáriz,et al.  Finding Minimal Addition Chains with a Particle Swarm Optimization Algorithm , 2009, MICAI.

[21]  Kostas Papagiannopoulos,et al.  Confused by Confusion: Systematic Evaluation of DPA Resistance of Various S-boxes , 2014, INDOCRYPT.

[22]  Georg T. Becker,et al.  The Gap Between Promise and Reality: On the Insecurity of XOR Arbiter PUFs , 2015, CHES.

[23]  Yehuda Lindell,et al.  Introduction to Modern Cryptography , 2004 .

[24]  Francisco Rodríguez-Henríquez,et al.  A Genetic Algorithm with repair and local search mechanisms able to find minimal length addition chains for small exponents , 2009, 2009 IEEE Congress on Evolutionary Computation.

[25]  Yasushi Fuwa,et al.  An evolutionary multiobjective approach to design highly non-linear Boolean functions , 2007, GECCO '07.

[26]  Lejla Batina,et al.  Evolving genetic algorithms for fault injection attacks , 2014, 2014 37th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[27]  Stjepan Picek,et al.  Applications of Soft Computing in Cryptology , 2016, WISA.

[28]  William Millan,et al.  An effective genetic algorithm for finding highly nonlinear Boolean Functions , 1997, ICICS.

[29]  Lejla Batina,et al.  Evolving DPA-Resistant Boolean Functions , 2014, PPSN.

[30]  Generating High Quality Pseudo Random Number Using Evolutionary methods , 2008, 2008 International Conference on Computational Intelligence and Security.

[31]  Lejla Batina,et al.  Glitch It If You Can: Parameter Search Strategies for Successful Fault Injection , 2013, CARDIS.

[32]  L. Burnett,et al.  Heuristic Optimization of Boolean Functions andSubstitution Boxes for Cryptography , 2005 .

[33]  Elena Marchiori,et al.  Combining Evolutionary Computation and Algebraic Constructions to Find Cryptography-Relevant Boolean Functions , 2014, PPSN.

[34]  John A. Clark,et al.  Two-Stage Optimisation in the Design of Boolean Functions , 2000, ACISP.

[35]  Nadia Nedjah,et al.  Minimal Addition Chain for Efficient Modular Exponentiation Using Genetic Algorithms , 2002, IEA/AIE.

[36]  Lukás Sekanina Virtual Reconfigurable Circuits for Real-World Applications of Evolvable Hardware , 2003, ICES.

[37]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[38]  Stjepan Picek,et al.  A New Cost Function for Evolution of S-Boxes , 2016, Evolutionary Computation.

[39]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[40]  William Millan,et al.  Multi-objective optimisation of bijective s-boxes , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[41]  Stefan Mangard,et al.  Power analysis attacks - revealing the secrets of smart cards , 2007 .

[42]  Yehuda Lindell,et al.  Introduction to Modern Cryptography (Chapman & Hall/Crc Cryptography and Network Security Series) , 2007 .

[43]  John A. Clark,et al.  Evolving balanced Boolean functions with optimal resistance to algebraic and fast algebraic attacks, maximal algebraic degree, and very high nonlinearity , 2013, IACR Cryptol. ePrint Arch..

[44]  Nadia Nedjah,et al.  Minimal Addition-Subtraction Sequences for Efficient Pre-processing in Large Window-Based Modular Exponentiation Using Genetic Algorithms , 2003, IDEAL.

[45]  Kostas Papagiannopoulos,et al.  Optimality and beyond: The case of 4×4 S-boxes , 2014, 2014 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST).

[46]  Debdeep Mukhopadhyay,et al.  Modified Transparency Order Property: Solution or Just Another Attempt , 2015, SPACE.

[47]  William Millan,et al.  New concepts in evolutionary search for Boolean functions in cryptology , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

[48]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[49]  Nele Mentens,et al.  Extreme Pipelining Towards the Best Area-Performance Trade-Off in Hardware , 2016, AFRICACRYPT.

[50]  Ingrid Verbauwhede,et al.  Physically Unclonable Functions: A Study on the State of the Art and Future Research Directions , 2010, Towards Hardware-Intrinsic Security.

[51]  Marin Golub,et al.  Evolving cryptographically sound boolean functions , 2013, GECCO.

[52]  A. E. Eiben,et al.  Introduction to Evolutionary Computing , 2003, Natural Computing Series.

[53]  Francisco Rodríguez-Henríquez,et al.  Finding Optimal Addition Chains Using a Genetic Algorithm Approach , 2005, CIS.

[54]  Václav Dvorák,et al.  Bent Function Synthesis by Means of Cartesian Genetic Programming , 2014, PPSN.

[55]  Efrén Mezura-Montes,et al.  Addition chain length minimization with evolutionary programming , 2011, GECCO.

[56]  Luca Mariot,et al.  Heuristic Search by Particle Swarm Optimization of Boolean Functions for Cryptographic Applications , 2015, GECCO.

[57]  Ravishankar K. Iyer,et al.  Fault Injection , 2010, Encyclopedia of Software Engineering.

[58]  Efrén Mezura-Montes,et al.  Evolutionary programming for the length minimization of addition chains , 2015, Eng. Appl. Artif. Intell..

[59]  Julian Francis Miller,et al.  Cartesian Genetic Programming Approach for Generating Substitution Boxes of Different Sizes , 2015, GECCO.

[60]  John A. Clark,et al.  Almost Boolean functions: the design of Boolean functions by spectral inversion , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

[61]  William Millan,et al.  Evolutionary Heuristics for Finding Cryptographically Strong S-Boxes , 1999, ICICS.

[62]  Juan E. Tapiador,et al.  LAMED - A PRNG for EPC Class-1 Generation-2 RFID specification , 2009, Comput. Stand. Interfaces.

[63]  Domagoj Jakobovic,et al.  Immunological algorithms paradigm for construction of Boolean functions with good cryptographic properties , 2017, Eng. Appl. Artif. Intell..

[64]  Svetla Nikova,et al.  Reversed genetic algorithms for generation of bijective s-boxes with good cryptographic properties , 2016, Cryptography and Communications.

[65]  Lejla Batina,et al.  Fault Injection with a New Flavor: Memetic Algorithms Make a Difference , 2015, COSADE.

[66]  John A. Clark,et al.  Almost Boolean Functions: The Design of Boolean Functions by Spectral Inversion , 2004, Comput. Intell..

[67]  Pedro Isasi Viñuela,et al.  On the design of state-of-the-art pseudorandom number generators by means of genetic programming , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[68]  Nele Mentens,et al.  Evolving Cryptographic Pseudorandom Number Generators , 2016, PPSN.

[69]  Claude Carlet,et al.  Boolean Functions for Cryptography and Error-Correcting Codes , 2010, Boolean Models and Methods.

[70]  Svetla Nikova,et al.  Cryptographically Strong S-Boxes Generated by Modified Immune Algorithm , 2015, BalkanCryptSec.

[71]  Pierre L'Ecuyer,et al.  Pseudorandom Number Generators , 2010 .

[72]  Elena Marchiori,et al.  Evolutionary Methods for the Construction of Cryptographic Boolean Functions , 2015, EuroGP.

[73]  Olivier Markowitch,et al.  A machine learning approach against a masked AES , 2014, Journal of Cryptographic Engineering.

[74]  Hans-Paul Schwefel,et al.  Evolution strategies – A comprehensive introduction , 2002, Natural Computing.

[75]  S. Wolfram Random sequence generation by cellular automata , 1986 .

[76]  John R. Koza,et al.  Evolving a Computer Program to Generate Random Numbers Using the Genetic Programming Paradigm , 1991, ICGA.

[77]  Nadia Nedjah,et al.  Minimal Addition-Subtraction Chains Using Genetic Algorithms , 2002, ADVIS.

[78]  William Millan,et al.  Heuristic Design of Cryptographically Strong Balanced Boolean Functions , 1998, EUROCRYPT.

[79]  Carlos A. Coello Coello,et al.  Evolutionary Algorithms for Finding Short Addition Chains: Going the Distance , 2016, EvoCOP.

[80]  Petr Tesa A New Method for Generating High Non-linearity S-Boxes , 2010 .

[81]  Claude Carlet,et al.  Vectorial Boolean Functions for Cryptography , 2006 .

[82]  Susan Stepney,et al.  The design of S-boxes by simulated annealing , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[83]  William Millan,et al.  AUSTRALASIAN JOURNAL OF COMBINATORICS Volume 29 (2004), Pages 231–247 Simpler methods for generating better Boolean functions with good cryptographic properties , 2022 .

[84]  Olivier Markowitch,et al.  Side channel attack: an approach based on machine learning , 2011 .

[85]  J. van Leeuwen,et al.  Intelligent Data Engineering and Automated Learning , 2003, Lecture Notes in Computer Science.

[86]  Roberto Santana,et al.  Maximal nonlinearity in balanced boolean functions with even number of inputs, revisited , 2016, 2016 IEEE Congress on Evolutionary Computation (CEC).

[87]  Juan E. Tapiador,et al.  Lamar: A New Pseudorandom Number Generator Evolved by Means of Genetic Programming , 2006, PPSN.

[88]  Susan Stepney,et al.  Searching for cost functions , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[89]  Claude Carlet,et al.  Evolutionary Approach for Finding Correlation Immune Boolean Functions of Order t with Minimal Hamming Weight , 2015, TPNC.

[90]  Domagoj Jakobovic,et al.  Evolving Algebraic Constructions for Designing Bent Boolean Functions , 2016, GECCO.

[91]  Andrew Clark,et al.  Optimisation heuristics for cryptology , 1998 .

[92]  Claude Carlet,et al.  Evolutionary Algorithms for Boolean Functions in Diverse Domains of Cryptography , 2016, Evolutionary Computation.

[93]  NADIA NEDJAH,et al.  Towards Minimal Addition Chains Using Ant Colony Optimisation , 2006, J. Math. Model. Algorithms.

[94]  Bruce Schneier,et al.  Applied cryptography (2nd ed.): protocols, algorithms, and source code in C , 1995 .

[95]  Matthew J. B. Robshaw,et al.  The Block Cipher Companion , 2011, Information Security and Cryptography.

[96]  Nadia Nedjah,et al.  High-performance SoC-based implementation of modular exponentiation using evolutionary addition chains for efficient cryptography , 2011, Appl. Soft Comput..