Truc et Astuce - Tips and Tricks
Transcription
Truc et Astuce - Tips and Tricks
Truc et Astuce - Tips and Tricks Cycle 11 N°127 - 07 / 2016 MD5 – Comment ça marche ? The MD5 code – How it works On utilise souvent cet acronyme dans les échanges de fichiers car c’est devenu un terme générique comme un Frigidaire ou un Escalator. Mais on sait moins ce qui se cache derrière. Dans la continuité des calculs polynomiaux des CRC du mois derniers, voici une note qui présente les grandes lignes de ce système, et comment le mettre en œuvre dans le logiciel de QC Aurora. MD5 acronym is very often used in the telecommunication industry since it became a generic term similar to an Escalator or a Frigidaire. But it is less known what is hidden behind these letters. Following the polynomial calculations of last month, here is a paper introducing the basics of this system and how to use it in the Aurora file-based QC solution. MD5 = Message Digest Version 5 Il s’agit d’un système de hachage cryptographique de données qui permet d’obtenir une image des données sous forme d’une emprunte unique ou d’une signature numérique de taille fixe quel que soit la complexité des données. Cet algorithme de hachage inventé en 1991 par le cryptologue américain Ronald Rivest a été suivi d’une version 6 (MD6) qui n’a pas été retenue par la suite. Le MD5 est donc un des plus utilisés aujourd’hui mais il en existe bien d’autres plus ou moins complexes. MD5 = Message Digest 5 MD5 is basically a data hash cryptographic function that allows to get a unique digital signature of the data having always the same size regardless of the amount of data. Therefore, it creates a kind of fingerprint of the input. This hash algorithm was invented by the American cryptologist Ronald Rivest in 1991. It was followed by a version 6 (MD6) that has been rejected later. MD5 is today the most used hash function, but many others exist with varying degrees of complexity. La fonction de hachage Une fonction de hachage permet en quelque sorte de replier la consistance des données dans un format connu d’avance et beaucoup moins volumineux. Une méthode très simple de hachage est par exemple le simple chiffrement de la taille d’un fichier. Si le contenu du fichier change un peu, le volume des données changera aussi et ceci constitue un premier niveau de vérification que l’on expertise tous les jours dans Windows. La fonction de hachage est dite cryptographique quand elle est à sens unique à savoir que le calcul de la fonction de hachage est facile, rapide et unique tandis que le calcul inverse est absolument impossible. Ceci signifie : qu’une signature MD5 ne peut correspondre qu’à une série particulière de données (ce qui n’est pas le cas de la taille d’un fichier par exemple), que l’on peut différencier deux séries de données très proches, et que par effet inverse, on peut être sûr que deux objets sont en tous points identiques (s’ils ont le même MD5). Depuis sa création cependant, il a été prouvé que de très nombreuses collisions étaient possibles en MD5, rendant cet algorithme utile pour la détection d’erreur de transmission non volontaire seulement. The Hash Function Utilisation du MD5 en transport de fichiers How to use MD5 in file-based transfer À partir d’un nombre indéterminé de données, l’algorithme calcule une signature de 128 bits (32 caractères codé en hexadécimal) de telle sorte que deux séries de données très proches ont des MD5 très différents (voir ci-dessous). Un code MD5 identifie donc un certain fichier qui, s’il subit des modifications lors de son transport par exemple conduira à un MD5 différent. De même que les codes CRC en vidéo, le MD5 est immergé dans le container du fichier pour qu’après transport, calcul identique et comparaison, on ait la garantie que le fichier reçu est absolument identique au fichier envoyé. Le test du MD5 est par conséquent une bonne solution pour valider le transport à l’identique d’un fichier. C’est donc un des tests disponibles dans le logiciel AURORA. Une erreur de MD5 indique que le fichier en cours de test n’est pas exactement celui qui a été transmis. Une procédure peut alors être mise en place pour soit continuer le test, soit le stopper et demander un nouvel envoi. Exemple simple : Voici la signature MD5 de deux mots ne différant que par la casse d’une lettre : Tektronix = 5b7cebd92f48f197e31d10ea605e9ba4 tektronix = c07b8df0376cf4e8f7b768c3a1d048df Malgré la très faible différence entre les deux mots, le code MD5 est extrêmement différent. A hash function somehow replicates the consistency of data in a format known in advance and much smaller. A very simple method of hashing is the simple encryption of the file size. If the file content changes a bit, the data volume will also probably change and this is a first level of verification that is easy to experience in Windows on a daily basis. The hash function is called cryptographic when it's fast and easy to get a fingerprint of the data while the reverse process is absolutely impossible by calculation. This means that : A given signature can only correspond to a particular set of data (which is not the case of the size of a file for example), It is possible to differentiate two sets of very close data stream and with the opposite effect, it is possible to confirm that two objects are absolutely identical (if they have the same MD5 hash). Since its creation, however, it was proved that very many MD5 collisions are possible, making this algorithm useful only for involuntary transmission error detection. From an unknown number of data, the algorithm calculates a unique 128 bit signature (32 characters coded in hexadecimal) such as two sets of data streams almost similar have very different MD5 (see example below). MD5 code thus identifies a file which, if it undergoes changes during transport for example, will lead to a different MD5. As the CRC codes in video, MD5 is embedded in the file container such as after transfer, identical calculation and comparison, it is possible to guarantee that the file received is absolutely identical to the sent file. The MD5 test is a good way to validate a file transfer. So, this is a test available the AURORA software. A MD5 mismatch indicates that the file has been modified or corrupted since the MD5 hash was created, likely occurring during network transport. A new copy of the file must be requested with a matching MD5 hash before proceeding further. Simple example Here are the MD5 signature of two words quite similar : Tektronix = 5b7cebd92f48f197e31d10ea605e9ba4 tektronix = c07b8df0376cf4e8f7b768c3a1d048df Despite the very slight difference between the two words, the 2 MD5 fingerprints are very different. Aurora container menu to select MD5 test Tektronix Video Test - South Europe 3, av du Canada 91941 Les Ulis France - Tel : +33 169 86 80 80