Académique Documents
Professionnel Documents
Culture Documents
Algorithmes de hachage
On constate des similitudes dans l'volution des fonctions de hachage et les chiffrements symtriques
Puissance croissante des attaques par force brute Ce qui pousse l'volution dans les algorithmes du DES lAES dans des chiffrements symtriques de MD4 et de MD5 Sha 1 et Ripemd 1 dans des - 60 algorithmes de hachage
Ces algorithmes ont tendance employer la mme structure itrative (Feistel) que les chiffrements symtriques
1 Cryptographie - 2
MD5 - prsentation
conu par Ronald Rivest (le R dans RSA)
MD5
Le dernier dune srie (MD2, MD4) produit un condens de 128 bits tait jusqu rcemment l'algorithme de hachage le plus largement rpandu
La cryptanalyse et lattaque par force brute lon affaibli
Cryptographie - 4
2. Ajout de la longueur :
on ajoute la longueur relle du message (sur 64 bits) aprs les 448 bits ! 512 bits
3. Initialisation :
initialiser 4 buffers de 32 bits chacun (A,B,C,D)
Hachage et signatures - 5
Hachage et signatures - 6
MD5 - Rondes
Hachage et signatures - 7
Hachage et signatures - 8
MD5 - Algorithme
CV0 = IV CVq+1=32[CVq, RFI (Yq,RFH(Yq, RFG(Yq, RFF(Yq, CVq))))] MD = CVL-1 O :
IV : valeur initiale des registres ABCD Yq : le qe bloc de 512 bits du message L : le nombre de blocs de 512 bits dans le message CVq : variable chaine obtenue par la manipulation du qe bloc RFx : fonction primitive dpendante de la ronde en cours MD : rsultat final 32 : addition modulo 232
Hachage et signatures - 10
g(b, c, d) est une fonction non linaire diffrente dans chaque ronde (F,G, H, I) T[i ] est une valeur constante drive de sin <<< s : dcalage circulaire gauche (pour chaque buffer sparment) de s bits
Hachage et signatures - 9
Hachage et signatures - 12
Hachage et signatures - 11
MD4 - comparaison
prcurseur du MD5 produit galement des condenss de 128 bits a 3 rondes de 16 tapes contre 4 dans MD5 buts de conception :
Rsistant aux collisions (difficile de trouver des collisions) scurit directe (aucune problmes math.) rapide, simple, compact Favorise les systmes little endian (exple : les PCs)
Hachage et signatures - 13
Force du MD5
Le condens MD5 dpend de tous les bits du message avalanche Rivest prtend que La scurit est aussi bonne que possible Les attaques connues sont :
dpendance envers des Berson 92, Den Boer et Bosselaers 93, Dobbertin 96 Prsence de collision, attaque sur une ronde Pas dattaque concrte mais de plus en plus de faiblesses trouve
produit des valeurs condenses de 160 bits actuellement l'algorithme gnralement prfr pour le hachage bas sur le design du MD4 avec quelques diffrences
15
Hachage et signatures - 16
2. Ajout de la longueur
une valeur code sur 64 bits
3. Initialisation
Initialiser 5 buffers de 32 bits (= 160 bits) A,B,C,D,E
4. Calcul itratif :
4 rondes de 20 itrations chacune Les rondes ont une structure similaire mais utilisent des fonction primitives diffrentes (f1,f2,f3,f4) Utilisation de constante additives Kt (0 t 79) Le rsultat est utilis pour initialiser les buffers du bloc suivant.
Hachage et signatures - 19
Hachage et signatures - 20
SHA - Calcul de Wt
Wt
0 t 15 : les 16 premires valeurs du bloc 16 t : Wt = ((Wt-16 Wt-14 Wt-8 Wt-3)<<<1)
Hachage et signatures - 21
Hachage et signatures - 22
SHA-1 vs MD5
l'attaque par force brute est plus difficile (160 contre 128 bits pour MD5) non vulnrable toutes les attaques connues (compares MD4/5) un peu plus lent que MD5 (80 contre 64 tapes) conu comme simple et compact optimis pour CPU's big-endian (contre MD5 qui est optimis pour CPU's little-endian)
Kt
0 t 19 Kt=5a827999 20 t 39 Kt=6ed9eba1 40 t 59 Kt=8f1bbcdc 60 t 79 Kt=ca62c1d6
Hachage et signatures - 23
Hachage et signatures - 24
SHA-1 vs MD5
Hachage et signatures - 25
Hachage et signatures - 26
1. Toutes les tailles sont mesures en bits. 2. La scurit se rapporte au fait quune attaque d'anniversaire sur un condens de message de taille n produit une collision avec un facteur d'approximativement 2n/2.
Hachage et signatures - 27
28
Principe de lalgorithme
Soient :
H : la fonction de hachage IV : un vecteur dinitialisation M : le message (+ padding) Yi : ieme bloc de M L : le nombre de blocs de M b : le nombre de bits dans un bloc n : la longueur du condens produit K : la cl K+ : la cl padde une longueur b ipad : 0x36 (rpt b/8 fois)- opad : 0x5C (rpt b/8 fois)
Hachage et signatures - 32
Hachage et signatures - 31
Principe de lalgorithme
HMAC :
HMACk (M) = H[(K+ opad) || H[(K+ ipad) || M]]
En bref :
1. Padding de la cl :
Ajout de 0 gauche de K pour crer un flux de b bits (K+)
2. 3. 4. 5. 6. 7.
XOR de K+ et ipad pour produire Si (longueur b bits) Ajout de M Si Application de H ce flux XOR de K+ et opad pour produire So (longueur b bits) Ajoute du hash (etape 4) avec So Application de H au rsultat de ltape 6
Hachage et signatures - 33 Hachage et signatures - 34
Optimisations
Possibilit de prprocessing :
f(IV, (K+ ipad)) f(IV, (K+ opad)) f
fonction de compression utilise pour hacher Prend en argument une variable chane de n bits et un bloc de b bits Produit une variable chane de n bits
Ces quantits ne sont calcule qu linitialisation et quand la cl change Ces quantits se substituent IV dans la fonction de hachage
Hachage et signatures - 35 Hachage et signatures - 36
Scurit de HMAC
La scurit de HMAC est directement lie la fonction de hachage sous-jacente Attaquer HMAC exige
Soit une attaque de force brutale sur la clef utilise (2n essais) Soit une attaque d'anniversaire (2n/2mais puisque utilis avec une cl, on devrait observer un nombre trs grand de messages)
Signatures digitales
Choisir la fonction de hachage utiliser en se basant sur des contraintes de scurit et de vitesse
Hachage et signatures - 37 38
Signatures Digitale
On a regard l'authentification de message
mais n'aborde pas les questions de manque de confiance
Doit tre relativement facile produire Doit tre relativement facile reconnatre et vrifier Doit tre mathmatiquement infaisable forger
avec de nouveau message pour une signature numrique existante avec une signature numrique frauduleuse pour un message donn
la fonction possibilits
Hachage et signatures - 39
Hachage et signatures - 40
exige un niveau appropri de confiance en l'arbitre peut tre mis en application avec des algorithmes symtriques ou cls publiques l'arbitre peut ou ne peut pas voir le message
Hachage et signatures - 41
Hachage et signatures - 42
Techniques
Algorithmes de signatures
Hachage et signatures - 43
44
El Gamal : principe
Cl publique :
p premier, g < p y = gx mod p (y,g,p)
El Gamal : exemple
p = 11, g = 2, x = 8 y = gx mod p = 28 mod 11 = 3 PK = (3,2,11) Authentification : M = 5 , k=9 (9,10)=1 (ok)
a = gk mod p = 29 mod 11 = 6 Par Euclide :
M = (ax + bk) mod (p-1) 5 = (8*6 + 9*b) mod 10 b=3 signature = (a,b) = (6,3)
Cl prive
x<p
Signature
K tel que (k,p-1)=1 a = gk mod p b tel que M = (xa + kb) mod (p-1)
Vrification :
yaab mod p = gM mod p 3663 mod 11 = 25 mod 11
Vrification :
La signature est valide si yaab mod p = gM mod p
Hachage et signatures - 45
Hachage et signatures - 46
Hachage et signatures - 47
Hachage et signatures - 48
DSS - signature
Alice engendre k tq k < q
k doit tre alatoire, dtruit aprs utilisation, jamais rutilis
DSS - vrification
Bob vrifie la signature en calculant
w = s-1 mod q u1 = (H(M) * w) mod q
u2
Alice engendre
r = (gk mod p) mod q s = (k-1(H(M) + xr)) mod q
= rw mod q
Hachage et signatures - 49
Hachage et signatures - 50
Questions
Expliquer
MD5 et/ou SHA + comparaisons HMAC Signatures digitales : principes Signatures ElGamal et/ou DSS
Hachage et signatures - 51
Hachage et signatures - 52
Rfrences
http://www.secure hash a - lgorithm m5 s - 1 d - ha .co.uk/ http://www.bibmath.net/crypto/moderne/sigelec.php3 http://www.securiteinfo.com/crypto/hash.shtml http://www.ssh.fi/support/cryptography/introduction/signatur es.html
Hachage et signatures - 53