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, 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.

  1. Qu'est-ce qu'un certificat de signature de code ?, GoDaddy Canada La scène se produit à 54 s.
  2. (en) Schneier, Bruce, « Schneier on Security: Cryptanalysis of SHA-1 »,
  3. (en) « NIST.gov - Computer Security Division - Computer Security Resource Center »
  4. (en) Marc Stevens1, Pierre Karpman et Thomas Peyrin, « The SHAppening: freestart collisions for SHA-1 » (consulté le )
  5. (en) Bruce Schneier, « SHA-1 Freestart Collision », Schneier on Security,
  6. (en) « Windows Enforcement of Authenticode Code Signing and Timestamping », Microsoft, (consulté le )
  7. (en) « Intent to Deprecate: SHA-1 certificates », Google, (consulté le )
  8. (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 )
  9. (en) « CA:Problematic Practices - MozillaWiki », Mozilla (consulté le )
  10. (en) « Phasing Out Certificates with SHA-1 based Signature Algorithms | Mozilla Security Blog », Mozilla, (consulté le )

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search