4.3.1 Description de la construction
Les constructions à 1 et 2 tours pouvant être distinguées d’une permutation
paramétrable idéale, nous allons maintenant considérer la constructionTEM à trois
tours munie des fonctions de dérivation de clé triviales : nous fixonsK=T ={0,1}
net, pour tout i = 0, . . . ,3 et tout (k, t) ∈ {0,1}
n× {0,1}
n, on a f
i(k, t) = k ⊕t.
Étant donné trois permutationsP
1, P
2, P
3de {0,1}
n, on noteTEM
P1,P2,P3[n,3,f]
le schéma
d’Even-Mansour paramétrable TEMmuni du quadruplet de fonctions de dérivation
de clés triviales qui, à une clék ∈ {0,1}
n, un tweak t ∈ {0,1}
net à un texte clair
x∈ {0,1}
nassocie le chiffré défini par
TEM
P1,P2,P3k
(t, x) =k⊕t⊕P
3(k⊕t⊕P
2(k⊕t⊕P
1(k⊕t⊕x))).
On prouve le résultat suivant [CS15b], qui a été découvert indépendamment par
Farshim et Procter [FP15].
Théorème 9. Soient q
e, q
pdeux entiers naturels. On a
Adv
ccaTEM[n,3,f](q
c, q
p)≤ 6q
cq
pN +
4q
2 cN .
Démonstration. La preuve découle du lemme 1 combiné aux lemmes 23 et 24
démon-trés ci-dessous.
4.3.2 Description des mauvaises transcriptions
Définition 10. Soit τ = (Q
C,Q
P1,Q
P2,Q
P3, k) une transcription atteignable. On
dit que τ est mauvaise si
k ∈BadK=
[1≤i≤2
BadK
ioù :
4.3. Une construction à 3 tours
k∈BadK
2⇔ il existe (t, x, y)∈ Q
Cet (u
3, v
3)∈ Q
P3tels que k⊕t=y⊕v
3.
Dans le cas contraire, τ est une bonne transcription. Notons Θ
badl’ensemble des
mauvaises transcriptions, et Θ
good= Θ\Θ
badl’ensemble des bonnes transcriptions.
En premier lieu, majorons la probabilité d’obtenir une mauvaise transcription
dans le monde idéal.
Lemme 23. On a
Pr[T
id∈Θ
bad]≤ 2q
cq
pN .
Démonstration. Puisque nous sommes dans le monde idéal, la clé k est tirée
unifor-mément aléatoirement après la dernière requête, indépendamment de la
transcrip-tion des requêtes. Ainsi, nous devons simplement majorer le nombre de mauvaises
valeurs possibles pour k pour toutes les transcriptions atteignable des requêtes
(Q
C,Q
P1,Q
P2,Q
P3). Pour ce faire, fixons une quelconque transcription atteignable
des requêtes (Q
C,Q
P1,Q
P2,Q
P3). Alors, pour toute requête (t, x, y)∈ Q
Cet toute
requête (u
1, v
1) ∈ Q
P1, il existe une unique clé k telle que k = x⊕t⊕u
1. Ainsi,
|BadK
1| ≤q
cq
p. De même,|BadK
2| ≤q
cq
p. Ainsi, pour i= 1,2,
Pr [k ←
${0,1}
n:k ∈BadK
i]≤ q
cq
pN .
On en déduit le résultat par l’inégalité de Boole.
4.3.3 Étude des bonnes transcriptions
Lemme 24. Pour toute bonne transcription τ ∈Θ
good, on a
Pr [T
re=τ]
Pr [T
id=τ] ≥1− 4q
cq
pN −4q
2 cN .
Démonstration. Si Θ
good= ∅, il n’y a rien à prouver. Sinon, fixons une bonne
transcription τ = (Q
C,Q
P1,Q
P2,Q
P3, k). Soit m le nombre de différents tweaks t
qui apparaissent dans Q
Cet q
ile nombre de requêtes utilisant le i-ème tweak (en
ordonnant les tweaks de façon arbitraire). Notons queq
c=
Pmi=1q
i. Dans le monde
idéal, on a simplement
Pr[T
id=τ] = Pr[k
0←
${0,1}
n:k
0=k]×Pr[P
i←
$Perm(n) :P
i` Q
Pi, i= 1,2,3]
×Pr[E ←
$TBC(n, n) : (E, k)` Q
C]
= 1
N · 1
((N)
qp)
3·
Qm1
i=1(N)
qi. (4.7)
Nous devons simplement minorer la probabilité suivante :
Pr [T
re=τ] =
1
Soient
U
1={u
1∈ {0,1}
n: (u
1, v
1)∈ Q
P1}, V
1={v
1∈ {0,1}
n: (u
1, v
1)∈ Q
P1},
U
2={u
2∈ {0,1}
n: (u
2, v
2)∈ Q
P2}, V
2={v
2∈ {0,1}
n: (u
2, v
2)∈ Q
P2},
U
3={u
3∈ {0,1}
n: (u
3, v
3)∈ Q
P3}, V
3={v
3∈ {0,1}
n: (u
3, v
3)∈ Q
P3}
les ensembles de définition et image de Q
P1, Q
P2, et Q
P3respectivement. Pour
u
01∈ {0,1}
n, soient X(u
01) = {(t, x, y) ∈ Q
C: x⊕k ⊕t = u
01}, et U
10= {u
01∈
{0,1}
n:X(u
01)6= ∅}. De même, pourv
03∈ {0,1}
n, soient Y(v
30) = {(t, x, y)∈ Q
C:
y⊕k⊕t =v
03}, etV
30= {v
30∈ {0,1}
n:Y(v
03)6= ∅}. Notons que, par définition d’une
bonne transcription, on aU
1∩U
10=∅ etV
3∩V
30=∅. Soient également α =|U
10| et
β=|V
30|. Par souci de clarté, on note
U
10={u
01,1, . . . , u
01,α}
V
30={v
03,1, . . . , v
03,β}
en ordonnant les éléments de façon arbitraire. Notons que
q
e=
α X i=1|X(u
01,i)|=
β X i=1|Y(v
03,i)|. (4.8)
Il est alors suffisant pour prouver notre résultat de minorer le nombre d’uplets
de valeurs possibles pour (v
1,10, . . . , v
1,α0) et (u
03,1, . . . , u
03,β) tels que, en imposant
P
1(u
01,i) = v
1,i0pour 1 ≤ i ≤ α et P
3(u
03,j) = v
3,j0pour 1 ≤ j ≤ β, l’évènement
E
P1,P2,P3k
` Q
Cest équivalent àq
c«nouvelles» équations surP
2(c’est-à-dire, distinctes
des équations imposées parP
2` Q
P2). Plus précisément, soit N
1le nombre d’uplets
de valeurs deux à deux distinctes (v
1,10, . . . , v
1,α0) tels que, pour tout i= 1, . . . , α :
(i) v
01,i6=v
1pour toutv
1∈V
1,
(ii) v
01,i6=k⊕t⊕u
2pour tout (t, x, y)∈X(u
01,i) et tout u
2∈U
2,
(iii) v
01,i6= t⊕v
1,j0⊕t
0pour tout (t, x, y)∈X(u
01,i), 1≤j ≤i−1, (t
0, x
0, y
0)∈X(u
01,j).
Alors
N
1≥
α Y i=1 N −q
p−i+ 1− |X(u
01,i)|(q
p+
i−1 X j=1|X(u
01,j)|)
≥
α Y i=1N −q
p−q
e− |X(u
01,i)|(q
p+q
e)
par (4.8).
De même, soit N
3le nombre d’uplets de valeurs deux à deux distinctes pour
(u
03,1, . . . , u
03,β) tels que, pour tout i= 1, . . . , β :
(i’) u
03,i6=u
3pour tout u
3∈U
3,
(ii’) u
03,i6=k⊕t⊕v
2pour tout (t, x, y)∈Y(v
03,i),v
2∈V
2,
4.3. Une construction à 3 tours
Alors
N
3≥
β Y i=1 N −q
p−i+ 1− |Y(v
03,i)|(q
p+
i−1 X j=1|Y(v
3,j0)|)
≥
β Y i=1N −q
p−q
e− |Y(v
3,i0)|(q
p+q
e)
par (4.8).
Pour chaque choix possible de (v
1,10, . . . , v
01,α) et (u
03,1, . . . , u
03,β) satisfaisant ces
condi-tions,P
1sera fixé sur exactement q
p+α points,P
2surq
p+q
cpoints etP
3surq
p+β
points. Plus précisément, supposonsN
1·N
3>0 et fixons deux uplets quelconques
de valeurs (v
1,10, . . . , v
1,α0) et (u
03,1, . . . , u
03,β) satisfaisant ces conditions, et soit Ev
1l’évènement P
1(u
01,i) = v
01,ipour 1 ≤i ≤α et Ev
3l’évènement P
3(u
03,j) = v
03,jpour
1≤j ≤β. Alors, d’après les conditions (i) et (i’) on a
Pr [Ev
1∧(P
1` Q
P1)] = 1
(N)
qp+αPr [Ev
3∧(P
3` Q
P3)] = 1
(N)
qp+β.
Fixons maintenantP
1etP
3satisfaisantEv
1etEv
3. Pour chaque (t, x, y)∈ Q
C, soient
respectivementu
02et v
20les entrées et sorties de P
2pour cette requête, c’est-à-dire
que u
02=v
1,i0⊕k⊕t pour i tel que x⊕k⊕t = u
01,i, et v
20= u
03,j⊕k⊕t for j tel
que y⊕k ⊕t = v
3,j0. Alors, les q
cvaleurs u
02n’appartiennent pas à U
2d’après la
condition (ii), et sont deux à deux distinctes d’après la condition (iii). De même
lesq
cvaleurs v
02ne sont pas dans V
2d’après la condition (ii’), et sont deux à deux
distinctes d’après la condition (iii’). Il suit que
Pr
h(TEM
P1,P2,P3, k)` Q
C∧(P
2` Q
P2)
Ev
1∧(P
1` Q
P1)∧Ev
3∧(P
3` Q
P3)
i= 1
(N)
qp+qc.
Ainsi, en sommant sur les (au moins) N
1·N
3paires possibles d’uplets, on obtient
Pr [T
re=τ]≥ N
1·N
3N ·(N)
qp+α·(N)
qp+qe·(N)
qp+β. (4.9)
Cette dernière inégalité est également vraie dans le cas oùN
1·N
3= 0. En utilisant
(4.7) et (4.9), on a
Pr [T
re=τ]
Pr [T
id=τ] ≥ N
1·N
3·N ·(N)
3 qp Qm i=1(N)
qiN·(N)
qp+α·(N)
qp+qc·(N)
qp+β≥ N
1·N
3·
Qm i=1(N)
qi(N −q
p)
α·(N −q
p)
qc·(N −q
p)
β≥ N
1·N
3·(N)
qc(N −q
p)
α·(N −q
p)
qc·(N −q
p)
β≥N
1·N
3N
α+β.
Finalement, on a, puisqueα ≤q
c,
N
1N
α=
Qα i=1N −q
p−q
c− |X(u
01,i)|(q
p+q
c)
N
α≥1−
α X i=1q
p+q
c+|X(u
01,i)|(q
p+q
c)
N
≥1− q
cq
pN − q
2 cN −(q
p+q
c)
α X i=1|X(u
01,i)|
N
≥1− 2q
cq
pN −2q
2 cN par (4.8).
La même borne inférieure peut être prouvée pour
N3Nβ
. Ainsi
Pr [T
re=τ]
Pr [T
id=τ] ≥ 1−2q
cq
pN − 2q
2 cN
!2≥1− 4q
cq
pN − 4q
2 cN .
4.3.4 De l’exactitude de notre borne
Remarquons que notre construction est en fait un cas particulier de construction
générique d’un algorithme de chiffrement par blocs paramétrable à partir d’un
algorithme de chiffrement par blocs standard. En effet, si E est un algorithme
de chiffrement par blocs, on peut définir un algorithme de chiffrement par blocs
paramétrable E
e, qui, pour toute clék, tout tweak t, associe à tout message clairx le
chiffré
e
E
k(t, x) = E
k⊕t(x).
Lorsque l’on remplace l’algorithmeE par le schéma d’Even-Mansour à trois tours et
utilisant des clés de tours identiques, on obtient le schéma précédent. Or il existe
une attaque contre cette construction générique qui retrouve la clé en environ 2
n/2requêtes. L’attaque fonctionne de la façon suivante : l’adversaire effectue simplement
des requêtes à l’oracle de construction sur les entrées (t
i,0) pourq
cvaleurst
idistinctes,
et calculeE
kj(0) pour q
pvaleurs distinctes k
j, ce qui se transpose, dans le modèle
de la permutation aléatoire, en q
prequêtes à chaque permutation interne. Si les t
iet lesk
jsont choisis tels que l’ensemble des valeurs t
i⊕k
jrecouvre{0,1}
n, alors il
existera une paire (i, j) telle que (dans le monde réel) k
∗⊕t
i=k
j, où k
∗est la clé
réellement utilisée dans l’oracle de construction. Ceci peut être détecté en recherchant
une collision entre les deux listes (P
e(t
i,0))
1≤i≤qeet (E
kj(0))
1≤j≤qp, qui suggère un
candidat pour la clé réellek
∗. Ceci entraîne en particulier que, avec une clé de n bits,
la borne de sécurité ne peut pas être améliorée en augmentant le nombre de tours de
notre construction.
Dans le document
Le schéma d'Even-Mansour paramétrable : preuves de sécurité à l'aide de la technique des coefficients H
(Page 97-102)