Université Bordeaux M1 CSI, Cryptologie
Mathématiques, Informatique Année 2017 – 2018
FEUILLE D’EXERCICES no8 Fonctions de hachage
Exercice 1 – Soient un entier n > 1 et h : {0,1}2n → {0,1}n une fonction de hachage. On considère H :{0,1}4n→ {0,1}n définie par
H(x1kx2) = h h(x1)kh(x2)
, si x1, x2 ∈ {0,1}2n. Montrer que si h est résistante aux collisions, H l’est aussi.
Exercice 2 – Soit F = (fK)K∈K une famille de fonctions indexées par un para- mètreK, destiné à être utilisé comme clé. Chaque fonction prend ses entrées dans Met est à valeurs dans S. On suppose que |S|2 divise |K|. On dit queF est une famille universelle de fonctions de hachage si elle vérifie la propriété suivante : pour tous x, x0 ∈ M, x6=x0 ety, y0 ∈ S,
|{K ∈ K;fK(x) =y et fK(x0) =y0}|= |K|
|S|2.
1) Si la clé K est choisie au hasard avec loi uniforme, que vaut la probabilité Pr(fK(x) =y et fK(x0) = y0) pourx6=x0, y, y0 fixés ?
2) Montrer que pour tousx, y on a :
|{K ∈ K;fK(x) = y}|= |K|
|S|.
3)On réalise un système cryptographique à des fins d’authentification de la forme C = (M, fK(M)) appelé aussi un “MAC” (Message Authentication Code). Que vaut la probabilité d’imposture PI pour ce système ?
4) Pourquoi ce résultat est-il optimal ?
5) Calculer la probabilité de substitution PS du système. Pourquoi est-elle opti- male ?
6)Soient pun nombre premier. On poseM=S =Fp etK=Fp×Fp. On définit la famille F = (fa,b)(a,b)∈K par fa,b(x) = ax+b. Montrer que F est une famille universelle de fonctions de hachage.
7) Soient M={0,1}n\ {(0,0, . . . ,0)} oùn>2, et S ={0,1}r où r>1. SoitF la famille des restrictions à M des applications linéaires de{0,1}n dans {0,1}r. Montrer qu’il s’agit d’une famille universelle de fonctions de hachage.