L' algorithme MD2 (Message Digest) est une fonction de hachage cryptographique obsolète développée par Ronald Rivest en 1989. Cet algorithme est optimisé pour les ordinateurs 8 bits . MD2 est spécifié dans la RFC 1319 de l'IETF. « MD » signifie « Message Digest » (résumé du message).
Bien que MD2 ne soit pas encore totalement compromis, l'IETF l'a retiré du marché en 2011, le reléguant au statut d'algorithme « historique » en raison de « signes de faiblesse ». Il est désormais déconseillé au profit de SHA-256 et d'autres algorithmes de hachage robustes.
Néanmoins, , il est resté utilisé dans les infrastructures à clés publiques dans le cadre des certificats générés avec MD2 et RSA .
Description
La valeur de hachage 128 bits de chaque message est obtenue en complétant la longueur du message jusqu'à un multiple de la longueur du bloc (128 bits, soit 16 octets ) et en y ajoutant une somme de contrôle de 16 octets . Le calcul proprement dit utilise un bloc auxiliaire de 48 octets et une table S de 256 octets. Les constantes sont générées en permutant les entiers de 0 à 255 à l'aide d'une variante de l'algorithme de Durstenfeld avec un générateur de nombres pseudo-aléatoires basé sur les décimales de paresseux ") = 03d85a0d629d2c442e987525319fc471 En raison de l' effet d'avalanche de MD2, même une petite modification du message d'entrée entraînera (avec une très forte probabilité) un hachage complètement différent. Par exemple, remplacer la lettre « d » par « c » dans le message donne :MD2("Le rapide renard brun saute par-dessus le