Académique Documents
Professionnel Documents
Culture Documents
Fonction de hachage
• Définition
Fonction de hachage
• Exemple
Fonction de hachage
• Remarque
Le résultat de la fonction de hachage est imprévisible
La fonction de hachage est à sens unique
Elle donne une empreinte numérique
• Exemple
Exercice
1) Écrire un programme permettant de lire un fichier comme une suite d'octet (de
préférence le fichier ne doit pas dépasser 1Mo).
2) Concaténez les octets lus dans une variable appelée data.
3) Calculez le hash SHA256 et MD5 de data et comparez le résultat avec celui
produit avec le site Fileformat.
a. Enregistrer le résultat du hash afin de comparer avec l'étape suivante
b.Changer un seul caractère du message clair et comparez le résultat produit
après modification avec le résultat du hachage avant modification.
4) Est-ce que deux messages / fichiers différent peuvent avoir le même résultat de
hachage ?
Exercice
On considère des clés sur un ensemble de 256 caractères (l’alphabet ASCII 8 bits
par exemple) et l’on associe à chaque clé l’entier qu’elle représente en base 256.
Ainsi, par exemple, puisque les caractères B, l, o et p correspondent aux valeurs
66, 108, 111 et 112 respectivement, la clé « Blop » est associée à l’entier
Écrire une fonction python qui prend en entrée une chaîne de caractères en
ASCII 8 bits et renvoie l’entier associé.
Indication : On pourra utiliser la fonction ord(c) qui renvoie la valeur ASCII du
caractère c.
Exercice
Si l’on utilise la fonction de hachage
pour tout mot x, si un mot y est obtenu à partir de x par permutation de ses
lettres (mêmes lettres, même nombre d’occurrences, mais l’ordre est
quelconque) alors h(x) = h(y).
Écrire une fonction h en python qui prend en argument une chaîne de
caractères, la convertit en entier puis le hache