Sécurité prouvable contre les cryptanalyses différentielle et linéaire
Comment passer d'une boîte S à un chiffrement
Dans leur article [4], K. Nyberg et L. Knudsen donnent une borne supérieure de sécurité prouvée pour un schéma de Feistel de trois étages et plus dans le cas où la fonction étage est une permutation et de quatre étages et plus dans le cas où la fonction étage est une fonction, les sous-clés étant supposées indépendantes et uniformément distribuées. Soit :
| |
|
|
|
|
| |
|
|
| GF(2)n → GF(2)m, une expansion affine |
|
|
| |
|
|
|
|
| |
|
|
|
|
|
où k
i appartenant à GF(2)
m désigne la sous-clé de l'étage i. On considère un
chiffrement de type
DES résultant d'un schéma de Feistel à r étages qui prend en entrée des blocs de taille 2n et applique la fonction F à la moitié du bloc courant. On définit alors p
max comme la meilleure probabilité d'une différentielle sur un tour :
| pmax = maxβ maxαR ≠ 0DPF(α, β) |
|
où α
R représente la partie droite de α.
Théorème 1 Dans un chiffrement de type DES utilisant la fonction F comme fonction étage avec des clés ki indépendantes et uniformément distribuées, la probabilité d'une différentielle sur s tours (s ≥ 4) est inférieure ou égale à 2pmax2 :
| ∀α ≠ 0 , ∀β , P(∆Xs = β|∆X0 = α) ≤ 2pmax2 |
|
où ∆X0 représente la différence d'entrée et ∆Xs la différence à la sortie de l'étage s.
Théorème 2 Si f est une permutation dans un chiffrement de type DES et si les sous-clés sont indépendantes et uniformément distribuées, alors la probabilité d'une différentielle sur s tours (s ≥ 3) est inférieure ou égale à 2pmax2.
Notons que pour le cas de la résistance à la
cryptanalyse linéaire étudiée par K. Nyberg dans [3], on obtient les mêmes bornes en définissant
| pmax = maxα maxβ ≠ 0LPF(α,β) |
|
Cette borne a été améliorée à p
max2 par K. Aoki et K. Ohta [1] dans le cas différentiel comme dans le cas linéaire avec des fonctions d'étage bijectives.
MISTY : un exemple pratique de ces résultats
M. Matsui a conçu son
chiffrement MISTY [2] pour qu'il résiste de façon efficace aux cryptanalyses différentielle et linéaire à l'aide de cette théorie. Rappelons tout d'abord que MISTY agit sur trois niveaux (voir figure ).

Figure 1: M'1 sur 5 étages, version modifiée de MISTY
Le premier est un schéma de Feistel classique dont la fonction étage est FO
i. Le deuxième représente la fonction FO
i et est un schéma de Feistel modifié sur trois étages faisant intervenir trois fois une fonction FI
ij. Le troisième niveau représente la fonction FI
ij sur trois étages d'un schéma de Feistel modifié séparant en deux blocs de taille n
1 et n
2 le bloc d'entrée et faisant intervenir deux boîtes S S
7 et S
9 et des opérations élémentaires de troncature et d'expansion à 0 (voir figure
1). M. Matsui prouve tout d'abord une borne supérieure pour chaque fonction FI
ij : si f
1, f
2 et f
3 sont les trois fonctions étages bijectives du schéma de Feistel modifié représentant une fonction FI
ij et si p
k=EDP
fk (respectivement ELP
fk) alors EDP
FIij (respectivement ELP
FIij) est plus petit que max{p
1p
2, p
2p
3,2
n1−n2p
1p
3}. De même, pour chaque fonction FO
i, si les trois fonctions FI
ij sont bijectives et si pour tout j valant 1, 2 ou 3 on a EDP
FIij ≤ p (respectivement ELP
FIij ≤ p) alors EDP
FOi ≤ p
2 (respectivement ELP
FOi ≤ p
2).
Les fonctions étage de FI sont ici les deux boîtes S S
7 et S
9, S
9 intervenant deux fois, et on a :
| LPS7=DPS7=2−6 et LPS9=DPS9=2−8. |
|
On obtient donc pour chaque fonction FI
ij une borne ELP
FIij=EDP
FIij ≤ 2
−14. De même, pour chaque fonction FO
i, en appliquant le deuxième résultat aux trois fonctions FI
ij, on obtient : ELP
FOi=EDP
FOi ≤ 2
−28. Et donc sur trois étages d'un schéma de Feistel composé de trois fonctions FO
i, on obtient une borne supérieure pour les probabilités différentielle et linéaire égale à 2
−56, ce qui prémunit MISTY composé de 8 étages contre les attaques différentielle et linéaire. Il est cependant à noter que MISTY1 ne résiste pas sur un nombre réduit d'étages à une
cryptanalyse d'ordre supérieur.
Références
- [1]
- K. Aoki and K. Ohta. Strict evaluation for the maximum average of differential probability and the maximum average of linear probability. IEICE Transactions on Fundamentals, E80-A:2-8, 1997.
- [2]
- M. Matsui. New block encryption algorithm misty. In Fast Software Encryption'97, Haifa, Israël, pages 54-68. Lectures Notes in Computer Science 1267, Springer-Verlag, 1997.
- [3]
- K. Nyberg. Linear approximation of block ciphers. In Advances in Cryptology -EUROCRYPT'94, Pérouse, Italie, pages 439-444. Lecture Notes in Computer Science 950, Springer-Verlag, 1994.
- [4]
- K. Nyberg and L.R. Knudsen. Provable security against differential attack. Journal of Cryptology, 8, no. 1:27-38, 1995.