C3PO: cipher construction with cartesian genetic programming

In this paper, we ask a question whether evolutionary algorithms can evolve cryptographic algorithms when no precise design criteria are given. Our strategy utilizes Cartesian Genetic Programming in the bi-level optimization setting with multiple populations trying to evolve a cryptographic algorithm and break it. To challenge our design paradigm, we consider a number of scenarios with varying criteria on the system and its security. We are able to obtain interesting results in several scenarios where the attacker is not able to understand the text with more than a random chance. Interestingly, our system is able to develop various versions of one-time pads, which are the only systems that ensure perfect secrecy. Although our system is far from practical, we consider it interesting since it gives good results that are also human-readable.

[1]  Adi Shamir,et al.  Analysis of Neural Cryptography , 2002, ASIACRYPT.

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

[3]  Neural synchronization and cryptography , 2006 .

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

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

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

[7]  Martín Abadi,et al.  Learning to Protect Communications with Adversarial Neural Cryptography , 2016, ArXiv.

[8]  Ben Paechter,et al.  Parallel Problem Solving from Nature – PPSN XIV , 2016, Lecture Notes in Computer Science.

[9]  Kalyanmoy Deb,et al.  A Review on Bilevel Optimization: From Classical to Evolutionary Approaches and Applications , 2017, IEEE Transactions on Evolutionary Computation.

[10]  Juan E. Tapiador,et al.  Wheedham: An Automatically Designed Block Cipher by means of Genetic Programming , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[11]  1883 , 1884, The Indian medical gazette.

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

[13]  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).

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

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

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

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

[18]  Claude E. Shannon,et al.  Communication theory of secrecy systems , 1949, Bell Syst. Tech. J..

[19]  Eli Biham,et al.  Differential cryptanalysis of DES-like cryptosystems , 1990, Journal of Cryptology.

[20]  Nele Mentens,et al.  Design of S-boxes Defined with Cellular Automata Rules , 2017, Conf. Computing Frontiers.

[21]  Mitsuru Matsui,et al.  A New Method for Known Plaintext Attack of FEAL Cipher , 1992, EUROCRYPT.

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

[23]  Roman Oliynykov,et al.  A Method For Generation Of High-Nonlinear S-Boxes Based On Gradient Descent , 2013, IACR Cryptol. ePrint Arch..

[24]  Stafford E. Tavares,et al.  On the Design of S-Boxes , 1985, CRYPTO.

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