{'fraction_non_alphanumeric': 0.016791044776119403, 'fraction_numerical': 0.0, 'mean_word_length': 4.961111111111111, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Solving a Symmetric Key Cryptographic Problem with Constraint Programming

This paper tries to sum up a starting work at the edge between Cryptography and Constraint Programming. Indeed, many cryptographic problems are solved using Branch \& Bound approaches which are implemented from scratch using classical programming languages such as C. This implies quite a lot of programming work. Furthermore, these problems are NP-hard and solving them within a reasonable amount of time is still challenging.The main goal of this paper is to investigate the capabilities of classical Constraint Programming tools for solving these problems. In this very first study, we focus on a particular problem coming from the symmetric key cryptography world. This particular problem could help cryptographers to mount attacks called differential attacks against block ciphers. Branch \& Bound approaches are not able to solve it within a reasonable amount of time. We introduce a CP model for this problem, and we show that Choco is able to solve it to optimality in less than two hours.