Introduction aux checksum (MD5, SHA1, etc)

checksum

Je vous l’ai promis dans mon article sur DownThemAll, l’extension gestionnaire/accélérateur de téléchargement de Firefox, voici une introductions aux checksum, également appelées sommes de contrôle en français.

Une somme de contrôle permet de vérifier l’intégrité d’un fichier. Le principe est simple: Pour un fichier donné, on va appliquer un algorithme de calcul à l’ensemble des octets qui le composent, et écrire le résultat à un endroit spécifique du fichier. Ainsi, si on envoie le fichier à quelqu’un d’autre, il lui suffit d’appliquer le même algorithme de calcul, et de comparer les résultats. Si ceux-ci sont égaux, ça ne veut pas nécessairement dire que le fichier est dans le même état qu’à l’origine, par contre s’ils sont différents, on peut être certains qu’il y a eu un problème.

Les checksums sont omniprésentes dans le monde de l’informatique, même si ça n’est pas apparent pour l’utilisateur lambda. En effet qui dit enregistrement ou envoi de fichiers dit nécessité de pouvoir contrôler l’intégrité de ces fichiers. Ainsi, chaque paquet (c’est à dire chaque morceau de fichier) qui transite par votre connexion internet contient une ou plusieurs checksum pour que l’on puisse être certain en recevant le paquet qu’il est toujours intact et n’a pas subit de perturbations pendant son trajet sur le réseau. Cependant la nécessité de traiter un grand nombre de paquets fait que les algorithmes de calculs de checksums utilisés de manière automatique par le réseau internet sont assez simples et que des erreurs peuvent passer à travers les mailles du filet. C’est la raison pour laquelle il arrive de temps à autre qu’un fichier que l’on a téléchargé ne soit pas fonctionnel.

Les communications font un usage très important de checksums.

Les communications font un usage très important de checksums.

Comment des erreurs peuvent-elles se produire malgrès la présence de la checksum? Eh bien si jamais le fichier est modifié de telle sorte que par hasard la nouvelle checksum soit identique à l’ancienne, on ne détecte rien. C’est une des problématique majeure du monde informatique, à cause des implications que ça peut avoir du point de vue des cryptographes, et des sécurités contre l’espionnage. Du coup des algorithmes complexes ont été mis au point dans le but de garantir que la probabilité pour que deux fichiers aient la même checksum soit voisine de zéro. Tout cela fait appel à beaucoup de calculs algébriques, probabilistes et autres mathématiques avancées à un point que vous n’imaginez même pas.

Ce qui compte, c’est que certains  algorithmes comme les célèbres MD5, SHA1, etc, ont été mis à dispostion du grand public. Et une pratique répandue dans le monde du logiciel libre, consiste à donner la checksum des fichiers mis en libre téléchargement. Ca permet par exemple à un utilisateur qui va vouloir télécharger un liveCD d’Ubuntu d’en vérifier l’intégrité  avant de graver l’image iso correspondante, et éviter ainsi de perdre bêtement un cd si elle s’avère corrompue.

L’ennui, c’est que tout le monde n’a pas un logiciel de calcul de checksum par défaut sur son ordinateur. Heureusement, il existe de nombreux programmes gratuits qui permettent de le faire, à commencer par celui dont est tiré la capture d’écran qui illustre ce billet: HJSplit. Je précise que je ne l’ai pas testé, mais les critiques du net ont l’air unanimes pour louer ses performances. L’autre solution consiste à profiter des capacités de DownThemAll, que je vous présentait hier. Voici la page de téléchargement de Netbeans:

(cliquez sur l'image pour l'agrandir)

(cliquez sur l'image pour l'agrandir)

Comme vous pouvez le remarquer, la somme de contrôle MD5 est fournie. Il s’agit de la suite de chiffres et de lettres que vous pouvez voir. Dans le cadre de l’utilisation de DownThemAll pour vérifier la checksum, il suffit alors de faire comme d’habitude, mais à cette étape ci, avant de cliquer sur Démarrer!,  il faut copier coller la suite de chiffres et de lettre dans le cadre en bas à droite. Précisons que vous pouvez choisir le type de somme à partir du menu déroulant à gauche de la zone de saisie, donc si un jour on vous donne une somme SHA1 ou autre, il suffira de modifier ce menu. A l’issue du téléchargement, DownThemAll vérifiera automatiquement l’intégrité de votre fichier.

Précisons pour finir, que l’algorithme MD5 commence à être dépassé, car on a prouvé qu’il n’était pas totalement sûr. Du coup, on lui préfère de plus en plus des algorithmes de la classe SHA. Cependant dans le domaine grand public, où une sécurité de niveau militaire n’est pas nécessaire, l’algorithme MD5 est encore très présent.

Publicités

Une réflexion au sujet de « Introduction aux checksum (MD5, SHA1, etc) »

  1. Ping : DownThemAll: Pour télécharger plus rapidement et efficacement. « Aldian’s Blog

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s