Quelle est la différence entre le chiffrement SHA et SHA-1 ?
SHA est un acronyme pour Secure Hash Algorithm (Algorithme de hachage sécurisé), une norme de chiffrement inventée par la National Security Agency et publiée par les National Institutes of Standards and Technology. L'algorithme SHA original a été trouvé avoir des faiblesses dans ses méthodes de chiffrement, et a été remplacé par SHA-1 pour une sécurité plus forte.
Algorithme de hachage sécurisé
SHA est une fonction de hachage cryptographique. Une fonction de hachage prend un texte initial non chiffré, appelé le texte en clair, et produit un nombre théoriquement unique qui constitue le message chiffré. SHA crée un nombre de 160 bits, qui est un nombre entre 0 et 1,46 x 10^48. Il n'est pas possible que ce nombre soit garanti unique pour tous les messages en clair possibles, car le nombre de tels messages est théoriquement infini, mais les chances sont d'environ 2^80, ou 1,21 x 10^24, contre deux messages produisant le même résultat chiffré. Si cela se produit, cela s'appelle une collision. Une collision fournit une attaque mathématique sur un algorithme de chiffrement, rendant possible pour un cryptographe de déchiffrer le texte en clair.
SHA-0 et SHA-1
Après sa publication, des failles dans l'algorithme SHA original ont été découvertes, permettant une attaque cryptographique pour produire des collisions de hachage, affaiblissant sévèrement son efficacité. Une version révisée de SHA, SHA-1, a été développée, créant les mêmes résultats de 160 bits sans les failles originales de l'algorithme. Le SHA original a été rétroactivement renommé SHA-0 pour distinguer son utilisation de celle de SHA-1.
Changements dans SHA-1
Les failles originales dans SHA-0 n'ont jamais été publiées, car ces failles fournissent une trousse à outils pour tout attaquant tentant de déchiffrer un message utilisant le chiffrement SHA-0. La seule information publique sur les faiblesses de l'algorithme original indique que les collisions de hachage sont plus probables que par hasard lors de l'utilisation de SHA-0, et que les collisions utilisant la méthode non publiée sont éliminées lors de l'utilisation de SHA-1. Comme SHA-1 et SHA-0 produisent des résultats mathématiques de la même longueur, SHA-1 peut être utilisé comme remplacement direct dans les logiciels informatiques pour l'algorithme SHA-0 original sans nécessiter de réécritures majeures dans le reste du logiciel.
SHA-2 et SHA-3
SHA-1 s'est avéré plus robuste que SHA-0, mais laisse place à l'amélioration. Une analyse mathématique des résultats SHA-1 a démontré une méthode par laquelle le chiffrement SHA-1 pourrait être cassé 2 000 fois plus vite que ne le serait théoriquement possible en vérifiant toutes les 10^48 combinaisons possibles de sa sortie. Comme un algorithme cryptographique idéal empêche les améliorations de vitesse de déchiffrement de ce genre, l'algorithme SHA-2 évite cette attaque et augmente la taille de hachage possible à 512 bits, soit 1,34 x 10^154. SHA-3, un algorithme de chiffrement encore plus puissant, est actuellement en développement.
