C3PO: Cipher Construction with Cartesian genetic PrOgramming

Stjepan Picek, Karlo Knezevic, Domagoj Jakobovic, Ante Derek

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review


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.

Original languageEnglish
Title of host publicationGECCO'19
Subtitle of host publicationProceedings of the 2019 Genetic and Evolutionary Computation Conference Companion
EditorsM. López-Ibáñez
Place of PublicationNew York
PublisherAssociation for Computing Machinery (ACM)
Number of pages9
ISBN (Print)978-1-4503-6748-6
Publication statusPublished - 2019
EventGECCO '19 Proceedings of the Genetic and Evolutionary Computation Conference - Prague, Czech Republic
Duration: 13 Jul 201917 Jul 2019


ConferenceGECCO '19 Proceedings of the Genetic and Evolutionary Computation Conference
Abbreviated titleGECCO '19
CountryCzech Republic


  • Cryptography
  • y, Cartesian Genetic Programming
  • Block ciphers
  • Bilevel optimization


Dive into the research topics of 'C<sup style="background-color: rgb(255, 255, 255);">3</sup>PO: Cipher Construction with Cartesian genetic PrOgramming'. Together they form a unique fingerprint.

Cite this