Analyse de fonctions de hachage cryptographiques ... Prof. Antoine Joux (Univ. de Versailles...

Click here to load reader

  • date post

    03-Feb-2021
  • Category

    Documents

  • view

    3
  • download

    0

Embed Size (px)

Transcript of Analyse de fonctions de hachage cryptographiques ... Prof. Antoine Joux (Univ. de Versailles...

  • Université de Versailles Saint-Quentin-en-Yvelines

    UFR Sciences Laboratoire PRISM

    Analyse de fonctions de hachage cryptographiques

    THÈSE

    présentée et soutenue publiquement le 3 novembre 2008, à l’École normale supérieure, Paris

    pour l’obtention du

    Doctorat de l’Université de Versailles Saint-Quentin-en-Yvelines

    (Spécialité informatique)

    par

    Thomas Peyrin

    Composition du jury:

    Rapporteurs : Prof. Lars Knudsen (Technical University of Denmark, Danemark) Prof. Bart Preneel (Katholieke Universiteit Leuven, Belgique)

    Directeur : Dr. Marc Girault (France Télécom R&D)

    Examinateurs : Prof. Jean-Sébastien Coron (University of Luxembourg, Luxembourg) Prof. Pierre-Alain Fouque (École Normale Supérieure) Dr. Henri Gilbert (France Télécom R&D) Prof. Antoine Joux (Univ. de Versailles Saint-Quentin-en-Yvelines) Dr. Guillaume Poupard (Ministère de la Défense) Prof. Adi Shamir (Weizmann Institute of Science, Israël)

    Thèse effectuée au sein du laboratoire NSS, France Télécom R&D, Issy-les-Moulineaux

  • Remerciements

    Je souhaite adresser mes premiers remerciements à Henri Gilbert, qui a accepté de m’enca- drer tout au long de mon travail de recherche. Son amabilité, sa patience et sa grande disponi- bilité ont largement contribué à rendre ces trois années de recherche plaisantes et à améliorer ma confiance envers mes capacités, confiance ô combien nécessaire pour mener à bien des études si spécialisées. En plus de l’aspect humain, sa parfaite maîtrise de nombreux domaines de la cryptologie et ses explications claires et rigoureuses m’ont permis de mieux orienter mes approches de recherche, mais aussi de me rendre compte du long chemin qu’il me reste main- tenant à parcourir. J’espère un jour être capable d’écrire une page de contenu technique sans qu’il n’y trouve mot à redire. Parallèlement, je remercie Marc Girault, qui a accepté d’être mon directeur de thèse et avec qui j’ai eu la chance d’avoir des discussions très enrichissantes malgré l’éloignement géographique.

    Je tiens ensuite à remercier Lars Knudsen et Bart Preneel d’avoir accepté la lourde tâche de rapporteur, et ce, malgré les contraintes dans leur emploi du temps que ce travail implique. Je remercie également Jean-Sébastien Coron, Pierre-Alain Fouque, Antoine Joux, Guillaume Poupard et Adi Shamir de me faire l’honneur de participer au jury de cette thèse.

    Mes efforts seuls n’auraient pas suffi pour accomplir tout le chemin jusqu’à la fin de cette thèse. J’ai été grandement aidé durant mon cursus par plusieurs personnes et je saisis natu- rellement cette occasion pour les remercier encore une fois. Merci donc tout d’abord à Gildas Avoine, Jean Monnerat et Serge Vaudenay et à toute l’équipe du laboratoire de sécurité de l’EPFL, qui ont bien voulu faire confiance à un étudiant en Chimie-Électronique pour un projet de diplôme en cryptographie. Merci aussi à Frédéric Muller et Guillaume Poupard, ainsi qu’à tout le laboratoire de cryptographie de la DCSSI, pour ces six mois de stage de Master très riches, aussi bien humainement que scientifiquement. Merci pour tout.

    Ma reconnaissance va également au laboratoire de sécurité de l’AIST à Tokyo, et notamment au professeur Imai qui a accepté ma visite au Japon durant six mois de ma thèse.

    Par ailleurs, les laboratoires de sécurité informatique de France Télécom R&D constituent un cadre idéal pour un jeune thésard : une excellente ambiance de travail et des chercheurs re- connus mondialement pour leurs avancées scientifiques. Merci donc à toutes les personnes que j’ai eu la chance de côtoyer dans ces locaux, et particulièrement aux membres du laboratoire de cryptographie d’Issy-les-Moulineaux : Matt Robshaw pour nos discussions sur les fonctions de hachage et pour ses talents de footballeur inépuisable, Olivier Billet pour ses blagues au degré non mesurable et pour son aide inestimable en tant qu’oracle humain de la cryptographie et de l’informatique, Côme Berbain pour sa culture sans faille de la sécurité informatique en général et pour ses biscuits faussement cachés dans son deuxième tiroir à gauche, Yannick Seurin pour être un excellent compagnon de voyage et sans qui la moitié de cette thèse présenterait des résultats erronés, Jonathan Etrog à qui je souhaite bonne chance pour la thèse à venir, Gilles Macario-Rat pour ses énigmes scientifiques en tout genre et Ryad Benadjila pour sa virtuosité à la Wii. Je remercie aussi Fabien Allard, Julien Bournelle, Jean-Michel Combes, Daniel Migault, Morgan Barbier, Jérome Cherel, Al Mahdi Chakri, Xavier Misseri, Jean-François Biasse et Tony Cheneau pour les conseils avisés et les (très) bons moments échangés. Merci également aux

    i

  • managers, Sébastien Nguyen Ngoc et Thierry Baritaud, très compréhensifs en ce qui concerne les besoins si spécifiques des chercheurs.

    Ma route a croisé d’autres chercheurs et je remercie donc mes coauteurs pour ces échanges si fructueux, ainsi que tous les membres du projet SAPHIR (spécialement Benoît Chevallier- Mames pour sa relecture assidue de cette thèse). J’ai aussi une pensée pour toute l’équipe de chercheurs en cryptographie de l’Université de Versailles St-Quentin-en-Yvelines, des profes- seurs aux thésards.

    Enfin, merci à Cécile d’avoir supporté mes longues nuits de cryptanalyse, ainsi qu’à toute ma famille. Je remercie mes parents qui m’ont toujours poussé et encouragé tout au long de mes études. Je me rends compte à quel point cela fut important.

    J’espère n’avoir oublié personne et je m’excuse par avance si cela est le cas.

    ii

  • Table des matières

    Liste des tableaux ix

    Table des figures xi

    Partie I. Introduction générale

    Chapitre 1.

    Les fonctions de hachage cryptographiques

    1.1 Les fonctions de hachage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.2 Propriétés des fonctions de hachage . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.3 Utilisations pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    Chapitre 2.

    L’extension de domaine

    2.1 L’algorithme de Merkle-Damgård . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2 Les vulnérabilités de l’algorithme de Merkle-Damgård . . . . . . . . . . . . . 13

    2.3 Les nouveaux algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    Chapitre 3.

    Fonctions de compression

    3.1 Fonctions de compression ad hoc . . . . . . . . . . . . . . . . . . . . . . . . . 17

    3.2 Fonctions de compression fondées sur un algorithme de chiffrement par blocs 18

    3.3 Fonctions de compression fondées sur une structure algébrique . . . . . . . . 22

    Partie II. Cryptanalyse de la famille SHA

    iii

  • Table des matières

    Chapitre 4.

    Présentation des fonctions de la famille MD-SHA

    4.1 MD4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.1.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.2 MD5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4.2.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    4.3 HAVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.3.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.4 RIPEMD-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    4.4.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    4.4.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.5 RIPEMD-128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.5.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.5.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    4.6 RIPEMD-160 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4.6.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4.6.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    4.7 SHA-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    4.7.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    4.7.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    4.8 SHA-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    4.8.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    4.8.2 Sécurité actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    4.9 SHA-256 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    4.9.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    4.9.2 Sécuri