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