SHA-1

Un tour de la fonction de compression de SHA-1 :
A, B, C, D, E sont des mots de 32 bits ;
<<<n désigne une rotation des bits par décalage de n bits vers la gauche ;
F est une fonction (non linéaire sur le corps F2 des booléens) qui dépend du numéro de tour t ;
⊞ est l'addition modulo 232 (l'addition des entiers machines non signés de 32 bits), qui est non linéaire sur F2 ;
Kt est une constante (32 bits) qui dépend du numéro de tour t ;
Wt est un mot de 32 bits qui dépend du numéro de tour t ; il est obtenu par une procédure d'expansion à partir du bloc de donnée (512 bits) dont le traitement est en cours.

SHA-1 ( Secure Hash Algorithm) est une fonction de hachage cryptographique conçue par la National Security Agency des États-Unis (NSA), et publiée par le gouvernement des États-Unis comme un standard fédéral de traitement de l'information ( Federal Information Processing Standard du National Institute of Standards and Technology (NIST)). Elle produit un résultat (appelé « hash » ou condensat) de 160 bits.

SHA-1 n'est plus considéré comme sûr contre des adversaires disposant de moyens importants. En 2005, des cryptanalystes ont découvert des attaques sur SHA-1, suggérant que l'algorithme pourrait ne plus être suffisamment sûr pour continuer à l'utiliser dans le futur [1]. Depuis 2010, de nombreuses organisations ont recommandé son remplacement par SHA-2 ou SHA-3 [2], [3], [4]. Microsoft [5], Google [6] et Mozilla [7], [8], [9] ont annoncé que leurs navigateurs respectifs cesseraient d'accepter les certificats SHA-1 au plus tard en 2017.

Origine : SHA-0 et SHA-1

Le SHA-1 est le successeur du SHA-0 qui a été rapidement mis de côté par le NIST pour des raisons de sécurité insuffisante. Le SHA-0 était légitimement soupçonné de contenir des failles qui permettraient d'aboutir rapidement à des collisions (deux documents différents qui génèrent le même condensat). Face à la controverse soulevée par le fonctionnement du SHA-0 et certains constats que l'on attribue à la NSA, le SHA-0 s'est vu modifié peu après sa sortie (1993) et complexifié pour devenir le SHA-1 (1995). Une collision complète sur le SHA-0 a été découverte par Antoine Joux et al. en août 2004. En 2005, la cryptanalyste Xiaoyun Wang et ses co-auteurs Yiqun Lisa Yin et Hongbo Yu annoncent la première collision sur l'ensemble de SHA-1 [10]. L'attaque compléte sera publié à Crypto 2005 [11]. Le NIST pour sa part recommande de passer sur un algorithme SHA-2 ou SHA-3 quand c'est possible. Depuis 2013, Microsoft a déclaré l’obsolescence du SHA-1 [12] et en 2014. L' ANSSI déconseille son utilisation dans la seconde version de son Référentiel Général de Sécurité (RGS) [13] d'application au 1er juillet 2014. Enfin, Google annonce que ses versions de Chrome n'accepteront plus, de façon graduelle, le SHA-1 jusqu'à le refuser pour les certificats expirant après le 1er janvier 2017 [14].

Other Languages
български: SHA-1
Deutsch: SHA-1
English: SHA-1
hrvatski: SHA-1
日本語: SHA-1
polski: SHA-1
português: SHA-1
русский: SHA-1
srpskohrvatski / српскохрватски: SHA-1
svenska: SHA-1
Türkçe: SHA-1
українська: SHA-1
中文: SHA-1