Lemme d'empilement
Le lemme d'empilement[1] (le Piling-up Lemma en anglais) est un résultat statistique introduit par Mitsuru Matsui en 1993 dans le cadre de la cryptanalyse linéaire. Ce lemme permet de quantifier le biais statistique présent dans une approximation linéaire d'un algorithme de chiffrement symétrique par bloc[2].
Formulation mathématique
Une équation linéaire dans le cadre de la cryptanalyse linéaire se présente sous la forme d'un ou-exclusif de variables binaires :
Soit variables aléatoires, indépendantes et binaires (le résultat de l'événement est soit 0, soit 1), , la probabilité que cette équation soit correcte est :
avec , le biais linéaire de la variable aléatoire . Ce biais peut être positif ou négatif et quantifie l'écart par rapport à une distribution uniforme où l'espérance d'une variable aléatoire binaire est 1/2. Plus le biais est important, plus un algorithme de chiffrement est susceptible d'être attaqué via la cryptanalyse linéaire.
Raisonnement
Soit , la probabilité que l'événement A arrive. Avec une probabilité de 1, l'événement se produira. Inversement, une probabilité de 0 indique l'impossibilité de cet événement. Dans le cadre du lemme d'empilement, nous avons donc affaire à des variables aléatoires, binaires et considérées comme indépendantes.
Considérons d'abord le lemme pour deux variables aléatoires :
Considérons maintenant la probabilité d'une équation linéaire avec ces deux variables :
Grâce aux propriétés de XOR, ceci est équivalent à :
X1 = X2 = 0 et X1 = X2 = 1 sont des événements mutuellement exclus et de ce fait :
Nous partons dès lors du principe que les variables sont indépendantes. C’est-à-dire que l'état d'une variable ne va pas influencer l'état d'une autre. On peut ainsi étendre la probabilité au résultat suivant :
Nous exprimons maintenant les probabilités p1 et p2 comme ½ + ε1 et ½ + ε2, où les ε sont des biais de probabilités — la quantité de déviation de la probabilité par rapport à ½.
Ainsi, le biais ε1,2 pour la somme de XOR ci-dessus est de 2ε1ε2.
Cette formule peut s'étendre pour un nombre infini de variables comme suit :
Si un ε est à zéro, c’est-à-dire qu'une des variables est non-biaisée, alors l'ensemble de la fonction ne sera pas biaisée et égale à ½.
Notes et références
- Pierre-Alain Fouque, « Sur Quelques Méthodes Algébriques et Statistiques en Cryptanalyse : Thèse d'habilitation », sur https://www.di.ens.fr/~fouque/, , p. 45
- Matsui 1994.
Annexes
Bibliographie
- [Matsui 1994] (en) Mitsuru Matsui, « Linear Cryptanalysis Method for DES Cipher », dans T. Helleseth, Advances in Cryptology — EUROCRYPT ’93, vol. 765, Springer, coll. « Lecture Notes in Computer Science », (ISBN 978-3-540-57600-6, ISSN 0302-9743, DOI 10.1007/3-540-48285-7_33, lire en ligne [PDF]), p. 386–397.