Pourquoi le MD5 est-il encore largement utilisé?

16

MD5 semble avoir des vulnérabilités bien documentées et pourtant il reste répandu dans son utilisation. Quelqu'un a-t-il des raisons pour qu'il reste une option viable lorsque d'autres alternatives (par exemple SHA-2) semblent être plus robustes?

David dans le Dakota
la source

Réponses:

16

Il est rapide à générer, et souvent le fait que les collisions sont théoriquement possibles n'est pas un problème énorme. c'est-à-dire vérifier si un fichier mis en cache a changé afin d'éviter de télécharger une nouvelle copie.

Un benchmark rapide réalisé en 1996 montre ce qui suit:

            Digest Performance in MegaBytes per Second

      Pentium P5     Power Mac    SPARC 4     DEC Alpha
          90 MHz        80 MHz      110 MHz      200 MHz

MD5         13.1          3.1         5.1          8.5
SHA1         2.5          1.2         2.0          3.3

Pour une utilisation moderne - sur des puces intégrées, le MD5 peut être 2 à 3 fois plus rapide à produire que le SHA1 pour les mêmes informations.

Rich Bradshaw
la source
10

Un hachage MD5 est "assez bon" pour la plupart des tâches subalternes. Rappelez-vous qu'il est toujours incroyablement difficile de produire des collisions significatives dans le même nombre d'octets.

Par exemple, supposons que vous téléchargiez le nouveau Ubuntu 9.10 la semaine prochaine à partir d'un miroir de confiance. Vous souhaitez vérifier que le fichier a été téléchargé correctement et complètement. Lancez simplement MD5 et hachez l'ISO. Comparez le hachage avec le hachage publié. Si les hachages correspondent, vous pouvez être sûr que l'ISO a été copié correctement et complètement.

onze81
la source
Ce n'est plus difficile. Et comment est-il plus difficile de courir sha256sum filename.isoau lieu de md5sum filename.iso?
Escargot mécanique du
De plus, si votre FAI est mauvais, MD5 ne garantit pas que l'ISO a été téléchargé correctement. Le FAI pourrait altérer l'image ISO pour faire quelque chose de mal.
Escargot mécanique du
4
  1. Il est court - plus facile à lire.
  2. Il est répandu - grande interopérabilité avec d'autres systèmes
  3. C'est habituel - tout le monde y est habitué.

et la sécurité peut être améliorée en la salant.

Josip Medved
la source
3

MD5 est largement utilisé comme fonction de hachage de somme de contrôle car il est rapide et présente un taux de collision extrêmement faible. Une somme de contrôle MD5 est composée de 32 chiffres hexadécimaux qui fournissent ensemble une chance de collision de 1 à ~ 3,42e34. Vous pourriez théoriquement hacher tous les fichiers de tous les ordinateurs d'un pays de la taille des États-Unis et ne pas produire de collision (*).

Pour la cryptographie, MD5 est une alternative valable si la sécurité n'est qu'une préoccupation modérée. C'est une option très viable pour hacher les mots de passe de base de données ou d'autres champs nécessitant une sécurité interne principalement pour sa vitesse, mais aussi parce que MD5 offre un niveau de sécurité raisonnable où un cryptage fort n'est pas un problème.


(*) pour la plupart des objectifs de somme de contrôle, une collision n'a de sens que si elle se produit entre deux objets d'origines similaires et de même taille. Malgré une forte probabilité d'unicité MD5, des collisions pourraient éventuellement se produire entre deux fichiers très distincts. Disons, un fichier de base de données de 1,5 Mo et un fichier gif de 35 Ko. Dans la plupart des cas, il s'agit d'une collision dénuée de sens. D'autant plus que MD5 n'est qu'un élément de l'indexation des fichiers. La taille du fichier étant un autre important.

Un nain
la source
2

MD5 est largement utilisé car il a été largement utilisé, et les ruptures ne sont pas encore suffisamment importantes pour être un problème évident dans les systèmes existants.

Douglas Leeder
la source