• Aucun résultat trouvé

Analyse et conception de fonctions de hachage cryptographiques

N/A
N/A
Protected

Academic year: 2021

Partager "Analyse et conception de fonctions de hachage cryptographiques"

Copied!
180
0
0

Texte intégral

(1)

HAL Id: pastel-00573346

https://pastel.archives-ouvertes.fr/pastel-00573346

Submitted on 3 Mar 2011

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

Analyse et conception de fonctions de hachage

cryptographiques

Stéphane Manuel

To cite this version:

Stéphane Manuel. Analyse et conception de fonctions de hachage cryptographiques. Informatique.

Ecole Polytechnique X, 2010. Français. �pastel-00573346�

(2)

Analyse et conception de fonctions de

hachage cryptographiques

TH`

ESE

pr´esent´ee et soutenue publiquement le 23 novembre 2010

pour l’obtention du titre de

Docteur de l’´

Ecole Polytechnique

(sp´

ecialit´

e informatique)

par

St´

ephane Manuel

Composition du jury

Rapporteurs :

Pierre-Alain Fouque

Ecole Normale Sup´erieure)

Antoine Joux

(Universit´e Versaille Saint-Quentin-en-Yvelines)

Directeurs :

Daniel Augot

(INRIA ´

Ecole Polytechnique)

Nicolas Sendrier

(CRI Paris-Rocquencourt)

Examinateurs :

Claude Carlet

(Universit´e Paris 8)

Christophe De Canni`ere

(K.U. Leuven)

Henri Gilbert

(Agence nationale de s´ecurit´e des syst`emes d’information)

(3)
(4)

Jesouhaiteadressermespremiersremer iementsàNi olasSendrier,quiaa epté dem'a ueillirtoutd'abord ommestagiaire,puis ommedo torant.Jeveuxdirei i ombienj'aiappré iésesqualitésetsonouvertured'espritentantquepersonneeten tant que her heur. Ni olas a faitpreuve d'unegrande disponibilitéetde beau oup de patien epour répondreàmes questionsetmeguider dansletravail dere her he que j'aimené. Je tiens aussià remer ier DanielAugotqui a a epté de o-en adrer mathèse ave Ni olas.

Je onsidère ommeun privilège le fait d'avoir eu l'opportunité de pratiquer la ryptographie ausein duprojetCODES oùj'ai pu toyer nombredepersonnalités parmi lesplus brillantes qu'ilm'aitété donnéde ren ontrer.Je tiens à exprimerma re onnaissan eà toutel'équipeduprojetdanssonensemble,permanents,se rétaire et thésards onfondus. Mer i don à Pas ale, Anne, Françoise, Christelle, Marine, Marion, Andrea, Maria, Anne, Céline, Christina, Chrisanthy, Jean-Pierre, Pierre, Ayoub,Ludovi , Emmanuel, Harold,MatthieuF.,MathieuC.,Cédri F.,Cédri L., Yan,Frédéri ,Bhaskar,Maxime,Vin ent,Christophe, Stéphane,Benoît,Mamdouh, Gregory,Sumanta etGrisha.

Je voudrais aussiremer ier parti ulièrement Claude Carlet que j'ai eu le plaisir d'avoir omme enseignant à l'université Paris 8 et grâ e à qui j'ai pu dé ouvrir la ryptographie.

Je souhaitedeplus,exprimermagratitudeàAntoineJouxetThomaspeyrinqui ont ontribué au travers d'é hanges, de dis utionsou de ollaborations à l'aboutis-sement d'unepartimportantedesre her hes quisont présentéesdans e do ument.

Je remer ie également Claude Carlet, Christophe De Cannières, Pierre-Alain Fouque, Henri Gilbertet Antoine Joux de mefaire l'honneur de parti iper au jury de ettethèse.

Finalement,mesderniersremer iementssontpour ellequipartagemaviedepuis bientt17ans,monépouseNathalie,quim'atoujourssoutenudanstoutesles hoses quej'ai entreprisesetsansqui ette thèsen'aurait probablement jamais vulejour.

(5)
(6)

Dieu, mafemme, mon lsetmes frères, mafamilleetmes amis.

(7)
(8)

Partie I Les fon tions de ha hage ryptographiques

Chapitre 1 Introdu tion

1-1 Prin ipe desfon tionsde ha hage . . . 3

1-2 Domaines d'utilisationdesfon tions deha hage ryptographiques 5 1-3 Fon tionsde ha hage ryptographiques . . . 6

1-3.1 Dénition . . . 6

1-3.2 Propriétés lassiques. . . 7

1-4 Brefhistorique desfon tionsde ha hage ryptographiques . . . . 11

Chapitre 2 Constru tions lassiques et leur sé urité 2-1 Introdu tion . . . 13

2-2 Fon tion de ompression. . . 15

2-2.1 Fon tions de ompression fondées sur un algorithme de hirement par blo . . . 15

2-2.2 Fon tionsde ompressionfondées surunproblème réputé di ile . . . 17

2-3 Extenseur dedomaine . . . 18

2-3.1 Algorithmede Merkle-Damgård . . . 18

2-3.2 Autresextenseursde domaine . . . 22

(9)

2-5 Sé urité des onstru tions . . . 25

2-5.1 Attaques génériques . . . 25

2-5.2 Attaques spé iques . . . 26

2-5.3 Modèlede l'indiérentiabilité . . . 28

Partie II Cryptanalyse des fon tions SHA-0 et SHA-1 Chapitre 3 Présentation des fon tions SHA-0 et SHA-1 3-1 Prin ipe de fon tionnement . . . 33

3-1.1 Extenseur de domaine . . . 33

3-1.2 Fon tion de ompression . . . 34

3-2 Sé urité delafon tion SHA-0 . . . 36

3-3 Sé urité delafon tion SHA-1 . . . 37

Chapitre 4 Prin ipe des ryptanalyses de SHA-0 et SHA-1 4-1 Cryptanalyses diérentielles desfon tions de ha hage ryptogra-phiques . . . 39

4-2 Modèledes ollisions lo ales . . . 40

4-2.1 Approximation linéaire de la fon tion de mise à jour des registres. . . 40

4-2.2 Fon tion de miseà jour desregistresstandard . . . 45

4-3 Chemin diérentiel. . . 46

4-3.1 Ve teur de perturbations . . . 46

4-3.2 Masque de perturbations . . . 47

4-3.3 Cara téristique linéaire (Linear Chara teristi ). . . 48

4-4 Mise en oeuvre dumodèle. . . 48

4-4.1 Appro he probabiliste . . . 49

4-4.2 Appro he déterministe . . . 50

4-4.3 Hypothèsed'indépendan e . . . 50

(10)

Cryptanalyses pratiques

5-1 Introdu tion . . . 55

5-2 Opérateur de diéren e . . . 56

5-2.1 Diéren ebinaire . . . 56

5-2.2 Diéren ebinairesignée . . . 57

5-2.3 Diéren egénéralisée . . . 58

5-3 Cara téristiquelinéaire . . . 58

5-3.1 Contraintes et aspathologiques . . . 59

5-3.2 Re her he de ve teursde perturbationspour SHA-0 . . . 60

5-3.3 Ve teursde perturbationspour SHA-1. . . 62

5-3.4 Instantiation duve teur de perturbation . . . 64

5-4 Cara téristiquenon-linéaire . . . 65

5-4.1 Appro he deWang et al. . . 66

5-4.2 Appro he deDeCannière et al. . . 69

5-5 Te hnique desblo smultiples . . . 72

5-5.1 Prin ipe delate hnique desblo smultiples. . . 73

5-5.2 AttaquedeBiham etal. . . 74

5-5.3 Forme a tuelle . . . 76

5-5.4 AttaquedeWanget al. . . 76

5-6 Te hniquesd'a élération dere her he demessages. . . 77

5-6.1 Bitsneutres . . . 78

5-6.2 Modi ations de message . . . 81

5-6.3 Boomerangs . . . 83

Chapitre 6 A élération de la ryptanalyse de SHA-0 6-1 Introdu tion . . . 89

6-2 Nouveau ve teur de perturbations . . . 90

6-3 Utilisationdesboomerangs . . . 90

6-4 Cara téristiquenon-linéaire . . . 96

6-5 Con lusion . . . 97

Chapitre 7 Amélioration de la ara téristique linéaire 7-1 Introdu tion . . . 103

(11)

7-2.1 Des ription de l'algorithme . . . 104

7-2.2 Résultats expérimentaux . . . 107

7-3 Classi ation desve teursde perturbations . . . 108

7-3.1 Relation d'équivalen e . . . 108 7-3.2 Nouvelle Notation . . . 109 7-4 Fon tion d'évaluation . . . 112 7-4.1 Fon tions de oût . . . 113 7-4.2 Del'e a ité à la omplexité . . . 115 Chapitre 8 Évaluation Statistique du omportement des ollisions lo ales 8-1 Introdu tion . . . 117

8-2 Pro édure expérimentale . . . 118

8-3 Résultats . . . 119

8-3.1 Collision lo aleisolée . . . 119

8-3.2 Collision lo alesadja entes . . . 121

8-3.3 Collision lo ales onsé utives . . . 121

8-3.4 Collisions lo ales alternées . . . 122

8-4 Con lusion . . . 124

Partie III Con eption de nouvelles fon tions Chapitre 9 Les fon tions XOR-Hash et FSB 9-1 La fon tion XOR-Hash . . . 129 9-1.1 Travaux onnexes . . . 130 9-1.2 Des ription de XOR-Hash. . . 132 9-1.3 Analyse de sé urité . . . 136 9-1.4 Con lusion . . . 137 9-2 La fon tion FSB . . . 138 9-2.1 Des ription . . . 138 9-2.2 Sé urité . . . 139 9-2.3 Con lusion . . . 139

(12)

Chapitre 10

Con lusions et perspe tives

Bibliographie 145

Table des gures 155

Liste des tableaux 159

(13)
(14)

Les fon tions de ha hage

(15)
(16)

Introdu tion

Sommaire

1-1 Prin ipedes fon tionsde ha hage . . . 3

1-2 Domainesd'utilisationdesfon tionsdeha hage ryp-tographiques . . . 5

1-3 Fon tionsde ha hage ryptographiques. . . 6

1-3.1 Dénition . . . 6

1-3.2 Propriétés lassiques . . . 7

1-4 Bref historiquedesfon tionsde ha hage ryptogra-phiques . . . 11

1-1 Prin ipe des fon tions de ha hage

Une fon tion de ha hage est une fon tion prenant omme argument un élément de taille arbitraire nie etrenvoyant un élément de longueur xée.Une illustration duprin ipedu ha hage setrouvegure 1-1.

Ces fon tionssonttrès employéesnotamment dansledomaine desbasesde don-nées, on parle alors parfois de tables de ha hage. Elles sont parti ulièrement utiles dansles mé anismes d'indexations quipermettent d'améliorer onsidérablement les performan es lors de la re her he d'éléments. Cependant, les tablesde ha hage dif-fèrent fondamentalement desfon tionsdeha hage ryptographiquesde partles pro-priétés quel'on attend de es fon tions. Lesfon tions de ha hage ryptographiques doivent vérierdespropriétésparti ulièresliéesàleurutilisation dansledomainede lasé urité de l'information.

Tables de ha hage. Une table de ha hage (Hash Table) est une stru ture de données permettant d'asso ier une valeur à une lé. Cette stru ture se présente le plussouventsouslaformed'untableauetpermetd'ee tuerdesre her hesentemps quasi onstant. L'a ès à une valeur se fait au moyen d'une adresse permettant de déterminerlalo alisationd'unélément quel onquedansletableau.Cetteadresseest obtenue en appliquant une fon tionde ha hage à une lé. La valeurasso iéeà ette léestalors sto kée dansla ase orrespondantedutableau. Lafon tionde ha hage transforme don une lé de re her he en adresse permettant d'obtenir dire tement lavaleur re her hée.

(17)

b b

bbb b

b

bb

bb

bb

bb bb

b

b b

b b

bb

b

bb b b b b b b b b

b

b

b b b b

b b b b b b

bb b b b b

b

b

b b bb b b b b b bb

b b

b b

b b

b bb

bb

b

b

b

b b

b b

b

b

b

b

b b

bb

b

b b b

b

b

b

0101001010...

Fig. 1-1 Prin ipe duha hage.

Dans le adre des tables de ha hage, la fon tion de ha hage utilisée peut être inversible(ilestpossiblederetrouverune léàpartird'uneadresse).Deplus, l'exis-ten ede ollisions (deux lésaboutissant àunemême adresse),bienquedemandant un traitement parti ulier, n'invalide pas la stru ture. Le fait d'autoriser es deux omportements, diéren iefondamentalement les fon tionsdeha hage qui sont uti-liséesdansles tablesde ha hage, desfon tions deha hage ryptographiques.

Contrle de redondan e y lique (CRC). Le ontrle de redondan e y lique ou CRC (Cy li Redundan y Che k) est une te hnique permettant de déte ter les erreurspouvantadvenirlorsdelatransmissiondedonnées.Leprin ipede e ontrle onsiste à ajouter auxdonnées de laredondan e. Cette redondan e, ommunément désignéesouslenomdesommede ontrle(Che ksum),est onstruitesurleprin ipe des fon tions de ha hage. Une opération rapide (par exemple un simple al ul de parité) est appliquée sur les données an d'obtenir une empreinte. La redondan e a ompagne les données lors de leur transmission ou de leur sto kage. Il est alors possible de re al uler la somme de ontrle, et de vérier l'état des données. Si le nombre d'altérations estinférieur à une ertaine borne, ellessont déte tées.

Les ontrles de redondan e y lique possèdent l'avantage d'être très rapide à al uler.Cependant, ils ont aussipour in onvénient de ne pas être apable, de par leursimpli ité, de déte terune manipulationmali ieuse desdonnées.

Fon tions de ha hage ryptographiques. Les fon tions de ha hage rypto-graphiques dièrent des autres types de fon tions de ha hage par les propriétés de sé uritéquileursontimposées.Eneet,ellessontemployéesdansdesdomainesoùla sé uritédesdonnéestraitées est ritique.Dansle adredestablesde ha hage oudes ontrlesderedondan e y lique, laprioritéestdonnéeauxperforman es.Une fon -tion de ha hage ryptographique doit elle aussi être rapide à al uler. Cependant, 'est la résistan e aux tentatives de manipulations malveillantes des données qui

(18)

onstitue l'élément prin ipal pris en onsidération lors de la on eption d'une telle fon tion. Les propriétés ryptographiques que l'on exige des fon tions de ha hage varient selon les domainesoù ellessont employées.

1-2 Domainesd'utilisation desfon tionsde ha hage ryp-tographiques

Les fon tions de ha hage ryptographiques possèdent de nombreux domaines d'utilisation, on les qualie parfois de  outeau suisse de la ryptographie. Cha- un de es domaines requiert des propriétés parti ulières de sé urité, nousdressons dans ette se tionune listenon exhaustive de esdomaines.

Intégrité des données. Il s'agit de la fon tionnalité prin ipale demandée à une fon tion de ha hage ryptographique. Elle permet de vérierque desdonnées n'ont pasété altérées depuis leur réation ou lors de leur transmission. Le moindre han-gementdanslesdonnéesdoit,ave unetrès grandeprobabilité,aboutiràl'obtention d'empreintesdiérentes. Historiquement, lespremières fon tionsproposées pour as-surer ettefon tionnalitéétaientfondéessurlathéoriedes odesetétaientnommées odesde déte tionde manipulations (MDC pour Manipulation Dete tion Codes).

Authenti ationdemessages. Lapropriétéd'intégriténepermetpasdese pré-munir ontre unadversairea tif qui essaieraitd'altérer mali ieusement les données. Unmoyende palier e problème onsisteà pro éderàl'authenti ation delasour e des données en utilisant des odes d'authenti ation de message (MAC pour Mes-sage Authenti ation Codes). L'obje tif d'un ode d'authenti ation de message est double : il doit permettre d'authentier la sour e d'un message et de vérier l'in-tégrité des données sans l'aide d'un mé anisme additionnel. L'authenti ation de messages relève du domaine de la ryptographie symétrique, l'utilisation d'une lé se rète étantné essaire.

Signature éle tronique. Les s hémas de signature éle tronique sont sans au un doute l'appli ation la plus importante des fon tions de ha hage ryptographiques. Unesignatureéle troniqueestunéquivalentéle troniqued'unesignatureé rite.Elle permetde plus, de déte ter si l'information signée a été altérée après sa signature. Lesalgorithmesutiliséspoursignerdesdonnéesné essitentdes al ulsimportantset sontdon relativementlents omparativementauxvitessesd'exé utiondesfon tions deha hage.Aussi,and'a élérerlespro éduresdesignatureetdevéri ationde si-gnature,onutiliseunefon tiondeha hage ryptographiquepour al ulerl'empreinte desdonnées àsigneretappliquer l'algorithme designature à ette empreinte.

Prote tiondemotsdepasse. Uneautredesappli ations ourantesdesfon tions de ha hage ryptographiques est la prote tion de mots de passe. Un mot de passe est une haîne de ara tères utilisée pour authentier l'identité d'un utilisateur ou autoriserl'a èsauxressour esd'unsystèmeinformatique.Ilestné essairede proté-gerlesmots depasse andeles sto ker.Une solution ourante onsiste ànesto ker queleur empreinte al uléeen appliquant une fon tion de ha hage ryptographique à une ombinaisondu motde passeetd'un sel(Salt).

(19)

Dérivation de lé. Dans le adrede la ryptographiesymétrique, lesparties par-tagent une lé se rète ommune. Il est alors fréquent que diérentes lés supplé-mentaires soient né essaires pour diérentes appli ations. La dérivation de lé (ou diversi ation de lé) onsiste à générer une ou plusieurs lés à partir d'une même valeur se rète. Cette utilisation des fon tions de ha hage ryptographiques a pour butd'empê herunadversaireayantobtenuune lédérivéed'obtenirdesinformations surlavaleurse rète oules autres lésdérivées.

Proto olesd'engagement. Lesfon tionsdeha hage ryptographiquessontaussi employées dans les proto oles d'engagement. Un proto ole d'engagement onsiste à permettre à une partie de s'engager sur une valeur sans divulguer au une informa-tionsur elle- i;lavaleur engagéeétant révélée ultérieurement. Ces proto oles sont utiliséspour lierdespartiesà desvaleursd'engagement de façonà equ'au unedes partiesne puissetireràposterioriun avantageinapproprié surles autres.

Génération de nombres pseudo-aléatoires. Un générateur pseudo-aléatoires est un algorithme déterministe qui génère une suite de bits possédant un ara -tère pro he d'une séquen e purement aléatoire. Ces algorithmes onstituent, parmi d'autres utilisations, le oeur des s hémas de hirement à ot. Les générateurs pseudo-aléatoires fondés sur une fon tion de ha hage ryptographique utilisent es-sentiellement deux modesopératoires.Le premier onsiste à al uler de façon itéra-tiveàpartird'unegraine(Seed),diérentesempreintesdesquellesonextraitdesbits pseudo-aléatoires. Le se ond onsiste à al uler les empreintes à partir de lagraine etd'un ompteur.

1-3 Fon tions de ha hage ryptographiques

Nous introduisons dans ette se tion une dénition algorithmique des fon tions deha hage etprésentonsun objetthéorique dénomméora le aléatoire qui modélise la notion de fon tion de ha hage ryptographique idéale. Nous présentons ensuite lestroispropriétés lassiquesexigées desfon tionsdeha hage ryptographiques qui sont larésistan eaux ollisions,larésistan e au al ul d'anté édent etlarésistan e au al ulde se ond anté édent.

1-3.1 Dénition

Une fon tionde ha hage prend ommeargument une haîne debits delongueur arbitrairenie(lemessage)etrestitueensortieune haînedebitsdelongueurxée: l'empreinte (ou ha hé), appelée aussiparfois ondensat ou simplement ha hé. Nous pouvonsdé rire unetelle fon tionde lafaçon suivante:

Dénition 1.1 (Fon tion de ha hage)

Unefon tionde ha hage estune fon tion

h

possédant les deuxpropriétés suivantes: 1. Compression :

h : {0, 1}

→ {0, 1}

n

. 2. Fa ilitéde al ul:

h

et

x ∈ {0, 1}

(20)

Lanotation

{0, 1}

désignel'ensembledes haînesdebitsdelongueurarbitrairenie etlanotation

{0, 1}

n

désigne l'ensembledes haînes debits delongueur exa tement

n

.Cette dénitionprenden ompte les deux aspe tsfondamentaux exigésde toute fon tion deha hage ( ryptographiqueounon) :elle doitpermettre d'unepart d'ob-tenir une empreinte de taille réduiteet d'autre partêtre rapide à al uler. Il s'agit d'unedénition desfon tionsde ha hage selonun point de vuealgorithmique.

Bellare et Rogaway [BR93℄ ont introduit en 1993 un objet théorique dénommé ora le aléatoire (Random Ora le). Un ora le aléatoire est un objet de type boîte noire,quirépondà haquerequêteissuede sonensemblede départpar une réponse aléatoire hoisieuniformément danssonensembled'arrivée.Pour unensemble Dom et un ensemble ni Rng un ora le aléatoire est déni par une ma hine de Turing a eptant desentrées

X ∈

Dom :

Algorithm 1 Ora le aléatoire

RO

Dom,Rng

(X)

if

T [X] = ⊥

then

T [X]

$

Rng end if

return

T [X]

T

est unetable intégralement initialisée à

.

Un ora le aléatoire est dit onsistant, s'il donne systématiquement une réponse identiquepourunemêmequestionposée.Deplus,ondistingueusuellementlesora les aléatoires à entrée de longueur xe (Fixed Input Length) qui orrespondent à une fon tionde ompression

1

idéale,etlesora lesaléatoiresàentréedelongueurvariable (Variable Input Length) qui orrespondent àune fon tion de ha hage idéale.

Un ora le aléatoire onstitue une fon tion de ha hage ryptographique parfaite. Il vérie toutes les propriétés exigées desfon tions de ha hage ryptographiques. Il s'agit d'une fon tion aléatoire pour laquelle il n'existe pas d'attaques stri tement meilleures queles attaques génériques.

1-3.2 Propriétés lassiques

La spé i ité d'une fon tion de ha hage ryptographique réside, omme nous l'avonsdéjàsouligné,danssespropriétésdesé uritésupplémentaires. Nous introdui-sons i iles troispropriétés,dites lassiques,exigées pour e type defon tion.

En pratique, les fon tions de ha hage bornent par onstru tion la taille maxi-maledesmessagessus eptiblesd'êtretraités.Pour lesfon tionsSHA-0etSHA-1par exemple,lataillemaximaled'unmessageestégaleà

2

64

− 1

bits.Pourlesdénitions des propriétés ryptographiques que nous allons présenter, nous hoisissons de res-treindrel'ensemblededénitionde lafon tion

h

equipermetdedénirune distri-butiondeprobabilité uniformesurl'ensembledesmessages.Soit

r

unentiernaturel, nous onsidéronsdon lafon tiondeha hage ryptographique

h : {0, 1}

r

−→ {0, 1}

n

.

Résistan e aux ollisions (Collision Resistan e). La première propriété que l'on exiged'unefon tion de ha hage ryptographique estd'être résistanteaux

olli-1

Nous développeronsles fon tions de ompression dans le hapitre onsa ré àla onstru tion desfon tionsdeha hage.

(21)

sions.Onpeutdénir ette propriété delafaçon suivante: Propriété 1.1 (Résistan e aux ollisions)

La fon tion

h

résiste de façon optimale aux ollisions si on ne possède pas d'algo-rithme apable de produire un ouple de messages

(x, x

) ∈ {0, 1}

r

× {0, 1}

r

, tel que

x

6= x

et

h(x

) = h(x)

ave une omplexitémeilleure que

O(2

n/2

)

opérations. Un tel ouple forme une ollision pour la fon tion deha hage

h

.

La résistan e aux ollisions orrespond à la propriété de sé urité spé ique à l'in-tégrité des données. Cependant pour une fon tion de ha hage ryptographique, le fait de ne pas résister de façon optimale aux ollisions onstitue une faiblesse. On onsidère don ,qu'une fon tion pour laquelle ette propriété est miseen défaut est inapteà êtreutilisée dansl'ensemble desdomaines ryptographiques.

Résistan eau al uld'anté édent (Preimage Resistan e). Larésistan eau al uld'anté édent illustrele ara tère non-inversible d'une fon tionde ha hage : Propriété 1.2 (Résistan e au al ul d'anté édent)

Soit un message

m

tiré aléatoirement dans

{0, 1}

r

(ensemble de dénition de la fon tion

h

) on pose

y = h(m)

. La fon tion

h

résiste de façon optimale au al ul d'anté édent si on ne possède pas d'algorithme apable de produire un anté édent

x ∈ {0, 1}

r

telque

h(x) = y

, ave une omplexité meilleure que

O(2

n

)

opérations. La résistan eau al ul d'anté édent telleque nousla dénissons dière de la résis-tan eà l'inversion. En eet, l'attaquant n'a pasl'obligation de produire le message

m

utilisépourgénérer

y

,maisunmessagequel onquepossédantlamêmeempreinte. Cette propriété est parti ulièrement désirable dans le ontexte de la prote tion de motde passeetde ladérivation de lé.

Résistan eau al ul dese ondanté édent(Se ondPreimageResistan e). Lapropriétéderésistan eau al uldese ondanté édentestparti ulièrement requise dansless hémas de signatureéle tronique.On peutladénir delafaçon suivante: Propriété 1.3 (Résistan e au al ul de se ond anté édent)

Soit un message

x

tiré aléatoirement dans

{0, 1}

r

. La fon tion

h

résiste de façon optimaleau al ul dese ondanté édent si on nepossède pas d'algorithme apable de produire un se ond anté édent

x

∈ {0, 1}

r

tel que

x

6= x

et

h(x

) = h(x)

, ave une omplexité meilleure que

O(2

n

)

opérations.

La dénitionde la résistan eau al ulde se ond anté édent peutsembler similaire à elle de la résistan e aux ollisions. Cependant, es deux propriétés dièrent sur unpoint essentiel:ledegré deliberté a ordéà l'adversaire. Pour la résistan eaux ollisions, l'adversaire est libre du hoix des messages

x

et

x

. Dans le adre de la résistan e au al ul de se ond anté édent, le message

x

et don le ha hé

y

sont imposés.

Une illustration desmodèles d'attaques orrespondant à es propriétés est pro-poségure 1-2.

Cestroisdénitionsforment le orpusde propriétésminimales quedoit posséder toutefon tiondeha hagean depouvoirêtrequaliéede ryptographique.Il existe de nombreuses autres propriétés en plus de es trois propriétés lassiques. Certains

(22)

h

h

?

?

6=

h

?

h

h

?

6=

Fig. 1-2  Cette gure illustre les diérents obje tifs d'un adversaire souhaitant mettre en défaut les propriétés de résistan e aux ollisions, de résistan e au al ul d'anté édent et de résistan e au al ul de se ond anté édent. Les parties grisées orrespondent aux éléments qui sont imposés et les points d'interrogation gurent les messagesquedoitproduire l'adversaire.

domainesd'appli ationné essitentquelafon tionutiliséesoitdeplusindistinguable d'une fon tion aléatoire. C'est le as par exemple pour la dérivation de lé et la générationdenombrepseudo-aléatoires.Onparleraalorsdefon tionpseudo-aléatoire (Pseudo Random Fun tion) pour ara tériser le fait que la sortie de ette fon tion ne peut être distinguée de elle d'une fon tion purement aléatoire. Le tableau1-1 établit une orrespondan e entre es propriétés et ertains domaines d'utilisation desfon tionsde ha hage ryptographiques introduits pré édemment.

Domaines Propriétés

Col

P re

Sec

P RF

Intégrité desdonnées

×

Signatureéle tronique

×

Prote tion demot depasse

×

Dérivation de lé

×

×

Génération de nombrespseudo-aléatoires

×

×

Tab. 1-1Tableau de orrespondan e entre lespropriétés desfon tionsde ha hage ryptographiquesetlesdomainesd'utilisation. Lesnotations

Col

,

P re

,

Sec

et

P RF

désignentrespe tivementlarésistan eaux ollisions,au al uld'anté édent,au al ul dese ondanté édentetle ara tèrepseudo-aléatoire.Laprésen ed'une roixindique le fait qu'un adversaire mettant en défaut la propriété orrespondante peut être dire tement utilisé pour invalider l'utilisation de la fon tion dans le domaine. Les domaines de l'authenti ation de message et des proto oles d'engagement ne sont pas présent dans e tableau ar les propriétés qui leur orrespondent varient en fon tion des onstru tions utilisées.

Terminologies alternatives. On peut trouver dans la littérature onsa rée des terminologies alternativespour espropriétés :

(23)

 faible résistan eaux ollisions (Weak Collision Resistan e) pour résistan e au al ulde se ond anté édent,

 forterésistan eaux ollisions(StrongCollisionResistan e)pourrésistan eaux ollisions.

Onnommefon tiondeha hageàsensunique(OneWayHashFun tion)ou fon -tionde ha hage à sens unique faible (Weak One Way Hash Fun tion),une fon tion deha hage satisfaisant les propriétés 1.1et 1.2.On nomme fon tion de ha hage ré-sistanteaux ollisions (Collision ResistantHash Fun tion)oufon tion deha hage à sens unique forte (Strong One Way Hash Fun tion), une fon tion de ha hage satis-faisant les propriétés 1.1et1.3.

Dénitionsformelles. Lespropriétésquenousavonsénon éesne onstituentpas desdénitions d'un point de vue rigoureusement formel. Dans es propriétés, nous utilisonslanotionderésistan eoptimale.En eet,nouspouvonsasso ierà ha une de estroispropriétésuneattaquegénérique.Notons

n

lataille,expriméeennombre de bits, de la sortie d'une fon tion de ha hage. Pour la résistan e aux ollisions, le paradoxedesanniversairesmontrequel'onpeuttrouver une ollisionave une om-plexité de l'ordre de

O(2

n/2

)

appels à la fon tion. En e qui on erne la résistan e au al uld'anté édent etlarésistan eau al uldese ondanté édent, unere her he exhaustive de omplexité

O(2

n

)

appels à la fon tion permet d'obtenir l'objet dé-siré.Ces deuxattaques, quenous détaillerons se tion 2-5, sont dites génériques ar elles fon tionnent quelle que soit la fon tion de ha hage onsidérée. Une fon tion résistealors de façon optimale,etestdon qualiée derésistante, siau uneattaque stri tement meilleure quel'attaquegénérique orrespondanten'est onnue.

Untraitementthéorique rigoureuxdespropriétés ryptographiquesdesfon tions de ha hage a été onsidéré pendant de nombreuses années omme étant vain. En eet si l'on onsidère la résistan e aux ollisions, dénir de façon rigoureuse ette propriété en utilisant le formalisme lassique ne fon tionne tout simplement pas. Il estévidentqu'unemultitudede ollisionsexistent.Eneetpardénition,le ardinal del'ensemblededépartd'unefon tiondeha hageestbienplusgrandquele ardinal desonensembled'arrivée.Ilenrésultequ'ungrandnombred'élémentspossèdentune mêmeimage.Il existedon unalgorithmetrivial apable d'invalider ettepropriété. Cet algorithme possède une omplexité en temps onstant, ne né essite au une re-quête et possède une probabilité de su ès égale à 1. Il s'agit de l'algorithme qui possède l'une des ollisions existantes odée en dur, et se ontente de la restituer ensortie.

An de palier à e problème on utilise la notion de famille de fon tions de ha- hage ryptographiquesquipermetdedénirformellement lespropriétésde sé urité lassiquesetd'enintroduiredenouvellesàmêmede ouvrirl'éventaildesutilisations de es fon tions. Des études détaillées de es propriétés, ainsi que des liens qui les unissent, ont été menées dans un arti le de Rogaway et Shrimpton [RS04℄ et plus ré emment dansun arti lede Reyhanitabar et al. [RSY10℄.

(24)

1-4 Bref historique des fon tions de ha hage ryptogra-phiques

Le besoin de fon tions de ha hage ryptographiques est tout d'abord apparu dansle ontextede l'authenti ation relativement à laprote tion demots de passe. Ondésignait alors es fon tionssous letermede fon tions àsens unique (One-Way Fun tions), an d'indiquer que es fon tions devait être résistantes à l'inversion. Whiteld DieetMartin E. Hellman[DH76℄ontétélespremiers à dénirunetelle fon tion à sens unique. Lesnotions de résistan e au al ul de se ond anté édent et de résistan e aux ollisions ont été développées onsé utivement. Die et Hellman ont aussimontré dans le même arti le, omment un algorithme de hirement sûr pouvait être utilisé pour réer une fon tion de ha hage. Au début desannées 1980, lespremierss hémas on retsontétéproposés:les onstru tionsdeDavies-Meyeret Matyas-Meyer-Oseasemployéesave l'algorithmede hirementparblo DES(Data En ryption Standard) [FIPS-DES ℄. Cependant, dufait de lataille réduitedes blo s du DES (64 bits), la sé urité de es onstru tions était insusante. Les onstru -tionsMDC-2[MS88℄proposéeen1988puisMDC-4[CPM90 ℄en1990 onstituentles premières fon tions fondées sur leDES munies d'unniveau de sé urité permettant leur utilisation en pratique. Durant ette même période, une despremière fon tion de ha hage ad ho MD2 [RFC-MD2℄ était développée par Ronald L. Rivest. MD2 fût rempla é par MD4 [RFC-MD4 ℄ en 1990 puispar MD5 [RFC-MD5 ℄ en 1992. La fon tion MD5 estlapremière fon tionde ha hage ryptographique àavoirfait l'ob-jetd'une large utilisation.En 1993, l'institut national destandardisation améri ain (Nationnal Institute of Standards and Te hnology NIST) normalisât la fon tion de ha hage SHA (Standard Hash Algorithm), onstruite selon les idées etprin ipes de MD4.Lafon tionSHA,rebaptiséeSHA-0[FIPS-SHA0 ℄,fût retiréeen1995selonles instru tions de laNSA (Nationnal Se urity Agen y) auprot dunouveau standard SHA-1 [FIPS-SHA1 ℄. En 2002, une nouvelle fon tion de ha hage ryptographiques SHA-2 [FIPS-SHA2a ℄, puis en 2004 ses diérentes variantes [FIPS-SHA2b℄ ont été normalisées par leNIST.

Les fon tionslesplus employées enpratique sont MD5 etSHA-1. Mais es fon -tions ont fait l'objet es dernières années de nombreuses ryptanalysese a es qui dans le as de MD5 se sont révélées dévastatri es. Le standard a tuel SHA-2 est en ore aujourd'hui onsidéré omme sûr. Cependant, le modèle de on eption em-ployé pour les diérentes versions de SHA-2 est relativement pro he de elui utilisé par les standards pré édents; on parle des fon tions de la famille MD-SHA (MD-SHA Familly) pour désignerles diérentes fon tionsMD4, MD5, SHA-0, SHA-1 et SHA-2.Aussi,leNISTaouvertune ompétitionpubliquepourdévelopperunnouvel algorithme de ha hage ryptographique destinéà être employé dans les s hémas de signature éle tronique, l'authenti ation de message et autres appli ations rypto-graphiques. Cette ompétition, destinée àrépondreauxré entsdéveloppements des ryptanalyses desfon tions de ha hage, 'est ouverte le31 o tobre 2008. Le nouvel algorithme, baptisésanssurprise SHA-3[FIPS-SHA3℄,devraitêtre hoisietvalidéà lan del'année 2012.

(25)
(26)

Constru tions lassiques et leur

sé urité

Sommaire

2-1 Introdu tion . . . 13 2-2 Fon tion de ompression. . . 15

2-2.1 Fon tions de ompression fondées sur un algorithme de hirementparblo . . . 15 2-2.2 Fon tionsde ompressionfondéessurunproblème

ré-putédi ile . . . 17 2-3 Extenseur de domaine . . . 18 2-3.1 AlgorithmedeMerkle-Damgård . . . 18 2-3.2 Autresextenseursdedomaine . . . 22 2-4 Autres onstru tions . . . 23 2-5 Sé urité des onstru tions. . . 25 2-5.1 Attaquesgénériques. . . 25 2-5.2 Attaquesspé iques. . . 26 2-5.3 Modèledel'indiérentiabilité . . . 28

2-1 Introdu tion

Nousavonsintroduitlesfon tionsdeha hage ommeétantdesfon tionsprenant ommeargumentunélémentdetaillearbitrairenieetrenvoyant unélémentde lon-gueurxée.Construireunetellefon tion,vériantlespropriétésdesé uritéquenous avons énon ées, n'est pas une hose aisée. Une solution naturelle pour résoudre e problème onsiste à ombinerune primitive opérant surun domaine detaille xeet unalgorithme apabled'étendreledomaine de etteprimitive.Lespremières propo-sitions fondées sur e paradigme ont étéprésentées en 1978 par Rabin[Rab78℄ puis en 1979 par Merkle [Mer79a , Mer79b ℄.En 1992, Lai etMassey [LM92 ℄ proposèrent un algorithme qu'ils baptisèrent fon tion de ha hage itérative. Une illustration du prin ipe duha hage itératif setrouve gure2-1.

Les onstru tions itérativesutilisent une fon tionde ompression ombinée àun algorithme d'extension de domaine. La fon tion de ompression est souvent l'élé-mentleplusvulnérabledesfon tionsdeha hage ryptographiquesitérativesetdon

(27)

Fig. 2-1  Ha hage itératif. Le message est dé oupé en éléments de taille xe qui sont traitésitérativement.

leplusdi ileà on evoir.Laprin ipaledi ultéreposesurle ompromisné essaire entre vitessed'exé utionetsé urité.Une fois lafon tion de ompression onstruite, onapplique l'extenseur dedomaine qui doit lui-mêmene pasintroduire defaiblesse supplémentaire. L'algorithme d'extensionde domaine lepluspopulaireest ertaine-ment l'algorithme de Merkle-Damgård [Mer89, Dam89 ℄. Cependant, ave l'intensi- ation de lare her he sur les fon tions de ha hage ryptographiques, de nouvelles propositionsd'extenseursdedomaineontvulejour,parmilesquellesonpeut iterles éponges ryptographiques[BDP06 ℄.Bienqu'ellessoientlesplusutiliséesenpratique, lesfon tionsitérativesne onstituentpaslaseuleoptionpossible.D'autresprin ipes de onstru tions ontété proposésdont lesarbres de Merkle[Mer79b ℄.

Une attaque ontre une fon tion de ha hage ryptographique est un algorithme dontlebutestdeviolerunedespropriétésdesé uritérevendiquéepar ettefon tion. Danslemondedela ryptologie,ilexistediérentesnotionspourdénirlesattaques. Unefaçon dedistinguer lestypesd'attaque onsiste à onsidérerlaquantité d'infor-mationdisponiblepourunadversaire.Selon epointdevue,nouspouvonsdiviserles attaquesendeux atégories. Lesattaquesgénériquestraitent lafon tion deha hage ommeune boîte noire (Bla k Box),etsont indépendantes du type de onstru tion sur lequel repose la fon tion de ha hage. Par opposition, les attaques spé iques onsidèrent la fon tion de ha hage omme une boîte blan he (White Box). Les at-taquesspé iques tirent partie destru turesparti ulièresàl'algorithmeutilisé pour onstruirelafon tion deha hage. Plusieurs attaquesspé iquesrelativesà l'utilisa-tion d'un extenseur de domaine et plus parti ulièrement à l'algorithme de Merkle-Damgård ont été mises en éviden e. Ces attaques permettent de distinguer trivia-lement une fon tion deha hage itérative d'unefon tion deha hage parfaite(ora le aléatoire). La notion d'indiérentiabilité introduite par Maurer et al. [MRH04℄ en 2004permetdeprendreen omptel'impa tdel'extenseurdedomainesurlasé urité d'unefon tion deha hage.

Dans e hapitre,nous ommen eronspar présenter lesdiérentsprin ipes utili-séspour la onstru tions defon tionsde ompressionavant dedétaillerl'algorithme

(28)

deMerkle-Damgårdetdeprésenterdeuxautresalgorithmesd'extensiondedomaine. Nous introduirons après ela les attaques génériques relatives auxpropriétés de ré-sistan e aux ollisions, au al ul d'anté édent et au al ul de se ond anté édent. Ces attaques onstituent les référen es permettant d'établir les niveaux de sé urité d'une fon tion de ha hage relativement à es propriétés. Nous détaillerons ensuite les attaques spé iques parti ulières aux fon tions de ha hage itératives et lorons e hapitre en présentant notion d'indiérentiabilité.

2-2 Fon tion de ompression

La onstru tion d'une fon tion de ompression est en elle-même un hallenge. C'est sur ette fon tion que résident les performan es d'une fon tion de ha hage itérative et une part importante de sa sé urité (ave l'algorithme d'extension de domaine).Malheureusement,ils'avèreparti ulièrementdi ile de on ilier esdeux impératifs. On peut ataloguer les diérents types de on eption de fon tions de ompression en deuxfamilles. La première de es famille regroupe les onstru tions fondéessurdesalgorithmesde hirementparblo s.Auseinde ettefamilleonpeut en ore distinguer diérentes atégories selon que l'algorithme de hirement utilisé est normalisé ou s'il s'agit d'un algorithme ad ho . La se onde famille regroupe les fon tions mettant en oeuvre des algorithmes dont la sé urité est rédu tible à la di ulté de résoudredesproblèmes algorithmiques réputés durs.

2-2.1 Fon tions de ompression fondées sur un algorithme de hif-frement par blo

Le prin ipe des onstru tions fondéessur un algorithmede hirement par blo onsiste à s'appuyer sur une primitive ryptographique existante pour laquelle on possède de bons arguments de sé urité. C'est le as, par exemple, des s hémas de hirement par blo . Ces fon tions de ompressions présentent l'avantage de per-mettre de faire reposer lasé urité relative à une ou plusieurs des propriétés exigées desfon tionsde ha hage ryptographiquessurlasé urité de l'algorithmede hire-ment mis en oeuvre.

On distingue les onstru tions fondées sur des algorithmes de hirement par blo selon leur taux de ha hage. La notion de taux de ha hage a été introduite en 1993 par Preneel [Pre93 ℄. Puis en 1994, Knudsen et Lai [KL94 ℄, ont déni le taux de ha hage omme le ratio du nombre de blo s de message traités par le nombre d'appels àl'algorithme de hirement employé.Cettedénition onstituelamesure standard utilisée pour évaluer l'e a ité des fon tions de ha hage fondées sur un s héma de hirement par blo .

Les onstru tions de ratio

1/1

on fait l'objet d'études intensives. Parmi es onstru tions, les modesopératoires les pluspopulaires sontDavies-Meyer, Matyas-Meyer-OseasetMiyagu hi-Preneel. Ces trois onstru tions sontillustrées gure2-2. Preneel et al. [PGV93 ℄ puis Bla k et al. [BRS02℄ ont analysé les 64 onstru -tions diérentes possibles.Parmi elles, 12 onstru tions sesont avérées êtres sûres : des rédu tions de sé urité dans le modèle du s héma de hirement par blo idéal (Ideal Blo k Cipher Model) ont été démontrées. Cependant, l'in onvénient majeur des onstru tions de ratio1/1 résidedanslataille de sortiedesalgorithmes de hif-frementparblo sus eptiblesd'êtreutilisés.Eneet,le andidatidéalpour unetelle

(29)

E

E

E

H

i+1

H

i+1

H

i+1

M

M

M

H

i

H

i

H

i

Fig. 2-2 Modesopératoires de Davies-Meyer, Matyas-Meyer-Oseas et Miyagu hi-Preneel.

onstru tion est l'AES [FIPS-AES ℄ (Advan ed En ryption Standard) qui a su édé auDES [FIPS-DES℄(DataEn ryptionStandard)en2001.Latailledesblo sutilisés par l'AES est de 128 bits (64 pour le DES). Cette taille se révèle insusante pour résisteràl'attaquegénériquepar ollisionau vudes ritères desé urité a tuels.Ces ritèresimposent auxfon tionsdeha hage ryptographiquesdestaillesd'empreinte de224/256bitsen ar hite ture32bits et384/512bits enar hite ture 64bits(selon leré ent appeld'oredu NIST).

An depalier à etin onvénient, diérentes stratégiesont étéexplorées.

Algorithmesde hirementadho . Lapremièrestratégie onsisteà onstruire des algorithmes de hirement par blo ad ho utilisant des tailles de blo plus grandes. Les fon tions de ompression dénommées ad ho par extension, sont em-ployéesdanslaplupartdesfon tions ryptographiquesutiliséesenpratique.Le hoix de e type de onstru tion réside essentiellement dans le gainde performan e qu'il apporte. Cependant,la sé urité de esfon tions reposeuniquement surl'in apa ité dela ommunauté ryptographique à produire des ryptanalyseset reposeen géné-ral sur un onsensus plutt que sur une preuve. La plupart des standards adoptés parl'industrie reposentsur e type defon tion. Onpeut iter les fon tionsdela fa-milleMD-SHA,qui regroupe lesfon tions MD[RFC-MD4,RFC-MD5 ,PB95 ℄ et les fon tionsSHA[FIPS-SHA0 ,FIPS-SHA1,FIPS-SHA2a,FIPS-SHA2b℄.Lesfon tions SHA-0 et SHA-1 seront dé rites en détail dans la deuxième partie de ette thèse. RijmenetBarretoontproposéen 2000 unenouvelle fon tion de ha hage ryptogra-phique,Whirlpool[BR00℄,dontlafon tion de ompressionreposesurunalgorithme de hirement utilisant des blo s de taille 512 bits. Cependant et algorithme de hirement, bien que fondé sur les mêmes prin ipes que l'AES, n'a pas fait l'objet d'autant d'attention de la part des ryptanalystes. Par onséquent, il n'y a pasde onsensus établi sur sa sé urité. De plus, les performan es de Whirlpool sont infé-rieures à la plupart des fon tions pré édentes. Ce qui explique qu'elle n'ait pas été plébis itéepar l'industrie, bienqu'ayant éténormalisée en2004, sousladésignation

(30)

ISO/IEC 10118-3.

Comme nousl'avonssouligné,ilestdi ile d'évaluer lasé urité desfon tionsde ompressionadho .Jusqu'en2005etbienqu'en oretrèsemployéedansl'industrie,la fon tion MD5avaitdéjà faitl'objetdediérentes attaques[Ber92 , DBB91,DBB93 , Dob96a , Dob96b ℄. Mais le standard SHA-1 était en ore onsidéré omme sûr. Les ryptanalysesmenées ontresaversionpréliminaireSHA-0[CJ98 ,BC04 ℄nesemblant pasêtredire tementtransposablesàlaversionnormalisée.Cependant,l'introdu tion de nouvelles méthodes de ryptanalyses initiée par Wang et al. [WFL04 , WLF05 , WYY05a, WYY05b, WYY05 , WYY05d, WY05℄ devaient sonner le glas de pans entiers des fon tions de ha hage de la famille MD-SHA. Une part importante des travaux de re her he présentés dans ette thèse on ernant les fon tions SHA-0 et SHA-1s'appuient sur esnouvellesméthodesde ryptanalyse. Cesméthodessesont montrées sie a esqueleNISTadé idéde lan erune ompétitionpourdénirun nouveau standard de ha hage ryptographique. On peut remarquer quemalgré et in ident, lesfon tionsad ho sont toujours très populaires.

Constru tions de ratios inférieurs. Une autre appro he pour augmenter la taille desblo s onsisteà dénirdes onstru tions deratiosinférieurs, utilisant plu-sieurs instan es du hirement par blo au sein de la fon tion de ompression. On peutalorsreformulerlaquestiondelatailledel'empreintesousuneformediérente: omment produire des empreintes de taille multiple de la taille du hirement par blo utilisé?Lespremièresréponsesà ettequestionontétéles onstru tions MDC-2 et MDC-4 [CPM90 , MS88℄ qui furent bientt suivies par de nombreuses autres propositions.Cependant,peude espropositionsontrésisté aux ryptanalyses. Cer-tains auteurs se sont appuyés sur des arguments de théorie des odes pour donner des arguments de sé urité pour leurs onstru tions [KP96 , KP97 , KP02 ℄. Mais là en ore un problème demeure, au une de es onstru tions n'est idéale : pour une empreinte de taille

2n

bits elles utilisent plus de 2 appelsà un hirement par blo de taille

n

bits.En 2006, Peyrinet al. [PGM06 ℄ ont onje turéque pour onstruire une fon tion de ompression produisant des sortiesde taille 256 bits,au moins inq appels à la fon tion AES sont né essaires pour traiter un blo de message de taille 128 bits.Touteslespistes relativesà ettequestionn'ontpasen oreétéépuisées, e sujet dere her he reste ouvert.

2-2.2 Fon tions de ompression fondées sur un problème réputé di ile

L'idée des fon tions de ompression fondées sur des problèmes réputés di iles est de faire reposer lasé urité de lafon tion sur une onje ture éprouvée. En eet, nous onnaissons un ertains nombre de problèmes pour lesquels au un algorithme derésolution e a e(entermede omplexitéalgorithmique)n'est onnu.Parmi es problèmes onpeut iter,entreautres,leproblèmeSAT,leproblèmedefa torisation ouledé odagedesyndrome.Cesproblèmesontfaitl'objetd'étudesintensivesdepuis de nombreuses années et, bien que l'on ne puisse pas formellement prouver qu'ils soientimpossiblesàrésoudreàl'aided'algorithmesde omplexitépolynomiale,ilest ouramment onje turé et admis que 'est ee tivement le as. L'intérêt d'utiliser es problèmes omme base pour des fon tions de ompression réside dans le fait qu'il est peu vraisemblable que des algorithmes e a es apables de résoudre es

(31)

problèmes puissent voir le jour dans un avenir pro he. Cela met théoriquement es fon tionsàl'abrid'attaquesdévastatri estellesqu'ontpules onnaître ertainesdes onstru tionsad ho les pluspopulaires.

Des fon tions de ha hage ryptographiques dont la sé urité repose sur de tels problèmes ont été proposées [BM97, CJ98 , BAC08 , AFG08 , ADL08 ℄. Paradoxale-ment, ertaines d'entre elles ont subit des attaques peu après leur publi ation. En eet,les fon tions fondées sur es problèmes sont en général peu performantes par rapportaux fon tionsad ho , e qui a pu onduire ertains on epteurs à proposer desparamètres sous-dimensionnés.Deplus, ladénitiondesproblèmes réputés di- ilesinduit souventqu'ilslesont pour uneinstan eduproblèmetiréealéatoirement. Onparleaussiparfoisde di ulté en moyenne, e quidésigne le faitquelaplupart desinstan es d'unproblème sont di iles à résoudre. Cependant il peut aussi exis-terdesinstan esfa ilesmême pourun problèmedi ile.Il estmalen ontreusement arrivéque ertainesfon tionsdeha hageproposéesutilisaientdesparamètres onsti-tuant une instan e fa ile d'unproblème. Enn, la onstru tion hoisie pour mettre enoeuvre leproblèmealgorithmiquepeutavoirdes onséquen essurlaqualitédela rédu tiondesé urité.Cependant,lesquelquesé he sdefon tionsdeha hagefondées surdesproblèmesréputésdi ilesneremettentpasen auselavaliditéduprin ipe.

2-3 Extenseur de domaine

Une fon tionde ompressionpermetd'obtenirune empreintepourdesmessages de taille xée.Une fon tion de ha hage doit de permettre d'obtenir une empreinte pour desmessagesde taille arbitrairenie. Les onstru tions itérativesutilisent un algorithmed'extension dudomainedelafon tion de ompressionpour atteindre et obje tif.Cependant, l'algorithme utilisé ne doit pas introduire de nouvelle vulnéra-bilité etdevrait idéalement préserver les propriétés ryptographiques de lafon tion de ompression.

L'algorithme d'extension de domaine le plus utilisé en pratique est l'algorithme deMerkle-Damgård.Cependant,denouvelles onstru tionsontvulejourdurant es dernièresannées.Parmi elles- i,leséponges ryptographiquesproposéesparBertoni etal. [BDP06 ℄ onfait l'objetd'un ertainintérêt de lapartde la ommunauté.

2-3.1 Algorithme de Merkle-Damgård

En 1989, Merkle[Mer89 ℄ etDamgård [Dam89 ℄ développèrent de façon indépen-danteunalgorithmed'extensiondedomainepréservant ertainesdespropriétés ryp-tographiques de la fon tion de ompression utilisée. Une illustration graphique de l'algorithmede Merkle-Damgårdsetrouve gure2-3.

Leprin ipede equel'onnommelaméta-méthodedeMerkle-Damgårdestdé rit parl'Algorithme 2.

La première étape de l'algorithme se nomme rembourrage (Padding). Ce rem-bourrage remplit deuxobje tifs:

 il permetde ramenerlataille du messageà ha her àun multiplede

r

,

 le odagedelalongueurexa tedumessagedansunblo supplémentaireassure, de plus, qu'au un message nepeut onstituer lepréxe d'unautremessage. Defaçon générale, onparle de rembourrage sanspréxe (Prex Free Padding)pour désignertouteméthode derembourrage remplissant esdeux obje tifs.

(32)

Message à hacher

Message rembourré

f

x

1

x

2

x

t

x

t+1

H

0

H

1

H

2

H

t

f

f

f

h(x)

Fig.2-3 Algorithmede Merkle-Damgard.

Algorithm 2 Méta-méthode deMerkle-Damgård ENTRÉE:une fon tionde ompression

f : {0, 1}

n

× {0, 1}

r

−→ {0, 1}

n

résistante aux ollisions.

SORTIE:unefon tion deha hage

h : {0, 1}

−→ {0, 1}

n

résistanteaux ollisions.

Dé ouper un message

x

de taille

b

bits en blo s

x

1

, x

2

, . . . , x

t

de taille

r

bits en ajoutant desbits0aublo

x

t

siné essaire,etdénirunblo supplémentaire

x

t+1

, destiné à ontenir le odage de lalongueur dumessage.

H

0

= 0

n

{

n

bits à 0}

i = 1

while

i ≤ t + 1

do

H

i

= f (H

i−1

k x

i

)

end while

L'empreinte du message

x

est alors

h(x) = H

t+1

= f (H

t

k x

t+1

)

.

Lesvariables

H

i

sontappeléesvariablesde haînage,etlavariable

H

0

estqualiée de valeurinitiale (InitialValue).

(33)

En pratique, l'algorithme de Merkle-Damgård se présente sous une forme légè-rement diérente. Le rembourrage est réalisé en ajoutant un bit à 1 suivi d'autant de bits à 0 que né essaires an de permettre l'insertion du odage de la longueur du message sur les dernier bits d'un blo omplet. Le nombre de bits

b

réservé au odage de la longueur détermine lataille maximale desmessages(

2

b

bits). Deplus, lavaleur initialeest xéelors de laspé i ationde lafon tion de ha hage.

Préservation de la résistan e aux ollisions. La popularité de l'algorithme de Merkle-Damgård dé oule de sa apa ité à préserver la résistan e aux ollisions delafon tion de ompression. Ande démontrer formellement ette propriéténous introduisons une nouvelle dénition des fon tions de ha hage sous la forme d'une famille paramétrée par une lé. Cette étape est né essaire an de pouvoir donner unedénitionformelle delarésistan eaux ollisionsetdémontrerrigoureusement le théorèmede Merkle-Damgård.

Ondénit unefamille de fon tionsde ha hage par une famillede fon tions

H : K × D → R,

K

estl'ensembledes lés,

D

estl'ensemblededénitionet

R

l'ensembled'arrivée. Pourune léparti ulière

k ∈ K

,lafon tion

h

K

: D → R

estdéniepourtout

M ∈ D

par

h

k

(M ) = h(k, M )

.Il s'agitde l'instan ede

h

ara térisée par la lé

k

.

Dénition 2.1 (Famille de fon tions de ha hage)

Une famille de fon tions de ha hage

H

est onstituée d'une paire d'algorithmes po-lynomiaux

(Θ, h)

satisfaisant les propriétés suivantes:

1.

Θ

est unalgorithme probabiliste prenant en entrée unparamètre de sé urité

n

et produisant en sortieune lé

k

.

2. Il existe un polynme

tel que

h

prend en entrée une lé

k

et une haîne de bits

x ∈ {0, 1}

et produit ensortieune haînede bits

h

k

(x) ∈ {0, 1}

ℓ(n)

. Si

h

k

estdénie seulementpourdes entrées

x ∈ {0, 1}

(n)

et

(n) > ℓ(n)

,alorsnous dirons que

(Θ, h)

est une famillede fon tions de ompression prenant enentrée des haînes debits detaille

(n)

.

Pour une famille de fon tions de ha hage

H = (Θ, h)

, un adversaire

A

et un para-mètredesé urité

n

,nousdénissons l'expérien esuivante :

Algorithm 3 Expérien ede re her he de ollision

Coll

A,H

(n)

1.Une lé

k

estgénérée à partir del'algorithme

Θ(n)

.

2.Étantdonnée

k

,l'adversaire

A

produitdeuxmessages

x

et

x

(dansle asd'une fon tion de ompression, on demande deplus que

x, x

∈ {0, 1}

(n)

)

3. La sortie de l'expérien e est dénie omme étant égale à 1 si et seulement si

x 6= x

et

h

k

(x) = h

k

(x

)

. Dans e as nous disons que

A

a produit une ollision pour l'instan e

h

k

.

Nousdénissons à présent larésistan eaux ollisionsde lafaçon suivante: Propriété 2.1 (Résistan e aux ollisions (famille))

(34)

toutadversaire probabiliste

A

polynomialentemps,il existe unefon tion négligeable

g

telle que

P r[Coll

A,H

(n) = 1] ≤ g(n)

Nous pouvons dèslorsénon er lethéorème deMerkle-Damgård : Théorème 2.1 (Théorème de Merkle-Damgård)

Soit une famille de fon tions de ha hage

H = (Θ, h)

fondée sur la onstru tion de Merkle-Damgård, et soit

F = (Θ, f )

la famillede fon tions de ompression utilisée. Si la famille de fon tions de ompression

F

est résistante aux ollisions, alors la famille

H

est résistante aux ollisions.

Preuve. Nous ommençons par prouver que pour tout

k

, une ollisions pour

h

k

onduit àune ollisionpour

f

k

.Soit

x

et

x

deux haînes de bitsde longueur

b

et

b

telles que

h

k

(x) = h

k

(x

)

.Nous devons onsidérer deux as

b 6= b

et

b = b

.  Cas

b 6= b

:

Dans e as, la dernièreétape du al ulde

h

k

(x)

est

H

t+1

= f

k

(H

t

k x

t+1

)

et la dernière étape du al ul de

h

k

(x

)

est

H

t+1

= f

k

(H

t

k x

t

+1

)

. Et omme

h

k

(x) = h

k

(x

)

ona :

f

k

(H

t

k x

t+1

) = f

k

(H

t

k x

t

+1

).

Cependant,

b 6= b

d'où

x

t+1

6= x

t

+1

etdon :

H

t

k x

t+1

et

H

t

k x

t

+1

sont deux haînes de bits diérentes qui forment une ollisionpour

f

k

.

 Cas

b = b

:

Notons toutd'abord que si

b = b

alors

x

t+1

= x

t+1

.Comme

x 6= x

et

b = b

, il existe au moins un indi e

i

pour lequel

x

i

6= x

i

. Soit

i

≤ t + 1

l'indi e le plusélevé pourlequel

H

i

−1

k x

i

6= H

i

−1

k x

i

. Si

i

= t + 1

alors

H

t

k x

t+1

6= H

t

k x

t+1

sont deux haînes de bits diérentes quiforment une ollisionpour

f

k

ar:

f

k

(H

t

k x

t+1

) = H

t+1

= h

k

(x) = h

k

(x

) = H

t+1

= f

k

(H

t

k x

t+1

).

Si

i

≤ t

alors lefaitque

i

soit l'indi e le plusélevé implique que

H

i

= H

i

. En onséquen e,

H

i

−1

k x

i

6= H

i

−1

k x

i

sontdeux haînesdebitsdiérentes quiforment une ollisionpour

f

k

.

Don étantdonnéune ollisionpour

h

k

,nouspouvonsextraireune ollisionpour

f

k

, lairement en temps polynomial. Nous étendons à présent e résultat pour donner une rédu tionde sé urité.

Soit

A

unadversairepourl'expérien edere her hede ollision

Coll

A,H

(n)

.Nous onstruisons un adversaire

A

pour l'expérien e

Coll

A,F

(n)

à partir de ladénition suivante :Lorsqueleparamètre

k

estdonnéà l'adversaire

A

, elui- iesttransmisà l'adversaire

A

.Nousré upéronsle ouple

(x, x

)

fournitpar

A

.Si

x 6= x

et

h

k

(x) =

h

k

(x

)

alors nous extrayons le ouple

(y, y

)

qui forme une ollision pour

f

k

de la façon dé rite pré édemment. Dans le as ontraire, l'adversaire é houe à produire une ollision.Il estévident ompte tenude ladénitionde l'expérien edere her he de ollision que l'adversaire

A

réussi à produire une ollision exa tement lorsque l'adversaire

A

réussi. Onadon :

(35)

Il en dé oule que si la famille

F

est résistante aux ollisions, alors la famille

H

est résistante aux ollisions.



Ilestimportantdenoterquelaré iproquede ethéorèmeestfausse.Ilesttoutà faitpossibled'envisagerl'existen edefon tionsdeha hagerésistantesaux ollisions onstruites à partir de fon tions de ompression qui ne soient pas résistantes aux ollisionsetdont ledomaine est étenduave l'algorithmede Merkle-Damgård.

Attaque par extension (Extension Atta k). L'attaque par extension n'est pas à proprement parler une attaque; il s'agit en fait d'une faiblesse inhérente à lastru ture itérative de l'algorithme de Merkle-Damgård. Soit une fon tion de ha- hage

h

,utilisantl'algorithmedeMerkle-Damgård ommeextenseurdedomaine.La onnaissan e de l'empreinte

h(M )

d'un message

M

qui après appli ation du rem-bourrage donne

X = X

1

, . . . , X

t

,peutêtre utiliséepour onstruire l'empreinted'un message parti ulier

M

= X||N

, où

N

est quel onque. En eet, ette empreinte

h(M )

onstitue la sortie de la dernière itération de la fon tion de ompression

f

:

h(M ) = f (H

t−1

, X

t

)

. On peut don al uler la valeur de

h(M

)

en prenant

h(M )

ommenouvelle valeurinitiale.

Cettepropriété invalide l'utilisation del'algorithme deMerkle-Damgård pour la onstru tion d'unMAC-préxe [PVO96℄. Deplus, ette propriété permet de distin-guertrivialement lafon tion

h

d'unora le aléatoire.

L'attaquepar extensionne onstituepaslaseule vulnérabilitédel'algorithmede Merkle-Damgård.Lase tion2-5.2présenteun ertainsnombresdevulnérabilitésqui s'appliquent à etalgorithme.

2-3.2 Autres extenseurs de domaine

Pour palier auxvulnérabilités de l'algorithme de Merkle-Damgård, de nouvelles propositions d'extenseurs de domaine ont vu le jour es dernières années. Les al-gorithmes Wide-Pipe et Double-Pipe [Lu 05℄ ont été introduits par Lu ks en 2005 pourrésisterauxattaquesdemulti- ollisions.Ces onstru tions onsistent essentiel-lement à augmenter lataille de la variable de haînage. Le systèmeHAIFA [BD06 ℄ de Biham et Dunkelman onsiste à ajouter un sel (Salt) et un ompteur à haque itérationdelafon tionde ompression. Cespropositionsontpourobje tifde rendre les onstru tions itératives résistantes aux nouvelles attaques génériques apparues depuislaproposition de l'algorithmede Merkle-Damgård.

Une autre dire tion de re her he, plus théorique, onsiste à proposer des exten-seursdedomainesus eptiblesde préserverleplusgrandnombrepossiblede proprié-tésdelafon tionde ompression.LespropositionsEMD[BR06℄etROX[ANP07℄en sont desexemples,pour lesquelsles auteurs ont démontré les qualitésdeleurs algo-rithmes.Cependant anderédigerdespreuvesformelles, espropositionssefondent nonpassuruneuniquefon tionde ompressionmaissurunefamille defon tionsde ompressions.

Éponges ryptographiques (Cryptographi Sponges). Les onstru tions de typeéponges ryptographiquesontétéintroduitesen2006parBertonietal.[BDP06℄. L'obje tif a hé de es onstru tions est de fournir une fon tion de ha hage aussi pro he quepossibled'unora le aléatoire.Il s'agitd'une onstru tion itérative,mais

(36)

p

p

p

p

r

c

Message

Haché

Absorption

Essorage

Fig.2-4 Éponges ryptographiques.

fondée sur une transformation de longueur xe

p

(plus pré isément une permuta-tion) à la pla e d'une fon tion de ompression. Une fon tion éponge prend omme argument en entrée une haîne debits de longueur variable etproduiten sortieune haînede bits delongueur arbitraire.

Cette onstru tion opèresurun état onstituéde

b = r + c

bits,où lenombre

r

est appelé taux de bits (Bitrate) et lenombre la apa ité(Capa ity). Le message à traiter est toutd'abord rembourréet dé oupé en blo sde

r

bits. La onstru tion éponge pro èdealors en deuxétapes:

 une première étape d'absorption qui onsiste à remplir l'éponge en utilisant lesblo sdemessage,

 puisunese ondeétaped'essorage (Squeezing)qui onsisteàpresser l'éponge pour obtenir en sortiele nombre de bitsdésiré.

La apa ité

c

détermineleniveaudesé uritésus eptibled'êtreatteintparlafon tion de ha hage. Uneillustrationgraphique duprin ipe deséponges ryptographiques se trouve gure2-4.

Les arguments de sé urité de e type de onstru tion sont fondés surle modèle del'indiérentiabilité(IndierentiabilityFramework)quiaétéintroduitparMaurer et al. [MRH04℄ et que nous dé rivons se tion 2-5.3. Les auteurs ont montré dans [BDP08a ℄ que si la fon tion

p

est modélisée en tant que permutation aléatoire ou en tant qu'ora le aléatoire, la onstru tion éponge est indiérentiable d'un ora le aléatoire monolithique.

2-4 Autres onstru tions

Les onstru tions itératives bien qu'employées dans une très large majorité des fon tions de ha hage ryptographiques, ne sont pas les seules onstru tions à avoir étéproposées.Onpeut iterparexemplela onstru tionduha hageparpaquet (Bu- ket Hashing) introduite en 1995 par Rogaway [Rog95 ℄. Le paradigme de

(37)

randomi-Message

Root Hash

Fig. 2-5Arbresde Merkle.

sationpuis ombinaison(Randomize-then-Combine Paradigm) introduit parBellare etMi ian io[BM97℄ onstitueunautreexemple.Lafon tionXOR-Hash,dé riteau hapitre 9,est fondéesur e paradigme.

Arbresde Merkle. Lesarbres de Merkleont étéintroduits par RalphMerkleen 1979 [Mer79b ℄,dansle butde onstruire un s hémade signature éle troniquefondé sur les fon tions de ha hage. Mais des primitives ryptographiques plus e a es, fondéessurlathéoriedesnombres(RSA, DSA,ECC),ont renduobsolètelesarbres deMerklepour e domained'utilisation. Leprin ipedesarbres deMerkle onsiste à onstruireunarbredeha hageàpartird'unefon tiondeha hage etdedonnées.Les feuilles de l'arbresont les empreintes des diérentsblo s de données; les noeudsde l'arbresont onstituésparlesempreintesdeleurlsrespe tifs.Ausommetdel'arbre, ontrouvel'empreinte ra ine(RootHash).Uneillustrationgraphiqueduprin ipedes arbres de Merkle se trouve gure 2-5. La plupart des implémentations d'arbre de Merkle utilisent des arbres binaires, mais le prin ipe peut être étendu aux arbres

q

-aires.

Les arbres de Merkle sont intensivement employés dans les réseaux pair à pair (Peer-to-Peer Networks). Avant de ommen er letélé hargement d'un hier, l'em-preinte ra ine est obtenue d'une sour e de onan e : par exemple, le site internet fournisseur de l'appli ation pair à pair. Lorsque l'empreinte ra ine a été obtenue, l'arbredeha hagepeutêtrereçuetvériéà partirden'importe laquelledessour es du réseau. Cet arbre permet de vérier l'intégrité des données au fur et à mesure dela transmissiondesdiérentesparties d'un hier.Il sut de onnaître lenoeud sesituant à la hauteur orrespondante dans l'arbre, pour vérierune sous-bran he del'arbre ou un fragment de  hier.Un autre avantagedes arbres de Merkleréside dansleurnature parallélisable.

(38)

2-5 Sé urité des onstru tions

2-5.1 Attaques génériques

Nousdétaillonsi ilesdeuxtypesd'attaquesgénériquessus eptiblesd'être appli-quéesaux fon tionsde ha hage. Ces attaques s'appliquent àtoutes lesfon tions de ha hage indépendamment de la façon dont elles sont onstruites. Elles onstituent lesréféren es àlaquellesont omparéesles omplexitésdesattaquesvisantàmettre en défautune destroispropriétés lassiques.

Paradoxe des anniversaires. L'attaque du paradoxe des anniversaires est une attaquegénériquequipermetd'obtenirune pairedemessagesformant une ollision. Soit

h

une fon tion de ha hage de

{0, 1}

vers

{0, 1}

n

. L'adversaire onstruit deux ensembles

E

1

et

E

2

, de taille respe tivement

#E

1

et

#E

2

, onstitués de ouples de messages tous diérents et de leurs empreintes. La probabilité qu'un message appartenant à

E

1

etunmessageappartenantà

E

2

possèdent lamêmeempreinteest

P ≈ 1 − exp

#E

1

× #E

2

2

n

.

En parti ulier, si

#E

1

= #E

2

= 2

n/2

alors

P ≈ 1 −

1

e

= 0, 63.

La omplexitéalgorithmique d'unetelleattaqueest don de l'ordrede

O(2

n/2

)

éva-luations delafon tion de ha hage.

Une fon tionde ha hage ryptographique est onsidérée omme assée dèslors quel'onpeutproduireuneattaquepar ollisionpossédantune omplexitéinférieure à l'attaqueduparadoxe desanniversaires.

Attaques par for e brute. Ce type d'attaque on erne les propriétés de résis-tan e à la re her he d'anté édent et de se ond anté édent. Soit

h

une fon tion de ha hage de

{0, 1}

vers

{0, 1}

n

. L'adversaire tire aléatoirement un message, al ule sonempreinte etvérie si elle- i orrespond àl'empreintedésirée. Silafon tion de ha hage se omporte ommeune fon tion pseudo-aléatoire, laprobabilité de su ès est égale à

1/2

n

. La probabilité de su ès d'une telle attaque peut être améliorée en augmentant lenombre demessagestirés.Sil'adversaire al ulel'empreintede

2

n

messagesdiérents, laprobabilité desu èsest approximativement égale à

0, 63

. En pratique, e type d'attaque est parallélisable. De plus, un adversaire peut onstruire ette attaque simultanément pour un sous-ensemble d'empreintes pos-sibles, ave pour obje tif de ne trouver qu'un seul anté édent. La omplexité de l'attaqueest alors réduitepar latailledu sous-ensemble visé.

Delamêmefaçonquepourl'attaqueparparadoxedesanniversaires,unefon tion deha hageest onsidérée omme asséedèslorsqu'ilexisteuneattaqueparre her he d'anté édent,oudese ondanté édent,possédantune omplexitémeilleureque

O(2

n

)

Figure

Fig. 1-1  Prin
ipe du ha
hage.
Fig. 1-2  Cette gure illustre les diérents obje
tifs d'un adversaire souhaitant mettre en défaut les propriétés de résistan
e aux 
ollisions, de résistan
e au 
al
ul d'anté
édent et de résistan
e au 
al
ul de se
ond anté
édent
Fig. 2-1  Ha
hage itératif. Le message est dé
oupé en éléments de taille xe qui sont traités itérativement.
Fig. 2-2  Modes opératoires de Davies-Meyer, Matyas-Meyer-Oseas et Miyagu
hi- Miyagu
hi-Preneel.
+7

Références

Documents relatifs

Toute reproduction ou représentation intégrale ou partielle, par quelque procédé que ce so'it, des pages publiées dans la présente édition, faite sans l'autorisation de l'éditeur

[r]

[r]

Oui, mais il n’e pas facile `a conruire : il faut prendre un ensemble de Cantor de mesure non nulle, puis dans chaque trou glisser un ensemble de Cantor plus petit, etc.. E

nne de fluid ce est trouv est approxim est pris à 9,8 e du résultat ésultante d'. ession entre le à

[r]

The installation program copies itself to your hard disk during the installation process. You will need the installation program to install future releases and

The comparison between the ducted and the open DP thruster near wake characteristics indicates that the rate of reduction in the open OP thruster flow axial velocity, vorticity,