Analyse de fichiers

Comprendre MD5, SHA1, SHA256

Plongée dans les algorithmes de hachage : forces, faiblesses et cas d'usage de chaque algorithme.

1 Introduction

MD5, SHA1, SHA256... ces noms reviennent sans cesse en cybersecurite. Ce sont tous des algorithmes de hachage, mais ils ne se valent pas. Imaginez differentes methodes pour prendre les empreintes digitales : certaines sont floues et peu fiables, d'autres sont ultra-precises. C'est la meme chose avec les algorithmes de hachage. Certains sont casses et ne devraient plus etre utilises, d'autres restent le standard de l'industrie.

32 car.

Longueur d'un hash MD5

64 car.

Longueur d'un hash SHA256

128 car.

Longueur d'un hash SHA512

2 Comment ca marche

Utilisez le calculateur ci-dessous pour voir les differences entre les algorithmes. Entrez le meme texte et comparez les hashes MD5, SHA1, SHA256 et SHA512 cote a cote. Remarquez comment la longueur et la complexite augmentent avec chaque algorithme.

Comparaison des algorithmes

Algorithme Longueur Bits Statut
MD5 32 caracteres 128 bits Casse
SHA1 40 caracteres 160 bits Deprecie
SHA256 64 caracteres 256 bits Standard
SHA512 128 caracteres 512 bits Robuste

3 Analyse detaillee

MD5 : rapide mais casse

Cree en 1991 par Ronald Rivest, MD5 produit un hash de 128 bits (32 caracteres hexadecimaux). Il est tres rapide a calculer, ce qui le rendait populaire. Mais en 2004, des chercheurs chinois ont demontre qu'on pouvait creer des collisions : deux fichiers completement differents qui produisent le meme hash MD5. Aujourd'hui, un ordinateur ordinaire peut generer une collision MD5 en quelques secondes.

Exemple de hash MD5 :

d41d8cd98f00b204e9800998ecf8427e

SHA1 : en voie de disparition

SHA1 (Secure Hash Algorithm 1) produit un hash de 160 bits (40 caracteres). Plus robuste que MD5, il a longtemps ete le standard. Mais en 2017, Google et le CWI Amsterdam ont realise le projet "SHAttered" : ils ont cree deux fichiers PDF differents avec le meme hash SHA1. Depuis, les navigateurs web et les certificats SSL ne l'acceptent plus.

Exemple de hash SHA1 :

da39a3ee5e6b4b0d3255bfef95601890afd80709

SHA256 : le standard actuel

SHA256 fait partie de la famille SHA-2 concue par la NSA. Il produit un hash de 256 bits (64 caracteres). Aucune collision n'a jamais ete trouvee. C'est l'algorithme utilise par Bitcoin, les certificats SSL modernes, et la plupart des outils de securite. En cybersecurite, quand on parle de "hash d'un malware", c'est generalement le SHA256.

Exemple de hash SHA256 :

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

SHA512 : pour les plus exigeants

SHA512 produit un hash de 512 bits (128 caracteres). Paradoxalement, il est souvent plus rapide que SHA256 sur les processeurs 64 bits modernes. Il offre une marge de securite encore plus grande. Utilise principalement pour le stockage de mots de passe et les applications demandant une securite maximale.

Exemple de hash SHA512 :

cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

Le probleme des collisions

Une collision se produit quand deux entrees differentes produisent le meme hash. C'est comme si deux personnes differentes avaient exactement les memes empreintes digitales. Mathematiquement, les collisions sont inevitables (il y a plus de fichiers possibles que de hashes), mais un bon algorithme rend leur decouverte pratiquement impossible. Pour SHA256, il faudrait tester environ 2128 combinaisons pour en trouver une, ce qui prendrait plus de temps que l'age de l'univers avec tous les ordinateurs du monde reunis.

Essayez sur mlab.sh

Generez et comparez les hashs MD5, SHA1, SHA256 et SHA512 cote a cote. Visualisez concretement les differences entre les algorithmes et verifiez l'integrite de vos fichiers.

Générer et comparer des hashs

4 Red Flags

Un systeme utilise encore MD5 pour la securite

MD5 ne devrait plus jamais etre utilise pour verifier l'integrite de fichiers sensibles ou stocker des mots de passe. Si un logiciel ne propose que MD5, il est obsolete.

Des mots de passe stockes en MD5 sans sel

Des tables pre-calculees (rainbow tables) permettent de retrouver instantanement un mot de passe a partir de son hash MD5. C'est catastrophique pour la securite.

Un certificat SSL utilise SHA1

Les navigateurs modernes rejettent les certificats signes avec SHA1. Si vous voyez un avertissement de certificat, verifiez l'algorithme utilise.

Un rapport de menace ne fournit que le hash MD5

Un bon rapport de threat intelligence devrait toujours fournir au minimum le SHA256. Si seul le MD5 est donne, un attaquant pourrait creer un faux negatif par collision.

Utilisation de hashes pour le chiffrement

Les algorithmes de hachage ne sont pas des algorithmes de chiffrement. Un hash ne peut pas etre dechiffre. Si quelqu'un dit "dechiffrer un hash", il confond les concepts.

Modules connexes