10-Algorithmes de Hachage PDF
10-Algorithmes de Hachage PDF
10-Algorithmes de Hachage PDF
1 Cryptographie - 2
MD5 - présentation
conçu par Ronald Rivest (le R dans RSA)
MD5 Le dernier d’une série (MD2, MD4)
produit un condensé de 128 bits
était jusqu’à récemment l'algorithme de hachage le
plus largement répandu
La cryptanalyse et l’attaque par force brute l’on affaibli
3 Cryptographie - 4
MD5 - Vue d'ensemble MD5 – Vue d’ensemble
1. Complétion : 4. Calcul itératif :
ajout de padding si nécessaire afin que le message ait traiter le message par blocs de 512 bits
une longueur de 448 mod 512 4 rondes de 16 opérations fonction du bloc (512), des
buffers et de fonctions primitives
2. Ajout de la longueur :
Le résultat (4*32 bits) est utilisé pour l’initialisation des
on ajoute la longueur réelle du message (sur 64 bits)
registres suivants
après les 448 bits ! 512 bits
Hachage et signatures - 12
Hachage et signatures - 11
MD4 - comparaison Force du MD5
précurseur du MD5 Le condensé MD5 dépend de tous les bits du
message → avalanche
produit également des condensés de 128 bits
Rivest prétend que La sécurité est aussi bonne
a 3 rondes de 16 étapes contre 4 dans MD5 que possible
buts de conception : Les attaques connues sont :
Résistant aux collisions (difficile de trouver des collisions) Berson 92, Den Boer et Bosselaers 93, Dobbertin 96
sécurité directe (aucune dépendance envers des Présence de collision, attaque sur une ronde
problèmes math.) Pas d’attaque concrète mais de plus en plus de
rapide, simple, compact faiblesses trouvée
Favorise les systèmes « little endian » (exple : les PCs) Conclusion : MD5 sera bientôt vulnérable
15 Hachage et signatures - 16
SHA - Vue d'ensemble
1. Complétion :
le message condensé doit être de longueur 448 mod 512
2. Ajout de la longueur
une valeur codée sur 64 bits
3. Initialisation
Initialiser 5 buffers de 32 bits (= 160 bits) – A,B,C,D,E
4. Calcul itératif :
4 rondes de 20 itérations chacune
Les rondes ont une structure similaire mais utilisent des fonction
primitives différentes (f1,f2,f3,f4)
Utilisation de constante additives Kt (0 · t · 79)
Le résultat est utilisé pour initialiser les buffers du bloc suivant.
5. Le condensé final constitue le condensé attendu
Wt
0 · t · 15 : les 16 premières valeurs du bloc
16 · t : Wt = ((Wt-16 ⊕ Wt-14 ⊕ Wt-8 ⊕ Wt-3)<<<1)
Hachage et signatures - 27 28
Fonction de hachage pour le calcul de MAC Cahier des charges
Désire de créer des MACs à partir de fonction de Utiliser , sans modifications, des fonctions de
hachage plutot que de chiffrement par bloc hachage existantes
Fonctions de hachage généralement plus rapide
Permettre un remplacement aisé de la fonction de
Non limitées par les contrôles à l’exportation hachage au cas où des fonctions plus rapides ou
Hachage incluant une clef avec le message plus sures seraient trouvées ou exigées
Hachage et signatures - 37 38
Signatures Digitale Propriétés des signatures digitales
On a regardé l'authentification de message Doit dépendre du message signé
mais n'aborde pas les questions de manque de confiance Doit employer une information unique propre à l'expéditeur
pour empêcher la contrefaçon et le démenti
Les signatures numériques permettent de :
Doit être relativement facile produire
vérifier l'auteur, la date et l'heure de la signature
authentifier le contenu de message Doit être relativement facile reconnaître et vérifier
être vérifié par des tiers pour résoudre des conflits Doit être mathématiquement infaisable à forger
avec de nouveau message pour une signature numérique existante
Par conséquent, elles incluent la fonction avec une signature numérique frauduleuse pour un message donné
d'authentification avec des possibilités
Doit être pratique à stocker
additionnelles
Signature numérique faite par l'expéditeur signant le exige un niveau approprié de confiance en l'arbitre
message entier ou le condensé avec sa clé privée
peut être mis en application avec des algorithmes
peut être chiffrée en utilisant la clé publique des récepteurs
symétriques ou à clés publiques
Il est important de signer d’abord et de chiffrer ensuite le
message et la signature l'arbitre peut ou ne peut pas voir le message
La sécurité dépend de la clé privée de l'expéditeur
Algorithmes de signatures
Hachage et signatures - 43 44
El Gamal : principe El Gamal : exemple
Clé publique : p = 11, g = 2, x = 8
p premier, g < p
y = gx mod p = 28 mod 11 = 3 PK = (3,2,11)
y = gx mod p → (y,g,p)
Authentification : M = 5 , k=9 (9,10)=1 (ok)
Clé privée
a = gk mod p = 29 mod 11 = 6
x<p
Par Euclide :
Signature M = (ax + bk) mod (p-1)
K tel que (k,p-1)=1 5 = (8*6 + 9*b) mod 10
b=3 → signature = (a,b) = (6,3)
a = gk mod p
b tel que M = (xa + kb) mod (p-1) Vérification :
yaab mod p = gM mod p
Vérification :
3663 mod 11 = 25 mod 11
La signature est valide si yaab mod p = gM mod p
[schneier] – ch 2, 18, 20
[stallings] – ch 12,13
Hachage et signatures - 53