université paris 13 iut de villetaneuse licence r&t asur...
TRANSCRIPT
Université Paris 13IUT de Villetaneuse
Licence R&T ASUR FI-FC
Cryptographie � Partie 4
Fonctions de hachage
Étienne André
Etienne.Andre (à) univ-paris13.fr
Version : 9 novembre 2017 (diapositives à trous pour Web)
Étienne André Cryptographie � 4 2017�2018 1 / 19
Partie 4: Fonctions de hachage � Plan
1 Dé�nition et propriétés
2 Un exemple : MD5
Étienne André Cryptographie � 4 2017�2018 2 / 19
Dé�nition et propriétés
Plan: Dé�nition et propriétés
1 Dé�nition et propriétésDé�nitionHistoriquePropriétés
2 Un exemple : MD5
Étienne André Cryptographie � 4 2017�2018 3 / 19
Dé�nition et propriétés Dé�nition
Fonction de hachage
Dé�nition (Fonction de hachage)
Soit un message m.Une fonction de hachage h calcule à partir de m une
empreintee = h(m).
Cette empreinte identi�e incomplètement m.
Dans le domaine de la cryptographie, le résultat est appelé
empreintecryptographique.
Autres appellations : somme de contrôle, empreinte, résumé demessage, condensé, condensat (et un horrible anglicisme : hash).
Étienne André Cryptographie � 4 2017�2018 4 / 19
Dé�nition et propriétés Historique
Un peu d'histoire
1989 : MD2 (attaque sur la pré-image en 2004)
1990 : MD4 (collision complète en 1995)
1991 : MD5 (collision complète en 2004)
1992 : Haval (collision complète en 2004)
1993 : SHA-0 (faille dès 1996)
1995 : SHA-1 (existence théorique de collisions, cassé en 2017)
1996 : Tiger
1996 : RIPEMD (collision complète en 2004)
2000 : Whirlpool (non breveté)
2001 : SHA-2
2008 : MD6
2015 : SHA-3 (licence CC0)
Étienne André Cryptographie � 4 2017�2018 5 / 19
Dé�nition et propriétés Propriétés
Fonction de hachage : propriétés recherchées (1/3)
Propriété (Résistance aux collisions faibles)
Une fonction de hachage h est résistante aux collisions faibles si, étantdonné un message m,
il est très di�cile de trouver un message m ′ telque m 6= m' et h(m) = h(m ′).
Propriété (Résistance aux collisions fortes)
Une fonction de hachage h est résistante aux collisions fortes
s'il esttrès di�cile de trouver un couple de messages (m,m ′) tels que m 6= m ′
et h(m) = h(m ′).
Étienne André Cryptographie � 4 2017�2018 6 / 19
Dé�nition et propriétés Propriétés
Fonction de hachage : propriétés recherchées (2/3)
Propriété (Non-inversibilité)
Une fonction de hachage h est non-inversible si, étant donné uneempreinte e,
il est très di�cile de trouver un message m tel queh(m) = e.
Par très di�cile, on entend � techniquement impossible en pratique �,par toutes techniques algorithmiques et matérielles, en un tempsraisonnable.
Étienne André Cryptographie � 4 2017�2018 7 / 19
Dé�nition et propriétés Propriétés
Fonction de hachage : propriétés recherchées (2/3)
Propriété (Non-inversibilité)
Une fonction de hachage h est non-inversible si, étant donné uneempreinte e,
il est très di�cile de trouver un message m tel queh(m) = e.
Par très di�cile, on entend � techniquement impossible en pratique �,par toutes techniques algorithmiques et matérielles, en un tempsraisonnable.
Étienne André Cryptographie � 4 2017�2018 7 / 19
Dé�nition et propriétés Propriétés
Hachage 6= chi�rement
Conséquence de la non-inversibilité
Une fonction de hachage n'est pas une fonction de chi�rement
puisqu'il
est impossible de retrouver le message de départ à partir del'empreinte.
Étienne André Cryptographie � 4 2017�2018 8 / 19
Dé�nition et propriétés Propriétés
Hachage 6= chi�rement
Conséquence de la non-inversibilité
Une fonction de hachage n'est pas une fonction de chi�rement
puisqu'ilest impossible de retrouver le message de départ à partir del'empreinte.
Étienne André Cryptographie � 4 2017�2018 8 / 19
Dé�nition et propriétés Propriétés
Fonction de hachage : propriétés recherchées (3/3)
Propriété (Rapidité)
Le calcul de l'empreinte doit
être rapide. (Même si. . .)
Propriété (E�et avalanche)
Une in�me modi�cation de l'entrée doit
avoir des conséquencesénormes sur la sortie.
Propriété (E�et avalanche strict)
La modi�cation d'un bit en entrée doit
modi�er la moitié des bits ensortie en moyenne.
(Webster et Tavares, 1985)
Étienne André Cryptographie � 4 2017�2018 9 / 19
Dé�nition et propriétés Propriétés
Fonction de hachage : propriétés recherchées (3/3)
Propriété (Rapidité)
Le calcul de l'empreinte doit
être rapide. (Même si. . .)
Propriété (E�et avalanche)
Une in�me modi�cation de l'entrée doit
avoir des conséquencesénormes sur la sortie.
Propriété (E�et avalanche strict)
La modi�cation d'un bit en entrée doit
modi�er la moitié des bits ensortie en moyenne.
(Webster et Tavares, 1985)
Étienne André Cryptographie � 4 2017�2018 9 / 19
Dé�nition et propriétés Propriétés
Taille prédé�nie
De nombreuses fonctions de hachage ont une taille prédé�nie (donclimitée) de l'image.
Conséquences
1 Un message très court et un message très long auront
uneempreinte de même taille.
2 Le nombre d'empreintes possibles est
limité (même si très grand).
Étienne André Cryptographie � 4 2017�2018 10 / 19
Dé�nition et propriétés Propriétés
Taille prédé�nie : remarques
Questions :
Soit un message m, et e = h(m) son empreinte. Existe-t-ilnécessairement un message m ′ tel que h(m ′) = e (avec m 6= m ′) ?
Existe-t-il nécessairement deux messages m et m ′ tels queh(m) = h(m ′) (avec m 6= m ′) ?
Étienne André Cryptographie � 4 2017�2018 11 / 19
Dé�nition et propriétés Propriétés
Taille prédé�nie : exemples
MD5 :
128 bits
SHA-1 :
160 bits
SHA-512/224 :
224 bits
SHA-512/256 :
256 bits
SHA-3 :
224 / 256 / 384 / 512 bits
Étienne André Cryptographie � 4 2017�2018 12 / 19
Dé�nition et propriétés Propriétés
Vocabulaire : attaques
Dé�nition (Attaque sur la pré-image)
Étant donné une empreinte e, parvenir à retrouver le message m
correspondant (c'est-à-dire tel que
h(m) = e
) est une
attaque sur lapré-image.
Dé�nition (Attaque sur la seconde pré-image)
Étant donné un message m et son empreinte h(m) = e, parvenir àtrouver
un second message m ′ tel que h(m ′) = e
est une attaque sur laseconde pré-image.
Une pseudo-collision indique que deux messages m et m ′ ont desempreintes similaires. Cela n'indique pas (encore !) une faille de lafonction de hachage.
Étienne André Cryptographie � 4 2017�2018 13 / 19
Dé�nition et propriétés Propriétés
Vocabulaire : attaques
Dé�nition (Attaque sur la pré-image)
Étant donné une empreinte e, parvenir à retrouver le message m
correspondant (c'est-à-dire tel que
h(m) = e
) est une
attaque sur lapré-image.
Dé�nition (Attaque sur la seconde pré-image)
Étant donné un message m et son empreinte h(m) = e, parvenir àtrouver
un second message m ′ tel que h(m ′) = e
est une attaque sur laseconde pré-image.
Une pseudo-collision indique que deux messages m et m ′ ont desempreintes similaires. Cela n'indique pas (encore !) une faille de lafonction de hachage.
Étienne André Cryptographie � 4 2017�2018 13 / 19
Dé�nition et propriétés Propriétés
Un exemple de collision
Collision trouvée sur MD4
m1
839c7a4d7a92cb5678a5d5b9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc6989
1e9f95e809fd7e8b23ba6318edd45e51fe39708bf9427e9c3e8b9
m2
839c7a4d7a92cbd678a5d529eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc6989
1e9f95e809fd7e8b23ba6318edc45e51fe39708bf9427e9c3e8b9
Bien sûr, m1 6= m2. . .mais MD4(m1) = MD4(m2) =4d7e6a1defa93d2dde05b45d864c429b.
Étienne André Cryptographie � 4 2017�2018 14 / 19
Un exemple : MD5
Plan: Un exemple : MD5
1 Dé�nition et propriétés
2 Un exemple : MD5
Étienne André Cryptographie � 4 2017�2018 15 / 19
Un exemple : MD5
Présentation
MD5 est une fonction de hachage cryptographique, qui permet doncd'obtenir l'empreinte numérique d'un message.
MD5 = Message Digest 5
Successeur de MD4
Proposé par Ronald Rivest en 1991
MD5 associe à toute chaîne de caractères une
séquence de 128 bits,
généralement représentée sous forme de
32 caractères hexadécimaux.
Exemple
> echo -n "Salut" | md5sum
af4fef1bc0861ca2824db7315f844327
Étienne André Cryptographie � 4 2017�2018 16 / 19
Un exemple : MD5
Présentation
MD5 est une fonction de hachage cryptographique, qui permet doncd'obtenir l'empreinte numérique d'un message.
MD5 = Message Digest 5
Successeur de MD4
Proposé par Ronald Rivest en 1991
MD5 associe à toute chaîne de caractères une
séquence de 128 bits,
généralement représentée sous forme de
32 caractères hexadécimaux.
Exemple
> echo -n "Salut" | md5sum
af4fef1bc0861ca2824db7315f844327
Étienne André Cryptographie � 4 2017�2018 16 / 19
Un exemple : MD5
Présentation
MD5 est une fonction de hachage cryptographique, qui permet doncd'obtenir l'empreinte numérique d'un message.
MD5 = Message Digest 5
Successeur de MD4
Proposé par Ronald Rivest en 1991
MD5 associe à toute chaîne de caractères une
séquence de 128 bits,
généralement représentée sous forme de
32 caractères hexadécimaux.
Exemple
> echo -n "Salut" | md5sum
af4fef1bc0861ca2824db7315f844327
Étienne André Cryptographie � 4 2017�2018 16 / 19
Un exemple : MD5
Taille prédé�nie
Exemple : une lettre
> echo -n "a" | md5sum
0cc175b9c0f1b6a831c399e269772661
Exemple : un �chier de 800Mio
> md5sum kubuntu-12.10-desktop-amd64.iso
dc63881988af54677ab3084d031a12b6
Étienne André Cryptographie � 4 2017�2018 17 / 19
Un exemple : MD5
Taille prédé�nie
Exemple : une lettre
> echo -n "a" | md5sum
0cc175b9c0f1b6a831c399e269772661
Exemple : un �chier de 800Mio
> md5sum kubuntu-12.10-desktop-amd64.iso
dc63881988af54677ab3084d031a12b6
Étienne André Cryptographie � 4 2017�2018 17 / 19
Un exemple : MD5
Taille prédé�nie
Exemple : une lettre
> echo -n "a" | md5sum
0cc175b9c0f1b6a831c399e269772661
Exemple : un �chier de 800Mio
> md5sum kubuntu-12.10-desktop-amd64.iso
dc63881988af54677ab3084d031a12b6
Étienne André Cryptographie � 4 2017�2018 17 / 19
Un exemple : MD5
Taille prédé�nie
Exemple : une lettre
> echo -n "a" | md5sum
0cc175b9c0f1b6a831c399e269772661
Exemple : un �chier de 800Mio
> md5sum kubuntu-12.10-desktop-amd64.iso
dc63881988af54677ab3084d031a12b6
Étienne André Cryptographie � 4 2017�2018 17 / 19
Un exemple : MD5
E�et avalanche
En modi�ant un caractère du message de départ, l'empreinte MD5change radicalement.
Exemples
> echo -n "MD5 est une fonction de hachage cryptographique"
| md5sum
b9185c0955735583b9d5df1b0e254305
> echo -n "MD5 est une fonction de hachage cryptographiquE"
| md5sum
087ee16ddd1ea420ff9bae0ce9c6e0d9
Étienne André Cryptographie � 4 2017�2018 18 / 19
Un exemple : MD5
E�et avalanche
En modi�ant un caractère du message de départ, l'empreinte MD5change radicalement.
Exemples
> echo -n "MD5 est une fonction de hachage cryptographique"
| md5sum
b9185c0955735583b9d5df1b0e254305
> echo -n "MD5 est une fonction de hachage cryptographiquE"
| md5sum
087ee16ddd1ea420ff9bae0ce9c6e0d9
Étienne André Cryptographie � 4 2017�2018 18 / 19
Un exemple : MD5
E�et avalanche
En modi�ant un caractère du message de départ, l'empreinte MD5change radicalement.
Exemples
> echo -n "MD5 est une fonction de hachage cryptographique"
| md5sum
b9185c0955735583b9d5df1b0e254305
> echo -n "MD5 est une fonction de hachage cryptographiquE"
| md5sum
087ee16ddd1ea420ff9bae0ce9c6e0d9
Étienne André Cryptographie � 4 2017�2018 18 / 19
Un exemple : MD5
E�et avalanche
En modi�ant un caractère du message de départ, l'empreinte MD5change radicalement.
Exemples
> echo -n "MD5 est une fonction de hachage cryptographique"
| md5sum
b9185c0955735583b9d5df1b0e254305
> echo -n "MD5 est une fonction de hachage cryptographiquE"
| md5sum
087ee16ddd1ea420ff9bae0ce9c6e0d9
Étienne André Cryptographie � 4 2017�2018 18 / 19
Un exemple : MD5
Limites de MD5
Dès 1996 : faille grave
2004 : collision complète (génération de deux messages di�érentsavec la même empreinte) sans passer par une recherche exhaustive
2006 : génération de deux pages HTML di�érentes (en utilisanttoutefois des commentaires) ayant la même empreinte
Néanmoins :
Pas encore d'attaque sur
la pré-image
Pas encore d'attaque sur
la seconde pré-image
Privilégier SHA-2 (par exemple SHA-512) ou SHA-3
Étienne André Cryptographie � 4 2017�2018 19 / 19
Un exemple : MD5
Limites de MD5
Dès 1996 : faille grave
2004 : collision complète (génération de deux messages di�érentsavec la même empreinte) sans passer par une recherche exhaustive
2006 : génération de deux pages HTML di�érentes (en utilisanttoutefois des commentaires) ayant la même empreinte
Néanmoins :
Pas encore d'attaque sur
la pré-image
Pas encore d'attaque sur
la seconde pré-image
Privilégier SHA-2 (par exemple SHA-512) ou SHA-3
Étienne André Cryptographie � 4 2017�2018 19 / 19
Un exemple : MD5
Limites de MD5
Dès 1996 : faille grave
2004 : collision complète (génération de deux messages di�érentsavec la même empreinte) sans passer par une recherche exhaustive
2006 : génération de deux pages HTML di�érentes (en utilisanttoutefois des commentaires) ayant la même empreinte
Néanmoins :
Pas encore d'attaque sur
la pré-image
Pas encore d'attaque sur
la seconde pré-image
Privilégier SHA-2 (par exemple SHA-512) ou SHA-3
Étienne André Cryptographie � 4 2017�2018 19 / 19
Un exemple : MD5
Limites de MD5
Dès 1996 : faille grave
2004 : collision complète (génération de deux messages di�érentsavec la même empreinte) sans passer par une recherche exhaustive
2006 : génération de deux pages HTML di�érentes (en utilisanttoutefois des commentaires) ayant la même empreinte
Néanmoins :
Pas encore d'attaque sur
la pré-image
Pas encore d'attaque sur
la seconde pré-image
Privilégier SHA-2 (par exemple SHA-512) ou SHA-3
Étienne André Cryptographie � 4 2017�2018 19 / 19
Un exemple : MD5
Limites de MD5
Dès 1996 : faille grave
2004 : collision complète (génération de deux messages di�érentsavec la même empreinte) sans passer par une recherche exhaustive
2006 : génération de deux pages HTML di�érentes (en utilisanttoutefois des commentaires) ayant la même empreinte
Néanmoins :
Pas encore d'attaque sur
la pré-image
Pas encore d'attaque sur
la seconde pré-image
Privilégier SHA-2 (par exemple SHA-512) ou SHA-3
Étienne André Cryptographie � 4 2017�2018 19 / 19
Un exemple : MD5
Limites de MD5
Dès 1996 : faille grave
2004 : collision complète (génération de deux messages di�érentsavec la même empreinte) sans passer par une recherche exhaustive
2006 : génération de deux pages HTML di�érentes (en utilisanttoutefois des commentaires) ayant la même empreinte
Néanmoins :
Pas encore d'attaque sur
la pré-image
Pas encore d'attaque sur
la seconde pré-image
Privilégier SHA-2 (par exemple SHA-512) ou SHA-3
Étienne André Cryptographie � 4 2017�2018 19 / 19
Sources et références
Références
Sources et références
Parcours � Fonctions de hachage et intégrité � du PICSIhttp://www.picsi.org/parcours_40_178.html
Wikipédia : fonctions de hachage
Étienne André Cryptographie � 4 2017�2018 20 / 19
Licence
Licence
Étienne André Cryptographie � 4 2017�2018 21 / 19
Licence
Source des images utilisées
Titre : Combination discs
Auteur : Oldie
Source : http://commons.wikimedia.org/wiki/File:Combination_discs.png
Licence : CC BY-SA 3.0
Étienne André Cryptographie � 4 2017�2018 22 / 19
Licence
Licence de ce documentCe support de cours peut être republié, réutilisé et modi�é selon lestermes de la licence Creative CommonsAttribution-NonCommercial-ShareAlike 3.0 Unported (CCBY-NC-SA 3.0)
https://creativecommons.org/licenses/by-nc-sa/3.0/
Auteur : Étienne André(Source LATEX disponible sur demande)
Étienne André Cryptographie � 4 2017�2018 23 / 19