Lemme d'empilement

De testwiki
Aller à la navigation Aller à la recherche

Modèle:À sourcer 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 blocModèle:Sfn.

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 :

X1X2...XN=0

Soit N variables aléatoires, indépendantes et binaires (le résultat de l'événement est soit 0, soit 1), X1,X2,...,XN, la probabilité que cette équation soit correcte est :

P(X1X2...XN=0)=1/2+2N1i=1Nϵi

avec ϵi, le biais linéaire de la variable aléatoire Xi. 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 P(A), 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 :

P(X1=i)={p1pour i=01p1pour i=1
P(X2=j)={p2pour j=01p2pour j=1

Considérons maintenant la probabilité d'une équation linéaire avec ces deux variables :

P(X1X2=0)

Grâce aux propriétés de XOR, ceci est équivalent à :

P(X1=X2)

X1 = X2 = 0 et X1 = X2 = 1 sont des événements mutuellement exclus et de ce fait :

P(X1=X2)=P(X1=X2=0)+P(X1=X2=1)=P(X1=0,X2=0)+P(X1=1,X2=1)


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 :

P(X1X2=0) =P(X1=0)P(X2=0)+P(X1=1)P(X2=1) 
=p1p2+(1p1)(1p2) 
=p1p2+(1p1p2+p1p2) 
=2p1p2p1p2+1 

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 à ½.

P(X1X2=0) =2(1/2+ϵ1)(1/2+ϵ2)(1/2+ϵ1)(1/2+ϵ2)+1 
=1/2+ϵ1+ϵ2+2ϵ1ϵ21/2ϵ11/2ϵ2+1 
=1/2+2ϵ1ϵ2 

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 :

P(X1X2Xn=0)=1/2+2n1i=1nϵi

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

Modèle:Traduction/Référence Modèle:Références

Annexes

Bibliographie

Articles connexes

Modèle:Palette

Modèle:Portail