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 F 2 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 F 2 ; 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 , prononcé /ʃa.œ̃/ [ 1] ) 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 (20 octets), habituellement représenté par un nombre hexadécimal de 40 caractères.
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[ 2] . Depuis 2010, de nombreuses organisations ont recommandé son remplacement par SHA-2 ou SHA-3 [ 3] , [ 4] , [ 5] . Microsoft [ 6] , Google [ 7] et Mozilla [ 8] , [ 9] , [ 10] ont annoncé que leurs navigateurs respectifs cesseraient d'accepter les certificats SHA-1 au plus tard en 2017.
↑ Qu'est-ce qu'un certificat de signature de code ? , GoDaddy Canada, la scène se produit à 54 s
↑ (en) Schneier, Bruce, « Schneier on Security: Cryptanalysis of SHA-1 », 18 février 2005
↑ (en) « NIST.gov - Computer Security Division - Computer Security Resource Center »
↑ (en) Marc Stevens1 , Pierre Karpman et Thomas Peyrin , « The SHAppening: freestart collisions for SHA-1 » (consulté le 9 octobre 2015 )
↑ (en) Bruce Schneier, « SHA-1 Freestart Collision », Schneier on Security , 8 octobre 2015
↑ (en) « Windows Enforcement of Authenticode Code Signing and Timestamping », Microsoft, 24 septembre 2015 (consulté le 7 août 2016 )
↑ (en) « Intent to Deprecate: SHA-1 certificates », Google, 3 septembre 2014 (consulté le 4 septembre 2014 )
↑ (en) « Bug 942515 - stop accepting SHA-1-based SSL certificates with notBefore >= 2014-03-01 and notAfter >= 2017-01-01, or any SHA-1-based SSL certificates after 2017-01-01 », Mozilla (consulté le 4 septembre 2014 )
↑ (en) « CA:Problematic Practices - MozillaWiki », Mozilla (consulté le 9 septembre 2014 )
↑ (en) « Phasing Out Certificates with SHA-1 based Signature Algorithms | Mozilla Security Blog », Mozilla, 23 septembre 2014 (consulté le 24 septembre 2014 )