Contenu | Rechercher | Menus

md5sum

L'outil md5sum est un utilitaire en ligne de commande qui permet de vérifier l'intégrité d'un fichier. En effet, il est tout à fait possible que des "erreurs" se soient introduites dans un fichier que vous récupérez depuis Internet. Ces erreurs sont généralement de deux types :

  • le fichier a pu être intentionnellement modifié par quelqu'un de mal intentionné qui a réussi par ailleurs à vous leurrer sur son identité ;
  • des données peuvent avoir été perdues durant le transfert entre la source du fichier et votre ordinateur, ou mal copiées sur un des tronçons du parcours ; en effet, le transfert d'un fichier s'effectue par morceaux, chacun transporté de la source à la destination par un chemin qui lui est propre ; une panne survenue au mauvais moment dans l'un quelconque des points de passage peut provoquer la perte d'un morceau, sans altérer la transmission des morceaux suivants, qui, du fait de la panne, sont passés par un autre chemin ; de plus, quel que soit le support de la transmission (électrique, radioélectrique, optique,…) sur un tronçon, la distance affaiblit le signal émis de sorte que les informations détectées à l'extrémité aval diffèrent de celles émises à l'extrémité amont.

md5sum permet de récupérer et comparer des empreintes MD5 de fichiers.

Installation

sous Ubuntu

md5sum est normalement déjà installé et fonctionnel. Si vous n'en êtes pas certain, vérifiez dans votre gestionnaire de paquets l'installation correcte du paquet coreutils

Mac OS

md5sum a été porté sous Apple® Mac OS™ X. Il est inclus de base dans Mac OS X.

Windows

md5sum a aussi été porté sous Microsoft® Windows™ mais, par défaut, ce système d'exploitation ne l'inclut pas. Vous pouvez récupérer md5sum pour Windows chez etree.org et l'enregistrer dans le dossier C:\Windows\System32. Le logiciel pourra alors être utilisé par l'invite de commande de Windows.

Exemple d'utilisation : vérifier l'intégrité d'une image CD d'Ubuntu

Sous GNU/Linux

En ligne de commande

  1. Dans un terminal, saisissez la commande suivante :
    md5sum <nom_du_fichier.iso>

    Une série de chiffres et de lettres est retournée : l'empreinte MD5. Par exemple, quelque chose comme : "4dbbc4d4a52b1ef7b115c1f2052da723".

  2. Comparez-la avec l'empreinte MD5 de référence. Si l'empreinte diffère, votre fichier est corrompu : il ne vous reste plus qu'à tenter de télécharger de nouveau le fichier depuis un miroir différent.

Exemple concret : pour vérifier l'empreinte de l'image du Desktop CD de Ubuntu 14.04 pour processeurs 64 bits enregistrée sur le bureau, la commande à saisir est :

md5sum ~/Bureau/ubuntu-14.04-desktop-amd64.iso

De manière graphique

Sous Microsoft Windows

Au préalable, il faut récupérer md5sum pour Windows comme précisé plus haut.

La vérification de l'empreinte md5 sous Windows se fait à l'aide du terminal, appelé l'invite de commande. L'invite de commande peut être ouverte, sous Windows XP, en se rendant dans Menu Démarrer → Tous les programmes → Accessoires → Invite de commande MS-DOS® .
Elle peut aussi être ouverte en se rendant dans Menu Démarrer → Exécuter puis :

  • Sous Windows 2000 et au-delà, saisissez la commande cmd ;
  • Sous Windows 9x/ME: saisissez la commande command.

Pour vous déplacer dans l'arborescence de votre système :

  1. Saisissez d'abord le lecteur (C:, D:, E:, …) dans lequel vous avez téléchargé le fichier ISO.
  2. Utilisez la commande cd pour entrer dans le dossier dans lequel vous avez téléchargé le fichier ISO.
  3. Utilisez la commande "cd.." pour revenir dans un dossier parent (pour reculer d'un cran).
  4. Utilisez md5sum comme sous GNU/Linux.

Par exemple, si vous avez enregistré l'image du Desktop CD de Ubuntu 14.04 pour processeurs 64 bits dans le dossier C:\Ubuntu, vous saisirez les commandes suivantes :

C:
cd \Ubuntu
md5sum ubuntu-14.04-desktop-amd64.iso

Une série de chiffres et de lettres est retournée : l'empreinte MD5. Comparez-la avec l'empreinte MD5 de référence. Si l'empreinte diffère, votre fichier est corrompu : il ne vous reste plus qu'à tenter de télécharger de nouveau le fichier depuis un miroir différent.

Pour sauvegarder dans un fichier texte la valeur MD5 retournée, il est possible d'ajouter un complément de commande :

C:
cd \Ubuntu
md5sum ubuntu-14.04-desktop-amd64.iso >> MD5SUM.txt

Dans l'exemple ci-dessus le fichier serait enregistré dans le répertoire "C:\Ubuntu"
L'option " » " redirige l'affichage de la console vers un fichier, elle crée le fichier s'il n'existe pas et ajoute les données à la fin.
L'option " > " redirige l'affichage de la console vers un fichier, elle crée le fichier s'il n'existe pas et écrase le contenu s'il existe.

Sous Apple Mac OS X

  1. Ouvrez Terminal situé dans Applications / Utilitaires, saisissez :
    md5 

    Mais n'appuyez pas encore sur Entrée

  2. Faites glisser votre image sur la fenêtre par cliquer-déposer ;
  3. Appuyez sur la touche Entrée et attendez quelques minutes ;
  4. Comparez le résultat renvoyé avec l'empreinte MD5 de référence.

À propos des empreintes md5 et de md5sum

Le fichier ISO est un conteneur dans lequel se trouvent les fichiers nécessaires à l'exploitation de Ubuntu. Afin de vérifier l'intégrité de ce conteneur, les distributeurs de Ubuntu mettent à votre disposition une empreinte md5, sorte d'empreinte « digitale » numérique d'un fichier informatique.

Tout comme chaque personne a des empreintes digitales uniques, chaque fichier informatique a une empreinte md5 unique. À la moindre corruption du fichier, l'empreinte d'un fichier change. En vérifiant l'intégrité de votre fichier, vous vous assurez de disposer d'une copie conforme, d'un clone parfait du fichier d'origine.

Calculs mathématiques

L'utilitaire md5sum ne calcule pas, d'un point de vue mathématique, une empreinte aussi unique que ça. En d'autres termes il est possible qu'une même empreinte MD5 corresponde à plusieurs fichiers. La seule empreinte réellement unique est la suite des bits du fichier lui-même. Toutefois, la probabilité que deux fichiers non identiques partagent une même empreinte MD5 est faible. C'est la raison pour laquelle la comparaison d'empreintes constitue une bonne méthode pour vérifier l'intégrité de l'image CD téléchargée.

MD5 est appelé un hashage : à une suite de bits (le fichier) est associée une suite beaucoup plus petite (et de taille presque constante). Ce hashage doit être :

  1. rapide à calculer (c'est le cas !) et à vérifier,
  2. presque sans collision. Sans collision est idéal mais impossible : en réduisant la taille d'arrivée, on introduit nécessairement des collisions (argument analytique en maths). Mais il faut que ces collisions soient négligeables, et qu'elles arrivent pour des fichiers très différents (afin de bien détecter des changements partiels).
  3. non inversible (on ne peut pas retrouver le fichier d'origine à partir de son hashé).

MD5 vérifie ces différentes propriétés.

SHA-256 est devenu le nouveau standard recommandé en matière de hachage cryptographique après les attaques sur MD5 et SHA-1. Désormais (Novembre 2012), c'est plutôt SHA-2048 qui fait référence, mais seule la taille des clés change.

Voir aussi



Le contenu de ce wiki est sous licence : CC BY-SA v3.0