Le préfixe SHA (acronyme de Secure Hash Algorithm) est associé à plusieurs fonctions de hachage cryptographiques publiées par le NIST en tant que Federal Information Processing Standard (FIPS).

Schéma du fonctionnement de l'algorithme de hachage SHA-1

Les fonctions SHA-0, SHA-1 et SHA-2 ont été conçues par la NSA ; leurs spécifications sont décrites par les publications FIPS-180, dont la dernière version à ce jour est le FIPS-180-4[1].

SHA-0
SHA-0 s'appelait originellement SHA, et a été publiée en 1993 comme Federal Information Processing Standard[2]. Elle est inspirée des fonctions MD4 et MD5 de Ron Rivest. Le NIST recommande formellement de ne pas l'utiliser depuis 1996, pour des questions de sécurité. Elle est cependant restée un objet d'étude pour la communauté académique, en tant que prototype de SHA-1.
SHA-1
SHA-1 est une version légèrement modifiée de SHA-0 publiée en 1995 comme Federal Information Processing Standard[3], qui produit comme celle-ci un haché de 160 bits. Il existe des attaques théoriques pour la recherche de collisions, de complexité nettement moindre que l’attaque générique des anniversaires. Elle a été très utilisée dans les protocoles et applications de sécurité, mais, à cause de l'existence de ces attaques, tend à être remplacée par SHA-256.
SHA-2
SHA-2 est une famille de fonctions de hachage cryptographiques publiée en 2002 comme Federal Information Processing Standard[4], qui regroupe à l'origine SHA-224, SHA-256, SHA-384 et SHA-512. Ces fonctions produisent des hachés de taille différente (désignée par le suffixe, en bits). Le standard FIPS-180-4 (mars 2012) est augmenté de deux versions tronquées de SHA-512, SHA-512/256 (haché de 256 bits) et SHA-512/224 (haché de 224 bits). Elles utilisent des algorithmes très similaires, eux-mêmes largement inspirés de celui de SHA-1. L'un est à base de mots de 32 bits (et d'un découpage en blocs de 512 bits) pour SHA-256 et sa version tronquée SHA-224. L'autre est à base de mots de 64 bits (et d'un découpage en blocs de 1024 bits) pour SHA-512 et ses versions tronquées SHA-384, SHA-512/256 et SHA-512/224. Les attaques connues sur SHA-1 n'ont pu être transposées à SHA-2, même si la construction est proche.
SHA-3
SHA-3, originellement Keccak, est une nouvelle fonction de hachage cryptographique décrite en août 2015 par la publication FIPS-202[5]. Elle a été sélectionnée en octobre 2012 par le NIST à la suite d'un concours public lancé en 2007, ceci car les faiblesses découvertes sur MD5 et SHA-1 laissent craindre une fragilité de SHA-2 qui est construite sur le même schéma[6]. Elle possède des variantes qui peuvent produire des hachés de 224, 256, 384 et 512 bits. Elle est construite sur un principe tout à fait différent de celui des fonctions MD5, SHA-1 et SHA-2.

Notes et références

modifier
  1. Voir la page (en) Secure Hashing du NIST, et le standard (en) FIPS-180-4[PDF] en date d'août 2015. Cette version est essentiellement identique à celle de mars 2012 : seule la clause qui élargit les fonctions de hachages utilisables à SHA-3 a été mise à jour, voir FIPS-180-4 (version de mars 2012)[PDF].
  2. Voir ma page d'archive du NIST et FIPS-180.
  3. Voir la page d'archive du NIST.
  4. Voir la page d'archive du NIST.
  5. Voir la page (en) Secure Hashing du NIST, et le standard (en) FIPS-202 publié en août 2015.
  6. La page du NIST sur le concours (en) Cryptographic Hash Algorithm Competition et celle annonçant le gagnant (en) NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition, publié le 2 octobre 2012.

📚 Artikel Terkait di Wikipedia

Fonction de hachage cryptographique

message et les autres formes d'authentification. Les fonctions Secure Hash Algorithm (SHA) du NIST sont des exemples de fonctions de hachage cryptographiques

SHA-2

SHA-2 (Secure Hash Algorithm) est une famille de fonctions de hachage qui ont été conçues par la National Security Agency des États-Unis (NSA), sur le

SHA-1

SHA-1 (Secure Hash Algorithm, prononcé /ʃa.œ̃/) est une fonction de hachage cryptographique conçue par la National Security Agency des États-Unis (NSA)

NIST hash function competition

2X Maraca NKS 2D Ponic ZK-Crypt (en) NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition, [1], publié le 2 octobre 2012. (en) Pascal Junod

Fonction de hachage

vers la droite, donc, en C, par exemple, cette fonction devient unsigned hash(unsigned K) { return (a*K) >> (w-m); } et pour m {\displaystyle m} et w {\displaystyle

Somme de contrôle

2007) - 352 p. - (ISBN 978-2100506927) Fonction de hachage Secure Hash Algorithm Preuve par neuf Code correcteur C.I.R.C par J.P. Zanotti, université

HMAC

parfois étendu en tant que keyed-hash message authentication code (code d'authentification de message de hachage à clé) ou hash-based message authentication

SHA-3

la fonction RadioGatún. SHA-3 est issu de la NIST hash function competition qui a élu l'algorithme Keccak le 2 octobre 2012. Elle n’est pas destinée à