Assiste.com
cr 01.04.2012 r+ 22.10.2024 r- 22.10.2024 Pierre Pinard. (Alertes et avis de sécurité au jour le jour)
Dossier (collection) : Encyclopédie |
---|
Introduction Liste Malwarebytes et Kaspersky ou Emsisoft (incluant Bitdefender) |
Sommaire (montrer / masquer) |
---|
SHA-2 ( Secure Hash Algorithm 2 ) est un ensemble (une famille) de fonctions de hachage cryptographiques conçues par la NSA (United States National Security Agency ) et publiées pour la première fois en 2001. Elles sont construites à l'aide de la structure Merkle – Damgård, à partir d'une fonction de compression unidirectionnelle elle-même construite en utilisant la structure Davies – Meyer à partir d'un chiffrement de bloc spécialisé (classifié).
SHA-2 comprend des changements importants par rapport à son prédécesseur, SHA-1.
La famille SHA-2 comprend six fonctions de hachage avec des condensats (valeurs de hachage) de 224, 256, 384 ou 512 bits : SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 et SHA -512/256.
SHA-256 et SHA-512 sont de nouvelles fonctions de hachage calculées avec des mots 32 bits et 64 bits, respectivement. Ils utilisent des quantités de décalage et des constantes additives différentes, mais leurs structures sont par ailleurs pratiquement identiques, ne différant que par le nombre de tours.
SHA-224 et SHA-384 sont des versions tronquées de SHA-256 et SHA-512 respectivement, calculées avec des valeurs initiales différentes.
SHA-512/224 et SHA-512/256 sont également des versions tronquées de SHA-512, mais les valeurs initiales sont générées à l'aide de la méthode décrite dans Federal Information Processing Standards (FIPS) PUB 180-4.
SHA-2 a d'abord été publié par le National Institute of Standards and Technology (NIST) en tant que norme fédérale américaine (FIPS). La famille d'algorithmes SHA-2 est brevetée dans le brevet américain 6829355. Les États-Unis ont publié le brevet sous une licence libre de droits.
Actuellement (2020), les meilleures attaques publiques brisent la résistance à la pré-image pour 52 des 64 séries de SHA-256 ou 57 des 80 séries de SHA-512, et la résistance aux collisions pour 46 des 64 séries de SHA-256.
|
SHA-2 (Secure Hash Algorithm 2) est une famille de fonctions de hachage cryptographique conçu par la National Security Agency (NSA) des États-Unis et publié pour la première fois en 2001. Elles sont élaborées à l'aide de la construction Merkle-Damgård (une construction algorithmique résolvant le hachage cryptographique en acceptant un message de taille quelconque tout en produisant un hachage de taille fixe, résistant aux collisions et aux attaques), à partir d'une fonction de compression à sens unique elle-même construite à l'aide de la structure Davies-Meyer à partir d'un chiffrement par bloc spécialisé.
SHA-2 inclut des changements importants par rapport à son prédécesseur, SHA-1. La famille SHA-2 se compose de six fonctions de hachage avec des condensats (hashcodes) de 224, 256, 384 ou 512 bits :
SHA-256 et SHA-512 sont de nouvelles fonctions de hachage calculées avec huit mots de 32 bits et 64 bits, respectivement. Elles utilisent des quantités de décalage et des constantes additives différentes, mais leurs structures sont par ailleurs pratiquement identiques, ne différant que par le nombre de tours.
SHA-224 et SHA-384 sont respectivement des versions tronquées de SHA-256 et SHA-512, calculées avec des valeurs initiales différentes.
SHA-512/224 et SHA-512/256 sont également des versions tronquées de SHA-512, mais les valeurs initiales sont générées à l'aide de la méthode décrite dans Federal Information Processing Standards (FIPS) PUB 180-4.
SHA-2 a été publié pour la première fois par le National Institute of Standards and Technology (NIST) en tant que norme fédérale américaine (FIPS). La famille d'algorithmes SHA-2 est brevetée (brevet américain 6829355). Les États-Unis ont publié ce brevet sous licence sans redevance.
|
Fonction de hachega | Création | Créateur | Nombre de bits du hash | Notes | Obsolette - pas sûr |
---|---|---|---|---|---|
1957 - évoqué dans Cyclic Codes for Error Detection de Peterson, W. W. and D. T. Brown.. | N'est pas une fonction de hachage, mais 1 CRC (Calcul de Redondance Cyclique). | ||||
MD2 | 1989 | Ronald Rivest (MIT) | 128 | Attaque possible, même si pas utilisée. | Plus sûr. |
MD4 | 1990 | Ronald Rivest (MIT) | 128 | ||
1991 | Ronald Rivest (MIT) | 128 | |||
MD6 | 2008 | Ronald Rivest (MIT) avec un groupe. | 512 | Calcul extrêmement rapide d'immenses nombres de hashs en parallèle sur d'immenses fichiers. Arbre de Merkle et NLFSR. | |
SHA-0 | 1993 | NSA | 160 | Famille de 6 fonctions de hachage comprenant : | Collisions suspectes volontairement permises par la NSA. 1ère découverte de collision complète par Antoine Joux (cryptologue français) en août 2004. |
1995 | NSA | 160 | 2019 - Risque (actuellement théorique) | ||
2001 | NSA | SHA-224 - 224 | Famille de six fonctions de hachage avec des digests (valeurs de hachage) de 224, 256, 384 ou 512 bits: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256 . | Résistent aux collisions | |
SHA-3 | 2015 | Guido Bertoni, Joan Daemen, Michaël Peeters et Gilles Van Assche | SHA3-224 - 224 | Famille de six fonctions de hachage basées sur RadioGatún, du même groupe d'auteurs, présenté en août 2006. | Résistent aux collisions |
2001 | NSA | 256 | Il est conseillé universellement d'abandonner MD5 et SHA-1 au profit de SHA-256, principalement dans le hachage des mots de passe, même si cela occupe plus le processeur et rend les bases de données d'identifiants/mots de passe plus volumineuses. | Résistent aux collisions |
|
Exemples d'algorithmes de hachage | Ingénierie inverse en attaques de mots de passe | |
---|---|---|
CRC-1 | Contrôle de Redondance Cyclique (Contrôle de parité - Détection d'erreur) - 1 bit | Sans objet |
CRC-12 | Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 12 bits (3 caractères hexadécimaux) | Sans objet |
CRC-16 | Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 16 bits (4 caractères hexadécimaux) | Sans objet |
CRC-32 | Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 32 bits (8 caractères hexadécimaux) | Sans objet |
CRC-64 | Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 64 bits (16 caractères hexadécimaux) | Sans objet |
MD5 | Produit un hashcode (condensat) de 128 bits (32 caractères hexadécimaux - 16 octets) | Attaques réussies |
SHA-1 | Produit un hashcode (condensat) de 160 bits (40 caractères hexadécimaux - 20 octets) | Attaques réussies |
SHA-224 | Produit un hashcode (condensat) de 224 bits (56 caractères hexadécimaux - 28 octets) | Pas utilisé avec les mots de passe ou confidentiel |
SHA-256 | Produit un hashcode (condensat) de 256 bits (64 caractères hexadécimaux - 32 octets) | Résiste aux attaques |
SHA-384 | Produit un hashcode (condensat) de 384 bits (96 caractères hexadécimaux - 48 octets) | Pas utilisé avec les mots de passe ou confidentiel |
SHA-512 | Produit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets) | Résiste aux attaques |
Snefru | Produit un hashcode (condensat) de 128 bits (32 caractères hexadécimaux - 16 octets) ou Produit un hashcode (condensat) de 256 bits (64 caractères hexadécimaux - 32 octets) | Pas utilisé avec les mots de passe ou confidentiel |
Spectral Hash | Produit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets) | Pas utilisé avec les mots de passe ou confidentiel |
Streebog | Produit un hashcode (condensat) de 256 bits (64 caractères hexadécimaux - 32 octets) ou Produit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets) | Pas utilisé avec les mots de passe ou confidentiel |
SWIFFT | Produit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets) | Pas utilisé avec les mots de passe ou confidentiel |
Tiger | Produit un hashcode (condensat) de 192 bits (48 caractères hexadécimaux - 24 octets) | Pas utilisé avec les mots de passe ou confidentiel |
Whirlpool | Produit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets) | Libre d'utilisation, gratuit, aucun brevet, résiste aux attaques. Recommandé par le projet NESSIE |
Argon2 | Produit un hashcode (condensat) d'une longueur, au choix, de 1 à 232 octets Fonction gagnante de la Password Hashing Competition en juillet 2015. | Libre d'utilisation, gratuit, open source, résiste aux attaques. Licence Creative Commons CC0 (domaine public) ou licence Apache 2.0 |
Catena | Supporte des mots de passe de n'importe quelle longueur entre 0 et 128 caractères. Produire (mais sans s'y limiter) des sorties de 32 octets. Fonction reconnue lors de la Password Hashing Competition en juillet 2015. | |
Lyra2 | Fonction reconnue lors de la Password Hashing Competition en juillet 2015. | |
yescrypt | Fonction reconnue lors de la Password Hashing Competition en juillet 2015. | |
Makwa | Fonction reconnue lors de la Password Hashing Competition en juillet 2015. | |
Etc. ... | ... |
|
La réputation de l'algorithme de calcul d'un hashcode (calcul d'un condensat - fonction de hachage) est de ne jamais produire deux hashcodes identiques si les objets (fichiers) contiennent la moindre différence. La fonction de hachage doit donc produire une clé unique d'identification d'une donnée unique (calcul homogène).
|
Les outils les plus simples de calcul de hashcodes, et de très loin, sont ceux qui s'installent en tant que « propriété » additionnelle d'un fichier dans l'explorateur de fichiers de Windows.
SummerProperties
SummerProperties ajoute un onglet « CheckSums » aux propriétés d'un fichier, dans l'explorateur de fichiers de Windows, et propose 4 algorithmes de hashcodes : CRC-16, CRC-32, MD5 et SHA-1.
SummerProperties est gratuit, mais, bien qu'encore fonctionnels, les algorithmes qu'il propose ne sont plus suffisants :
CRC-16 et CRC-32 n'ont aucun intérêt et ne sont pas de véritables algorithmes de hachage, mais des « Contrôle de Redondance Cyclique ». On peut les oublier.
Des collisions peuvent être forgées à la demande contre les hachages MD5 et SHA-1.
On laisse tomber SummerProperties.
Voir SummerProperties.
HashTab
HashTab ajoute un onglet « Hachages » aux propriétés d'un fichier, dans l'explorateur de fichiers de Windows, et propose 30 algorithmes de hashcodes : (Adler32; Blake2sp; Btih; CRC-32; CRC-64; ED2K; Gost; Keccak-224; Keccak-256; Keccak-384; Keccak-512; MD2; MD4; MD5; Ripemd-128; Ripemd-160; Ripemd-256; Ripemd-320; SHA-1; SHA-256; SHA-256 base 64; SHA-384; SHA-512; SHA3-224; SHA3-256; SHA3-384; SHA3-512; TTH; Tiger; Whirlpool). Ce produit est gratuit.
Voir HashTab.
VT Hash Check (VirusTotal Hash Check)
VT Hash Check ajoute une propriété (sous le nom de Check File Hash) aux fichiers, dans l'explorateur de fichiers de Windows. VT Hash Check calcule un hashcode d'un fichier désigné par l'utilisateur, selon l'algorithme choisi parmi les 3 proposés (MD5, SHA-1, SHA-256 [recommandé]) et soumet instantanément ce hashcode au service multiantivirus gratuit en ligne VirusTotal(70 antivirus simultanés en juillet 2020).
Vous êtes vivement incités à installer VT Hash Check (gratuit; sous Windows).
|
Réputation des fonctions de hachage
On voit souvent, en matière de sécurité informatique, principalement avec les services d'analyses antivirus, qu'il ne faut pas/plus identifier le contenu d'un fichier avec certaines fonctions de hachage (hashcodes, condensats, Empreinte cryptographique), dont les fonctions MD5 et SHA-1, car les créations de collisions, les attaques en force brute ou les utilisations de tables Arc-en-ciel permettent de casser l'unicité du condensat ou de remonter à son contenu crypté. Le tableau suivant, établi par les auteurs de Whirlpool (dernière version de ce tableau le 7 novembre 2017), donne l'état de l'art des principales fonctions de hachages et leurs poursuites de résistance ou leurs échecs aux attaques.
Le symbole est utilisé pour désigner une attaque qui a été conduite avec succès pour casser une fonction de hachage (par exemple, en produisant explicitement une collision), ou si la complexité de l'attaque est si faible qu'il ne serait pas difficile de la conduire avec les technologies actuelles.
Le symbole indique une rupture théorique (plus rapide que les attaques par force brute ou les attaques par le paradoxe des anniversaires) ou une indication explicite des auteurs de la fonction qu'il faut l'éviter.
Le symbole signifie que la conception de la fonction ou une version réduite de celle-ci a été analysée par des tiers, repoussant les limites des techniques de cryptanalyse connues sans indiquer de faiblesse dans la conception complète.
Nom | Ref. | Version | Auteur(s) | Taille du bloc | Taille du condensat | Tours | Attaque(s) |
---|---|---|---|---|---|---|---|
AR | 1992 | ISO | ? | ? | ? | ||
Boognish | 1992 | Daemen | 32 | up to 160 | NA | ||
Cellhash | 1991 | Daemen, Govaerts, Vandewalle | 32 | up to 256 | NA | ? | |
FFT-Hash I | 1991 | Schnorr | 128 | 128 | 2 | ||
FFT-Hash II | 1992 | Schnorr | 128 | 128 | 2 | ||
FSB | 2005 | Augot, Finiasz, Sendrier | 336, 680, 1360 | 320, 400, 480 (†) | NA | ? | |
GOST R 34.11-94 | 1990 | Government Committee of Russia for Standards | 256 | 256 | NA | ? | |
HAS-160 | 2005 | Telecommunications Technology Association | 512 | 160 | 4×20 | ? | |
HAVAL | 1994 | Zheng, Pieprzyk, Seberry | 1024 | 128, 160, 192, 224, 256 | 3×32, 4×32, 5×32 | ||
LASH-n | 2006 | Bentahar, Page, Saarinen, Silverman, Smart | 4×n | n | NA | ? | |
MAA (‡) | 1988 | ISO | 32 | 32 | NA | ||
MAELSTROM-0 | 2006 | Gazzoni Filho, Barreto, Rijmen | 1024 | up to 512 | 10 | ? | |
MD2 | 1989 | Rivest | 512 | 128 | 18 | ||
MD4 | 1990 | Rivest | 512 | 128 | 3×16 | ||
1992 | Rivest | 512 | 128 | 4×16 | |||
N-Hash | 1990 | Miyaguchi, Ohta, Iwata | 128 | 128 | ? 8 | ||
PANAMA | 1998 | Daemen, Clapp | 256 | unlimited | NA | ||
Parallel FFT-Hash | 1993 | Schnorr, Vaudenay | 128 | 128 | 5 | ? | |
RADIOGATÚN[w] | 2006 | Bertoni, Daemen, Peeters, van Assche | 3×w | unlimited | NA | ? | |
RIPEMD | 1990 | The RIPE Consortium | 512 | 128 | 4×16 | ||
RIPEMD-128 | 1996 | Dobbertin, Bosselaers, Preneel | 512 | 128 | 4×16 | ? | |
RIPEMD-160 | 1996 | Dobbertin, Bosselaers, Preneel | 512 | 160 | 5×16 | ? | |
SHA-0 | 1991 | NIST/NSA | 512 | 160 | 4×20 | ||
1993 | NIST/NSA | 512 | 160 | 4×20 | |||
SHA-1-IME | 2005 | Jutla, Patthak | 512 | 160 | 80 | ? | |
2004 | NIST/NSA | 512 | 224 | 64 | |||
2000 | NIST/NSA | 512 | 256 | 64 | |||
2000 | NIST/NSA | 1024 | 384 | 80 | |||
2000 | NIST/NSA | 1024 | 512 | 80 | |||
SMASH | 2005 | Knudsen | 256 | 256 | NA | ||
Snefru-n | 1990 | Merkle | 512-n | n | ? 8 | ||
StepRightUp | 1995 | Daemen | 256 | 256 | NA | ||
Subhash | 1992 | Daemen | 32 | up to 256 | NA | ? | |
Tiger | 1996 | Anderson, Biham | 512 | 192 | 3×8 | ||
2000 | Barreto, Rijmen | 512 | 512 | 10 | ? | ||
Name | Ref. | Version | Author(s) | Block Size | Digest Size | Rounds | Attack(s) |
(†) Par sa propre nature, FSB (Fast Syndrome-Based) est moins résistant à la recherche de collision que les attaques par le paradoxe des anniversaires. Pour cette raison, sa taille de résumé (condensat) doit toujours être supérieure à deux fois la sécurité de bit souhaitée.
(‡) MAA est un code d'authentification de message (MAC - Message Authentication Code) plutôt qu'une fonction de hachage. Il a été inclus ici en raison de son importance dans le cadre de la norme ISO 8731-2.
Categorie | Autheur(s) | Ref. |
---|---|---|
Design | Damgård | |
Analyses | Black, Rogaway, Shrimpton | |
Attaques | Hoch, Shamir |
Les encyclopédies |
---|