> Tech > SHA-1

SHA-1

Tech - Par Renaud ROSSET - 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 cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT