Informations sur le parcours

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

 

Boites S résistantes à la cryptanalyse

Peu après la découverte des attaques différentielle et linéaire, la recherche en cryptographie s'est tout naturellement orientée vers l'investigation de méthodes permettant de résister à ces attaques. Nous présenterons donc ici différentes techniques de preuves qui permettent de prémunir les algorithmes contre ces attaques.

De l'importance des boîtes S

  Vue générale

Les cryptologues se sont intéressés aux conditions que devaient remplir la fonction d'étage itérée f, considérée ici comme une fonction de GF(2)m dans GF(2)n, pour résister aux cryptanalyses différentielle et linéaire. Dans le cas de la cryptanalyse différentielle, on cherche à rendre le coefficient
δf = maxα ≠ 0, β DPf(α,β)
le plus petit possible. Dans le cas linéaire, on s'intéresse au coefficient
λf = maxα, β ≠ 0 LPf(α,β).
Précisons qu'en règle générale, le caractère non linéaire de la fonction d'étage f provient de la ou des boîtes S utilisées. Il suffit donc d'étudier les coefficients δS et λS uniquement pour la ou les boîtes S.
De plus, on a les propriétés suivantes :
  • Les valeurs δf et λf restent inchangées si l'on compose f à gauche et à droite avec des permutations linéaires.
  • Si f est bijective, on a :
    δf−1 = δf et λf−1 = λf
Dans de nombreux algorithmes comme l'AES ou MISTY, la ou les boîtes S sont en général la ou les composées d'une permutation linéaire et d'une exponentiation, c'est à dire d'une permutation de GF(2m) qui à la variable x fait correspondre la sortie xα avec pgcd(α, 2m−1)=1 afin de conserver le caractère bijectif de l'opération. L'étude de la résistance de la fonction étage f aux cryptanalyses différentielle et linéaire se ramène donc souvent à l'étude des exposants particuliers utilisés dans les boîtes S en cherchant toujours à rendre minimum les coefficients δS et λS.

  Un peu de théorie...

On a les résultats suivants sur les meilleures bornes qui puissent être atteintes (voir par exemple [4]) :
Théorème Pour toute fonction f de GF(2)m dans GF(2)n, on a :
  • δf ≥ 2−n. En cas d'égalité, f est dite parfaitement non-linéaire (PN).
  • λf ≥ 2−m. En cas d'égalité, f est dite courbe (B).
Les fonctions qui atteignent l'une ou l'autre des deux bornes sont identiques. En effet, d'après [8], on a :
Théorème Une fonction est parfaitement non-linéaire si et seulement si elle est courbe.
Des fonctions qui atteignent ces bornes n'existent que pour certaines valeurs de m et n [8] :
Théorème Les fonctions B ou PN n'existent que si m est pair et si m ≥ 2n.
On s'intéresse également à des fonctions ayant des propriétés légèrement moins fortes, étudiées notamment dans [4].
Théorème Pour toute fonction f de GF(2)m dans GF(2)n, on a :
  • δf ≥ 21−m. En cas d'égalité, f est dite presque parfaitement non-linéaire (APN).
  • λf ≥ 21−m ( 1 +[((2n−m−1)(2m−1))/(2n−1)] ). En cas d'égalité, f est dite presque courbe (AB).
Les conditions sur l'existence de telles fonctions sont les suivantes [8] :
Théorème   
  • Des fonctions AB n'existent que si m=n et n est impair et ces fonctions vérifient également la propriété APN.
  • Des fonctions APN n'existent que si m=2 et n=1 ou n ≥ m.

  Une fonction presque parfaitement non-linéaire utilisée dans MISTY

Un exemple de fonction presque parfaitement non-linéaire et presque courbe est la fonction f(x) = x22i−2i+1 sur GF(2n) avec n impair et pgcd(n, i) = 1, dont les propriétés ont été étudiées par T. Kasami dans [6].
Dans le cas où n=7 et i=2, on obtient l'exposant d=13 auquel on associe la classe C de ses conjugués (c'est à dire l'ensemble des valeurs 2id et 2id−1 modulo (27−1) pour i variant de 0 à 6) qui définissent également des fonctions presque parfaitement non-linéaires et presque courbes d'après les propriétés vues précédemment. On a donc
Cn=7,13={81,35,70,13, 26, 52, 104, 69, 11, 22, 44,88,49,98}
L'exposant 11 qui appartient à cette classe représente la fonction puissance de Welch définie par f(x) = x2[n−1/2]+3 qui est également presque parfaitement non-linéaire et presque courbe [5]. L'exposant le plus intéressant de Cn=7,13 reste pourtant 81 qui est celui utilisé par M. Matsui dans la boîte S7 de Misty [7]. D'après ce qui précède, il est évident que cet exposant garantit à la boîte S7 une bonne résistance aux cryptanalyses différentielle et linéaire. Cependant, d'autres propriétés indésirables de ces fonctions optimales utilisées dans les boîtes S notamment celles de MISTY rendent des versions réduites des algorithmes de chiffrement par blocs reposant sur ces boîtes vulnérables à d'autres formes de cryptanalyses, notamment la cryptanalyse différentielle d'ordre supérieur, MISTY ne dérogeant pas à la règle.
Rappelons ici que les attaques différentielles d'ordre supérieur ne sont possibles que dans le cas où le degré de non-linéarité des valeurs intermédiaires est faible. On obtient une borne supérieure de ce degré grâce au spectre de Walsh, comme démontré dans [3].
Dans le cas particulier de MISTY, la fonction utilisée dans la boîte S7 est AB, on en déduit donc d'après [4] et comme rappelé dans [3] que les valeurs contenues dans son spectre de Walsh sont 0 et 2[(n+1)/2] uniquement et que celui-ci est donc 24-divisible. On en déduit donc que le degré du produit de deux composantes booléennes de la boîte S7 de MISTY est inférieur ou égal à 5. Ce résultat est également démontré dans [2]. C'est cette propriété particulière de la boîte S7 (voir [2] et [3]) qui rend M'1, version réduite de MISTY, vulnérable à l'attaque différentielle d'ordre 7. Précisons également comme prouvé dans [3] que l'exposant choisi dans la boîte S de l'AES (l'inversion dans le corps GF(28)) est l'une des rares fonctions a ne pas avoir cette propriété indésirable, à savoir que tout en étant une fonction APN, elle n'a pas un spectre de Walsh 2l-divisible, ce qui prémunit l'AES contre une attaque différentielle d'ordre supérieur.

  Résistance aux attaques algébriques

Si les propriétés APN et AB garantissent une protection efficace contre les cryptanalyses différentielle et linéaire, il ne faut pas oublier que d'autres attaques existent. Il est également nécessaire lorsque l'on construit une boîte S à l'aide d'une fonction puissance de choisir un exposant dont le degré algébrique est suffisamment grand pour se prémunir contre une attaque par interpolation ou une attaque algébrique.
Dans le cas d'une attaque algébrique, si on note (y0, …,yn−1) les sorties d'une boîte S sur n bits et (x0,…, xm−1) ses entrées sur m bits, il faut s'assurer que le degré algébrique liant les entrées et les sorties est suffisamment grand, c'est à dire que la plus petite valeur du degré de g telle que g(y0, …, yn−1,x0, …,xm−1)=0 soit grand. Comme prouvé dans [1], dans le cas de l'AES où m=n=3, le degré algébrique d'une telle fonction est au plus 3. Dans le cas de l'AES, ce degré est bien évidemment 2. Des études ont été menées sur les différents exposants habituellement utilisés dans la construction des boîtes S, on peut cependant se poser la question de la conduite générale de fonctions trop parfaites. Dans ce cas, ne vaut-il mieux pas prendre des boîtes S aléatoires ?

 

Références

[1]
F. Armknecht On the Existence of low-degree Equations for Algebraic Attacks. eprint, 2004, http://eprint.iacr.org/2004/185.pdf.
[2]
S. Babbage and L. Frisch. On misty1 higher order differential cryptanalysis. In Information Security and Cryptology, ICISC'00, Seoul, Corée, pages 23-37. Lectures Notes in Computer Science 2015, Springer-Verlag, 2000.
[3]
A. Canteaut and M. Videau. Degree of composition of highly functions and applications to higher order differential cryptanalysis. In Advances in Cryptology -EUROCRYPT'2002, Amsterdam, Hollande, pages 518-533. Lecture Notes in Computer Science 2332, Springer-Verlag, 2002.
[4]
F. Chabaud and S. Vaudenay. Links between differential and linear cryptanalysis. In Advances in Cryptology -EUROCRYPT'94, Pérouse, Italie, pages 256-265. Lecture Notes in Computer Science 950, Springer-Verlag, 1994.
[5]
H. Dobbertin. Almost perfect nonlinear power functions on gf(2n): The welch case. IEEE Transactions on Information Theory, 45(4), Mai 1999.
[6]
T. Kasami. The weight enumerators for several classes of subcodes of the second order binary reed-muller codes. Information and Control, 18:369-394, 1971.
[7]
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.
[8]
K. Nyberg. Perfect nonlinear s-boxes. In Advances in Cryptology -EUROCRYPT'91, Brighton, Royaume Uni, pages 378-385. Lecture Notes in Computer Science 547, Springer-Verlag, 1991.


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.


Constructions résistantes aux attaques connues

1  Principe de diffusion

Les critères présentés dans et portent essentiellement sur les propriétés de confusion que doit remplir une bonne fonction étage. Nous nous sommes plus particulièrement intéressés au rôle de la boîte S dans la résistance aux attaques connues. L'autre grand critère que doit respecter un bon algorithme de chiffrement par blocs, déjà défini par Shannon en 1949, est la diffusion. Nous allons donc présenter ici deux méthodes qui permettent de garantir à la fonction étage une bonne diffusion. La première méthode introduite par S. Vaudenay dans [1] fait appel à ce qu'il nomme des multipermutations, généralisation du graphe FFT dont une illustration est le réseau de la partie linéaire de l'algorithme SAFER. S. Vaudenay utilise le principe des multipermutations dans l'algorithme CS-Cipher. La deuxième méthode est la théorie nommée "Wild Trail Strategy" dont l'idée principale est de rendre maximal le nombre de boîtes S äctives", c'est à dire d'assurer une diffusion maximale des caractéristiques différentielles ou linéaires. C'est cette théorie qui a conduit au choix de la partie linéaire de l'AES.

2  Les Multipermutations

Le concept de multipermutation a été introduit par S. Vaudenay et C. Schnorr dans un article présenté à Eurocrypt'94 [1], l'idée étant de créer des boîtes de diffusion parfaite. Son lien avec ce qu'on nomme le graphe FFT (transformation de Fourier rapide) semble évident. Le graphe FFT ou schéma papillon fait dans sa forme la plus simple correspondre 2 entrées à 2 sorties, chaque sortie étant influencée à travers des permutations par les deux entrées. La diffusion est donc ici maximale : toute sortie est liée au nombre maximal d'entrées. On peut généraliser ce graphe à 2n entrées et 2n sorties à l'aide d'un réseau de connexions reliant n étages de 2n−1 boîtes 2 ×2 tel que celui utilisé dans la partie linéaire de SAFER. =======================================================================
Cependant, les critères que doivent vérifier les multipermutations sont plus forts que ceux vérifiés dans le cas particulier de SAFER où la boîte élémentaire 2×2 n'est pas une multipermutation, L'idée principale des multipermutations étant de maximiser le nombre de sorties modifiées lors de la modification d'un certain nombre d'entrées.
On définit donc une multipermutation comme suit : Soit f une fonction de l'ensemble Zr dans Zn. On dit que f est une (r,n)-multipermutation sur Z si deux (r+n)-uplets différents de la forme (x,f(x)) ne peuvent coïncider sur r positions différentes.
Cela signifie en particulier que si deux entrées x et x′ de taille r diffèrent sur une position, les sorties correspondantes de taille n doivent être différentes sur n positions, c'est à dire que toutes les entrées influencent toutes les sorties. La diffusion est donc bien maximum.
Plus généralement, la modification de m entrées entraîne la modification d'un nombre de sorties au moins égal à n+1−m.
On peut également donner la définition équivalente suivante liée aux codes correcteurs d'erreurs : Une (r,n)-multipermutation sur Z est une fonction f de Zr dans Zn telle que l'ensemble des (r+n)-uplets de la forme (x, f(x)) soit un code de distance minimale n+1.
Rappelons qu'un code correcteur d'erreur de distance d sur Z est un sous-espace de dimension k de l'espace Zn où deux vecteurs de l'espace d'arrivée ont une distance de Hamming au moins égale à d, d étant le plus petit nombre vérifiant cette propriété. On caractérise donc un code par la donnée de l'espace Z et du triplet [n,k,d]. Pour un code de longueur n et de dimension k données, la distance minimale est majorée par la borne dite de Singleton :
d ≤ n−k+1
Dans le cas où l'ensemble Z est un corps de caractéristique q, si on note f une (r,n)-multipermutation linéaire, la donnée de l'ensemble des mots (x, f(x)) définit un code MDS (Maximal Distance Separable) de longueur (n+r) et de taille qr, c'est à dire un code qui atteint la borne de Singleton et dont la distance minimale est maximale.
Pour une meilleure compréhension de ce qu'est une multipermutation, l'exemple le plus simple est une multipermutation à une entrée et à n sorties qui est en fait une famille de n permutations de l'entrée.

Figure 1: Un Étage de CS-Cipher

Un exemple de mise en oeuvre de la notion de multipermutation est le chiffrement CS-Cipher décrit dans [2], composé de 8 étages, qui prend en entrée/sortie des mots de 64 bits découpés en octets.
Un étage (voir figure 1) se compose de trois transformations répétées trois fois. La première est un x-or avec une sous-clé pour le premier sous-étage et avec des constantes pour les deux autres sous-étages. La deuxième transformation M est une (2,2)-multipermutation prenant en entrée/sortie des couples d'octets, suivie d'une permutation P sur les octets tenant le rôle de boîte S. La troisième transformation est une permutation des octets selon un graphe FFT sur les octets qui permet une diffusion maximale de l'information.
La fonction M prend en entrée une chaîne de 16 bits x scindée en deux octets xl||xr et calcule M(x)=yl||yr avec yl = P(φ(xl) ⊕xr) et yr = P(Rl(xl) ⊕xr) où φ(xl) = (Rl(xl) ∧55hex) ⊕xl), Rl étant la rotation à gauche de 1 bit. Il s'agit bien d'une (2,2)-multipermutation. La modification d'une entrée entraîne la modification de toutes les sorties. La fonction inverse nécessaire au déchiffrement définie par (xl || xr) = M−1(yl || yr) peut être calculée de la manière suivante :

xl = φ′(yl) ⊕P(yr) et xr = Rl(xl) ⊕P(yr)
avec φ′(x) = (Rl(x) ∧aahex) ⊕x.
La diffusion dans CS-Cipher est donc maximale, car elle combine les propriétés des multipermutations à celles d'un schéma FFT.

 

Références

[1]
C. P. Schnorr and S. Vaudenay. Black box cryptanalysis of hash networks based on multipermutations. In Advances in Cryptology -EUROCRYPT'94, Pérouse, Italie, pages 47-57. Lecture Notes in Computer Science 950, Springer-Verlag, 1994.
[2]
J. Stern and S. Vaudenay. Cs-cipher. In Fast Software Encryption'98, Paris, France, pages 189-205. Lectures Notes in Computer Science 1372, Springer-Verlag, 1998.


Wild Trail Strategy et Branch Number

Nous présentons ici une deuxième théorie sur les méthodes de diffusion de la partie linéaire développée dans [1], [2] et [3] .
L'idée de départ exposée dans la thèse de J. Daemen [1], connue sous le nom de "Wild Trail Strategy", est de choisir dans un premier temps des boîtes S avec des coefficients DP et LP très petits, puis de choisir une partie linéaire qui propage très bien les différences, c'est à dire qui implique le passage des caractéristiques différentielles ou linéaires dans un grand nombre de boîtes S. La fonction d'étage est alors choisie de telle façon que si, à une certaine étape, le nombre de boîtes S actives est petit, à l'étage suivant il doit être beaucoup plus grand.

Cette idée formulée en 1995 reste floue mais a été formalisée plus précisément dans [2] et dans [3]. Dans toute cette section, on notera F la transformation linéaire agissant sur un vecteur d'octets à n composantes dont on étudie les propriétés. F sera composée de deux transformations : θ une permutation linéaire de n octets qui garantit la plus haute diffusion possible et π une transformation qui garantit une très grande dispersion, c'est à dire qui "éloigne" les éléments actifs les uns des autres.
Nous nous intéresserons tout d'abord aux critères de choix de θ qui dans le cas de l'AES correspond à la transformation MixColumns. Pour cela, on définit alors le poids d'un vecteur d'octets a comme étant son nombre d'octets non nuls. On note ce poids W(a). On définit alors : Le nombre de branches d'une transformation linéaire φ est
Nb = mina ≠ 0(W(a) + W(φ(a))).
Cette valeur peut être vue comme une mesure de la puissance de diffusion de l'application φ. Lorsque ce nombre est maximal, on dit qu'il vérifie la propriété MDS (Maximal Distance Separable), c'est à dire que Nb = n+1.
Dans le cas de l'AES, le design de la transformation MixColumns répond aux différents impératifs de cette stratégie de construction. MixColumns ici égale à θ est la donnée de la matrice M, qui définit un code MDS. En effet, la matrice circulante M de taille 4 ×4, construite comme une matrice de code cyclique à partir d'un polynôme de degré 3, prend en entrée/sortie un vecteur d'octets de taille n=4. On peut voir cette transformation comme un code linéaire sur le corps GF(28) dont les mots de code sont les éléments (x, M ·x)T où x est un vecteur d'octets de taille 4. Les paramètres de ce code sont donc [8,4,d]. Ce code est MDS et atteint la borne de Singleton : d=5. Sa matrice génératrice est de la forme [I M] où I est la matrice identité de taille 4 ×4. Le nombre de branches associé à la transformation MixColumns est, d'après [3], égal à la distance minimum du code généré, on a donc ici Nb=d=5 qui est maximum. On peut également voir cette transformation comme une (4,4)-multipermutation.
Quant à la transformation π qui compose également la partie linéaire, elle correspond à l'opération ShiftRows et consiste en un décalage des lignes de la matrice à chiffrer. Le but d'une telle application est une dispersion maximale.
Précisons également que dans [3], une borne inférieure est démontrée en ce qui concerne le nombre de boîtes S actives sur 4 tours d'un algorithme composé à chaque étage d'une série de boîtes S, d'une partie linéaire composée des deux transformations décrites précédemment et d'une addition de clé classique. Cette borne vaut (Nb)2. L'AES qui satisfait à toutes ces conditions a donc un nombre de boîtes S actives sur 4 étages au moins égal à 25 ce qui rend impossibles les attaques différentielle et linéaire compte tenu des très petits coefficients DP et LP des boîtes S choisies.
La stratégie présentée ici permet une bonne résistance aux cryptanalyses linéaire et différentielle. Cependant, la structure orientée octet de l'AES liée au choix de cette stratégie de construction rend ce dernier vulnérable à d'autres attaques, notamment les attaques par saturation. Celles-ci seront décrites dans le chapitre 2 de la deuxième partie de cette thèse.

 

Références

[1]
J. Daemen. Cipher and Hash Function Design Strategies Based on Linear and Differential Cryptanalysis. PhD thesis, Katholieke Universiteit Leuven, Belgique, Mars 1995.
[2]
J. Daemen and V. Rijmen. Aes proposal : Rijndael. In The Second Advanced Encryption Standard Candidate Conference. N.I.S.T., téléchargeable à l'adresse : http://csrc.nist.gov/encryption/aes/, 1999.
[3]
J. Daemen and V. Rijmen. The Design of Rijndael. Springer-Verlag, 2002.