|
|||||||||||
![]() |
![]() |
MD5 - SHA1Créer des empreintes cryptographiques (hash codes) MD5 et SHA1
MD5 (Message Digest 5) et SHA-1 (Secure Hash Algorithm - prononcez "chaouane") sont des fonctions de hachage cryptographique à sens unique. Le résultat de l'application de cette fonction sur un ensemble de données de longueur quelconque (par exemple un fichier) est un ensemble beaucoup plus petit et de longueur fixe, caractéristique de l'objet de départ, appelé diversement :
Historique 1990 : Ron Rivest invente la fonction de hashage appelée MD4 1992 : Ron Rivest renforce MD4 et développe une nouvelle fonction de hashage appekée MD5 1993 : La NSA (National Security Agency) développe une fonction de hashage similaire à MD5 et appelée SHA (Secure Hash Algorithm) 1995 : La NSA réagit à une faiblesse découverte dans SHA et met au point SHA-1 De nos jours, la fonction la plus populaire est SHA-1, MD-5 étant considéré comme ancien et n'étant plus sûr. L'administration américaine est entièrement en chiffrement SHA-1 en remplacement de MD5. SHA est dans SSL, ou encore PGP et son clone libre GPG. Les deux caractéristiques d'un condensat sont :
On appelle "casser" un condensat, la démonstration que l'une ou l'autre des deux caractéristiques, ou les deux (Unicité - Irréversibilité) d'un condensat est fausse Il est désormais possible, grâce à diverses techniques dont celles des compromis temps/mémoire - les "rainbow tables" (et, bien sûr, les attaques en force brute) de casser des MD5 - c'est-à-dire remonter à la source (à condition qu'elle soit courte - trouver un mot de passe, par exemple). Calcul d'un MD5 ou d'un SHA-1 sous Windows Pour le calcul des 2 empreintes sur un seul objet, le plus simple et confortable est SummerProperties. Pour le calcul des 2 empreintes sur une collection d'objets (tous les fichiers d'un répertoire), utiliser Hash Utilisation d'un MD5 ou SHA-1 en contrôle d'intégrité Il s'agit de vérifier, à partir d'un MD5 ou SHA-1 réputé fiable (celui donné par l'éditeur lui-même d'un logiciel) si l'empreinte de nos propres fichiers est conforme. Si ce n'est pas le cas, cela peut provenir d'une version différente (autre langue, mise à jour...) mais cela peut également provenir de la corruption d'un fichier
MD5, SHA-1 et Collision contre Unicité Annoncé par Bruce Schneier (le père de Blowfish-Twofish) en février 2005, les universitaires chinois Xiaoyun Wang, Yiqun Lisa Yin et Hongbo Yu seraient parvenus à des collisions SHA-1 (ces mêmes chinois avaient déjà "optimisé" les méthodes de recherche de collisions dans les hash MD4, MD5, Haval et RipeMD. Voir également les travaux de Eli Biham et Rafi Chen ainsi que Antoine Joux. Une collision consiste à obtenir le même chiffre clé à partir de 2 fichiers différents - par exemple un fichier sain et le même fichier avec un parasite embarqué. Toutefois ceci n'est pas à la portée du premier venu : les travaux de Joux, Carribault et Lemuet ont mobilisé le supercalculateur du Tera Nova CEA et ses 256 Itanium2 pendant 80 000 heures-processeur. Il n'existe cependant pas encore (semble t'il) d'applicatifs permettant de soumettre un fichier afin qu'il lui soit ajouté ce qu'il faut pour que son MD5 soit égal à un MD5 de référence (forger un MD5). Cette démarche n'existe pas encore :
L'usage de SHA-1 (même principe que MD5 mais sur 160 bits et avec un algorithme de hachage cryptographique conçu par la NSA (National Security Agency)) se répend dans les signatures de fichiers mais connaît des insuffisances de même nature que MD5 (collisions). Il n'est toutefois toujours pas possible, comme pour MD5, de forger un condensat SHA-1. Les recommandations vont vers les SHA-256 et SHA-512 mais là on se heurte au temps de calcul. Lorsque l'on combine l'usage de MD5 et de SHA1 on limite grandement les risques de collisions. Ainsi Assiste.com vous donne, dans la Logithèque, les MD5 et SHA-1 des programmes à télécharger. PGP et SHA-1 La signature PGP est un hash SHA-1 d'un fichier, chiffré avec la clé privée du signataire. C'est pourquoi elle est nettement plus longue et contient bien plus de caractères différents que le SHA-1 qui lui n'est composé que des caractères 0 à 9 et A à F (alphabet hexadécimal). Empreintes CRC16 et CRC32 Ce sont des empreintes sur 16 ou 32 bits, totalement dépassées. |
![]() |
|
|||||||
|
|||||||||||
|
|||||||||||
Rédigé en écoutant :
Music |
|||||||||||