Principes de construction de chiffrements par blocs, approfondissement


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 :
 
f
:
GF(2)m → GF(2)n, m ≥ n
 
 
E
:
GF(2)n → GF(2)m, une expansion affine
 
 
F
:
GF(2)n ×GF(2)m → GF(2)n
 
 
(X, ki) → f(E(X) ⊕ki)
 
où ki 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 pmax 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 à pmax2 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 FOi. Le deuxième représente la fonction FOi et est un schéma de Feistel modifié sur trois étages faisant intervenir trois fois une fonction FIij. Le troisième niveau représente la fonction FIij sur trois étages d'un schéma de Feistel modifié séparant en deux blocs de taille n1 et n2 le bloc d'entrée et faisant intervenir deux boîtes S S7 et S9 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 FIij : si f1, f2 et f3 sont les trois fonctions étages bijectives du schéma de Feistel modifié représentant une fonction FIij et si pk=EDPfk (respectivement ELPfk) alors EDPFIij (respectivement ELPFIij) est plus petit que max{p1p2, p2p3,2n1−n2p1p3}. De même, pour chaque fonction FOi, si les trois fonctions FIij sont bijectives et si pour tout j valant 1, 2 ou 3 on a EDPFIij ≤ p (respectivement ELPFIij ≤ p) alors EDPFOi ≤ p2 (respectivement ELPFOi ≤ p2).
Les fonctions étage de FI sont ici les deux boîtes S S7 et S9, S9 intervenant deux fois, et on a :
LPS7=DPS7=2−6 et LPS9=DPS9=2−8.
On obtient donc pour chaque fonction FIij une borne ELPFIij=EDPFIij ≤ 2−14. De même, pour chaque fonction FOi, en appliquant le deuxième résultat aux trois fonctions FIij, on obtient : ELPFOi=EDPFOi ≤ 2−28. Et donc sur trois étages d'un schéma de Feistel composé de trois fonctions FOi, 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.

Informations sur le parcours

Titre :
Principes de construction de chiffrements par blocs, approfondissement
Profil(s) :
Enseignant-Chercheur, Etudiant
Thème :
Cryptographie à clé secrète
Finalité :
Théorique
Difficulté :
niveau 3
Auteur(s) :
Marine Minier
Mise à jour :
04/01/2007

Syndication

Il vous est possible de suivre la publication des parcours PICSI via le fil RSS des parcours.