Bases de la sécurité de l'information

Pour une fonction de hachage idéale à sortie de 256 bits, quelle combinaison donne l'ordre de grandeur du nombre de calculs nécessaires à une attaque par force brute dans deux cas : trouver une entrée qui produit une valeur de hachage donnée (attaque par préimage), et trouver deux entrées différentes quelconques qui produisent la même valeur de hachage (attaque par collision) ?

  1. AAttaque par préimage : environ 2^256 ; attaque par collision : environ 2^128
  2. BAttaque par préimage : environ 2^128 ; attaque par collision : environ 2^256
  3. CEnviron 2^256 aussi bien pour l'attaque par préimage que pour l'attaque par collision
Afficher la réponse et l'explication

Réponse : A. Attaque par préimage : environ 2^256 ; attaque par collision : environ 2^128

Une fonction de hachage idéale à sortie de n bits a 2^n valeurs de hachage possibles, et chaque entrée essayée correspond à une valeur donnée avec une probabilité de 1/2^n. Une attaque par préimage demande donc environ 2^n calculs, soit environ 2^256 pour n = 256. Dans une attaque par collision, en revanche, n'importe quelles deux entrées peuvent coïncider : essayer k entrées donne environ k^2/2 paires à comparer. Lorsque k^2/2 approche 2^n, c'est-à-dire lorsque k est de l'ordre de 2^(n/2), une collision devient probable ; pour n = 256, cela fait environ 2^128. C'est la même idée que le paradoxe des anniversaires, selon lequel dans un groupe de 23 personnes, la probabilité que deux d'entre elles aient le même anniversaire dépasse 50 % ; on parle donc d'attaque des anniversaires. Par conséquent, la résistance d'une fonction de hachage aux collisions est estimée à la moitié de sa longueur de sortie, et obtenir une sécurité équivalente à 128 bits exige une sortie de 256 bits.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases de la sécurité de l'information

  1. Lorsqu'un service web stocke les mots de passe de ses utilisateurs, il ajoute au mot de passe une valeur aléatoire différente pour chaque utilisateur (un sel) avant de calculer et de stocker la valeur de hachage. Quel est le but principal du sel ?
  2. Pour stocker des mots de passe, il est recommandé de ne pas utiliser directement une fonction de hachage rapide comme SHA-256, mais un procédé délibérément conçu pour être long à calculer, comme bcrypt ou Argon2. Pourquoi ?
  3. On recherche un mot de passe de 8 caractères par force brute, en essayant tous les candidats. Si l'on peut essayer 1×10^10 candidats par seconde, quelle combinaison est la plus proche du temps nécessaire pour essayer tous les candidats, d'une part pour un mot de passe composé uniquement de lettres minuscules (26 types), d'autre part pour un mot de passe composé de majuscules, de minuscules et de chiffres (62 types) ?
  4. A appose une signature numérique sur un document envoyé à B. Quelle combinaison indique correctement les clés utilisées pour créer et vérifier la signature, et ce que la signature numérique permet de confirmer ?
  5. Quelle affirmation compare correctement un code d'authentification de message (MAC) et une signature numérique ?