> Tech > SHA-1

SHA-1

Tech - Par iTPro - Publié le 24 juin 2010
email

Le U.S. Department of Commerce a adopté le "Secure Hash Algorithm" comme norme fédérale le 11 mai 1993. On l'appelait SHA jusqu'au 17 avril 1995, date à  laquelle le Commerce Department a légèrement modifié l'algorithme et l'a rebaptisé SHA-1. L'algorithme est documenté dans le Federal Information Processing Standards Publication (FIPS

SHA-1

PUB) 180-1, disponible sur le site Web du National Institute of Standards
and Technology à  l’adresse http://csrc.ncsl.nist.gov/fips/.

Fondé sur les principes de hachage développés par le Professeur Ronald L. Rivest
du MIT (Rivest est le  » R  » dans RSA), SHA-1 produit un digest de 160 bits. Dans
cet algorithme, chaque bit du digest est une fonction de chaque bit de l’entrée
; toute modification apportée à  l’entrée affectera la totalité du digest. On peut
utiliser SHA-1 de plusieurs manières : avec le U.S. Digital Signature Standard
(DSS) pour générer ou vérifier une signature numérique (comme défini dans FIPS
PUB 186), avec une clé privée HMAC, ou quand il est nécessaire de générer une
version condensée d’un message.

Un processeur SHA-1 fonctionne de la manière suivante. Il ajoute un bit à  droite
du message d’entrée, suivi de plusieurs bits zéro, suivi de la longueur du message
original, pour créer un message dont la longueur est un multiple pair de 512 bits.
Un jeu temporaire de cinq registres de 32 bits (A, B, C, D, E) est initialisé
avec les valeurs suivantes :

A = X’67452301′
B = X’EFCDAB89′
C = X’98BADCFE’
D = X’10325476′
E = X’C3D2E1F0′

Le processeur envoie des blocs de 512 bits de message d’entrée dans 80 pas de
fonctions avec chacun des cinq registres. La sortie de chaque quatre-vingtième
pas devient les valeurs du registre d’entrée (A, B, C, D, E) pour le bloc d’entrée
de 512 bits suivant. La sortie du dernier quatre-vingtième pas devient le digest
de 160 bits final. Chaque pas met à  jour les cinq registres, comme l’illustre
la figure 3.

Le signe plus (+) indique l’addition modulo 2**32 (c’est-à -dire diviser par 2**32
et garder le reste). Left rotate(R,X) indique un décalage circulaire vers la gauche
de 32 bits de X bits dans le registre R. W indique une combinaison de 32 bits
provenant du bloc d’entrée de 512 bits courant. La valeur de W est différente
dans chacun des 80 pas. Dans les 16 premiers pas de traitement, la valeur est
égale au mot de 32 bits correspondant dans le bloc de message d’entrée. Pour les
64 pas restants, la valeur est constituée d’un décalage circulaire vers la gauche
d’un bit du exclusive-OR de quatre des valeurs précédentes de W : la seizième
valeur qui précède, la quatorzième valeur, la huitième valeur, et la troisième
valeur.

La spécification SHA initiale ne comportait pas le décalage gauche circulaire
d’un bit. Le Commerce Department a indiqué que ce changement de SHA en SHA-1 corrigeait
un défaut technique qui rendait la norme moins sûre que prévu. La U.S. National
Security Agency (NSA) a refusé de préciser la nature exacte du défaut.

Téléchargez gratuitement cette ressource

Cybersécurité sous contrôle à 360°

Cybersécurité sous contrôle à 360°

Avec Cloud in One, les entreprises ne gagnent pas uniquement en agilité, en modernisation et en flexibilité. Elles gagnent également en sécurité et en résilience pour lutter efficacement contre l’accroissement en nombre et en intensité des cyberattaques. Découvrez l'axe Cybersécurité de la solution Cloud In One.

Tech - Par iTPro - Publié le 24 juin 2010