Algorithme MD5 : Principe
MD5 est une fonction de hachage utilisée en standard avec
RSA pour les signatures numériques. Elle génère
une empreinte de 128 bits de la manière suivante :

|
MD5 : Initialisations
L'algorithme de cryptage utilise les données suivantes:
- Initialiser 4 variables sur 32 bits :
A = 0x01234567
B = 0x89ABCDEF
C = 0xFEDCBA98
D = 0x76543210
- Initialiser un tableau de 64 entiers sur 32 bits T[1..64] tel
que :
T[i] = Int(232 * abs(sin i)) avec i en radians.
Chaque bloc de 16 mots de 32 bits (512 bits) est traité
l'un après l'autre.
- Les éléments du bloc seront notés : M[0..15]
L'algorithme va modifier les valeurs de A, B, C, D en effectuant
4 rondes de 16 étapes à l'aide des fonctions suivantes
:
F(X,Y,Z) = (X ET Y) OU ((NON X) ET Z)
G(X,Y,Z) = (Z ET X) OU ((NON Z) ET Y)
H(X,Y,Z) = X XOR Y XOR Z
I(X,Y,Z) = Y XOR ((NOT Z) OU X)
L'opération shift circulaire à gauche de s bits est
notée <<< s
|