0Pricing
Cryptology Academy · Leçon

Ce qui caractérise une bonne fonction de hachage

Découvrez la résistance à la préimage, aux collisions et l’effet avalanche

Ce qui caractérise une bonne fonction de hachage est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Bienvenue

Une fonction de hachage cryptographique transforme toute entrée en une empreinte de longueur fixe. Dans cette leçon, nous étudions les propriétés qui rendent une fonction de hachage sûre sur le plan cryptographique.

Sortie déterministe

Hash(M) produit toujours la même sortie pour une même entrée. SHA-256('hello') vaut toujours aabb..., quel que soit le lieu ou le moment du calcul.

Longueur de sortie fixe

SHA-256 produit toujours 256 bits (32 octets = 64 caractères hexadécimaux). SHA-512 produit toujours 512 bits. L’entrée peut faire 0 octet ou 10 GB : la taille de la sortie ne change jamais.

Résistance à la préimage

Étant donné un hachage h, il doit être irréalisable sur le plan computationnel de trouver un message M tel que Hash(M) = h. Propriété à sens unique : vous ne pouvez pas inverser un hachage.

Résistance à la seconde préimage

Étant donné M1, il doit être irréalisable de trouver M2 ≠ M1 tel que Hash(M1) = Hash(M2). Cela empêche un attaquant de remplacer un message par un autre ayant le même hachage.

Résistance aux collisions

Il doit être irréalisable de trouver ANY deux messages M1 ≠ M2 tels que Hash(M1) = Hash(M2). C’est plus difficile que de trouver une seconde préimage, mais moins solide qu’il n’y paraît : le principe des tiroirs garantit l’existence de collisions.

Effet avalanche

L’inversion d’un seul bit de l’entrée devrait modifier environ 50 % des bits de sortie. SHA-256('hello') et SHA-256('hellp') diffèrent d’environ 128 bits. Cette sensibilité empêche les attaques par recherche incrémentale.

Construction de Merkle-Damgård

MD5, SHA-1 et SHA-2 utilisent Merkle-Damgård : diviser l’entrée en blocs et enchaîner une fonction de compression. La valeur finale de la chaîne constitue le hachage. Cette conception est vulnérable aux attaques par extension de longueur.

Construction en éponge

SHA-3 (Keccak) utilise une construction en éponge : absorber l’entrée dans un état, puis extraire la sortie. Les éponges résistent aux attaques par extension de longueur et sont plus polyvalentes que Merkle-Damgård.

Borne des anniversaires

L’attaque des anniversaires trouve des collisions en 2^(n/2) opérations, et non en 2^n. SHA-256 produit 256 bits, sa résistance aux collisions est donc d’environ 2^128. SHA-1 (160 bits) offre environ 2^80, mais est désormais cassé en pratique.

Hachage, MAC et signature

Hachage : aucune clé, fournit uniquement l’intégrité. MAC (HMAC) : hachage avec clé, fournit l’intégrité + l’authenticité. Signature numérique : clé asymétrique, fournit l’intégrité + l’authenticité + la non-répudiation.

Vérification rapide

Quelle propriété garantit qu’il est irréalisable de trouver une entrée produisant une sortie de hachage donnée ?

Récapitulatif

Vous comprenez maintenant les propriétés de sécurité des fonctions de hachage. Nous allons ensuite étudier MD5, autrefois la référence et aujourd’hui totalement cassé.

Questions Fréquemment Posées

La leçon « Ce qui caractérise une bonne fonction de hachage » est-elle gratuite ?

Oui — le texte complet de « Ce qui caractérise une bonne fonction de hachage » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Ce qui caractérise une bonne fonction de hachage » ?

Découvrez la résistance à la préimage, aux collisions et l’effet avalanche Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Ce qui caractérise une bonne fonction de hachage » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Ce qui caractérise une bonne fonction de hachage
  2. MD5 : histoire, usages et raisons de sa vulnérabilité
  3. La famille SHA-1 et SHA-2 expliquée
  4. Applications des hachages : sommes de contrôle, HMAC et Git
← Retour à Cryptology Academy