Aller au contenu

Secure Hash Algorithm

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 5 août 2015 à 08:15 et modifiée en dernier par Sisyph (discuter | contributions) (test). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

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). 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 (fin 2012) est le FIPS-180-4[1].

SHA-0
SHA-0 s'appelait originellement SHA, et ses spécifications ont été publiées en 1993. 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, 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 (d) Voir avec Reasonator. 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 2001 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 qui 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 MD-5 et SHA-1 laissent craindre une fragilité de SHA-2 qui est construite sur le même schéma[2]. Elle possède des variantes qui peuvent produire des hachés de 224, 256, 384 et 512 bits. Elle est construite sur un principe différent de celui des fonctions MD5, SHA-1 et SHA-2.


Notes et références

  1. Voir la page (en) Secure Hashing du NIST, et le standard (en) FIPS-180-4 [PDF], en date de mars 2012.
  2. 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.