Advancing cryptanalytic methods through evolutionary computing
Cryptographic algorithms usually go through elaborate testing by skilled experts who assert their overall security. We suggest to partly replace such extensive human labour by automating initial parts of such analyses. We base our approach on automatically generated “distinguishers” that show undesired statistical anomalies in an algorithm output. We design a distinguisher in the form of a multiple-output logic function, using evolutionary algorithms (genetic programming). We show that such approach leads to promising results comparable to the state-of-the-art testing. Our approach builds a distinguisher automatically and adaptively to the evaluated algorithm output. This opens up new possibilities for discovering those potential weaknesses in cryptographic algorithms that remained hidden from statistical tests and cryptanalyst’s sights. Our research will aim to answer two crucial questions of atmost importance when considering an algorithm security: (1) Is there anything wrong with a crypto algorithm? (2) What is wrong in the algorithm design?