• Aucun résultat trouvé

Spectre différentiel

Spectre différentiel des monômes

8.1 Spectre différentiel

Pour mesurer la résistance d’un système de chiffrement aux attaques différentielles, un certain nombre de propriétés des fonctions puissances ont été étudiées. Notamment on peut mesurer la résistance d’un système de chiffrement aux attaques différentielles en cal-culant l’uniformité différentielle des boîtes-S composant le système de chiffrement. Ainsi, soit F une fonction vectorielle comme définie dans le chapitre précédent ; pour vérifier la résistance du système de chiffrement contre les attaques différentielles on s’intéresse au maximum des δ(a, b). Dans ce chapitre nous nous intéressons aussi à la répartition des δ(a, b). En particulier nous illustrons le fait que cette répartition peut être différente pour deux fonctions qui ont la même uniformité différentielle.

8.1.1 Définition

En introduction on a souligné qu’on voulait étudier la répartition de δ(a, b) pour tout a ∈ F

2n et pour tout b ∈ F2n, c’est-à-dire que l’on veut s’intéresser aux valeurs #{b ∈ F2n|δ(a, b) = i}. Or pour les fonctions puissances, nous avons vu à la fin du chapitre précédent qu’il suffit d’étudier la dérivée par rapport à 1 :

#{b ∈ F2n|δ(a, b) = i} = #{b ∈ F2n|δ(1, b) = i} ∀a 6= 0. Par la suite δ(1, b) est notée δ(b).

On définit alors le spectre différentiel d’une fonction puissance de la façon suivante. Définition 8.1. Soit F (x) = xdune fonction puissance sur le corps F2n. Nous définissons la quantité ωi, pour i pair, comme le nombre de b tels que l’équation F (x) + F (x + 1) = b a i racines :

ωi = #{b ∈ F2n|δ(b) = i}. Le spectre différentiel de F est alors l’ensemble des ωi :

SF ={ω0, ω2, ..., ωδ(F )}. Nous donnons d’abord des propriétés élémentaires des ωi.

Lemme 8.1. Soit ωi les valeurs définies dans la définition 8.1. Pour une fonction puis-sance F nous avons les propriétés suivantes.

   Pδ(F ) i=0 ωi = 2n, Pδ(F ) i=0 i× ωi = 2n.

Preuve : En sommant tous les ωi, on obtient tous les b ∈ F2n et ceci une et une seule fois. Et en sommant tous les iωi on obtient toutes les racines des différentes équations xd+ (x + 1)d = b. Chaque élément du corps étant racine d’une et d’une seule équation, on en déduit la deuxième égalité.

À titre d’exemple nous donnons le spectre différentiel de la fonction inverse. Le lemme suivant est basé sur un résultat de Kaisa Nyberg [Nyb94].

– Si n est impair, on a SF ={ω0 = 2n−1, ω2 = 2n−1}.

– Si n est pair, on a SF ={ω1 = 2n−1+ 1, ω2 = 2n−1− 2, ω4 = 1}.

Preuve : Dans cette preuve on note F , la fonction définie par F (x) = x−1 avec la conven-tion que F (0) = 0.

L’étude du spectre différentiel repose sur l’étude du nombre de solutions de l’équation :

x−1+ (x + 1)−1 = b (8.1)

Deux cas se présentent à nous.

1. Si b = 1 alors 0 et 1 sont solutions de (8.1). Pour x 6= {0, 1} l’équation (8.1) peut se récrire

1

x+

1

x + 1 = 1 ⇔ x2 + x + 1 = 0 (8.2)

Or x2+ x + 1 = 0 a deux solutions dans F2n si et seulement si Tr(1) = 0, c’est-à-dire si et seulement si n est pair.

Donc si b = 1 on a 4 solutions dans le cas où n est pair et 2 solutions dans le cas où n est impair.

2. Si b 6= 1 alors une solution x de (8.1) est telle que x 6= {0, 1} et doit vérifier

b = 1

x + 1 + 1

x. Cette condition se réecrit bx2+ bx + 1 = 0. Cette équation a 0 ou 2 solutions dans F2n selon que Tr(1

b) = 0 ou 1.

En utilisant le lemme 8.1, on prouve la seconde partie du lemme. Cela revient à résoudre le système



ω0+ ω2+ ω4 = 2n2 + 4ω4 = 2n.

Ainsi dans le cas où n est impair, comme ω4 = 0, le spectre différentiel est {2n−1, 2n−1}. Dans le cas où n est pair, comme ω4 = 1, le spectre différentiel est{2n−1+ 1, 2n−1− 2, 1}. Dans [CHZ07] Pascale Charpin, Tor Helleseth et Victor Zinoviev ont étudié d’autres critères sur la fonction inverse. Ils ont notamment étudié le spectre de Walsh de la dérivée de la fonction inverse.

Toutes les fonctions APN ont le même spectre différentiel {2n−1, 2n−1}. Mais les fonc-tions telles que δ(F ) > 2 présentent une grande variété de spectres.

Lemme 8.3. Soit Fd(x) = xd et Fe(x) = xe deux fonctions puissances. S’il existe k tel que e = 2kd mod 2n− 1 ou si pgcd(2n− 1, d) = 1 et e = d−1 mod 2n− 1 alors Fd et Fe ont le même spectre différentiel.

Dans la partie suivante nous donnons des arguments pour expliquer ce qui a motivé l’introduction du spectre différentiel : comment pour deux fonctions qui ont la même uniformité différentielle, le spectre différentiel peut influer sur la résistance du système de chiffrement aux attaques différentielles.

156 8.1 Spectre différentiel

8.1.2 Intérêt de l’étude du spectre différentiel

Par le passé, Lars R. Knudsen et Kaisa Nyberg [NK92] a montré que connaissant l’uniformité différentielle de la fonction de tour d’un système de chiffrement de type Feistel on pouvait en déduire une borne sur la probabilité d’un chemin différentiel. Ce résultat nous dit que plus l’uniformité différentielle de la fonction de tour est petite, plus le système de chiffrement résiste aux attaques différentielles. D’où l’importance pour un système de chiffrement par bloc d’étudier la différentiabilité des boîtes-S le composant.

Lors de la conception d’un système de chiffrement par bloc, le concepteur a alors tout intérêt à choisir des boîtes-S qui sont APN. Or dans le cas où n (taille de la boîte-S) est pair, la seule permutation APN connue à l’heure actuelle est celle découverte par Dillon [BDMW10] dans le cas où n = 6. La forme algébrique normale de cette fonction est très complexe. En revanche, il a été prouvé qu’il n’existe pas de permutation puissance APN dans le cas où n est pair (une preuve récente peut être trouvée dans [BCCLC06]).

Pour des raisons d’implémentation dans la plupart des systèmes de chiffrement actuels les boîtes-S sont de taille 4 ou 8 bits2

. Pour λ fixé, il existe un certain nombre de fonctions qui sont différentiellement λ-uniformes. Pour résister aux autres types de cryptanalyses, il existe d’autres critères qui permettent de choisir les meilleures boîtes-S. La non-linéarité, par exemple, (définition 7.21) de la fonction donne un critère de résistance du système de chiffrement contre les attaques linéaires (section 3.2).

Dans cette section, nous donnons l’exemple de deux systèmes de chiffrement identiques utilisant des boîtes-S différentes, ayant la même uniformité différentielle, et ne possédant pas le même potentiel de résistance à la cryptanalyse Ceci est dû aux différences entre leurs spectres différentiels.

Nous rappelons que les boîtes-S APN ont toutes le même spectre différentiel (ω0 = 2n−1, ω2 = 2n−1). Par la suite, nous illustrons ce phénomène en utilisant des boîtes-S qui sont différentiellement 4-uniformes.

Exemple 8.1. Dans cet exemple nous nous plaçons dans le cas où n = 6. D’après le tableau 8.1 qui est commenté dans la section 8.2, il existe un certain nombre de permu-tations puissances qui sont différentiellement 4-uniformes. Cette table illustre le fait que le spectre différentiel peut être très différent pour deux fonctions qui ont la même unifor-mité différentielle. Pour illustrer l’importance du spectre différentiel, nous allons prendre deux fonctions qui ont des spectres différentiels éloignés. Nous prenons par exemple les fonctions G(x) = x31 et H(x) = x5. La première fonction est dans la classe de la fonction inverse et donc son spectre différentiel est :

ω0(G) = 33, ω2(G) = 30, ω4(G) = 1.

La fonction H quant à elle, est un monôme avec exposant quadratique3. La formule gé-nérale du spectre différentiel des fonctions avec exposant quadratique est donnée dans la section 8.4.2. D’après le tableau 8.1, pour n = 6, le spectre différentiel de H est :

ω0(H) = 48, ω2(H) = 0, ω4(H) = 16.

2. Voir par exemple les boîtes-S des systèmes de chiffrement PRESENT (section 1.4.1) et AES (sec-tion 1.4.2)

S S S S 0 1 0 1 1 x 1 0 0 1 0 1 P [1→ x] P [1→ x]

Figure 8.1 – Propagation d’une différence sur un Feistel généralisé. Illustre l’intérêt de l’étude du spectre différentiel

Le but est d’illustrer que la résistance d’un système de chiffrement à la cryptanalyse dif-férentielle est différente selon que les boîtes-S de celui-ci sont définies par la fonction G ou par la fonction H.

Prenons l’exemple simple du chiffrement “jouet” défini par un schéma de Feistel généra-lisé avec deux boîtes-S (voir définition 1.7). La probabilité de la différentielle (0, 1, 0, 1) → (0, 1, 0, 1) sur deux tours du système de chiffrement (voir figure 8.1) est définie par

X x

P h1→

S xiP h1→ S xi

Dans le cas où la boîte-S est définie par la fonction H (S = H), tous les chemins différentiels avec différence en entrée a = (0, 1, 0, 1) et différence en sortie b = (0, 1, 0, 1) arrivent avec probabilité 2−8 = 4

26

2

. Et le nombre de chemins suivant cette différentielle est exactement égal à ω4 = 16. On en déduit donc que la probabilité théorique de la différentielle est égale à 16 × 2−8 = 2−4.

Dans le cas où S = G un seul chemin avec différence en entrée a = (0, 1, 0, 1) et différence en sortie b = (0, 1, 0, 1) arrive avec probabilité 2−8 = 4

26

2

(c’est le cas où x = 1) tous les autres chemins arrivent avec probabilité 2−10= 2

26

2

. On en déduit donc que la probabilité théorique de la différentielle est égale à 30 × 2−10+ 2−8 = 2−4.91.

Cet exemple simple sur deux tours d’un schéma de Feistel généralisé à quatre branches illustre bien l’intérêt de l’étude du spectre différentiel des boîtes-S puisque dans cet exemple plus ω4 est petit plus la probabilité de la différentielle est aussi petite.

Au regard de cette discussion, la fonction inverse est celle qui possède la meilleure résistance contre la cryptanalyse différentielle (parmi les monômes de permutation dif-férentiellement 4-uniformes dans le cas où n est pair) puisque pour la fonction inverse ω4 = 1. Le spectre différentiel de cette fonction est proche du spectre différentiel d’une fonction APN.

158 8.2 Fonctions puissances différentiellement 4- et 6- uniformes Définition 8.2. Soit F une fonction puissance. Si F vérifie les conditions suivantes :

δ(b)≤ 2 pour tout b 6= {0, 1},

alors le spectre différentiel de F est proche du spectre différentiel d’une fonction APN. Par la suite, on dit que F est localement-APN.

Par rapport aux travaux de Kaisa Nyberg, nous dirons que dans le cas des schémas de Feistel, l’étude de l’uniformité différentielle nous donne une borne sur la probabilité du meilleur chemin différentiel alors que l’étude du spectre différentiel nous donne des indi-cations sur le nombre de chemins composant une différentielle ainsi que leurs probabilités. Ce résultat donne alors une borne sur la probabilité d’une différentielle.

8.2 Fonctions puissances différentiellement 4- et 6-