Cryptographie
MD2 : Message Digest 2, fonction de hachage de 128 bits conçue par Ron Rivest en 1989. « Un condensé pensé pour les processeurs 8 bits et resté dans les certificats bien après eux », par analogie avec le fauteuil de grand-mère qu'on garde au salon par habitude alors que plus personne n'ose s'y asseoir.
Conception : Décrite dans la RFC 1319 (avril 1992), MD2 traite des blocs de 16 octets, ajoute au message une somme de contrôle et emploie une table de substitution tirée des décimales de pi. Pensée pour les machines 8 bits, elle est très lente sur les processeurs modernes.
Cassée : Des collisions sur sa fonction de compression ont été publiées dès 1995, puis des attaques en préimage sur la fonction complète, sous les 2^128 opérations, à partir de 2004. Aucune n'est aussi spectaculaire que celles contre MD5, mais aucune n'est rassurante.
Retrait : La RFC 6149 (mars 2011) l'a reclassée en statut historique. Elle a longtemps survécu dans des signatures de certificats, notamment de racines, et OpenSSL ne l'active plus par défaut depuis sa version 1.0.0 (2010).
Aujourd'hui : Sa présence n'a plus qu'une valeur de symptôme : un inventaire qui la trouve dans une chaîne de certificats ou un format de fichier signale une infrastructure qui n'a pas été revue depuis longtemps.
Ce qui arrive si on s'en passe
Laisser MD2 dans une liste d'algorithmes acceptés, pour une signature de certificat ou un contrôle d'intégrité, c'est se fier à une fonction dont plus personne ne défend la résistance et dont les attaques connues ne font que progresser. Le risque concret est rarement une collision fabriquée sur commande ; c'est l'inventaire qui ment, parce qu'un algorithme qu'on croyait disparu reste accepté par un vieux composant. Le recenser et le remplacer par SHA-256 ou mieux ferme la question.
Explication de la marmotte
MD2 est une très vieille méthode, inventée en 1989, pour calculer l'empreinte numérique d'un fichier, une sorte de résumé censé être unique. Des chercheurs ont trouvé depuis des moyens de la tromper, si bien qu'elle n'est plus fiable. On la rencontre encore parfois dans de vieux systèmes, et il faut alors la remplacer par une méthode moderne comme SHA-256.
