1.2 La cryptographie aujourd’hui
1.4.5 Cryptanalyse des algorithmes de chiffrement par bloc
Pour attaquer des schémas de chiffrement par bloc, il existe des méthodes désormais
clas-siques issues d’attaques spécifiques à certaines méthodes de chiffrement. Toutes ces méthodes
convergent vers un seul but : exhiber une propriété non triviale de l’algorithme de chiffrement,
et si possible l’utiliser pour récupérer la valeur secrète utilisée lors d’un (ou de plusieurs)
chiffrement(s). D’une manière générale, comme on l’a déjà mentionné, une attaque consiste
en un algorithme plus efficace que la recherche exhaustive (de la clef), à savoir une technique
moins coûteuse que la recherche des 2
kclefs dekbits.
Dans cette thèse, nous nous intéressons exclusivement à des attaques sur des primitives
symétriques, et en particulier au standard de chiffrement actuel : l’AES. Nous détaillerons
beaucoup plus certaines des attaques classiques utilisées actuellement, mais on peut par
exemple citer l’attaque par le milieu qui a été découverte alors que l’on cherchait une manière
de renforcer la sécurité duDES. Celui-ci était le standard de chiffrement entre 1977 et 1999 et
permet de chiffrer avec des clefs de 56 bits. Suivant les cas, on peut vouloir utiliser plus que
56 bits de clefs, et il est alors naturel de se demander comment étendreDESà des clefs plus
grandes. Une première idée consiste à utiliser deux clefsK
1etK
2et d’appliquer deux fois le
DES à un messagem successivement avec les deux clefs pour le transformer en son chiffré
1.4. ALGORITHMES DE CHIFFREMENT PAR BLOC 21
ces deux clefs, or le mécanisme appeléDouble-DESest vulnérable à une technique triviale
d’attaque par le milieu (meet-in-the-middle).
1.4.5.1 Attaque par le milieu
Supposons qu’un adversaire ait obtenu un messagemet son chiffré c, et qu’il sache que
le Double-DESa été utilisé. Plutôt que de faire une recherche exhaustive sur les 2
112clefs
(K
1,K
2)possibles, il va procéder en deux temps. Dans un premier temps, il énumère toutes les
2
56clefsK
1possibles, et stocke le chiffrement du messagemde 64 bits sous la clefK
1parDES
dans une table T (voirFigure 1.15). Cette table contient des éléments de la forme(e,K
1), où
T
m
K1=
0 K1=
1 K1=
256−
1... c
K2=
0 K2=
1 K2=
256−
1...
Figure 1.15: Attaque par le milieu. L’attaquant récupère les clefs K
1et K
2plus rapidement que la
recherche exhaustive en utilisant une mémoire de 2
|K1|éléments.
e=DES
K1(m)et est stockée en classant les élémentsepar ordre croissant. Notons au passage
que construire cette tableTdemande 2
56évaluations duDESet une mémoire capable de stocker
les 2
56éléments. Dans un deuxième temps maintenant, il va partir du message chiffré cde
64 bits et énumérer toutes les 2
56valeurs possibles pour la deuxième clefK
2. Pour chacunede ces valeurs, il calcule le déchiffrement de c par la clef K
2et obtient DES
−1K2
(c). Pour ces
valeurs obtenues en séquence pour chaque nouvelle tentative deK
2, on obtient en moyenne
2
56/2
64=2
−8élémentede la table T. En effet, nous stockons 2
56valeurs dansT, vues comme
des variables aléatoires sur 64 bits suivant la loi uniforme, et nous sélectionnons un élément
par 56 bits deDES
−K12
(c).
Ainsi, pour une valeur deK
2et avec probabilité 2
−8, la table Tsuggère un élément(e,K
1)
qui peut correspondre à une valeur correcte pourK
1. Cette suggestion construit une paire de clef
(K
1,K
2)qu’il faut tester sur une nouvelle paire clair/chiffré(m
′,c
′)que l’adversaire est supposé
avoir. L’information fournie par cette deuxième paire permet de supprimer toutes les
sugges-tions (K
1,K
2)sauf les valeurs correctes qui vont également vérifier c
′= DES
K2(DES
K1(m
′)).
Finalement, avec deux paires claire/chiffré, 2×2
56évaluations du DES et en utilisant une
mémoire de 2
56éléments, nous avons retrouvé les 112 bits de clef. Cette attaque classique
contredit l’intuition qui pousse à croire que doubler la taille des clefs double la sécurité de la
méthode de chiffrement. Pour répondre au problème intial, il est toutefois possible d’augmenter
la sécurité duDES, mais il faut alors considérer trois clefs(K
1,K
2,K
3)et chiffrermen
c=DES
K3(DES
−K21(DES
K1(m
′))).
On appelle cette primitive leTriple-DES. L’appel central consiste en un déchiffrement pour
des raisons de compatibilité avec le simpleDES : en effet, prendreK
1= K
2=K
3revient à faire
un simpleDES, ce qui peut être utile dans certains cas.
1.4.5.2 Distance d’unicité
Dans l’attaque par le milieu présentée dans la section précédente, nous avons vu que
l’adver-saire a eu besoin de deux couples clair/chiffré pour mener à bien son attaque. D’une manière
générale, on parle dedistance d’unicitépour mesurer la quantité d’information nécessaire à cet
adversaire pour isoler théoriquement et sans ambiguité la seule clef secrète possible. Cette
information est mesurée en termes de paires clair/chiffré et rapporte un comportement en
moyenne.
Formellement, la distance d’unicitédse rapproche de l’entropie de Shannonhet peut se
définir de manière inconditionnelle par le nombre minimal de messages chiffrésc
ià connaître
pour réduire l’entropie de la clef secrèteKà zéro :
d=min
t
hKc
1, . . . ,c
t=0.
1.4.5.3 Modèles d’attaquants
Lorsque l’on considère un attaquant face à un algorithme de chiffrement par bloc, il convient
de modéliser ses capacités afin de borner les requêtes qu’il peut faire. Nous avons déjà évoqué
le modèle à clairs connus, à clairs choisis ou encore à chiffrés choisis, qui sont des scénarios
précisant des contraintes sur l’une des deux entrées de l’algorithme de chiffrement, à savoir le
message. Cependant, il est également possible de préciser les capacités de l’adversaire vis-à-vis
de la seconde entrée de l’algorithme : la clef.
k ← K
$Ek
m E
k(m)
Adversaire k
(a)Modèle standard
k ← K
$Ek
m,f E
f(k)(m)
Adversaire k
(b)Modèle à clefs reliées.
Figure 1.16:Modèles d’attaques en clef secrète : le modèle standard(a)et le modèle en clefs reliées(b).
Il existe plusieurs modèles de ce point de vue, dont le plus pertinent en pratique est le
modèle standard (Figure 1.16a) dans lequel l’adversaire n’a aucune influence sur la clef secrète.
Celle-ci est choisie aléatoirement dans l’espace K de toutes les clefs possibles, et sert lors
1.4. ALGORITHMES DE CHIFFREMENT PAR BLOC 23
du chiffrement des messages reçus ou choisis par l’adversaire. Un deuxième modèle plus
souple et moins réaliste dans la pratique est le modèle en clefs reliées (Figure 1.16b). Dans
ce cas, l’adversaire ne connaît toujours pas la clef secrète utilisée, mais il peut demander le
chiffrement de messages aveckou avec n’importe quelle clef reliée à kpar une certaine relation
f. L’ensemble des clefs k
′qui sont en relation avec la clef secrète k est également secret, i.e.
l’adversaire ne connait aucune clef k
′, mais il peut cependant obtenir plus d’informations surk
dans ce modèle que dans le modèle standard. La relation f peut varier, et nous considérons un
cas particulier dans le chapitre 6.
k ← K
$Ek
k m E
k(m)
Adversaire
{m
i}tel queP
k{m
i}vérifiée
(a)Modèle en clef connue.
k Ek
k m E
k(m)
Adversaire
k,{m
i}tel queP
k{m
i}vérifiée
(b)Modèle en clef choisie.
Figure 1.17:Modèles d’attaques en clef ouverte : le modèle en clef connue(a)et le modèle en clef choisie
(b). La propriétéP
Kdépend de la clefk, et prend en entrée un ensemble de un ou plusieurs messages.
Un autre ensemble de scénarios a été récemment proposé par Knudsen et Rijmen et consiste
en un modèle complètement ouvert où l’on donne la clef à l’adversaire. Son but n’est plus de la
retrouver comme dans les modèles précédents, mais d’exhiber une propriété non triviale P
ksur la primitive lorsque tous les paramètres sont connus, y compris la clefk. On distingue plus
particulièrement deux cas : le modèle en clef connue (Figure 1.17a) où l’on donne explicitement
une valeur de k à l’adversaire, ce qui lui fixe totalement la permutation E
kà attaquer. Un
deuxième modèle moins contraint consiste à lui laisser spécifier une valeur particulière de la
clefk(Figure 1.17b) pour lui faciliter la recherche de valeurs satisfaisantP
k. Nous détaillons
ces deux modèles dans le chapitre 7. Dans le chapitre suivant, je détaille les contributions de
cette thèse, chapitre par chapitre.
CHAPITRE
2
Présentation des Travaux
Dans le document
Cryptanalysis of Symmetric-Key Primitives Based on the AES Block Cipher
(Page 33-38)