Cryptanalysis of Symmetric-Key Primitives Based on the AES Block Cipher Jérémy Jean
Total Page:16
File Type:pdf, Size:1020Kb
Cryptanalysis of Symmetric-Key Primitives Based on the AES Block Cipher Jérémy Jean To cite this version: Jérémy Jean. Cryptanalysis of Symmetric-Key Primitives Based on the AES Block Cipher. Cryp- tography and Security [cs.CR]. Ecole Normale Supérieure de Paris - ENS Paris, 2013. English. tel- 00911049 HAL Id: tel-00911049 https://tel.archives-ouvertes.fr/tel-00911049 Submitted on 28 Nov 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Université Paris Diderot École Normale Supérieure (Paris 7) Équipe Crypto Thèse de doctorat Cryptanalyse de primitives symétriques basées sur le chiffrement AES Spécialité : Informatique présentée et soutenue publiquement le 24 septembre 2013 par Jérémy Jean pour obtenir le grade de Docteur de l’Université Paris Diderot devant le jury composé de Directeur de thèse : Pierre-Alain Fouque (Université de Rennes 1, France) Rapporteurs : Anne Canteaut (INRIA, France) Henri Gilbert (ANSSI, France) Examinateurs : Arnaud Durand (Université Paris Diderot, France) Franck Landelle (DGA, France) Thomas Peyrin (Nanyang Technological University, Singapour) Vincent Rijmen (Katholieke Universiteit Leuven, Belgique) Remerciements Je souhaite remercier toutes les personnes qui ont contribué de près ou de loin à mes trois années de thèse. Je remercie Arnaud Durand, Franck Landelle, Thomas Peyrin et Vincent Rijmen qui ont accepté de participer à ma soutenance de fin de thèse. Je remercie chaleureusement Anne Canteaut en Henri Gilbert pour avoir accepté la lourde tâche de rapporteur et pour avoir relu très attentivement ce manuscrit. Je les remercie sincèrement pour leur efficacité et leur bonne humeur quotidienne. Je remercie également les organismes qui ont financé mes travaux de recherche et mes nombreux déplacements durant ces trois années : la DGA et le projet ANR Saphir II qui ont cofinancé ma bourse de thèse, l’ENS et l’INRIA pour l’environnement matériel ainsi que NTU pour les séjours que j’ai eu la chance de réaliser à Singapour. Je suis extrêmement reconnaissant à Pierre-Alain pour avoir suivi mes travaux de recherche tout en me laissant une très grande liberté d’action. Merci à lui de m’avoir transmis son expérience de la recherche et pour sa disponibilité quand j’en ai eu besoin. Je remercie également Thomas Peyrin pour toutes les collaborations que nous avons pu avoir, et pour m’accueillir en tant que postdoc dans son équipe du NTU à Singapour en 2014. Au-delà de son enthousiasme scientifique sans limite, je le remercie également en tant qu’ami et plus spécialement pour m’avoir fait découvrir Catane. Au cours de ces trois années, j’ai eu la chance de côtoyer de nombreuses personnes du domaine de la cryptographie, avec qui j’ai eu plaisir à travailler pour apporter quelques contributions scientifiques. Je remercie donc tous mes coauteurs : Patrick Derbez, Pierre-Alain Fouque, María Naya-Plasencia, Ivica Nikoli´c,Thomas Peyrin, Martin Schläffer, Lei Wang et Shuang Wu. De plus, je souhaite remercier toutes les personnes avec qui j’ai pu échanger de manière plus informelle et qui ont indirectement contribué à enrichir mes connaissances, et en particulier Orr Dunkelman, Henri Gilbert, Antoine Joux, Christian Rechberger, Yu Sasaki et Adi Shamir. Je tiens également à saluer tous les thésards et chercheurs que j’ai eu le plaisir de croiser à l’ENS ou ailleurs : Aurélie, Aurore, Céline, Charles, Christina, Damien, Gaëtan, Jean-Christophe, Léo, Michel, Miriam, Olivier, Mario, Rodolphe, Tancrède, Vadim, Yannick et Yuanmi. Je remercie plus particulièrement David Pointcheval pour sa direction de l’équipe Crypto de l’ENS et qui a été directeur de thèse officiel pendant ma première année de thèse. Cette thèse n’aurait pas été possible sans le soutien administratif de l’ENS. Je remercie particulièrement Joëlle, Lise-Marie, Michelle et Valérie pour leur efficacité. Je salue également tout le service informatique pour la mise à disposition et l’installation des machines et serveurs qui m’ont beaucoup servi. Enfin, je remercie toute ma famille et tous mes proches pour leur soutien durant ces trois années de thèse. Merci beaucoup à tous ceux qui ont relu et corrigé des bouts de ce manuscrit. Au-delà de la thèse, merci beaucoup à mes parents pour leurs encouragements et leur confiance sans limite, et merci à ma sœur Amélie et à mes petits frères Benjamin et Sébastien. Finalement, je ne pourrais jamais assez remercier Ève pour son soutien au quotidien. Merci à toi pour avoir supporté mes longues soirées et week-ends de cryptanalyse et de rédaction. Un grand merci aussi pour accepter le défi de retourner vivre à l’étranger : sans toi ce départ n’aurait jamais pu être le même. À Alice, Bob et Ève. Table des matières 1 Introduction ........................................... 1 1.1 Histoire de la cryptographie ............................... 1 1.2 La cryptographie aujourd’hui .............................. 3 1.2.1 Généralités .................................... 3 1.2.2 Cryptographie asymétrique ........................... 5 1.2.2.1 Algorithme de chiffrement ...................... 5 1.2.2.2 Signature électronique ........................ 5 1.2.3 Cryptographie symétrique ........................... 6 1.2.3.1 Algorithmes de chiffrement par bloc ................ 6 1.2.3.2 Algorithmes de chiffrement par flot ................. 7 1.2.3.3 Fonctions de hachage ......................... 7 1.2.3.4 Code d’authentification de message (MAC) ............ 7 1.2.4 Notions de cryptanalyse ............................. 8 1.3 Fonctions de hachage ................................... 9 1.3.1 Fonctions de hachage cryptographique .................... 10 1.3.2 Paradoxe des anniversaires ........................... 11 1.3.3 Modes opératoires ................................ 13 1.3.3.1 Construction de Merkle-Damgård .................. 13 1.3.3.2 Attaque par extension (extension attack) ............... 13 1.3.3.3 Attaque par multicollisions ..................... 14 1.3.3.4 Construction wide-pipe ........................ 14 1.3.3.5 Construction sponge ......................... 15 1.4 Algorithmes de chiffrement par bloc .......................... 16 1.4.1 Définition ..................................... 16 1.4.2 Construction itérée ................................ 17 1.4.3 Modes opératoires ................................ 18 1.4.4 Fonction de compression ............................ 19 1.4.5 Cryptanalyse des algorithmes de chiffrement par bloc ........... 20 1.4.5.1 Attaque par le milieu ......................... 21 1.4.5.2 Distance d’unicité ........................... 22 1.4.5.3 Modèles d’attaquants ......................... 22 2 Présentation des Travaux ................................... 25 2.1 Présentation des travaux ................................. 25 2.2 Liste des publications ................................... 31 — v — vi TABLE DES MATIÈRES 3 Differential Cryptanalysis .................................. 33 3.1 Preliminaries ........................................ 34 3.1.1 Differentials .................................... 34 3.1.2 Iterated functions ................................. 36 3.1.3 Differential characteristics ............................ 37 3.2 Block ciphers ....................................... 39 3.2.1 Basic key recovery attack ............................ 39 3.2.1.1 Efficiency evaluation ......................... 41 3.2.1.2 Improved variants ........................... 42 3.2.2 Resistance against differential cryptanalysis ................. 42 3.3 Markov Ciphers ...................................... 43 3.4 Other forms of differential cryptanalysis ....................... 46 3.4.1 Truncated differential cryptanalysis ...................... 46 3.4.2 Impossible differential cryptanalysis ...................... 47 3.4.2.1 Applications .............................. 47 3.4.2.2 Resistance against impossible differential cryptanalysis ..... 48 3.4.3 Boomerang attack ................................ 48 3.4.3.1 Improvements ............................. 50 3.4.3.2 Applications .............................. 51 3.4.4 Related-key attacks ................................ 51 3.5 Hash functions ...................................... 54 3.5.1 Generalities .................................... 54 3.5.2 Rebound attack .................................. 55 4 Description of the AES and Cryptanalytic Results .................... 57 4.1 The AES competition ................................... 57 4.2 Description of the AES block cipher .......................... 58 4.2.1 Key scheduling algorithms ........................... 59 4.2.2 Round function .................................. 61 4.2.3 The substitution layer .............................. 62 4.2.4 The permutation layer .............................. 64 4.2.4.1 ShiftRows ................................ 64 4.2.4.2 MixColumns .............................. 65 4.3 AES-like permutations .................................. 66 4.4 Notable cryptanalytic results .............................. 67 4.4.1 Square attack ................................... 67 4.4.1.1 Attack on 4 rounds .......................... 69 4.4.1.2