Les fonctions de hachage

L'empreinte d'un message, les trois résistances (préimage, seconde préimage, collisions), l'effet d'avalanche, le paradoxe des anniversaires et la taille d'empreinte, les fonctions cassées et celles à employer, l'intégrité d'un fichier et le HMAC.

  • 35 cartes
  • 6 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Les chiffres
  5. Mises en situation
  6. Comprendre

Quelques cartes du deck

  • Fonction de hachage cryptographique : de quoi s'agit-il ?

    Voir la réponse

    Fonction publique qui transforme un message de taille quelconque en une empreinte de taille fixe, facile à calculer mais impossible à inverser en pratique.

    Aucune clé n'intervient : tout le monde calcule la même empreinte à partir du même message. SHA-256 donne toujours 256 bits, que l'entrée fasse un octet ou un gigaoctet.

  • Quelle taille a l'empreinte de ces deux messages ?

    ```python
    import hashlib
    a = hashlib.sha256(b"a").hexdigest()
    b = hashlib.sha256(b"a" * 1000000).hexdigest()
    print(len(a), len(b))
    `

    • 64 64
    • 1 1000000
    • 256 256
    • 32 32
    Voir la réponse

    64 64

    SHA-256 donne toujours 256 bits, soit 32 octets, que hexdigest() écrit en 64 caractères hexadécimaux (4 bits chacun), quelle que soit la taille de l'entrée. Avec MD5, on aurait 32 caractères.

  • Une fonction de hachage cryptographique est … : le même message donne toujours la même empreinte, et sa taille est ….

    Voir la réponse

    Une fonction de hachage cryptographique est déterministe : le même message donne toujours la même empreinte, et sa taille est fixe.

    Sans cela on ne pourrait pas comparer deux empreintes pour contrôler un fichier. Les empreintes de SHA-256 font toujours 256 bits.

  • Résistance à la préimage : de quoi s'agit-il ?

    Voir la réponse

    Propriété d'une fonction de hachage : à partir d'une empreinte donnée, il est hors de portée de retrouver un message qui la produit.

    Contre une empreinte de n bits, l'attaque générique essaie environ 2 puissance n messages. Pour SHA-256, cela fait 2 puissance 256 essais.