La vraie réponse est : Cela dépend
Il y a plusieurs facteurs à prendre en compte, les plus évidents étant : le processeur sur lequel vous exécutez ces algorithmes et l'implémentation des algorithmes.
Par exemple, mon ami et moi utilisons exactement la même version d'openssl et obtenons des résultats légèrement différents avec des cpus Intel Core i7 différents.
Mon test au travail avec un processeur Intel(R) Core(TM) i7-2600 @ 3.40GHz
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md5 64257.97k 187370.26k 406435.07k 576544.43k 649827.67k
sha1 73225.75k 202701.20k 432679.68k 601140.57k 679900.50k
Et le sien avec un Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md5 51859.12k 156255.78k 350252.00k 513141.73k 590701.52k
sha1 56492.56k 156300.76k 328688.76k 452450.92k 508625.68k
Nous utilisons tous les deux exactement les mêmes binaires d'OpenSSL 1.0.1j 15 Oct 2014 du paquetage officiel d'ArchLinux.
Mon opinion à ce sujet est qu'avec la sécurité supplémentaire de sha1, les concepteurs de processeurs sont plus susceptibles d'améliorer la vitesse de sha1 et plus de programmeurs travailleront sur l'optimisation de l'algorithme que md5sum.
Je suppose que md5 ne sera plus utilisé un jour puisqu'il semble qu'il ne présente aucun avantage par rapport à sha1. J'ai également testé quelques cas sur des fichiers réels et les résultats étaient toujours les mêmes dans les deux cas (probablement limités par les E/S du disque).
Le md5sum d'un gros fichier de 4,6 Go a pris exactement le même temps que le sha1sum du même fichier, de même que de nombreux petits fichiers (488 dans le même répertoire). J'ai effectué les tests une douzaine de fois et j'ai obtenu les mêmes résultats de manière constante.
--
Il serait très intéressant d'approfondir cette question. Je suppose qu'il y a des experts qui pourraient fournir une réponse solide à la raison pour laquelle sha1 devient plus rapide que md5 sur les nouveaux processeurs.
0 votes
Ce n'est pas une réponse à votre question, mais les partisans de Skein mettent en avant sa vitesse, et elle n'est certainement pas plus faible que le MD5 en fin de vie à l'heure actuelle. Si les messages que vous devez hacher sont très courts, la vitesse peut être un inconvénient pour une fonction de hachage cryptographique (plus précisément, la vitesse à laquelle quelqu'un d'autre peut l'implémenter, et non la vitesse à laquelle elle fonctionne sur votre ordinateur portable). schneier.com/skein1.2.pdf
4 votes
@Pascal : Skein n'est pas le plus rapide des candidats SHA-3, cependant, surtout sur les plateformes 32 bits. Sur un x86 64 bits, Skein atteint environ 300 Mo/s (Skein-512 étant un peu plus rapide que Skein-256), ce qui est comparable à SHA-1, mais en mode 32 bits, les performances tombent à moins de 60 Mo/s, soit deux fois moins vite que SHA-256. D'autre part, SHABAL, un autre candidat SHA-3, offre des performances similaires à SHA-1 sur les plateformes 32 et 64 bits.