Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.01.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Un algorithme, en informatique, est une suite d'instructions prenant des données en entrée pour fournir un résultat en sortie, selon une démarche formelle, afin de résoudre une fonction.

Les fonctions de hachage de mots de passe sont des fonctions de calcul de l'empreinte cryptographique (condensat - hashcode) d'une donnée de telle sorte que cette empreinte signe de manière unique cette donnée sans en révéler la donnée elle-même. C'est donc un outil de cryptographie.

  • Les mots de passe, par exemple, ne sont pas stockés en clair, localement dans l'appareil de l'utilisateur, ou sur les serveurs d'un site WEB ou service distant où un utilisateur doit s'identifier, mais de manière chiffrée (cryptée) selon un algorithme de hachage. MD5 est le plus utilisé en 2015, mais est en voie de remplacement par SHA-256, car il a été prouvé que MD5 peut produire des collisions et n'est plus à sens unique (il permet de découvrir le mot de passe à partir du condensat).

  • La vérification qu'un fichier n'est pas un virus connu se fait par calcul de son condensat avec un algorithme de hachage puis recherche de ce condensat dans les bases de signatures. Installez HashTab, qui vérifie la présence d'une analyse d'un fichier dans le service en ligne VirusTotal. Ce n'est pas le fichier qui est envoyé à VirusTotal, mais son condensat.

Les algorithmes de hachage mettent en œuvre les diverses fonctions de hachage proposées. Il en existe plusieurs dont certaines sont « faibles », car elles peuvent produire des collisions ou ne sont pas à sens unique, car elles permettent de remonter de l'empreinte cryptographique à la donnée d'origine par calcul inverse ou attaques (Tables Arc en ciel (Rainbow tables), etc.).




Exemples de fonctions de hachage traduites en algorithmes de hachage :


Exemples d'algorithmes de hachageIngénierie inverse en
attaques de mots de passe
CRC-1Contrôle de Redondance Cyclique (Contrôle de parité - Détection d'erreur) - 1 bitSans objet
CRC-12Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 12 bits (3 caractères hexadécimaux)Sans objet
CRC-16Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 16 bits (4 caractères hexadécimaux)Sans objet
CRC-32Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 32 bits (8 caractères hexadécimaux)Sans objet
CRC-64Contrôle de Redondance Cyclique (Fonction polynomiale - Détection d'erreur) - 64 bits (16 caractères hexadécimaux)Sans objet
MD5Produit un hashcode (condensat) de 128 bits (32 caractères hexadécimaux - 16 octets)
Attaques réussies
SHA-1Produit un hashcode (condensat) de 160 bits (40 caractères hexadécimaux - 20 octets)
Attaques réussies
SHA-224Produit un hashcode (condensat) de 224 bits (56 caractères hexadécimaux - 28 octets)
Pas utilisé avec les mots de passe ou confidentiel
SHA-256Produit un hashcode (condensat) de 256 bits (64 caractères hexadécimaux - 32 octets)
Résiste aux attaques
SHA-384Produit un hashcode (condensat) de 384 bits (96 caractères hexadécimaux - 48 octets)
Pas utilisé avec les mots de passe ou confidentiel
SHA-512Produit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets)
Résiste aux attaques
SnefruProduit 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 HashProduit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets)
Pas utilisé avec les mots de passe ou confidentiel
StreebogProduit 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
SWIFFTProduit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux - 64 octets)
Pas utilisé avec les mots de passe ou confidentiel
TigerProduit un hashcode (condensat) de 192 bits (48 caractères hexadécimaux - 24 octets)
Pas utilisé avec les mots de passe ou confidentiel
WhirlpoolProduit 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
Argon2Produit 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
CatenaSupporte 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.
Lyra2Fonction reconnue lors de la Password Hashing Competition en juillet 2015.
yescryptFonction reconnue lors de la Password Hashing Competition en juillet 2015.
MakwaFonction reconnue lors de la Password Hashing Competition en juillet 2015.
Etc. ......