Vous êtes sur la page 1sur 203

Universit de Versailles Saint-Quentin Laboratoire de Recherche en Informatique

COLE DOCTORALE
SOFT
T H S E
prsente pour obtenir le grade de
Docteur de lUniversit de Versailles
Laboratoire PRi SM
Spcialit : Informatique
soutenue publiquement par
Joana Treger
tude de la Scurit de Schmas de
Chiffrement par Bloc et de Schmas
Multivaris
Le 28 Juin, 2010
Jury :
Rapporteurs : Henri Gilbert - Orange Labs
David Naccache - ENS
Examinateurs : Jean-Sbastien Coron - Universit du Luxembourg
Pierre-Alain Fouque - ENS
liane Jaulmes - ANSSI
Antoine Joux - DGA et UVSQ
Directeur de thse : Jacques Patarin - UVSQ
Universit de Versailles Saint-Quentin Laboratoire de Recherche en Informatique
COLE DOCTORALE
SOFT
T H S E
prsente pour obtenir le grade de
Docteur de lUniversit de Versailles
Laboratoire PRi SM
Spcialit : Informatique
soutenue publiquement par
Joana Treger
tude de la Scurit de Schmas de
Chiffrement par Bloc et de Schmas
Multivaris
Le 28 Juin, 2010
Jury :
Rapporteurs : Henri Gilbert - Orange Labs
David Naccache - ENS
Examinateurs : Jean-Sbastien Coron - Universit du Luxembourg
Pierre-Alain Fouque - ENS
liane Jaulmes - ANSSI
Antoine Joux - DGA et UVSQ
Directeur de thse : Jacques Patarin - UVSQ
Remerciements
Mes premiers sentiments de reconnaissance vont Jacques Patarin. Je tiens le
remercier davoir accept dtre mon directeur de thse et de mavoir fait conance
ds le dpart de cette course un peu folle. Merci de mavoir trs vite introduite
au sein de la communaut scientique. Merci lui davoir partag ses ides et de
mavoir guide dans mes travaux. Une deuxime vague de reconnaissance va An-
toine Joux. Merci pour sa disponibilit, sa matrise et son enthousiasme contagieux
pour (presque) tous les sujets en cryptologie. Je le remercie sincrement de mavoir
encadre, paralllement Jacques, et pour ses conseils durant ces annes de thse,
notamment vers la n.
Je souhaite ensuite remercier trs chaleureusement chacune des personnes consti-
tuant mon jury. Tout dabord, chapeau mes deux rapporteurs Henri Gilbert et
David Naccache, qui ont accept cette tche malgr leur emploi du temps plus
que charg. Merci David, davoir accept in extremis dtre mon rapporteur, puis
davoir russi fournir son rapport dans la semaine suivante. Je lui en suis extr-
mement reconnaissante. Merci Henri davoir accept dtre mon rapporteur alors
quil tait dj trs pris avec lorganisation dEurocrypt, je sais quil na lui aussi
eu que trs peu de temps pour faire le rapport et len remercie. Je le remercie ga-
lement pour ses corrections qui mont quelques fois donn le sourire. Merci donc
eux de me faire lhonneur dtre dans mon jury, mais galement tous les autres
membres. Je suis notamment trs heureuse de pouvoir compter parmi eux Pierre-
Alain Fouque, et garderai lesprit son attention et la manire dont il sest occup
de lorganisation de ma soutenance lENS. Merci liane Jaulmes de me faire
le plaisir de sa prsence. Je la remercie aussi de mavoir accepte au sein de son
quipe lANSSI, avant mme la nalisation de ma thse. Je suis galement trs
touche que Jean-Sbastien Coron ait accept de faire partie de mon jury de thse
et le remercie davoir fait le dplacement. Merci nouveau inniment Antoine et
Jacques, cette fois-ci pour venir complter ce remarquable jury de thse.
Je tiens remercier tous ceux que je nai pas encore mentionn mais avec qui jai
eu lhonneur et le plaisir de travailler. Dans lordre dapparition : merci Ludovic,
qui ma suivie depuis mon stage de Master, et pour son In Grbner bases we trust !
qui ma marque. Merci de rendre la collaboration si facile et si agrable, merci pour
les cafs les repas dans sa super cantine. Merci Olivier, pour son initiation
Magma et ses conseils, Valrie et Emmanuel, pour nos moments de panique
avec la date denvoi de Crunch ou autres serveurs de soumission. Je pense bien sr
galement Charles et encore une fois Pierre-Alain, pour nos runions motives
sur le thme cassage de HFE, et avec qui jai normment apprci de travailler. Je
remercie enn encore Jean-Charles, Benjamin et Michal, avec qui jai eu le privilge
dinteragir galement.
De tout coeur merci tous ceux qui ont eu la gentillesse de me prter main forte
pour la relecture et la mise en forme du prsent manuscrit. Merci notamment Jean-
Michel, qui a t le premier se dvouer, Vanessa, pour nos discussions animes
sur les bases de Grbner, Mara, pour avoir relu toute une partie de la thse et y
ii
avoir pris du plaisir, Jean-Ren, pour ses remarques pertinentes, Thomas, pour sa
relecture de dernire minute, et Fabien, pour ses scripts pour ma bibliographie. Je
souhaite remercier trs particulirement Cdric, dont lactivit na rien voir avec la
cryptologie, mais qui a lu et relu minutieusement et avec beaucoup denthousiasme
les points que je lui demandais et mme au-del. Enn, un grand merci Marcio
pour avoir pass des soires et des week-ends faire ma place le travail le plus
ennuyeux : la mise en page, la correction des typos, des rfrences, des citations,...
Tout ce monde a largement contribu rendre ce manuscrit de qualit meilleure
quil naurait jamais pu ltre sans eux.
Ces annes de thse nauraient pas t pareilles sans tous les membres du labo-
ratoire PRi SM, passs ou prsents. Je commence par ma co-bureau ou plutt co-
bureaux Sorina. Merci davoir rendu notre environnement scientique (beaucoup)
plus familier. Merci dtre la meilleure la guerre des bureaux qui aura marqu beau-
coup desprits (spciale ddicace Thierry), jtais trs re dtre sa co-quipire.
Merci ensuite tout le reste de lquipe crypto : Aurlie qui est passe la premire
et nous a tous accueillis et aids comme une grande soeur et a continu de me faire
bncier de son exprience lors des derniers prparatifs, Jean-Michel, pour aller
plus souvent en Alsace que moi et me rapporter un peu de ma rgion Versailles,
Vanessa, pour lnergie avec laquelle elle est arrive (et sa carte de piscine), Anja,
pour toutes ses invitations danser la salsa, Bastien, Guilhem, Peter et Malika, les
derniers arrivs, qui ont contribu la bonne ambiance de lquipe et du labo. Merci
galement aux permanents que je nai pas encore cits, Louis et Michal, pour leur
ecacit au quotidien, leur aide et leur disponibilit. Je ne peux oublier de men-
tionner tous les membres de lquipe arch. Je commence par William, qui a accueilli
notre quipe un peu comme la sienne. Merci pour son aide plusieurs reprises,
pour sa distribution de pruneaux ou de tomates. Merci aux anciens, Patrick, Jean.
Je souhaite remercier en particulier Seb, pour ses dpannages informatiques, son
initiation au tennis, ses fausses ddicaces de Nadal, et je marrte l sinon je vais
me mettre crire autant que lui. Merci Andrs, pour nos changes... de balles
et nos visionnements de quelques moments forts de lATP tour. Merci ceux de
passage, et aux actuels : David, Emmanuel, Cdric, ou encore Bettina (mon autre
co-bureau). Je remercie en particulier Stphane, qui a pris le relais de Seb pour
les dpannages informatiques et qui jai donn beaucoup de travail. Je le remercie
galement pour sa disponibilit et ses explications ultra passionnes lorsquil sagit
dinformatique ou de code C. Enn, merci Souad, qui est tellement plus quune
collgue, merci pour nos repas partags, et pour tout le reste. Quitter Versailles a
rim pour moi avec mon arrive lANSSI. Je tiens vraiment remercier chaleu-
reusement toute lquipe (et mme au-del, mais je ne peux malheureusement pas
citer tout le monde) de mavoir accepte et de mavoir autorise la naliser ma
thse l-bas. Merci notamment Florent, Loc, liane, Jean-Ren, Thomas, Marion
et Karim pour leur accueil chaleureux ou leurs conseils prcieux de pr-soutenance.
Merci galement toutes les personnes, collgues de crypto ou non, qui ont
agrment mes semaines durant la thse (surtout les lundis), et permis de gagner
des accessoires inoubliables... Merci Los Pumas ! Pour citer quelques noms : Bea,
iii
Chris, Yann, Andrea, Lore, Gatan, Cline, Anne, Stphane, Christina, Mara, Fab,
Sylvain, Isabelle. Merci tout particulirement Mara pour trop de choses, quelles
soient en rapport avec la thse ou pas ; jai eu beaucoup de chance de tomber sur elle
en arrivant Paris. Merci la plupart de Los Pumas davoir transform les soires
de confrences ou rencontres scientiques en des moments inoubliables. Jai en tte
notamment les journes C2, avec les parties de loup-garou, de mime, et le poulet
rti de Bordeaux. Merci Iwen, Lo, Ayoub, Fabien, Christophe, Cline, Manuel,
Nicolas, Nadya, Yannick, Thomas et tous ceux que jai dj cits ou que joublie,
davoir contribu certains de ces moments.
Une pense particulire va ma famille entire. Je les remercie davoir t l pour
moi, de mavoir pousse et davoir cru en moi. Merci mes parents Liliane et Hubert
davoir compris mes nombreuses absences aux repas de famille, mes absences lors
des conversations tlphoniques parfois galement. Merci ma soeur Cynthia dtre
l, toujours et quoi quil arrive. Merci mes grand-parents Madeleine, Georges,
Ccile et Albert de stre intresss et davoir fait leort tant de fois dessayer de
comprendre en quoi consistent mes travaux de thse. Une pense trs spciale va
mes grand-pres, qui mauront vu commencer cette thse, mais nauront pas eu le
plaisir de me voir la terminer.
Enn, parce quil le mrite vraiment, merci encore Marcio. Merci pour son aide
qui ma pargn bien des journes de travail, mais pour tellement plus encore : merci
pour le scooter ( !), merci davoir support mes humeurs (trop) variables pendant la
thse et surtout pendant la rdaction, merci pour ses leons de positivisme... Valeu
gatinhu!
Jai srement oubli lune ou lautre personne dans ces remerciements, tant jai
t bien entoure durant ces annes. Je crois que si je le pouvais, je rajouterais
sans doute encore plusieurs noms... Que ces dernires lignes puissent tenir lieu de
sincres excuses auprs de tous ces oublis et quils trouvent ici le tmoignage de
ma reconnaissance.
Abstract :
The thesis focuses on the security of block ciphers and multivariate schemes.
In the rst part, we study Feistel networks with internal permutations and Misty-
like schemes, which are both involved in the design of many symmetric algorithms.
The study is made in a generic context, which means that the internal permutations
are supposed random. This allows to exhibit properties of the schemes structure,
without taking into account eventual weaknesses of the internal permutations. This
part focuses on generic attacks on these schemes, and is related to the series of
works done by Patarin et al. on similar structures. We consider attacks that allow
to distinguish with high probability one scheme or the other from a random permu-
tation. Dierent types of attacks are studied for the rst rounds (e.g. two points,
three points or four points attacks), then, we extend the two points attacks for any
number of rounds, thanks to Patarins H-coecient technique.
The second part of the thesis deals with multivariate cryptosystems. Two schemes
are studied in particular : the so-called HM scheme (Hidden Matrix scheme) and
the HFE scheme (Hidden Field Equations), both designed by Patarin in 1998 and
1996 respectively. For HM, we exhibit a special property of the dierential of the
public key, which gives an ecient distinguisher between the system of equations for-
ming the public key and a random system of equations. Moreover, the use of Grbner
bases (in particular, MAGMAs implementation of Faugres F
4
algorithm) allows
to eciently invert the public key in polynomial time, for any practical paremeters.
We also study the equations involved in such a Grbner based attack. More pre-
cisely we show that many low-degree polynomials appear during the computation,
which mostly explains the good behaviour of the Grbner bases algorithms. Finally
for HFE, we describe a key-recovery attack that aects a whole family of special
instances, and whose complexity comes down to solving one instance of the IP pro-
blem. These weak instances are the polynomials with coecients in the base eld.
They happen to oer a commutation property with the Frobenius map, allowing
our attack to work.
Keywords : block cipher, Feistel cipher, MISTY, generic attacks, two-point at-
tacks, H coecients, multivariate cryptology, HM scheme, HFE, Grbner bases,
cryptanalysis.
Rsum :
La thse se concentre sur ltude de la scurit de schmas de chirement par
blocs, et de schmas multivaris.
Dans la premire partie, nous nous intressons ltude de schmas de chire-
ment par blocs, notamment les schmas de Feistel avec permutations internes et
les schmas du type Misty, impliqus dans la conception de plusieurs algorithmes
symtriques. Le cadre de ltude faite est gnrique, dans le sens o les permutations
internes sont supposes alatoires. Ceci nous permet dobtenir des proprits de la
structure mme des schmas, sans prendre en compte leur contexte dutilisation.
Cette partie se concentre sur des attaques gnriques contre ces deux schmas et
fait cho aux travaux de Patarin et al. sur des schmas apparents. Les attaques
considres sont des attaques permettant de distinguer avec forte probabilit lun
ou lautre des deux schmas dune permutation purement alatoire. Nous nous pen-
chons sur dirents types dattaques pour les premiers tours (attaques deux points,
trois points et quatre points), puis nous tendons les attaques deux points grce
la technique des coecients H de Patarin pour un nombre de tours quelconque.
La deuxime partie de la thse concerne ltude de cryptosystmes multivaris.
Nous tudions deux schmas : le schma HM (Hidden Matrix) et le schma HFE
(Hidden Field Equation), tous deux concus par Patarin en 1998 et 1996 respective-
ment. Concernant HM, nous mettons en vidence une proprit de la direntielle de
la cl publique fournissant un distingueur ecace entre la cl publique du schma et
un systme alatoire dquations. Par ailleurs, nous montons une attaque par bases
de Grbner, utilisant les implantations sous MAGMA de lalgorithme F
4
de Faugre,
permettant dinverser le systme dquations formant la cl publique ecacement
en pratique. Nous accompagnons nos observations exprimentales dlments tho-
riques, notamment, nous montrons lapparition de plusieurs polynmes de bas degr
au cours du calcul dune base de Grbner. Pour ce qui est de HFE, nous exposons
une attaque permettant le recouvrement de la cl prive pour une famille dinstances
particulires, dont la complexit se ramne la rsolution dune instance du pro-
blme IP. Ces instances faibles sont les polynmes HFE coecients dans le corps
de base. Ces polynmes vrient une proprit de commutativit avec le morphsisme
de Frobenius, la base de notre attaque.
Mots cls : chirement par bloc, schmas de Feistel, MISTY, attaques gnriques,
attaques deux points, coecients H, cryptologie multivariable, schma HM, HFE,
bases de Grbner, cryptanalyse.
Table des matires
Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Table des matires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Table des gures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Liste des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Notations et Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
I AUTOUR DES SCHMAS DE FEISTEL ET DE MISTY 1
1 Schmas de Feistel avec Permutations Internes et Schmas du type
Misty, Attaques Gnriques et Attaques Deux Points 3
1.1 Les schmas de Feistel avec permutations internes . . . . . . . . . . . 3
1.1.1 Introduction gnrale . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Dnition des schmas de Feistel et proprits lmentaires . 4
1.2 Les schmas du type Misty . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Introduction gnrale . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Dnition et proprits lmentaires . . . . . . . . . . . . . . 7
1.3 Attaques Gnriques et Attaques Deux Points . . . . . . . . . . . . . 9
2 Meilleures Attaques Gnriques sur les Premiers Tours de Schmas
de Feistel avec Permutations Alatoires et Misty L 11
2.1 Meilleures attaques gnriques sur les premiers tours de schmas de
Feistel avec permutations internes . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Un tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Deux tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Trois tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.4 Quatre tours . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.5 Cinq tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Meilleures attaques gnriques, de complexit infrieure O
_
2
2n
_
sur
les premiers tours de schmas du type Misty . . . . . . . . . . . . . . 19
2.2.1 Un tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 Deux tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.3 Trois tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.4 Quatre tours . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.5 Cinq tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
x Table des matires
3 Limitations de la Mthode Utilise sur Les Premiers Tours, Prin-
cipe de lAnalyse Systmatique 29
3.1 Ide de la mthode gnrale . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Illustrations : attaques gnriques sur six tours de schmas Misty L
et six tours de schmas de Feistel avec permutations internes . . . . 31
3.2.1 Illustration 1 : attaque gnrique sur six tours de schmas
Misty L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.2 Illustration 2 : attaque gnrique sur six tours de schmas de
Feistel avec permutations internes . . . . . . . . . . . . . . . 36
3.3 Probabilits P
r
, P

k et P
M
k
L
, Coecients H . . . . . . . . . . . . . . 41
3.4 Implication des probabilits P
r
et P

k ou P
M
k
L
dans les attaques deux
points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.1 Attaque dune permutation . . . . . . . . . . . . . . . . . . . 47
3.4.2 Attaque dun gnrateur de permutations . . . . . . . . . . . 49
3.4.3 Choix de lensemble de relations menant la meilleure attaque 50
3.5 Rsultats gnraux pour le calcul direct des coecients H . . . . . . 50
3.5.1 Familiarisation avec des objets en relation avec les schmas
considrs, blocs internes et squences 1 . . . . . . . . . . . . 51
3.5.2 Thorme gnral sur lexpression du coecient H . . . . . . 54
4 Attaques Deux Points Systmatiques sur les Schmas de Feistel
avec Permutations Internes et Misty L. Rsultats 59
4.1 Approche systmatique et rsultats pour les schmas Misty L . . . . 60
4.1.1 Rsum des rsultats pour les schmas Misty L . . . . . . . . 60
4.1.2 Valeurs numriques et exemples dapplication aux attaques
deux points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.3 Rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.4 Complment : valeur exacte des coecients H pour les six
premiers tours . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2 Approche systmatique et rsultats pour les schmas de Feistel avec
permutations internes . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.1 Rsum des rsultats pour les schmas de Feistel avec permu-
tations internes . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Valeurs numriques et exemples dapplication aux attaques
deux points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.3 Rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.4 Complment : valeur exacte des coecients H, pour les six
premiers tours . . . . . . . . . . . . . . . . . . . . . . . . . . 72
II CRYPTANALYSE EN CRYPTOLOGIE MULTIVARIE 75
5 Introduction la Cryptologie Multivarie, Outils 77
Table des matires xi
5.1 Description gnrale des schmas multivaris et problmes diciles
sous-jacents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2 Outils mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2.1 Corps nis et extensions de corps ni, morphisme de Frobenius 81
5.2.2 Les bases de Grbner . . . . . . . . . . . . . . . . . . . . . . . 83
5.2.3 Le problme IP (Isomorphisms of Polynomials) . . . . . . . 92
5.3 Quelques exemples de schmas multivaris . . . . . . . . . . . . . . . 93
5.3.1 C

(ou MI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.3.2 HFE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.3 SFLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.4 OV et UOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6 Faiblesses du Schma HM (Hidden Matrix) 97
6.1 Le schma HM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.1.1 Description du schma HM . . . . . . . . . . . . . . . . . . . 98
6.1.2 Travaux prcdents en rapport avec le schma HM, quelques
considrations . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Mise en vidence dun distingueur : proprit de la direntielle de HM100
6.2.1 Proprit de la direntielle de lapplication interne secrte f
de HM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.2.2 Proprit de la direntielle de la cl publique PK de HM . . 101
6.3 Inversion du Schma . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.1 Illustration : Cas M = 0 . . . . . . . . . . . . . . . . . . . . . 103
6.3.2 Rsultats exprimentaux et observations . . . . . . . . . . . . 104
6.3.3 propos du comportement du degr de rgularit . . . . . . 105
6.3.4 Rsum des observations . . . . . . . . . . . . . . . . . . . . . 109
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7 Une Famille de Cls Faibles pour le Systme HFE (Hidden Field
Equations) 111
7.1 Description du schma HFE et attaques existantes . . . . . . . . . . 112
7.1.1 Description du systme HFE . . . . . . . . . . . . . . . . . . 112
7.1.2 Cls secrtes quivalentes et extension publique . . . . . . . . 113
7.1.3 Attaques existantes sur le systme HFE . . . . . . . . . . . . 114
7.2 Nouvelle famille de cls faibles pour HFE . . . . . . . . . . . . . . . 115
7.2.1 Rappel : Attaque sur SFLASH . . . . . . . . . . . . . . . . . 115
7.2.2 Proprit de commutativit avec le polynme interne pour le
morphisme de Frobenius . . . . . . . . . . . . . . . . . . . . . 116
7.2.3 Identication dune famille T
K
de cls faibles pur HFE . . . . 118
7.3 Description de lattaque des systmes HFE utilisant des polynmes
secrets de la famille T
K
. . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.3.1 Recouvrement des applications de Frobenius F
S
et F
T
. . . . 122
7.3.2 Appropriation dinformation en rapport avec S et T . . . . . 123
7.3.3 Cration dune cl secrte quivalente g . . . . . . . . . . . . 124
xii Table des matires
7.3.4 Recouvrement dune cl secrte de bas-degr quivalente la
cl secrte de dpart . . . . . . . . . . . . . . . . . . . . . . . 126
7.4 Implantation de lattaque des systmes HFE utilisant des polynmes
secrets de la famille T
K
. . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.4.1 Pseudo-code de lattaque . . . . . . . . . . . . . . . . . . . . 131
7.4.2 Expriences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8 Conclusions et Perspectives 137
8.1 Contributions et conclusions . . . . . . . . . . . . . . . . . . . . . . . 137
8.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A Calcul des Coecients H 141
A.1 Calcul des Coecients H pour les schmas du type Misty, Mthode
directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
A.1.1 Restrictions sur les relations 1 entre les blocs . . . . . . . . . 142
A.1.2 Squences 1 possibles et produit des N(d
i
), i = 1 . . . k 2 . . 143
A.1.3 Formules gnrales, Formule directe pour les coecients H . . 149
A.1.4 Dirents cas considrer . . . . . . . . . . . . . . . . . . . . 152
A.2 Calcul des Coecients H dans le cas des schmas de Feistel avec
permutations internes, Mthode Directe . . . . . . . . . . . . . . . . 152
A.2.1 Restrictions sur les relations 1 entre les blocs . . . . . . . . . 152
A.2.2 Squences 1 possibles et produit des N(d
i
), i = 1, . . . k . . . . 153
A.2.3 Formules gnrales, formules gnrales pour H . . . . . . . . 157
A.2.4 Dirents cas considrer . . . . . . . . . . . . . . . . . . . . 160
A.3 Calculs des Coecients H pour les schmas du type Misty, Mthode
par rcurrence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
A.3.1 Coecients H pour un tour et deux tours . . . . . . . . . . . 161
A.3.2 Formules de rcurrence pour les coecients H . . . . . . . . . 163
A.3.3 valuation asymptotique du comportement des . . . . . . . 164
A.4 Calcul des Coecients H pour les schmas de Feistel avec permuta-
tions internes, Mthode par Rcurrence . . . . . . . . . . . . . . . . . 169
A.4.1 Coecients H pour un tour et deux tours . . . . . . . . . . . 169
A.4.2 Formules de rcurrence pour les coecients H . . . . . . . . . 171
Bibliographie 175
Table des gures
1.1 Schma de Feistel avec fonction interne f. Message dentre [L, R],
message de sortie [S, T]. . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Inverse dun schma de Feistel,
1
. Message dentre [S, T], message
de sortie [L, R]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3
k
(f
1
, . . . , f
k
)([L, R]) = [S, T]. . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Schmas Misty L ( gauche) et Misty R ( droite). Message dentre
[L, R], message de sortie [S, T]. . . . . . . . . . . . . . . . . . . . . . 7
1.5 M
k
L
(f
1
, . . . , f
k
)([L, R]) = [S, T]. . . . . . . . . . . . . . . . . . . . . . 9
2.1 (f
1
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2
2
(f
1
, f
2
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3
3
(f
1
, f
2
, f
3
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4
4
(f
1
, f
2
, f
3
, f
4
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5
5
(f
1
, f
2
, f
3
, f
4
, f
5
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 M
1
L
(f
1
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 M
2
L
(f
1
, f
2
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.8 M
3
L
(f
1
, f
2
, f
3
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.9 Les galits utilises dans la CPCA-2 sur M
3
L
, avec trois messages . . 23
2.10 M
4
L
(f
1
, f
2
, f
3
, f
4
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.11 Les galits utilises dans la CPCA-2 sur M
4
L
, avec quatre messages . 25
2.12
5
(f
1
, f
2
, f
3
, f
4
, f
5
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1 M
6
L
(f
1
, f
2
, f
3
, f
4
, f
5
, f
6
) . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2
6
(f
1
, f
2
, f
3
, f
4
, f
5
, f
6
) . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3
k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],
k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
] 44
3.4 M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
] 45
3.5
k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],
k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
] 54
3.6 M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
], M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
] 55
4.1 k tours de schmas Misty L . . . . . . . . . . . . . . . . . . . . . . . 60
4.2 k tours de schmas de Feistel . . . . . . . . . . . . . . . . . . . . . . 67
4.3 valeurs des coecients H dans les dirents cas considrs, pour 1,2,3
et 4 tours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4 Valeurs des coecients H dans les dirents cas considrs, pour 5
tours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.5 Valeurs des coecients H dans les dirents cas considrs, pour 6
tours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1 p = T f S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
xiv Table des gures
7.1 PK = T f S, La che discontinue indique que f est coecients
dans K. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.2 PK = T f S =

T g

S. Les ches discontinues indiquent les
applications coecients dans K. . . . . . . . . . . . . . . . . . . . . 125
7.3 g = F
1
2
f F
1
1
. Les ches en pointills indiquent les applications
inconnues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.4 Pseudo-code de lattaque . . . . . . . . . . . . . . . . . . . . . . . . . . 132
A.1 M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
], M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
] 142
A.2
k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],
k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
] 153
A.3 Un tour de Misty L . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
A.4 Deux tours de Misty L . . . . . . . . . . . . . . . . . . . . . . . . . . 162
A.5 M
k
L
(f
1
, . . . , f
k
)([L, R]) = [S, T] . . . . . . . . . . . . . . . . . . . . . 163
A.6 Un tour de Schma de Feistel . . . . . . . . . . . . . . . . . . . . . . 169
A.7 Deux tours de schmas de Feistel . . . . . . . . . . . . . . . . . . . . 170
A.8
k
(f
1
, . . . , f
k
)([L, R]) = [S, T] . . . . . . . . . . . . . . . . . . . . . . 171
Liste des tableaux
2.1 Nombre moyen de quadruplets de messages (indices i, j, k, l) pr-
sentant les collisions S
i
T
i
= S
j
T
j
et S
k
T
k
= S
l
T
l
, dans le
cadre dune attaque CPA-1. Ce nombre est donn pour une permu-
tation correspondant cinq tours de schmas Misty L, et pour une
permutation (suppose) alatoire. . . . . . . . . . . . . . . . . . . . . 28
4.1 Nombre maximum de calculs ncessaires pour distinguer k tours de
schmas de Feistel avec fonctions internes, dune permutation ala-
toire avec signature paire. . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2 Ordre de grandeur des =
H2
4n
|Bn|
k

1
11/2
2n
, dans les dirents cas
considrs. De ces valeurs se dduisent facilement les meilleures at-
taques deux points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3 Meilleures complexits des attaques deux points permettant de dis-
tinguer k tours de schmas Misty L dune permutation alatoire paire. 64
4.4 Nombre minimum de calculs ncessaires pour distinguer k tours de
schmas Misty L, dune permutation alatoire paire. . . . . . . . . . 65
4.5 Valeurs des coecients H dans les dirents cas considrs, pour 1,
2, 3, et 4 tours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.6 Valeurs des coecients H dans les dirents cas considrs, pour 5
tours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.7 Valeurs des coecients H dans les dirents cas considrs, pour 6
tours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.8 Ordre de grandeur des =
H2
4n
|Bn|
k

1
11/2
2n
, dans les dirents cas
considrs. De ces valeurs se dduisent facilement les meilleures at-
taques deux points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.9 Meilleure complexit des attaques deux points permettant de distin-
guer k tours de schmas de Feistel dune permutation alatoire paire. 72
4.10 Nombre maximum de calculs ncessaires pour distinguer k tours de
schmas de Feistel avec permutations internes, dune permutation
alatoire paire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.1 Rsultats exprimentaux pour lattaque consistant recouvrer un clair
partir dun chir, utilisant lalgorithme F
4
de calcul de bases de Grbner
disponible sous Magma. . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.2 Rsum des quations obtenues au cours dun calcul de base de Grb-
ner de lidal engendr par les quations de la cl publique de HM . . 110
7.1 Mesures de temps pour les direntes tapes de lattaque, pour les ensembles
de paramtres A, B et C. . . . . . . . . . . . . . . . . . . . . . . . . . 133
xvi Liste des tableaux
7.2 Mesures de temps pour les direntes tapes de lattaque, pour les ensembles
de paramtres D et E. . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Notations et Dnitions
/
n
(K) Anneau de matrices carres de taille n coecients dans K.
GL
n
(k) Sous-groupe multiplicatif de /
n
(K) des matrices invisibles.
F
q
Corps ni q lments
Z Ensemble des entiers relatifs
N Ensemble des entiers naturels
I
n
Mots de n bits, I
n
= 0, 1
n
F
n
Ensemble dans applications de I
n
dans I
n
B
n
Ensemble de permutations de I
n
Addition bit bit, addition dans F
2
Composition de fonctions
[L, R] Concatnation du mot L et du mot R
Indicatrice dEuler qui un entier strictement positif n associe le
nombre dentiers positifs infrieurs n et premiers avec n.
Premire partie
AUTOUR DES SCHMAS DE
FEISTEL ET DE MISTY
Chapitre 1
Schmas de Feistel avec
Permutations Internes et Schmas
du type Misty, Attaques
Gnriques et Attaques Deux
Points
Sommaire
1.1 Les schmas de Feistel avec permutations internes . . . . . 3
1.1.1 Introduction gnrale . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Dnition des schmas de Feistel et proprits lmentaires . 4
1.2 Les schmas du type Misty . . . . . . . . . . . . . . . . . . . 6
1.2.1 Introduction gnrale . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Dnition et proprits lmentaires . . . . . . . . . . . . . . 7
1.3 Attaques Gnriques et Attaques Deux Points . . . . . . . . 9
1.1 Les schmas de Feistel avec permutations internes
1.1.1 Introduction gnrale
Les schmas de Feistel ont t introduits an de construire des permutations
de 0, . . . , 2
2n
1 partir de fonctions sur des ensembles plus petits, typiquement
0, . . . , 2
n
1. Ces fonctions sur 0, . . . , 2
n
1 sont usuellement appeles fonctions
internes. Composer plusieurs schmas de Feistel utilisant des fonctions internes in-
dpendantes, ce que lon appelle considrer plusieurs tours de schmas de Feistel,
permet de construire des permutations pseudo-alatoires. Ceci explique lutilisation
intensive des schmas de Feistel en cryptologie symtrique, qui se trouvent tre la
base de nombreux schmas (par exemple, le DES). La gure 1.1 reprsente un tour
de schma de Feistel.
Luby et Racko ont initialis les travaux de recherche sur ces schmas de Feis-
tel [LR88], lorsque les fonctions internes sont alatoires. Suivent nombreux rsultats,
tant sur ces schmas de Feistel, dits classiques que sur des schmas de Feistel mo-
dis. Par exemple, des rsultats de [Jut98], Schneier et Kelsey [SK96], et de Patarin
4
Chapitre 1. Schmas de Feistel avec Permutations Internes et Schmas
du type Misty, Attaques Gnriques et Attaques Deux Points
L
f
R
S T
Figure 1.1: Schma de Feistel avec fonction interne f. Message dentre [L, R],
message de sortie [S, T].
et Nachef [PNB06b] traitent des schmas de Feistel dissymtriques avec fonctions
internes expansives. Par ailleurs, Patarin et al. se sont intresss aux schmas de Feis-
tel dissymtriques avec fonctions contractantes [PNB06a]. Une autre construction
consiste considrer des schmas de Feistel dissymtriques, o certains tours sont
expansifs et certains contractants, comme il fait usage dans Bear ou Lion [AB96].
Une autre construction se rapportant aux schmas de Feistel originels est celle
des schmas de Feistel avec permutations internes. Ceux-ci sont utiliss dans de
nombreux schmas, comme Twosh [Nyb96], Camellia [AIK
+
00] ou encore DEAL
[Knu98]. Cependant, peu de rsultats concernant ces schmas de Feistel particu-
liers se trouvent dans la littrature. Knudsen [Knu02] prsente une attaque sur cinq
tours de schmas de Feistel avec permutations internes, base sur une direntielle
impossible (pour deux entres/sorties, certaines relations entre les blocs ne peuvent
arriver). Plus rcemment, Piret sest intress dans [Pir06] aux preuves de scurit
de ces schmas de Feistel avec permutations internes pour trois et quatre tours.
Pourtant, lutilisation de permutations internes plutt que de fonctions inuence
ltude de ces schmas. Par exemple, Rijmen et al. exposent une attaque fonction-
nant dans le cas de schmas de Feistel dont les fonctions internes prsentent de
mauvaises proprits de surjectivit [RPW97]. Une autre illustration de ce fait se
trouve dans [Bih97], o est expose une attaque exploitant la bijectivit des fonctions
internes.
Nous allons nous intresser, entre autres, aux schmas de Feistel sur 0, . . . , 2
2n

1, utilisant des permutations internes de 0, . . . , 2


n
1, et plus prcisment aux at-
taques gnriques sur ces schmas. Ces attaques sont des attaques fonctionnant dans
le cas gnrique o les permutations internes sont alatoires [TP09]. Une description
plus dtaille de ces attaques gnriques est donne la section 1.3.
1.1.2 Dnition des schmas de Feistel et proprits lmentaires
Pour les notations utilises, nous renvoyons vers la partie Notations.
Dnition 1 (Un tour de schma de Feistel avec permutation interne)
1.1. Les schmas de Feistel avec permutations internes 5
Soit f B
n
et L, R, S, T I
n
. La permutation , dnie par :
(f)([L, R]) = [R, L f(R)],
est appele un tour de schma de Feistel avec permutation interne f.
Remarque : Lorsque la permutation interne implique est claire, ou lorsque nous
parlons du schma de manire gnrale, nous notons simplement . Notons encore
que nous ne considrons dans cette premire partie que des schmas dont les permu-
tations internes sont alatoires. Par suite, lorsque nous faisons usage de la notation
, sauf mention contraire, nous supposons la permutations interne alatoire.
La permutation est reprsente la gure 1.1 de la sous-section prcdente.
Pour se convaincre que est une permutation, il sut de remarquer que ([T, S]) =
[R, L]. Ainsi, en notant la permutation des deux blocs de taille n dun message de
taille 2n, nous avons :

1
= ,
ce qui est rsum par la gure 1.2.
L R
f
S T
T S
R L
Figure 1.2: Inverse dun schma de Feistel,
1
. Message dentre [S, T], message
de sortie [L, R].
Nous introduisons galement la dnition suivante, correspondant aux reprsen-
tations de la gure 1.3 :
Dnition 2 (k tours de schma de Feistel avec permutations internes)
Soit (f
1
, . . . , f
k
) B
k
n
et L, R I
n
. La permutation
k
pour k 1, dnie par :

k
(f
1
, . . . , f
k
)([L, R]) = (f
k
) (f
1
)([R, L]),
est appele k tours de schmas de Feistel avec permutations internes (f
1
, . . . , f
k
).
6
Chapitre 1. Schmas de Feistel avec Permutations Internes et Schmas
du type Misty, Attaques Gnriques et Attaques Deux Points
L R
f 1
R X
1
f
S T
S X
k2
k
L 1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
Figure 1.3:
k
(f
1
, . . . , f
k
)([L, R]) = [S, T].
Remarque : Ici encore, nous pouvons appeler cette permutation
k
sans spcier
les permutations internes. Sauf mention contraire,
k
dsigne k tours de schmas de
Feistel avec permutations internes alatoires.
La reprsentation usuelle des schmas de Feistel est celle de gauche dans la gure 1.3.
Cependant, avec cette reprsentation, les nouveaux blocs apparaissant lors du calcul
dun message sont reprsents deux fois chacun. La reprsentation de droite de la
gure 1.3 a lavantage de mettre en vidence uniquement le nouveau bloc apparais-
sant chaque tour. Notre analyse tudiant direntes congurations pour ces blocs
(dits internes), nous donnons systmatiquement la prfrence cette reprsentation
moins classique.
La sortie de tels schmas sera appele [S, T].
1.2 Les schmas du type Misty
1.2.1 Introduction gnrale
La manire la plus rpandue de construire des permutations pseudo-alatoires
partir de fonctions alatoires ou pseudo-alatoires, oprant gnralement sur un
ensemble plus petit, est de considrer plusieurs tours de schmas de Feistel (voir
section 1.1). Cependant, il existe dautres constructions permettant dobtenir des
permutations pseudo-alatoires, comme par exemple le schma de Massey et Lai
utilis dans IDEA [LM91], toutes les variantes des schmas de Feistel, ou encore les
schmas utiliss dans Misty [Mat97]. Ceux sont ces derniers qui font lobjet dune
tude particulire dans cette partie I, avec les schmas de Feistel avec permutations
internes. Il y a deux schmas du type Misty (Misty L et Misty R), reprsents la
gure 1.4.
1.2. Les schmas du type Misty 7
L R
S T
f
L R
S T
f
Figure 1.4: Schmas Misty L ( gauche) et Misty R ( droite). Message dentre
[L, R], message de sortie [S, T].
La structure de ces schmas est utilise dans schma de chirement par blocs
de Matsui [Mat97], tout comme dans la variante de Kasumi [Ka], adopte comme
standard de chirement par blocs pour le chirement et la protection de lintgrit
dans les systmes de tlphones portables troisime gnration. Des attaques sur ces
schmas ont dj t tudies, notamment [GM01, KW02, PQ05, SZ97, Suga, Sugb].
Dans cette partie I, tout comme pour les schmas de Feistel avec permutations
internes, nous nous intressons aux attaques gnriques, lorsque les permutations
internes sont alatoires [NPT10]. Nous renvoyons vers la section 1.3 pour des dtails
sur ce type dattaque.
1.2.2 Dnition et proprits lmentaires
Pour les notations utilises, nous renvoyons vers la partie Notations. Dnissons
les deux schmas du type Misty, dj reprsents la gure 1.4 :
Dnition 3 (Un tour de schma Misty L) Soit f B
n
et L, R I
n
. La
permutation M
L
, dnie par :
M
L
(f)([L, R]) = [R, R f(L)],
est appele un tour de schma de Misty L. avec permutation interne f.
Dnition 4 (Un tour de schma du type Misty R) Soit f B
n
et L, R
I
n
. La permutation M
R
, dnie par :
M
R
(f)([L, R]) = [R f(L), f(L)],
est appele un tour de schma de Misty R. avec permutation interne f.
Remarque :
1. Pour ces deux schmas, nous ne prcisons pas que la fonction interne est une
permutation. En eet, lorsque f nest pas bijective, le schma dni nest pas
inversible. Ceci est dtaill dans la suite de cette sous-section.
8
Chapitre 1. Schmas de Feistel avec Permutations Internes et Schmas
du type Misty, Attaques Gnriques et Attaques Deux Points
2. Lorsque la permutation interne implique est claire, ou lorsque nous parlons
du schma de manire gnrale, nous notons simplement M
L
ou M
R
. Sauf
mention contraire, M
L
(respectivement M
R
) dsigne un schma du type Misty
L (respectivement Misty R), avec permutation interne alatoire.
Voyons quoi correspond linversion de ces schmas, ainsi que la relation entre
eux. Soit f B
n
. Introduisons les permutations de B
2n
, (f) (ou simplement )
et , dnies par :
(f)([L, R]) = [f(L), R], (1.1)
([L, R]) = [R, L R]. (1.2)
Ainsi, nous pouvons dcomposer les permutations M
L
et M
R
:
M
L
(f) = (f), (1.3)
M
R
(f) =
2
(f). (1.4)
Linverse de scrit :
(f)
1
= (f
1
), (1.5)
et vrie :

2
([L, R]) = [L R, L],

3
([L, R]) = [L, R]
2
=
1
. (1.6)
De toutes les quations prcdentes, linverse de M
L
(f) peut scrire :
M
1
L
(f) = (f
1
)
1
= M
R
(f
1
)
1
. (1.7)
Ceci montre que linverse dune permutation M
L
est une permutation M
R
com-
position prs par ou
1
sur les entres et sorties de M
R
. Par suite, la scurit
de M
L
et M
R
est la mme, pour les attaques o lattaquant peut autant choisir
les entres que les sorties. Dans notre situation, ceci exclut simplement les attaques
CPA (attaques clair choisi, voir la section 1.3 suivante).
Notre analyse se concentre uniquement sur les schmas L du type Misty, qui sont
les plus classiques en cryptologie. Les schmas Misty L, M
L
, ou plus gnralement
M
k
L
sont reprsents par la gure 1.5 et dnis comme suit :
Dnition 5 (k tour de schmas Misty L) Soit (f
1
, . . . , f
k
) B
k
n
et
L, R, S, T I
n
. La permutation M
k
L
, dnie par :
M
k
L
(f
1
, . . . , f
k
)([L, R]) = M
L
(f
k
) M
L
(f
1
)[R, L],
est appele k tours de schmas du type Misty.
Remarque : Ici encore, nous pouvons invoquer M
k
L
sans spcier les permutations
internes. Sauf mention contraire, M
k
L
dsigne k tours de schmas du type Misty
(Misty L) avec permutations internes alatoires.
La sortie de tels schmas sera toujours note [S, T].
1.3. Attaques Gnriques et Attaques Deux Points 9
3 f k f
2 f
L
1 f
X T S R
k2
X
1
X
2
Figure 1.5: M
k
L
(f
1
, . . . , f
k
)([L, R]) = [S, T].
1.3 Attaques Gnriques et Attaques Deux Points
Dnition 6 (Attaque Gnrique) Une attaque sur un schma de Feistel avec
permutations internes ou sur un schma du type Misty est dite gnrique lorsque les
permutations internes sont supposes alatoires.
Dans les schmas de chirement par bloc utiliss, les permutations internes ne
sont pas toujours pseudo-alatoires. Par consquent, de meilleures attaques que les
gnriques existent alors souvent sur ces schmas. Cependant, ceci fait galement
en quelque sorte lintrt de ces attaques gnriques : ces attaques nexploitent pas
de faiblesse ventuelle des fonctions (ou permutations) internes utilises, mais se
basent uniquement sur la structure des schmas. Dans notre tude des permuta-
tions sur 2n bits,
k
ou M
k
L
, nous considrons des attaques but de distinguer lune
ou lautre de ces permutations spciques dune permutation alatoire sur 2n bits.
Ces travaux, correspondant [TP09] pour les schmas de Feistel avec permutations
internes et [NPT10] pour les schmas du type Misty, sont rapprocher de travaux
similaires prcdents fait sur dautres schmas basiques ([Pat01] pour les schmas de
Feistel classiques, [PNB06b] pour les schmas de Feistel dissymtriques avec fonc-
tions expansives ou [PNB06a] pour ces schmas avec des fonctions contractantes).
Nous nous intressons principalement aux attaques deux points. Ces attaques
deux points utilisent des corrlations entre des paires de messages (ce qui inclut les
attaques direntielles). Ces attaques se sont montres tre jusqu prsent gn-
ralement les meilleures possibles sur des schmas de Feistel avec fonctions internes
alatoires, et bien que le cas des schmas de Feistel avec permutations internes soit
spcique, ceci a motiv lanalyse faite dans [TP09], et dveloppe ici. De plus,
rappelons que Piret a fait dans [Pir06] des preuves de scurit pour ces schmas,
pour trois et quatre tours. Ces bornes de scurit se trouvent tre les mmes que
les complexits des meilleures attaques deux points que nous avons trouves pour
ce nombre de tours (sauf pour trois tours, CPA, o la meilleure attaque, comme
pour les schmas de Feistel classiques, est une attaque trois points). Prcisment,
notons que les attaques deux points ne sont pas toujours les meilleures possibles.
titre de tmoin, on peut citer les schmas Benes [PM06], les schmas du type
Misty (Misty L et Misty R) [GM01], ou encore les schmas de Feistel dissymtriques
avec fonctions expansives [Jut98, PNB06b], pour lesquels dautres types dattaques
gnriques fournissent de meilleures complexits.
Prcisment, pour les schmas du type Misty (Misty L), nous faisons dans cette
partie une analyse similaire celle faite pour les schmas de Feistel avec permuta-
10
Chapitre 1. Schmas de Feistel avec Permutations Internes et Schmas
du type Misty, Attaques Gnriques et Attaques Deux Points
tions internes. Ainsi, nous donnons donc les meilleures attaques deux points pour
nimporte quel nombre de tours de schmas Misty L. Cependant, comme ces at-
taques ne sont pas ncessairement les meilleures pour ce schma, nous donnons
autant que possible les attaques alternatives connues (non deux points) fournissant
une meilleure complexit dattaque.
Lobjet de cette partie I est donc de regrouper les rsultats obtenus concernant
les attaques gnriques pour les schmas de Feistel avec permutations internes ou
schmas Misty L. Le chapitre 2 donne directement les meilleurs attaques gnriques
pour les premiers tours de ces deux schmas. Ensuite, nous expliquons une manire
dobtenir les meilleures attaques gnriques deux points pour un nombre de tours
plus grand. Les rsultats naux sont donns au chapitre 4. Il est intressant de
comparer la scurit de ces schmas avec celle des schmas de Feistel, plus largement
utiliss.
Remarque : Les direntes attaques considres sont : KPA (attaque clair connu),
CPA-1 (attaque clair choisi non adaptative), CPA-2 (attaque clair choisi adapta-
tive), CPCA-1 (attaque clair et chir choisis non adaptative) et CPCA-2 (attaque
clair et chir choisis adaptatives).
Lorsque lon sintresse aux attaques sur des gnrateurs de permutations (plus dune
permutation sur 2n bits est utilise), les KPA et CPA donnent la mme complexit.
Lintuition de ceci est que lon utilise alors le nombre maximal de messages par
permutation, mais ceci est justi au chapitre 3.
Chapitre 2
Meilleures Attaques Gnriques
sur les Premiers Tours de Schmas
de Feistel avec Permutations
Alatoires et Misty L
Dans ce chapitre, nous exposons directement les meilleures attaques gnriques
connues de complexit infrieure O
_
2
2n
_
, pour les cinq premiers tours des deux
schmas qui nous intressent. Ces attaque peuvent tre trouves dans [TP09,
NPT10]. Nous nous intressons principalement aux attaques deux points, mais
dautres que celles-ci peuvent tre cites lorsquelles sont meilleures. Ces attaques
deux points sont galement lobjet dune tude plus approfondie par la suite (cha-
pitre 3 et 4).
Notons que les attaques ne sont pas uniques, dans le sens o deux attaques di-
rentes (pour le cas des attaques deux points, deux attaques exploitant des relations
direntes entre les blocs dentre et sortie de deux messages distincts) peuvent
mener la mme complexit. Ceci sera mis en vidence dans le chapitre 4. Nous
donnons ici une seule attaque par nombre de tours considr, sauf lorsquune attaque
autre que les attaques deux points fournit une meilleure complexit.
Les complexits de toutes ces attaques sont rappeles dans le tableau 4.9 de la
sous-section 4.2.3 pour les schmas de Feistel et le tableau 4.3 de la sous-section 4.1.3
pour les schmas Misty L.
Sommaire
2.1 Meilleures attaques gnriques sur les premiers tours de
schmas de Feistel avec permutations internes . . . . . . . . 12
2.1.1 Un tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Deux tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Trois tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.4 Quatre tours . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.5 Cinq tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Meilleures attaques gnriques, de complexit infrieure
O
_
2
2n
_
sur les premiers tours de schmas du type Misty . . 19
2.2.1 Un tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 Deux tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.3 Trois tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
12
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
2.2.4 Quatre tours . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.5 Cinq tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1 Meilleures attaques gnriques sur les premiers tours
de schmas de Feistel avec permutations internes
Les schmas de Feistel avec permutations internes nayant pas fait lobjet de
beaucoup dtudes, les attaques de cette section nont pas forcment t mentionnes
lors de travaux prcdents (sauf pour lattaque sur cinq tours de la sous-section 2.1.5,
donne par Knudsen dans [Knu02]). Notons que les attaques sur les deux premiers
tours de schmas de Feistel avec permutations internes (sous-section 2.1.1 et 2.1.2)
restent inchanges compares aux attaques sur un ou deux tours de schmas de
Feistel classiques (avec fonctions internes) [Pat01]. Nous les rappelons tout de mme
dans ce chapitre. Nous pouvons noter que ce rsultat nest pas surprenant. En eet,
distinguer une fonction alatoire sur n bits dune permutation alatoire sur n bits
ncessite de lordre de 2
n/2
calculs. Ceci se dduit du paradoxe des anniversaires, car
au bout de 2
n/2
valuations, une fonction alatoire sur n bits fournit une collision
sur deux sorties avec probabilit suprieure 1/2. Ainsi, lorsquune attaque sur des
schmas de Feistel avec fonctions alatoires internes ncessite un nombre de calculs
trs infrieur 2
n/2
, cette attaque nexploite pas la non-bijectivit des fonctions
internes, et fonctionne encore lorsque les fonctions internes alatoires sont en fait
des permutations alatoires.
Au-del de deux tours, les attaques deux points sont direntes que dans le cas
des schmas de Feistel avec fonctions alatoires internes. Il existe une attaque trois
points sur trois tours de schmas de Feistel avec fonctions internes alatoires, clair
et chir choisis, ncessitant trois messages ([LR88] p.385). Pour la mme raison que
pour les attaques sur un ou deux tours invoque plus haut, cette attaque trois points
sapplique encore lorsque les fonctions internes alatoires sont des permutations
alatoires (sous-section 2.1.3 ci-dessous). Jusqu cinq tours, les meilleures attaques
deux points trouves exploitent une direntielle impossible des schmas de Feistel
avec permutations alatoires internes. Cependant, ceci ne se gnralise pas au-del
de cinq tours, comme nous le verrons dans lexemple sur six tours du chapitre 3
(sous-section 3.2.2), ou dans le chapitre 4.
Pour ces cinq premiers tours, la complexit des attaques, except pour la KPA
sur trois tours, est identique aux complexit des attaques deux points sur les schmas
de Feistel classiques [Pat01]. Cependant, ceci ne pouvait tre prdit avant lanalyse
de [TP09]. Pour trois tours, la meilleure KPA deux points est de complexit O(2
n
)
calculs, alors que O
_
2
n/2
_
taient ncessaires pour les schmas de Feistel classiques.
2.1. Meilleures attaques gnriques sur les premiers tours de schmas
de Feistel avec permutations internes 13
2.1.1 Un tour
Pour un tour de schma de Feistel, nous avons les relations et la gure 2.1
suivantes :
_
S = R
T = f
1
(R) L
L
1 f R=S
T
Figure 2.1: (f
1
)
2.1.1.1 KPA
Il existe une attaque clair connu qui nutilise quun seul message clair [L, R].
Lattaquant peut se contenter de tester si la sortie de la permutation teste, dnote
par [S, T], vrie S = R. Si la permutation est un seul tour de schma de Feistel,
cette galit est toujours vrie. Si la permutation considre est une permutation
alatoire de 2n bits sur 2n bits, lgalit prcdente entre le bloc R dentre et le
bloc S de sortie apparat avec probabilit 1/2
n
.
Pour un tour, nous avons donc une attaque clair connu qui ne ncessite que de
lordre de 1 calculs. Par consquent, tout autre type dattaque peut se monter avec
O(1) calculs galement.
2.1.2 Deux tours
Pour deux tours de schmas de Feistel, nous avons les relations et la gure 2.2
suivantes :
_
S = f
1
(R) L
T = f
2
(f
1
(R) L) R
L S
f
T
3
R
1 f
Figure 2.2:
2
(f
1
, f
2
)
14
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
2.1.2.1 CPA-1
Pour deux tours de schmas de Feistel, et dans le cas dune attaque clair choisi
non adaptative, lattaquant peut par exemple choisir deux messages dentre [L
1
, R
1
]
et [L
2
, R
2
], tels que les blocs droits des deux messages soient gaux : R
1
= R
2
(et
par suite L
1
,= L
2
). Soient [S
1
, T
1
] et [S
2
, T
2
] les sorties correspondantes, pour la
permutation considre. Alors, lattaquant peut simplement tester si S
1
S
2
=
L
1
L
2
. En eet, cette galit sur les les blocs S de sortie apparat pour tous les
messages dentre choisis de cette manire, quand la permutation est compose de
2 tours de schmas de Feistel. Cette mme galit apparat avec probabilit 1/2
n
dans le cas dune permutation alatoire.
Par consquent, nous avons une attaque clair choisi non adaptative (CPA-1)
ncessitant de lordre de 2 calculs.
2.1.2.2 KPA
Lattaque prcdente ncessite davoir des messages clairs vriant une certaine
galit sur leur blocs (en loccurence, R
1
= R
2
). Dans le cadre dune attaque clair
connu, les messages dentre ne peuvent plus tre choisis de la sorte. Par contre, par
le paradoxe de anniversaire, deux tels messages clairs ont un probabilit suprieure
1/2 dexister aprs la gnration de O
_
2
n/2
_
messages. Une fois les deux messages
[L
i
, R
i
] et [L
j
, R
j
] obtenus, avec R
i
= R
j
et L
i
,= L
j
, lattaquant peut terminer
lattaque comme dans le cas de la CPA-1 prcdente. Autrement dit, il teste si
S
i
S
j
= L
i
L
j
.
Il en rsulte une attaque deux points clair connu en O
_
2
n/2
_
calculs.
2.1.3 Trois tours
Comme annonc au dbut de ce chapitre, les attaques deux points dcrites
dans [Pat01] ne sappliquent pas lorsque les fonctions utilises sont des permuta-
tions, pour un nombre de tours suprieur ou gal trois.
La gure 2.3 reprsente trois tours de schmas de Feistel et peut permettre de
retrouver plus facilement les relations entre les blocs.
_
S = f
2
(f
1
(R) L) R
T = f
3
(S) f
1
(R) L
L X R
2 f 1 f
S
f
T
3
Figure 2.3:
3
(f
1
, f
2
, f
3
)
2.1. Meilleures attaques gnriques sur les premiers tours de schmas
de Feistel avec permutations internes 15
2.1.3.1 CPA-1
Commenons par dcrire une attaque clair choisi, non adaptative. Lattaquant
choisit des messages clairs dentre, [L
i
, R
i
] (dimage [S
i
, T
i
], par la permutation
considre), vriant : L
i
= L
j
et R
i
,= R
j
quand i ,= j. Ensuite, pour dirents
couples (i, j), il teste si les messages de sortie ont la proprit suivante : R
i
R
j
=
S
i
S
j
. La raison est que lorsque la permutation implique est 3 tours de schmas
de Feistel avec permutations internes, une telle galit napparat jamais. Si au
contraire, la permutation teste est une permutation alatoire, alors une collision
R
i
R
j
= S
i
S
j
, pour deux indices dirents i, j, arrive aprs valuation de
lordre de 2
n/2
messages.
Le deuxime rsultat concernant les permutations alatoires rsulte du paradoxe
des anniversaires. Focalisons-nous sur le rsultat concernant 3 tours de schma de
Feistel. Considrons la gure 2.3.
Supposons que pour deux indices dirents i, j, lgalit S
i
S
j
= R
i
R
j
a lieu.
La fonction f
2
tant une permutation, les valeurs internes X
i
et X
j
(cf. gure 2.3)
sont gales. En regardant au niveau de lentre de la permutation, le fait davoir
choisi L
i
= L
j
, comme f
1
est une permutation et X
i
= X
j
, implique R
i
= R
j
.
Or ceci est contradictoire avec le choix initial des messages. Ainsi, comme annonc,
avec le choix des messages dentre, lgalit S
i
S
j
= R
i
R
j
ne peut arriver pour
i ,= j.
Il en rsulte une attaque deux points clair choisi non adaptative (CPA-1),
ncessitant de lordre de 2
n/2
calculs.
2.1.3.2 KPA
Pour trois tours, la meilleure attaque clair connu (KPA) trouve ncessite
O(2
n
) calculs, tandis que O
_
2
n/2
_
messages taient susants pour lattaque gn-
rique sur 3 tours de schmas de Feistel avec fonctions internes [Pat01]. Ce phnomne
est expliqu au chapitre 3, paragraphe 4.2.2.2.
Lattaque est une adaptation de la CPA-1, comme dans le cas de la KPA sur
2 tours. Lattaquant attend de recevoir le nombre ncessaire de paires de messages
clairs dentre vriant, pour deux indices i et j distincts : L
i
= L
j
, R
i
,= R
j
. Cest
dire, pour la CPA-1 prcdente, il ncessite de lordre de 2
n/2
telles paires.
Par consquent, lattaque deux points clair connu dduite de la CPA-1 a une
complexit nale de lordre de 2
n
calculs.
2.1.3.3 Meilleure attaque CPCA-2 trois points.
Le cas dune attaque clair et chir choisis adaptative (CPCA-2) est un peu
particulier. Dans ce cas, il existe une attaque meilleure que les attaque deux points.
Ceci peut galement tre le cas pour dautres attaques sur dautres tours prsentes,
mais les attaques deux points sont notre connaissance celles donnant les meilleures
attaques.
16
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
Dans le cas de cette CPCA-2, lattaque sur trois tours de schmas de Feis-
tel avec fonctions internes, prsente dans [LR88] p.385, utilisant trois messages,
fonctionne encore lorsque lon remplace les fonctions par des permutations. Lat-
taque nest pas une attaque deux points, mais trois points. Lattaquant peut choisir
ses entres [L
i
, R
i
] et sorties [S
i
, T
i
] de la manire suivante : [L
1
, R
1
] et la sortie
[S
1
, T
1
] correspondante alatoires, puis [L
2
, R
2
] avec R
2
= R
1
, L
2
,= L
1
, et enn
[S
3
, T
3
] = [S
1
, T
1
L
1
L
2
]. Il peut alors simplement tester si R
3
= S
2
S
3
R
2
.
Dans le cas de trois tours dun schma de Feistel avec permutations internes, cette
galit arrive avec probabilit 1, alors que pour une permutation alatoire, une telle
galit apparat avec probabilit 1/2
n
.
On obtient bien une attaque deux points clair et chir choisis adaptative avec
seulement (de lordre de) trois calculs.
Remarque : Lorsque le nombre de messages mutiliss pour monter lattaque est petit
compar O
_
2
n/2
_
, il nest pas possible de distinguer une permutation alatoire
dune fonction alatoire. Pour un nombre de message en dessous de cette borne, les
attaques mises en jeu dans le cadre des schmas de Feistel nutilisent pas la bijectivit
ou non-bijectivit des fonctions impliques. Il est alors normal de retrouver les mmes
attaques. Cette remarque avait dj t faite au dbut de ce chapitre.
2.1.4 Quatre tours
Dans le cas de quatre tours (gure 2.4), les quations souhaites sur les blocs
dentre et de sortie an de monter les attaques, sont les mmes que dans le cas
de schmas de Feistel classiques ([Pat01] ou [AV96]). Cependant, les attaques sont
direntes, car elles nutilisent pas les mmes proprits du schma. Sur quatre
tours, et dans le cas des schmas de Feistel avec permutations internes alatoires,
les attaques sont par exemple toutes bases sur des direntielles impossibles, comme
pour la CPA-1 sur trois tours (sous-section 2.1.3). Pour quatre tours, les blocs de
sortie sont les suivants :
_
S = f
3
(f
2
(f
1
(R) L) R) f
1
(R) L
T = f
4
(S) f
2
(f
1
(R) L) R
L R
1 f
X X S
f
T
f f 2 3 4
1 2
Figure 2.4:
4
(f
1
, f
2
, f
3
, f
4
)
2.1. Meilleures attaques gnriques sur les premiers tours de schmas
de Feistel avec permutations internes 17
2.1.4.1 CPA-1
Pour monter une attaque chir choisi non adaptative, lattaquant peut par
exemple choisir dirents messages dentre [L
i
, R
i
], o les blocs de droite sont tous
gaux une valeur R
0
. Ensuite, il teste lgalit suivante sur les sorties, pour i ,= j :
L
i
L
j
= S
i
S
j
. Pour une permutation alatoire, par le paradoxe des anniversaires,
au bout de 2
n/2
valuations, une telle galit arrive avec une probabilit 1/2. Pour
quatre tours de schmas de Feistel, une telle conguration napparat pas.
Pour sassurer de lexistence cette direntielle impossible, considrons les quatre
permutations internes (f
1
, f
2
, f
3
, f
4
). Soit encore X la valeur f
2
(Lf
1
(R)) (le bloc
not X
2
dans la gure 2.4). Lgalit X
i
= X
j
, pour i ,= j, napparat jamais car
f
1
, f
2
sont des permutations et L
i
,= L
j
. Par suite, une autre galit napparaissant
pas est celle de R
i
X
i
et de R
j
X
j
. Or nous avons S
i
S
j
= f
3
(X
i
R
i
) L
i

f
3
(X
j
R
j
) L
j
. Comme f
3
est une permutation, il est impossible pour S
i
S
j
dtre gal L
i
L
j
.
On en dduit une attaque deux points, CPA1 en O
_
2
n/2
_
calculs.
2.1.4.2 KPA
La meilleure attaque clair connu trouve est une adaptation de la CPA-1
prcdente. Lattaquant peut attendre dobtenir O(2
n/2
) messages dentre vriant
L
i
= L
j
, puis appliquer lattaque prcdente. Cette attaque ncessite de lordre de
2
n
calculs.
2.1.5 Cinq tours
Pour cinq tours de schmas de Feistel avec permutations internes (gure 2.5 ci-
dessous), nous navons pas de meilleure attaque deux points que celle donne par
Knudsen, sur ces mmes schmas [Knu02]. Lattaque, comme pour celles prsentes
plus haut sur quatre tours, est base sur une conguration impossible.
_
S = f
4
(f
3
(f
2
(f
1
(R) L) R) f
1
(R) L) f
2
(f
1
(R) L) R
T = f
5
(S) f
3
(f
2
(f
1
(R) L) R) f
1
(R) L
R
1 f
X X
f f 2 3
1 2
L S X
3
f
T
f4 5
Figure 2.5:
5
(f
1
, f
2
, f
3
, f
4
, f
5
)
Plus prcisment, la direntielle impossible en question, pour cinq tours de
schma de Feistel avec permutations internes, est la suivante. Pour deux paires den-
tre/sorties ([L
1
, R
1
]/[S
1
, T
1
]) et ([L
2
, R
2
]/[S
2
, T
2
]), les galits suivantes ne peuvent
18
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
tre toutes vries la fois :
_

_
L
1
,= L
2
,
R
1
= R
2
,
S
1
= S
2
,
T
1
T
2
= L
1
L
2
.
En eet, regardons leet dventuelles telles galits sur les blocs, dans le cas
de cinq tours de schmas de Feistel. Lgalit S
1
= S
2
quivaut X
2
1
f
4
(X
3
1
) =
X
2
2
f
4
(X
3
2
) et T
1
T
2
= X
3
1
X
3
2
. Par ailleurs, lgalit R
1
= R
2
quivaut
L
1
L
2
= X
1
1
X
1
2
et X
2
1
X
2
2
= f
2
(X
1
1
) f
2
(X
1
2
). Utilisant ces nouvelles galits,
on a que T
1
T
2
= L
1
L
2
quivaut X
3
1
X
3
2
= X
1
1
X
1
2
. Or cette galit implique
X
2
1
= X
2
2
. Or, comme R
1
= R
2
, on a aussi X
1
1
X
1
2
= 0. On dduit que tous les
blocs sont gaux, jusquaux blocs dentre et de sortie, ce qui est absurde.
Dans le cas dune permutation alatoire, ces galits arrivent avec probabilit
environ 1/2
3n
entre deux messages. Par le paradoxe des anniversaires, on dduit
une attaque CPA-1 en 2
n
calculs (au bout de 2
n
valuations de messages [L
i
, R
0
],
R
0
constant, on attend davoir les galits sur les blocs de sortie avec probabilit
suprieur 1/2). On dduit galement une attaque KPA en 2
3n/2
calculs.
Autrement dit, il nexiste pas de quintuplet de permutations (f
1
, . . . , f
5
) B
5
n
,
telles quutilises comme fonctions internes, permettent dobtenir toutes ces galits
sur les blocs. Cette proprit, comme dans le cas de quatre tours, va tre exploite
pour dduire un distingueur entre cinq tours de schma de Feistel et une permutation
alatoire.
2.1.5.1 CPA-1
Une manire dexploiter cette direntielle impossible pour monter une attaque
clair choisi non adaptative est la suivante. Lattaquant peut choisir des entres dont
les blocs de droite et de gauche (les blocs L et R) vrient les deux premires des
conditions prcdentes. Il attend ensuite de voir sil obtient des sorties vriant les
deux dernires des conditions. Aprs avoir calcul 2
n
message, toutes les galits ont
une probabilit plus grande que 1/2 dtre vraies pour un certain coule de message,
dans le cas o la permutation est est une permutation alatoire. Dans le cas de cinq
tours de schma de Feistel, cela narrive pas, comme annonc plus haut.
Ainsi, il y a une attaque deux points clair choisi non adaptative en O(2
n
)
calculs.
2.1.5.2 KPA
Comme dans les cas prcdents, cette attaque clair choisi non adaptative peut
tre transforme en attaque clair connu (KPA). Lattaquant peut attendre quassez
de paires dentres soient gnres. On obtient alors une attaque de complexit
O(2
3n/2
) messages.
Remarque : Au-del de cinq tours, les meilleures attaques gnriques ne sont plus
bases sur une direntielle impossible. On peut le voir dj sur six tours la
2.2. Meilleures attaques gnriques, de complexit infrieure O
_
2
2n
_
sur les premiers tours de schmas du type Misty 19
section 3.2. Ceci se dduit galement de la valeur des coecients H, introduits au
chapitre 3.
2.2 Meilleures attaques gnriques, de complexit inf-
rieure O
_
2
2n
_
sur les premiers tours de schmas du
type Misty
Cette section est le pendant de la section 2.1, pour les schmas Misty L. Nous y
exposons directement les meilleures attaques gnriques pour les cinq premiers tours
de schmas du type Misty. Ici encore, nous nous intressons tout particulirement
aux attaques deux points. Ensuite, nous gnralisons ces attaques deux points au
chapitre 4 pour nimporte quel nombre de tours. Cependant, pour ces premiers
tours, nous donnons les attaques alternatives (non deux points) fournissant une
meilleure complexit dattaque quand nous en trouvons. Toutes ces attaques (et
mme certaines non exposes ici) peuvent tre trouves dans [NPT10]. Les attaques
sur les schmas du type Misty ont dj t prcdemment tudies, par consquent,
certaines des attaques exposes ci-dessous ou dans [NPT10] taient dj connues,
dautres sont issues de [NPT10].
Pour un tour, un seul calcul permet a priori de distinguer un schma du type
Misty dune permutation alatoire. Pour deux tours, les attaques deux points sont
les meilleures trouves. Pour trois tours, il existe une attaque deux points clair
connu de complexit O(2
n
) calculs, qui peut se transformer en attaque clair choisi
en O
_
2
n/2
_
. Mais sur trois tours, on montre quil existe une attaque quatre points
clair choisi ncessitant de lordre de 1 calculs, et une attaque clair et chirs
choisi trois points de complexit O(1) galement. Pour quatre tours, il ny a que le
cas de lattaque clair et chir choisis adaptative qui est de complexit meilleure
en quatre points plutt quen deux. Cette attaque est de complexit O(1) calculs,
compar O
_
2
n/2
_
(qui est aussi la complexit de lattaque clair choisi).
Pour cinq tours, nous verrons la sous-section 2.2.5 quil existe une attaque
clair choisi et clair connu de complexit 2
2n
. Ainsi, pour viter les attaques
gnriques de complexit infrieure 2
2n
calculs, au moins six tours de schmas
Misty L doivent tre utiliss. Ceci tait galement le cas pour les schmas de Feistel
(avec fonctions internes [Pat01] et permutations internes [TP09]). Cependant, Les
attaques taient alors des attaques deux points, tandis quici, cest une attaque
quatre points qui fournit la meilleure complexit
1
, les complexits fournies par les
attaques deux points tant alors toutes de complexit suprieure 2
2n
(voir la sous-
section 2.2.5 ou le chapitre 4).
2.2.1 Un tour
La gure 2.6 ci-dessous rappelle la structure dun schma du type Misty.
1. On a cette complexit galement avec une attaque par saturation, cf. sous-section 2.2.5.
20
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
L
1 f
R S T
=
Figure 2.6: M
1
L
(f
1
)
2.2.1.1 KPA
Aprs seulement un tour de schma du type Misty, nous avons que S = R. Cette
galit arrive donc avec probabilit 1 dans ce cas ; dans le cas dune permutation
alatoire, un telle galit entre deux blocs arrive avec probabilit 1/2
n
.
On dduit une attaque clair connu (KPA) en O(1) calculs.
2.2.2 Deux tours
Comme lindique la gure 2.7, pour deux tours de schmas Misty L, nous avons
les relations suivantes entre les blocs :
_
S = R f
1
(L)
T = f
2
(R) S
2 f
L
1 f
R S T
Figure 2.7: M
2
L
(f
1
, f
2
)
2.2.2.1 CPA-1
Dans le cadre dune attaque clair choisi sur deux tours de schmas du type
Misty, lattaquant peut par exemple choisir deux messages dentre [L
1
, R
1
] et
[L
2
, R
2
] tels que L
1
= L
2
(et R
1
,= R
2
). Lattaquant peut alors tester lagalit
R
1
R
2
= S
1
S
2
sur ses messages de sortie. Cette galit arrive avec proba-
bilit 1/2
n
dans le cas dune permutation alatoire, et avec probabilit 1 dans le
cas de M
2
L
. En eet, daprs les relations rappeles plus haut, on a pour M
2
L
:
S
1
S
2
= R
1
f
1
(L
1
) R
2
f
1
(L
2
) = R
1
R
2
(par le choix de L
1
et L
2
, et la
bijectivit de f
1
).
Ainsi, on dduit une attaque deux points clair choisi en O(1) calculs.
2.2. Meilleures attaques gnriques, de complexit infrieure O
_
2
2n
_
sur les premiers tours de schmas du type Misty 21
2.2.2.2 KPA
Lattaque prcdente peut tre transforme en attaque clair connu comme il a
t fait plusieurs fois dans le cas de schmas de Feistel la section 2.1. Lattaquant
ne peut pas choisir deux entres comme dans lattaque clair choisi, mais il peut
attendre de les obtenir. Par le paradoxe des anniversaires, au bout de O
_
2
n/2
_
messages, il obtiendra deux messages [L
i
, R
i
] et [L
j
, R
j
] avec une collision sur leur
bloc L. Il peut alors terminer lattaque comme dans le cas de la CPA-1, en testant
si S
i
S
j
= R
i
R
j
.
Ceci dcrit une attaque deux points clair connu en O
_
2
n/2
_
calculs.
2.2.3 Trois tours
2 f
L
1 f 3 f
R X
1
S T
Figure 2.8: M
3
L
(f
1
, f
2
, f
3
)
Ici, comme rappel dans la gure 2.8 :
_
S = f
1
(L) f
2
(R) R
T = f
3
(R f
1
(L)) S
2.2.3.1 CPA-1
Pour raliser une attaque clair choisi sur trois tours, lattaquant peut considrer
deux messages dentre [L
1
, R
1
] et [L
2
, R
2
] tels que L
1
= L
2
(et R
1
,= R
2
). Il
sintresse alors lquation suivante entre les blocs dentre et sortie : S
1
T
1
=
S
2
T
2
. Cette galit apparat avec probabilit 1/2
n
dans le cas dune permutation
alatoire et napparat jamais dans le cas de trois tours de schmas Misty L.
En eet, sommer les blocs S et T revient considrer f
3
(f
1
(L) R). Dans le
cas de trois tours de schmas Misty L, lgalit prcdente considre sur les blocs
de sortie, ne peut apparatre que si les entres de la permutation f
3
sont les mmes.
Autrement dit, S
1
T
1
= S
2
T
2
f
1
(L
1
) R
1
= f
1
(L
2
) R
2
. Comme L
1
et
L
2
sont choisis gaux par lattaquant, cette galit est encore quivalente lgalit
R
1
= R
2
. Or cette galit est impossible, car les messages sont initialement choisis
distinct.
Par suite, on dduit une attaque deux points clair choisi de complexit O
_
2
n/2
_
calculs. Ceci correspond par exemple au nombre de messages [L
0
, R
i
], avec L
0
un bloc
constant, ncessaire pour avoir une collision sur deux valeurs S T avec probabilit
> 1/2 (paradoxe des anniversaires) dans le cas dune permutation alatoire.
22
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
2.2.3.2 KPA
Lattaque prcdente peut se transformer en une attaque clair connu, par
le mme procd que celui utilis dans les autres attaques. Lattaquant cherche
savoir si, pour la permutation laquelle il a aaire, peuvent correspondre deux
entres/sorties [L
i
, R
i
]/[S
i
, T
i
] et [L
j
, R
j
, S
j
, T
j
] telles que L
i
= L
j
et S
i
T
i
=
S
j
T
j
. Si la permutation en question est une permutation alatoire, lvaluation de
2
n
messages devrait lui fournir deux telles entres/sorties avec probabilit suprieure
1/2. Ceci est encore d au paradoxe des anniversaire : lattaquant cherche avoir
une collision sur une valeur de taille 2n bits (deux blocs de n bits).
Par suite, on a une attaque deux points clair connu ncessitant lvaluation de
O(2
n
) messages.
2.2.3.3 Meilleure CPA-1, attaque quatre points
Nous intressons principalement aux attaques deux points. Mais notons tout de
mme que pour trois tours, il existe une CPA-1 meilleure en quatre points. Cette
attaque a t publie dans [SZ97] et ncessite seulement O(1) calculs en CPA-1.
Elle ne permet par contre pas davoir une KPA meilleure que celle prsente plus
haut.
Lattaquant peut choisir quatre messages dentre de la manire suivante :
[L
1
, R
1
], [L
2
, R
2
], [L
3
, R
3
] = [L
1
, R
2
] et [L
4
, R
4
] = [L
2
, R
1
]. Avec quatre tels mes-
sages, nous avons que lgalit suivante :
S
1
S
2
S
3
S
4
= 0,
est vrie avec probabilit 1 dans le cas dun schma du type Misty, et avec pro-
babilit 1/2
n
dans le cas dune permutation alatoire.
Voyons la raison dune telle galit dans le cas des schmas Misty L. Rappelons
que S = R f
1
(L) f
2
(R) (voir aussi la gure 2.8 ci-dessus). Par le choix des
messages dentre, sommer S
1
et S
4
donne f
1
(L
1
) f
1
(L
2
) (les blocs R tant les
mmes pour les deux messages dentre). De la mme manire, comme R
2
= R
3
, la
somme S
2
S
4
vaut galement f
1
(L
1
) f
1
(L
2
). Ainsi, la somme des quatre blocs
S est bien le bloc 0 pour tout choix de tels quatre messages.
Ceci montre quune CPA-1 quatre point en O(1) calculs existe. On peut driver
de cette attaque une KPA en 2
n
messages. Ceci vient du fait quil faut de lordre
de 2
2n
couples ([L
1
, R
1
], [L
2
, R
2
]) pour esprer avoir une collision entre deux couple
selon les quatre galits souhaites voir vries. Or 2
2n
tels couples peuvent tre
obtenus avec O(2
n
) messages [L, R].
2.2.3.4 Meilleure CPCA-2, attaque trois points
Nous indiquons une attaque clair et chir choisis adaptative, fonctionnant avec
seulement trois messages. Cette attaque sinspire des attaques de [Pat01] et [SZ97].
Lattaquant commence par valuer la permutation inconnue sur un message
dentre alatoire [L
1
, R
1
], et obtient [S
1
, T
1
]. Puis, il demande le dchirement
2.2. Meilleures attaques gnriques, de complexit infrieure O
_
2
2n
_
sur les premiers tours de schmas du type Misty 23
du message [S
2
, T
2
], vriant : T
1
S
1
= T
2
S
2
. Il obtient alors [L
2
, R
2
], tel que
f
1
(L
1
) R
1
= f
1
(L
2
) R
2
, si la permutation correspond trois tours de schmas
du type Misty. En eet, lgalit sur le bloc T S quivaut f
3
(f
1
(L
1
) R
1
) =
f
3
(f
1
(L
2
) R
2
). Par bijectivit de f
3
, on obtient bien lgalit sur les blocs dentre
annonce. Cette relation nest pas encore susante pour lui permettre de rali-
ser son attaque, car elle implique f
1
. Lattaquant value alors ensuite le message
[L
3
, R
3
] = [L
1
, R
2
], et obtient [S
3
, T
3
]. Cette fois, dans le cadre de trois tours de
schmas du type Misty, il a la relation suivante :
S
2
S
3
= f
2
(R
2
) f
2
(R
3
) f
1
(L
2
) f
1
(L
3
) R
2
R
3
= R
1
R
2
.
En eet, le choix de R
3
= R
2
limine quatre lments dans la somme ci-dessus. La
relation f
1
(L
1
) R
1
= f
1
(L
2
) R
2
permet de conclure.
Ainsi, pour un tel choix de messages, la relation S
2
S
3
= R
1
R
2
apparat
avec probabilit 1 dans le cas de trois tours de schmas Misty L. Dans le cas dune
permutation alatoire, cette mme galit apparat avec probabilit 1/2
n
environ.
Ceci fournit une attaque clair et chir choisis avec trois messages et une
complexit en calculs de lordre de 1.
3
1
R 2
X
1
L
Figure 2.9: Les galits utilises dans la CPCA-2 sur M
3
L
, avec trois messages
2.2.4 Quatre tours
2 f
L
1 f 3 f
R X
1
X
2
f4
S T
Figure 2.10: M
4
L
(f
1
, f
2
, f
3
, f
4
)
Dans le cas de quatre tours de schmas Misty L (gure 2.10) :
_
S = R f
1
(L) f
2
(R) f
3
(R f
1
(L))
T = f
4
(X
2
) = f
4
(R f
1
(L) f
2
(R)) S
24
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
2.2.4.1 CPA-1
Pour attaquer quatre tours de schmas Misty L, un attaquant, dans le cadre
dune attaque clair choisi choisi non-adaptative, peut raisonner comme suit. Consi-
drons deux messages [L
1
, R
1
] et [L
2
, R
2
], avec R
1
= R
2
(L
1
,= L
2
). Alors, dans le
cas de quatre tours de schmas Misty L, lgalit S
1
T
1
= S
2
T
2
ne se produit
jamais, alors que dans le cas dune permutation alatoire, cette galit se produit
avec probabilit 1/2
n
.
En eet, pour quatre tours de schmas Misty L, S T = f
4
(Rf
1
(L) f
2
(R))
(on peut se rfrer par exemple la gure 2.10). Revenons aux deux entres/sorties :
S
1
T
1
= S
2
T
2
R
1
f
1
(L
1
) f
2
(R
1
) = R
2
f
1
(L
2
) f
2
(R
2
), car f
4
est une
permutation. Finalement, avec le choix des entres comme prcdemment, on a bien
le rsultat annonc, car S
1
T
1
= S
2
T
2
L
1
= L
2
, qui est impossible.
Lattaquant peut alors exploiter cette dirence en gnrant de lordre de 2
n/2
messages [L
i
, R
0
], o R
0
est constant. Si la permutation teste est une permutation
alatoire, alors par le paradoxe des anniversaire avec probabilit suprieure 1/2,
il existe i ,= j, tels que S
i
T
i
= S
j
T
j
. Si la permutation teste est quatre tours
de schmas du type Misty, cela ne se produit pas.
On en dduit une attaque clair choisi non-adaptative en O
_
2
n/2
_
calculs.
2.2.4.2 KPA
La CPA-1 prcdente peut tre transforme en attaque clair connu. Lattaquant
calcule de lordre de 2
n
entres/sorties [L
i
, R
i
]/[L
j
, R
j
]. En eet, si la permutation
est alatoire, avec probabilit suprieure 1/2, il existera deux indices i ,= j pour
lesquels les messages correspondant vrient la fois la relation R
i
= R
j
et la
relation S
i
T
i
= S
j
T
j
. Si la permutation correspond quatre tours de schmas
Misty L, il ny aura pas deux tels indices.
La complexit de cette KPA est O(2
n
) calculs.
2.2.4.3 Meilleure CPCA-2, attaque quatre points
Lattaque qui suit est une attaque quatre points, utilisant quatre messages. Elle
est extraite de [SZ97].
Le premier message que lattaquant choisit est alatoire : soit [L
1
, R
1
] cette
entre et [S
1
, T
1
] la sortie obtenue. Puis, lattaquant peut demander lentre [L
2
, R
2
]
correspondant la sortie [S
2
, T
2
], telle que S
1
T
1
= S
2
T
2
. Il choisit les deux
messages dentre suivants comme suit : [L
3
, R
3
] = [L
1
, R
2
] et [L
4
, R
4
] = [L
2
, R
1
].
Alors, S
3
T
3
= S
4
T
4
apparat avec probabilit 1 dans le cas de quatre tours
de schmas du type Misty, et avec probabilit 1/2
n
dans le cas dune permutation
alatoire.
Montrons larmation concernant quatre tours de schmas du type Misty. Le
choix de [L
1
, R
1
]/[S
1
, T
1
] et [L
2
, R
2
]/[S
2
, T
2
] implique dj que les blocs X
2
(cf
gure 2.10, T = S f
4
(X
2
)) correspondant ces deux entres/sorties sont gaux,
car f
4
est une permutation. Ensuite, rappelons que dans lattaque quatre points sur
2.2. Meilleures attaques gnriques, de complexit infrieure O
_
2
2n
_
sur les premiers tours de schmas du type Misty 25
3
1
L L
R
R
X
2
X
2
S T
2
4
Figure 2.11: Les galits utilises dans la CPCA-2 sur M
4
L
, avec quatre messages
trois tours de la sous-section 2.2.3, les seules relations [L
1
, R
1
], [L
2
, R
2
] alatoires et
[L
3
, R
3
] = [L
1
, R
2
], [L
4
, R
4
] = [L
2
, R
1
], susaient conclure S
1
S
2
S
3
S
4
= 0.
Ici, dans le cas de quatre tours, cette somme nulle correspond X
2
1
X
2
2
X
2
3
X
2
4
=
0 (le bloc X
2
pour quatre tours est le bloc S pour trois tours). Nous avons donc :
X
2
1
= X
2
2
X
2
1
X
2
2
X
2
3
X
2
4
= 0
On peut dduire X
2
3
= X
2
4
. Par dnition de ce bloc, on a alors T
3
S
3
= T
4
T
4
.
Cette attaque fournit une CPCA-2 ncessitant quatre messages et O(1) cal-
culs. Elle peut tre transforme en CPA-1 et KPA de la mme manire que dhabi-
tude (voir les attaques CPA-1 prcdentes, et plus particulirement lattaque quatre
points sur trois tours sous-section 2.2.3). Cependant, les complexits respectives
alors obtenues ne sont pas meilleures que pour lattaque deux points prsente ci-
dessus. En CPA-1, ladaptation de cette attaque ncessite de lordre de 2
n/2
mes-
sages, car lattaquant attend davoir une collision sur les blocs S T de deux mes-
sages, puis il choisit les deux derniers messages pour monter son attaque. En KPA,
cette attaque se transforme en une attaque de complexit O
_
2
5n/4
_
: lattaquant
ncessite de lordre de 2
5n/2
paires ([L
i
, R
i
]/[S
i
, T
i
], [R
j
, L
j
]/[S
j
, T
j
]) (soit 2
5n/4
en-
tres/sorties alatoires) pour avoir de bonnes chances dobtenir deux paires (quatre
messages) avec une galit sur cinq blocs de taille n. Ces estimations comme dha-
bitude se dduisent du paradoxe des anniversaires.
2.2.5 Cinq tours
2 f
L
1 f 3 f
R X
1
X
2
X
3
f4
f5
T S
Figure 2.12:
5
(f
1
, f
2
, f
3
, f
4
, f
5
)
26
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
Ici
_
S = f
4
(f
1
(L) R f
2
(R)) f
3
(f
1
(L) R) f
2
(R) f
1
(L) R
T = S f
5
(f
3
(f
1
(L) R) f
2
(R) f
1
(L) R)
Pour cinq tours, les attaques gnriques deux points, CPA-1 ou KPA, sont de
complexit au moins O
_
2
2n
_
. Nous revenons sur ces attaques au chapitre 4, et plus
prcisment au paragraphe 4.1.2.2. Prsentons plutt une attaque quatre points, qui
fournit une complexit dattaque infrieure O
_
2
2n
_
.
2.2.5.1 CPA-1, quatre points
Lattaque expose consiste sintresser des quadruplets de messages du type
de ceux dj rencontrs dans des attaques prcdentes sur les Misty, savoir :
[L
1
, R
1
], [L
2
, R
2
], [L
2
, R
1
], [L
1
, R
2
] ([L
3
, R
3
] = [L
2
, R
1
] et [L
4
, R
4
] = [L
1
, R
2
]).
Comme pour les autres attaques, voyons que la probabilit davoir certaines
relations sur les blocs de sortie est dirente selon que la permutation utilise est une
permutation alatoire ou cinq tours de schmas Misty L. Les relations considres
sont les suivantes :
_
S
1
T
1
= S
4
T
4
S
2
T
2
= S
3
T
3
Dans le cas dune permutation alatoire, ces galits sur les blocs de sortie se
produisent avec probabilit
1
2
2n
.
Dans le cas de cinq tours de schmas Misty L, remarquons que :
_
S
1
T
1
= S
4
T
4
S
2
T
2
= S
3
T
3

_
X
3
1
= X
3
4
X
3
2
= X
3
3
,
car S T = f
5
(X
3
), et f
5
est une permutation.
On a encore les quivalences suivantes :
_
X
3
1
= X
3
4
X
3
2
= X
3
3

_
f
3
(X
1
1
) X
2
1
= f
3
(X
1
4
) X
2
4
f
3
(X
1
2
) X
2
2
= f
3
(X
1
3
) X
2
3

_
f
3
(f
1
(L
1
) R
1
) f
2
(R
1
) R
1
= f
3
(f
1
(L
1
) R
2
) f
2
(R
2
) R
2
f
3
(f
1
(L
2
) R
2
) f
2
(R
2
) R
2
= f
3
(f
1
(L
2
) R
1
) f
2
(R
1
) R
1
Nous avons que f
3
(f
1
(L
1
) R
1
)f
3
(f
1
(L
1
) R
2
) est forcment non nul (R
1
,=
R
2
) et chaque valeur non nulle est quiprobable. Ainsi, la probabilit davoir la
premire galit est
1
2
n
1
.
Maintenant, pour valuer la probabilit davoir les deux galits vries, va-
luons la probabilit davoir la deuxime galit vrie sachant que la premire lest
dj :
1. Si f
1
(L
1
) R
1
= f
1
(L
2
) R
2
, alors on a aussi f
1
(L
1
) R
2
= f
1
(L
2
) R
1
,
et la deuxime galit est automatiquement vrie si la premire lest. La
probabilit davoir cette galit est
1
2
n
1
.
2.2. Meilleures attaques gnriques, de complexit infrieure O
_
2
2n
_
sur les premiers tours de schmas du type Misty 27
2. Si f
1
(L
1
) R
1
,= f
1
(L
2
) R
2
, alors on a aussi f
1
(L
1
) R
2
,= f
1
(L
2
) R
1
,
et la probabilit davoir la deuxime galit sachant la premire vrie est
(2
n
2)1
(2
n
2)(2
n
3)
=
1
2
n
3
. (Remarquons que lon ne peut avoir f
1
(L
1
) R
1
=
f
1
(L
2
) R
1
.)
Ainsi, la probabilit conditionnelle cherche est
1
2
n
1
+
2
n
2
2
n
1

1
2
n
3
.
Finalement, la probabilit davoir les deux galits de vries dans le cas de
cinq tours de schmas Misty L est :
1
2
n
1

_
1
2
n
1
+
2
n
2
2
n
1

1
2
n
3
_
=
1
(2
n
1)
2
+
2
n
2
(2
n
1)
2
(2
n
3)
=
2
2
2n
+O
_
1
2
3n
_
Nous avons donc que cette probabilit est double pour cinq tours de schmas du
type Misty que pour une permutation alatoire. Voyons comment lattaquant peut
se servir de cette dirence pour monter une attaque.
Dans le cadre dune CPA-1, il peut par exemple xer deux valeurs L
1
et L
2
,
puis il value des messages [L
(1,i)
, R
(1,i)
] = [L
1
, R
i
] et [L
(2,i)
, R
(2,i)
] = [L
2
, R
i
]. Il
peut alors compter le nombre de quadruplets ((1, i), (2, j), (2, i), (1, j)) (i < j), pour
lesquels il obtient :
_
S
(1,i)
T
(1,i)
= S
(1,j)
T
(1,j)
S
(2,i)
T
(2,i)
= S
(2,j)
T
(2,j)
Ce nombre, tant dans le cas dune permutation alatoire que pour cinq tours
de schmas Misty L, devrait tre non nul au bout de O(2
n
) messages valus. En
eet, ceci provient du fait que 2
n
tels messages fournissent O
_
2
2n
_
quadruplets
considrer, et du calcul de probabilit fait plus haut. De plus, ds que ce nombre est
non nul, il est deux fois plus lev dans le cas de cinq tours de schmas Misty L que
dans le cas dune permutation alatoire, ce qui permet lattaquant de conclure.
On a donc une attaque CPA-1 en O(2
n
) calculs.
Cette attaque CPA-1 est illustre par les tests ci-dessous (table 2.1), o :
Nous avons considr des messages de 32 bits (blocs de longueur n = 16 bits).
La permutation alatoire a t simule par des schmas de Feistel, avec un
nombre de tours entre 20 et 50.
La table donne le nombre de quadruplets de messages obtenus (correspondant
des messages dindice (i, j, k, l)) prsentant les relations L
i
= L
l
, L
j
= L
k
, R
i
= R
k
,
R
j
= R
l
, S
i
T
i
= S
j
T
j
et S
k
T
k
= S
l
T
l
. Notons que nous navons considr
quun seul quadruplet parmi (i, j, k, l), (j, i, l, k), (l, k, j, i) et (k, l, i, j).
Remarque :
1. Dans [GM01], Gilbert et Minier prouvent une scurit en CPCA-2 pour M
5
L
,
lorsque m

2
n
.
2. Il existe une attaque CPA-1 par saturation en 2
n
calculs, relie aux attaques
de [KW02]. Cette attaque consiste valuer tous les messages [R
0
, L], pour
un R
0
x, par exemple, R
0
= 0. La somme de tous les blocs S obtenus
28
Chapitre 2. Meilleures Attaques Gnriques sur les Premiers Tours de
Schmas de Feistel avec Permutations Alatoires et Misty L
cas de M
5
L
cas dune
permutation alatoire
32
n
messages valus
{[L,R],L=a,b,c, RIn}
1 0.23
42
n
messages valus
{[L,R],L=a,b,c,d, RIn}
1.6 0.84
52
n
messages valus
{[L,R],L=a,b,c,d,e, RIn}
3.15 1.3
Table 2.1: Nombre moyen de quadruplets de messages (indices i, j, k, l) prsen-
tant les collisions S
i
T
i
= S
j
T
j
et S
k
T
k
= S
l
T
l
, dans le cadre dune attaque
CPA-1. Ce nombre est donn pour une permutation correspondant cinq tours de
schmas Misty L, et pour une permutation (suppose) alatoire.
donne 0 avec probabilit 1/2
n
dans le cas dune permutation alatoire, et avec
probabilit 1 dans le cas de cinq tours de schmas du type Misty.
En eet, pour cinq tours de schmas Misty L :
S = R f
1
(L) f
2
(R) f
3
(R f
1
(L)) f
4
(R f
1
(L) f
2
(R)).
Sommer 2
n
fois f
2
(R) ou R donne 0, car R est xe. Par ailleurs, R tant xe, et
toutes les fonctions intervenant tant des permutations, les 2
n
valeurs de sortie
possibles vont apparatre une fois pour chacune dentre elle. Or

BIn
B = 0
ds que n > 1. On dduit donc (avec nos notations) que

LIn
S = 0.
Notons par contre que ds que un bloc S se trouve modi, cette attaque
ne fonctionne plus. Lattaque deux points dcrite prcdemment est moins
sensible dventuelles modications des blocs de sortie.
2.2.5.2 KPA, quatre points
Lattaque prcdente se transforme en attaque clair connu. Lattaquant attend
dobtenir les six relations sur n bits chacune de lattaque CPA1, entre deux paires
de messages ([L
i
, R
i
]/[S
i
, T
i
], [L
j
, R
j
]/[S
j
, T
j
]) et ([L
k
, R
k
]/[S
k
, T
k
], [L
l
, R
l
]/[S
l
, T
l
]).
En gnrant de lordre de 2
3n
paires de messages, soit O
_
2
3n/2
_
messages, latta-
quant obtient avec forte probabilit au moins un quadruplet de messages avec les six
relations voulues (par le paradoxe des anniversaires), dans le cas dune permutation
alatoire. Ds que le nombre de quadruplets vriant les six relations voulues est
non nul, lattaquant peut distinguer entre une permutation alatoire et six tours de
schmas Misty L, car la probabilit davoir un tel quadruplet reste double dans le
cas de M
6
L
.
Cette attaque quatre points clair connu ncessite de lordre de 2
3n/2
messages.
Chapitre 3
Limitations de la Mthode Utilise
sur Les Premiers Tours, Principe
de lAnalyse Systmatique
Dans le chapitre 2, nous avons donn les meilleures attaques gnriques connues,
pour les cinq premiers tours de schmas de Feistel avec permutations internes, ou
pour les cinq premiers tours des schmas Misty L. Rappelons que nous cherchons
distinguer un schma (k tours de schmas de Feistel avec permutations internes ou
k tours de schmas Misty L) dune permutation alatoire. Pour ces premiers tours,
les attaques sont plus ou moins videntes. Cependant, nous navons pas simplement
donn une attaque deux points (ou trois ou quatre points) par nombre de tours :
concernant les attaques deux points du moins, nous prtendons avoir expos pour
chaque tour celle fournissant la meilleure complexit possible. En fait, lexpos des
attaques gnriques des sections 2.1 et 2.2 requiert, pour chaque nombre de tours,
de raliser toutes les attaques puis de slectionner celle fournissant la meilleure com-
plexit. Pour les attaques deux points, ceci consiste considrer chaque ensemble de
relations possible entre deux messages distincts dentre/sortie et raliser lattaque
correspondante (nous pouvons voir en annexe, sous-sections A.1.4 et A.2.4 quil y
a treize cas considrer par tour, tant pour les schmas de Feistel avec permuta-
tions internes que pour les schmas du type Misty). Ainsi, non seulement il y a un
certain nombre dattaques considrer par nombre de tours, mais en plus, ds que
le nombre de tours augmente, les relations entre les blocs dentre et de sortie ne
sont plus si videntes. Par exemple, les attaques gnriques sur cinq tours prc-
dentes (sous-sections 2.2.5 ou 2.1.5) restent abordables, mais nous verrons dans la
sous-section 3.2 ci-dessous, que raliser une attaque gnrique sur six tours de lun
ou lautre des schmas devient fastidieux.
Si nous souhaitons continuer lanalyse des attaques deux points pour un nombre
de tours suprieurs, ou simplement pour valider larmation que les attaques des
sections 2.1 et 2.2 sont celles donnant les meilleures complexits, il serait bon de trou-
ver une mthode gnrale pour obtenir rapidement toutes les attaques gnriques
deux points possibles. Dans ce chapitre, nous prsentons une telle mthode pour
lanalyse systmatique des attaques gnriques deux points pour les deux schmas
auxquels nous nous intressons, savoir les schmas de Feistel avec permutations in-
ternes et les schmas Misty L. Lanalyse systmatique des attaques gnriques deux
points consiste balayer tous les ensembles de relations possibles entre les blocs de
deux entres/sorties distinctes, et pour chacun dentre eux, valuer la complexit de
30
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
lattaque correspondante. Par consquent, comme toutes les relations possibles sont
prises en compte pour un nombre de tours donn, on peut dtacher avec certitude
de toutes ces attaques la meilleure attaque deux points.
Lide globale concernant une manire de gnraliser les attaques du chapitre 2
est donne la section 3.1. Les sous-sections 3.2.1 et 3.2.2 illustrent cette section 3.1,
en donnant des attaques gnriques sur six tours pour les deux schmas. Ces deux
exemples permettent aussi de mieux comprendre les dtails plus techniques de lex-
pos de lanalyse systmatique, fait aux sections 3.3 et 3.4. Dans ce chapitre est
introduite la notion de coecient H (section 3.3, denition 8), qui est une notion
cl pour lvaluation de la complexit des attaques, comme expliqu aux sections 3.3
et 3.4. En rsum, le coecient H pour deux entres/sorties distinctes, correspond
au nombre de k-uplets de fonctions (dans notre cas, permutations) internes dun
schma k tours, pouvant faire correspondre les deux entres/sorties pour ledit
schma. La section 3.5 prsente une manire de calculer ces coecients H pour
les schmas de Feistel avec permutations internes ou les schmas Misty L, rsume
au thorme 1 de la sous-section 3.5.2. Lapplication de cette approche aux deux
schmas est faite en annexe A.
Gardons en tte que nous nous intressons aux attaques gnriques deux points
pour les schmas de Feistel avec permutations internes alatoires (nots
k
, pour k
tours), ainsi quaux schmas Misty L (nots M
k
L
, pour k tours). Dans la prsentation
qui suit, les propositions seront modeles pour ces deux schmas (notamment, les
fonctions internes sont dans les deux cas des permutations). Pour le cas dautres
schmas, cette analyse devrait sans doute tre modie.
Notons enn que lorsque le nombre de calculs ncessaires pour raliser lattaque
est plus grand que le nombre total dentres, nous attaquons un gnrateur de per-
mutations. Ces attaques consistent alors distinguer un gnrateur de permutations

k
, ou M
k
L
, dun gnrateur de permutations alatoires paires. La raison pour cela
est que les permutations
k
et M
k
L
sont paires, et lon peut les distinguer en O
_
2
2n
_
calculs dune permutation alatoire quelconque.
Sommaire
3.1 Ide de la mthode gnrale . . . . . . . . . . . . . . . . . . . 31
3.2 Illustrations : attaques gnriques sur six tours de schmas
Misty L et six tours de schmas de Feistel avec permuta-
tions internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 Illustration 1 : attaque gnrique sur six tours de schmas
Misty L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.2 Illustration 2 : attaque gnrique sur six tours de schmas de
Feistel avec permutations internes . . . . . . . . . . . . . . . 36
3.3 Probabilits P
r
, P

k et P
M
k
L
, Coecients H . . . . . . . . . . 41
3.4 Implication des probabilits P
r
et P

k ou P
M
k
L
dans les at-
taques deux points . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.1 Attaque dune permutation . . . . . . . . . . . . . . . . . . . 47
3.4.2 Attaque dun gnrateur de permutations . . . . . . . . . . . 49
3.4.3 Choix de lensemble de relations menant la meilleure attaque 50
3.1. Ide de la mthode gnrale 31
3.5 Rsultats gnraux pour le calcul direct des coecients H 50
3.5.1 Familiarisation avec des objets en relation avec les schmas
considrs, blocs internes et squences 1 . . . . . . . . . . . . 51
3.5.2 Thorme gnral sur lexpression du coecient H . . . . . . 54
3.1 Ide de la mthode gnrale
La mthode pour trouver les meilleures attaques gnriques deux points est ins-
pire des travaux prsents dans [PNB06a]. On peut aussi la retrouver dans [TP09].
Essayons danalyser les attaques faites dans les sections 2.1 et 2.2 du chapitre 2.
Dans ces attaques, lattaquant est confront une permutation bote noire, qui
est soit une permutation alatoire de I
2n
, soit une permutation ayant une structure
particulire, notamment un schma de Feistel avec permutations internes ou un
schma Misty L, selon la situation. Le but de lattaquant est de dterminer avec forte
probabilit laquelle de la permutation alatoire ou de la permutation structure il a
aaire. Lattaquant, pour raliser ceci et dans le cadre dune attaque deux points,
choisit deux entres [L
1
, R
1
] ,= [L
2
, R
2
], et utilise la bote noire pour calculer les
sorties qui leur correspondent, [S
1
, T
1
] et [S
2
, T
2
]. Il espre voir apparatre certaines
relations entre les blocs de ces entres et sorties, tout comme dans les attaques
du chapitre 2. Ces relations se produisent avec une certaine probabilit, qui dire
selon que la permutation teste est une permutation alatoire ou non. Au bout dun
certain nombre de messages valus, la dirence de probabilit dobtenir certaines
relations rsulte en une dirence du nombre de paires vriant ces relations. Par
suite, pour un nombre signiant de couples de messages calculs, lattaquant dduit
la permutation en jeu, ce qui termine lattaque.
Ainsi, nous nous intressons la probabilit qua lattaquant davoir des relations
particulires sur des paires dentres/sorties [L
1
, R
1
]/[S
1
, T
1
] ,= [L
2
, R
2
]/[S
2
, T
2
].
Cette probabilit est note P
r
dans le cas dune permutation alatoire, P

k dans
le cas dun schma de Feistel avec permutations internes alatoires, et P
M
k
L
dans le
cas de k tours de schmas Misty L avec permutations internes alatoires. Avant de
rentrer dans les dtails, intressons-nous au cas k = 6, qui na pas t trait dans
les attaques des sections 2.1 et 2.2.
3.2 Illustrations : attaques gnriques sur six tours de
schmas Misty L et six tours de schmas de Feistel
avec permutations internes
Pour six tours, lanalyse des attaques est dj plus dlicate que pour un nombre
de tours infrieurs (voir chapitre 2). Ceci est d au fait que plus le nombre de
tours de schmas est grand, plus il est dicile de voir les relations entre les blocs
32
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
dentre et de sortie. Les deux exemples ci-dessous sont importants car ils motivent
la formalisation de la sous-section 3.3 qui suit.
3.2.1 Illustration 1 : attaque gnrique sur six tours de schmas
Misty L
La gure 3.1 reprsente six tours de schmas Misty L.
2 f
L
1 f 3 f
f4 f6
R X
1
X
2
X
f5
T S X
3 4
Figure 3.1: M
6
L
(f
1
, f
2
, f
3
, f
4
, f
5
, f
6
)
3.2.1.1 Une proprit pour M
6
L
Proposition 1 Soient [L
1
, R
1
] et [L
2
, R
2
] deux messages tels que R
1
= R
2
et L
1
,=
L
2
. Notons [S
1
, T
1
] et [S
2
, T
2
] les sorties respectives de ces deux messages par une
permutation. Soit P
r
la probabilit davoir S
1
T
1
= S
2
T
2
si la permutation
correspond une permutation alatoire. Soit encore P
M
6
L
la probabilit davoir S
1

T
1
= S
2
T
2
si la permutation correspond six tours de schmas Misty L avec
permutations internes (f
1
, f
2
, f
3
, f
4
, f
5
, f
6
). On a :
P
r
=
1
2
n

1
2
2n
+O
_
1
2
3n
_
,
P
M
6
L
=
1
2
n

1
2
3n
+O
_
1
2
4n
_
.
Dmonstration : :
Dans le cas dune permutation alatoire, remarquons quil y a 2
2n
(2
2n
1) possibilits
pour la paire ([S
1
, T
1
], [S
2
, T
2
]), les deux sorties [S
1
, T
1
] et [S
2
, T
2
] tant distinctes
car les entres sont distinctes. Parmi ces possibilits, 2
2n
(2
n
1) vrient lgalit
S
1
T
1
= S
2
T
2
. En eet, pour nimporte quelle valeur prise par [S
1
, T
1
] parmi les
2
2n
possibles, il y a encore 2
n
1 valeurs possibles pour S
2
(qui doit tre dirent
de S
1
, pour ne pas que les messages de sorties soient gaux) et la valeur de T
2
est
alors xe par la relation. Ainsi :
P
r
=
2
2n
(2
n
1)
2
2n
(2
2n
1)
=
2
n
1
2
2n
1
=
1
2
n
+1
=
1
2
n

1
2
2n
+O
_
1
2
3n
_
.
Dans le cas de six tours de schmas Misty L, notons tout dabord que :
R
1
= R
2

_
f
1
(L
1
) f
1
(L
2
) = X
1
1
X
1
2
X
2
1
X
2
2
= X
1
1
X
1
2
.
3.2. Illustrations : attaques gnriques sur six tours de schmas Misty
L et six tours de schmas de Feistel avec permutations internes 33
Maintenant :
S
1
T
1
= S
2
T
2
f
6
(X
4
1
) = f
6
(X
4
2
)
X
4
1
= X
4
2
f
4
(X
2
1
) X
3
1
= f
4
(X
2
2
) X
3
2
f
4
_
f
2
(R
1
) X
1
1
_
f
3
(X
1
1
) X
2
1
= f
4
_
f
2
(R
2
) X
1
2
_
f
3
(X
1
2
) X
2
2
f
4
(f
2
(R
1
) f
1
(L
1
) R
1
) f
3
(f
1
(L
1
) R
1
) f
1
(L
1
)
= f
4
(f
2
(R
2
) f
1
(L
2
) R
2
) f
3
(f
1
(L
2
) R
2
) f
1
(L
2
).
Considrons dans un premier temps la probabilit P
part
que f
1
(L
1
) f
3
(f
1
(L
1
)
R
1
) = f
1
(L
2
) f
3
(f
1
(L
2
) R
2
). L
1
,= L
2
et f
1
est une permutation alatoire donc
f
1
(L
1
) f
1
(L
2
) peut prendre 2
n
1 valeurs, chacune avec la mme probabilit.
Nous avons aussi 2
n
1 valeurs possibles quiprobables pour f
3
(f
1
(L
1
) R
1

f
3
(f
1
(L
2
) R
2
. En eet, R
1
= R
2
, L
1
,= L
2
et f
1
est une permutation alatoire,
donc f
1
(L
1
) R
1
,= f
1
(L
2
) R
2
. Comme f
3
est une permutation alatoire, on a
bien 2
n
1 valeurs possibles quiprobables pour f
3
(f
1
(L
1
) R
1
f
3
(f
1
(L
2
) R
2
).
Finalement, la probabilit P
part
vaut P
part
=
1
2
n
1
.
Si f
1
(L
1
) f
3
(f
1
(L
1
) R
1
) = f
1
(L
2
) f
3
(f
1
(L
2
) R
2
) : S
1
T
1
= S
2
T
2

f
1
(L
1
) = f
1
(L
2
), par bijectivit de f
4
, ce qui qui est impossible.
Si f
1
(L
1
) f
3
(f
1
(L
1
) R
1
) f
1
(L
2
) f
3
(f
1
(L
2
) R
2
) = c ,= 0 : S
1
T
1
=
S
2
T
2
f
4
(f
2
(R
1
) f
1
(L
1
) R
1
) f
4
(f
2
(R
2
) f
1
(L
2
) R
2
) = c. Pour chaque
valeur de c, cette galit arrive avec probabilit
1
2
n
1
, car f
2
(R
1
) f
1
(L
1
) R
1
,=
f
2
(R
2
) f
1
(L
2
) R
2
par bijectivit de f
1
, et f
4
est une permutation alatoire.
On peut alors conclure que :
P
M
6
L
= (1 P
part
)
1
2
n
1
=
_
1
1
2
n
1
_

1
2
n
1
=
_
1
1
2
n
1
11/2
n
_

1
2
n
1
11/2
n
=
_
1
1
2
n
(1 +
1
2
n
+
1
2
2n
+O
_
1
2
3n
__

1
2
n
_
1 +
1
2
n
+
1
2
2n
+O
_
1
2
3n
__
=
_
1 (
1
2
n
+
1
2
2n
+
1
2
3n
+O
_
1
2
4n
__

_
1
2
n
+
1
2
2n
+
1
2
3n
+O
_
1
2
4n
__
=
_
1
2
n
+
1
2
2n
+
1
2
3n
+O
_
1
2
4n
__

_
1
2
2n
+
1
2
3n
+O
_
1
2
4n
__

_
1
2
3n
+O
_
1
2
4n
__
+O
_
1
2
4n
_
=
1
2
n

1
2
3n
+O
_
1
2
4n
_
.

3.2.1.2 KPA
La proposition 1 prcdente nous permet de dduire une attaque. De plus amples
explications sur la manire de dduire une attaque de lvaluation des probabilits
comme dans la proposition 1, sont donnes la section 3.4. Nous exposons ici di-
rectement lattaque. On pourra aussi se rfrer cet exemple lors de la lecture de
cette section 3.4.
34
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
Supposons lattaquant en connaissance de lordre de m messages, ou
m(m1)
2
paires de messages ([L
i
, R
i
]/[S
i
, T
i
], [L
j
, R
j
]/[S
j
, T
j
] (m sera dtermin la n de
lanalyse). Il peut compter, parmi ces paires de messages, combien dentre elles
vrient toutes les relations de la proposition 1 :
_
R
i
= R
j
L
i
,= L
j
_
T
i
,= T
j
S
i
S
j
= T
i
T
j
.
Notons X
r
le nombre de paires vriant ces relations dans le cas dune permu-
tation alatoire. Daprs la proposition 1, on a :
E(X
r
) =
m(m1)
2

2
2n
(2
n
1)
2
2n
(2
2n
1)
P
r
=
m(m1)
2

1
2
n
+1
(
1
2
n

1
2
2n
+O
_
1
2
3n
_
)
=
m(m1)
2
(
1
2
n

1
2
2n
+O
_
1
2
3n
_
) (
1
2
n

1
2
2n
+O
_
1
2
3n
_
)
=
m(m1)
2
(
1
2
2n

2
2
3n
+
1
2
4n
+O
_
1
2
5n
_
).
Passons lcart type. La justication de lapproximation suivante est donne la
section 3.4, nous ladmettons pour le moment :
(X
r
) = O
_
_
E(X
r
)
_
= O
_
_
m(m1)
2

1
2
2n
_
= O
_
_
m(m1)
2
1
2
n
_
.
Notons X
M
6
L
le nombre de paires vriant les relations de la proposition 1 dans le
cas de six tours de schmas Misty L avec permutations internes alatoires. Toujours
daprs la proposition 1, on a :
E(X
M
6
L
) =
m(m1)
2

2
2n
(2
n
1)
2
2n
(2
2n
1)
P
M
6
L
=
m(m1)
2

1
2
n
+1
(
1
2
n
O
_
1
2
3n
_
)
=
m(m1)
2
(
1
2
n

1
2
2n
+O
_
1
2
3n
_
) (
1
2
n
O
_
1
2
3n
_
)
=
m(m1)
2
(
1
2
2n

1
2
3n
+O
_
1
2
4n
_
),
et lon approxime :
(X
M
6
L
) = O
__
E(X
M
6
L
)
_
= O
_
_
m(m1)
2

1
2
n
_
.
Lattaquant peut distinguer M
6
L
dune permutation alatoire lorsque
1
:
[E(X
r
) E(X
M
6
L
)[ > (X
r
) +(X
M
6
L
)

m(m1)
2

1
2
3n
>
_
m(m1)
2
1
2
n

m(m1)
2
> 2
4n
.
1. Toutes les justications sont donnes section 3.4
3.2. Illustrations : attaques gnriques sur six tours de schmas Misty
L et six tours de schmas de Feistel avec permutations internes 35
Lorsque lon attaque une seule permutation M
6
L
, le nombre de messages quil
est possible dvaluer est 2
2n
(les messages sont sur n bits). La complexit de cette
attaque est de O
_
2
2n
_
, ainsi lorsquune seule permutation est utilise, cette attaque
a une probabilit non ngligeable de succs, mais si lon veut avoir une probabilit
de succs plus grande, nous supposons attaquer un gnrateur de permutations M
6
L
.
Pour plus de dtails, voir la sous-section 3.4.2.
3.2.1.3 CPA-1
La mme attaque en CPA-1, ne fournit pas une meilleure complexit. Lintui-
tion de cela est que lorsque lon attaque un gnrateur de permutations, on utilise
toutes les entres possibles de chaque permutation. Ceci est dtaill plus loin, la
section 3.4. Ainsi, une attaque CPA-1 ou KPA donne la mme complexit.
Remarque :
1. Il existe une attaque quatre points sur M
6
L
qui fournit des attaques avec la
mme complexit que lattaque deux points ci-dessus. Pour quatre messages
distincts [L
1
, R
1
]/[S
1
, T
1
], [L
2
, R
2
]/[S
2
, T
2
], [L
3
, R
3
]/[S
3
, T
3
], [L
4
, R
4
]/[S
4
, T
4
],
cette attaque exploite les relations :
_

_
L
1
= L
3
L
2
= L
4
R
1
= R
4
R
2
= R
3
S
1
T
1
= S
4
T
4
S
2
T
2
= S
3
T
3
,
comme les autres attaques quatre points prsentes sur les schmas Misty L (cf.
section 2.2, sous-sections 2.2.3, 2.2.4 et 2.2.5). Cette attaque peut se trouver
dans [NPT09].
2. Il existe une attaque par saturation similaire celle indique pour cinq tours
(sous-section 2.2.5 de la section 2.2). Cette attaque consiste compter le
nombre de paires de messages ([L
1
, R
1
], [L
2
, R
2
]), telles que :
_
R
1
= R
2
S
1
T
1
= S
2
T
2
.
Dans le cas de six tours de schmas Misty L, soit ([L
1
, R
1
], [L
2
, R
2
]) une paire
de messages dentre vriant ces relations. Alors la paire ([L

1
, R

1
], [L

2
, R

2
]),
o :
_
f
1
(L

1
) R

1
= X
1
2
, f
2
(R

1
) X
1
2
= X
2
1
,
f
1
(L

2
) R

2
= X
1
1
, f
2
(R

2
) X
1
1
= X
2
2
,
va galement vrier ces relations. Ceci gure dans [NPT09]. Ainsi, en som-
mant sur toutes les entres possibles, dans le cas de six tours de schmas
Misty L, le nombre de paires vriant ces relations est toujours pair. Dans
le cas dune permutation alatoire, ce nombre est pair avec probabilit 1/2.
36
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
Cette attaque fonctionne avec probabilit O
_
2
2n
_
, tout comme lattaque deux
points prcdente. Cependant, et la dirence de celle-ci, cette attaque est
sensible une modication de quelques valeurs. ceci est le mme phnomne
observ pour lattaque par saturation sur cinq tours de la sous-section 2.2.5.
Pour les schmas Misty L, six tours est le nombre de tours maximal pour lequel
on connaisse des attaques en O
_
2
2n
_
calculs permettant de distinguer M
k
L
ou des
gnrateurs de permutations M
k
L
, lorsque plus dune permutation est utilise de
permutations alatoires avec signature paire.
3.2.2 Illustration 2 : attaque gnrique sur six tours de schmas
de Feistel avec permutations internes
Six tours de schmas de Feistel correspondent la gure 3.2. On a les relations
suivantes :
_
_
_
S = f
5
(f
4
(f
3
(f
2
(f
1
(L) R) R) f
1
(R) L) f
2
(f
1
(R) L))
f
3
(f
2
(f
1
(R) L) R) f
1
(R) L
T = f
6
(S) f
4
(f
3
(f
2
(f
1
(R) L) R) f
1
(R) L) f
2
(f
1
(R) L)
f4 f5 f6 R
1 f
X X
f f 2 3
1 2
L X
3
T S X
4
Figure 3.2:
6
(f
1
, f
2
, f
3
, f
4
, f
5
, f
6
)
3.2.2.1 Une proprit pour
6
Proposition 2 Soient [L
1
, R
1
] et [L
2
, R
2
] deux messages tels que R
1
= R
2
et L
1
,=
L
2
, et [S
1
, T
1
] et [S
2
, T
2
] les images respectives de ces messages par une permutation.
Notons P
r
la probabilit que S
1
S
2
= L
1
L
2
et T
1
= T
2
lorsque la permutation
est une permutation alatoire. Soit aussi P

6 la probabilit davoir ces deux mmes


relations sur les blocs de sortie lorsque la permutation correspond six tours de
schmas de Feistel avec permutations internes (f
1
, f
2
, f
3
, f
4
, f
5
, f
6
). Nous avons :
P
r
=
1
2
2n
+O
_
1
2
4n
_
,
P

6 =
1
2
2n
+
1
2
3n
+O
_
1
2
4n
_
.
Dmonstration :
Pour une permutation alatoire, le nombre de possibilits totales pour
([S
1
, T
1
], [S
2
, T
2
]) est 2
2n
(2
2n
1), car les messages dentre sont distincts. Le
3.2. Illustrations : attaques gnriques sur six tours de schmas Misty
L et six tours de schmas de Feistel avec permutations internes 37
nombre de telles deux sorties vriant T
1
= T
2
et S
1
S
2
= L
1
L
2
est 2
n
2
n
= 2
2n
.
Ainsi :
P
r
=
2
2n
2
2n
(2
2n
1)
=
1
2
2n
1
=
1
2
2n

1
1 1/2
2n
=
1
2
2n

_
1 +
1
2
2n
+
1
2
4n
+
1
2
6n
+. . .
_
=
1
2
2n
+O
_
1
2
4n
_
.
Pour six tours de schmas de Feistel, notons tout dabord que :
R
1
= R
2

_
L
1
L
2
= X
1
1
X
1
2
X
2
1
X
2
2
= f
2
(X
1
1
) f
2
(X
2
2
).
Maintenant, avec ces relations, considrons les galit S
1
L
1
S
2
L
2
= 0 et
T
1
= T
2
.
1. Notons P
part
la probabilit davoir S
1
L
1
S
2
L
2
= 0. Nous avons la suite
dquivalences suivante pour S
1
L
1
S
2
L
2
= 0 :
S
1
L
1
S
2
L
2
= 0
f
5
(X
4
1
) X
3
1
L
1
f
5
(X
4
2
) X
3
2
L
2
= 0
f
5
_
f
4
(X
3
1
) X
2
1
_
f
3
(X
2
1
) X
1
1
L
1
= f
5
_
f
4
(X
3
2
) X
2
2
_
f
3
(X
2
2
) X
1
2
L
2
f
5
_
f
4
(f
3
(X
2
1
) X
1
1
) f
2
(X
1
1
) R
1
_
f
3
_
f
2
(X
1
1
) R
1
_
= f
5
_
f
4
(f
3
(X
2
2
) X
1
2
) f
2
(X
1
2
) R
2
_
f
3
_
f
2
(X
1
2
) R
2
_
= 0
f
5
_
f
4
(f
3
(f
2
(X
1
1
) R
1
) f
1
(R
1
) L
1
f
2
(f
1
(R
1
) L
1
) R
1
_
f
3
(f
2
(f
1
(R
1
) L
1
) R
1
)
= f
5
_
f
4
(f
3
(f
2
(X
1
2
) R
2
) f
1
(R
2
) L
2
f
2
(f
1
(R
2
) L
2
) R
2
_
f
3
(f
2
(f
1
(R
2
) L
2
) R
2
)
f
5
(f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
f
2
(f
1
(R
1
) L
1
)
R
1
) f
3
(f
2
(f
1
(R
1
) L
1
) R
1
)
= f
5
(f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) f
1
(R
2
) L
2
f
2
(f
1
(R
2
) L
2
)
R
2
) f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) .
Remarquons que f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) est forcment dirent
de f
3
(f
2
(f
1
(R
2
) L
2
) R
2
). De plus, f
3
(f
2
(f
1
(R
1
) L
1
) R
1
)
f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) prend chaque valeur non nulle avec mme
probabilit
1
2
n
1
. En eet, f
2
(f
1
(R
1
) L
1
) ,= f
2
(f
1
(R
2
) L
2
)
car f
1
(R
1
) = f
1
(R
2
), L
1
,= L
2
et f
2
est bijective. Par suite
38
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
f
2
(f
1
(R
1
) L
1
) R
1
,= f
2
(f
1
(R
2
) L
2
) R
2
et lon a le rsultat car
f
3
est une permutation alatoire.
Par suite, S
1
S
2
= L
1
L
2
ne peut arriver si
f
5
(f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
f
2
(f
1
(R
1
) L
1
) R
1
)
= f
5
(f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) f
1
(R
2
) L
2
f
2
(f
1
(R
2
) L
2
) R
2
) .
Or, on a le lemme suivant :
Lemme 1 la probabilit davoir :
f
5
(f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
f
2
(f
1
(R
1
) L
1
) R
1
)
= f
5
(f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) f
1
(R
2
) L
2
f
2
(f
1
(R
2
) L
2
) R
2
) ,
est
_
1
1
2
n
1
_

1
2
n
1
.
Dmonstration : Pour sen convaincre, voyons les quivalences suivantes :
f
5
(f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
f
2
(f
1
(R
1
) L
1
) R
1
)
= f
5
(f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) f
1
(R
2
) L
2
f
2
(f
1
(R
2
) L
2
) R
2
)
f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
)
f
2
(f
1
(R
1
) L
1
) R
1
= f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) f
1
(R
2
) L
2
)
f
2
(f
1
(R
2
) L
2
) R
2
f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
) f
2
(f
1
(R
1
) L
1
)
= f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) f
1
(R
2
) L
2
) f
2
(f
1
(R
2
) L
2
).
Maintenant, notons que f
2
(f
1
(R
1
) L
1
) ,= f
2
(f
1
(R
2
) L
2
), car f
1
(R
1
) L
1
,=
f
2
(R
2
) L
2
, et f
2
est une permutation alatoire. Pour les mmes raisons, les
valeurs possibles pour f
2
(f
1
(R
1
)L
1
)f
2
(f
1
(R
2
)L
2
) sont toutes les valeurs
non nulles et leur probabilit est
1
2
n
1
.
La probabilit davoir f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
) =
f
4
(f
3
(f
2
(f
1
(R
2
)L
2
)R
2
)f
1
(R
2
)L
2
) est la probabilit que f
3
(f
2
(f
1
(R
1
)
L
1
) R
1
) f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) = L
1
L
2
. Or cette probabilit est
1
2
n
1
(on a dj vu que ces images de f
3
sont distinctes et quiprobables).
Lorsque cette galit sur les images de f
4
a lieu, alors lgalit du lemme impli-
quant f
5
est impossible, car f
2
(f
1
(R
1
) L
1
) ,= f
2
(f
1
(R
2
) L
2
). Lorsque lga-
lit prcdente sur les images de f
4
na pas lieu, alors lgalit du lemme arrive
avec probabilit
1
2
n
1
, car la probabilit pour f
2
(f
1
(R
1
)L
1
)f
2
(f
1
(R
2
)L
2
)
de prendre nimporte quelle valeur non nulle est
1
2
n
1
.
Ainsi, la probabilit recherche est bien
_
1
1
2
n
1
_

1
2
n
1
.
Revenons la probabilit P
part
davoir S
1
S
2
= L
1
L
2
. Celle-ci vaut alors :
P
part
=
_
1
_
1
1
2
n
1
_

1
2
n
1
_

1
2
n
1
.
3.2. Illustrations : attaques gnriques sur six tours de schmas Misty
L et six tours de schmas de Feistel avec permutations internes 39
Entre parenthses, on a la probabilit de ne pas avoir lgalit du lemme 1 sur
les images de f
5
. Lautre valeur,
1
2
n
1
, est la probabilit pour
f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) de prendre une valeur
non nulle xe.
Cette probabilit peut encore scrire :
P
part
=
_
1
_
1
1
2
n
1
__

1
2
n
1
=
1
(2
n
1)

1
(2
n
1)
2
+
1
(2
n
1)
3
.
2. Passons lautre galit :
T
1
T
2
= 0
f
6
(S
1
) X
4
1
f
6
(S
2
) X
4
2
= 0
f
6
(S
1
) f
4
(X
3
1
) X
2
1
f
6
(S
1
) f
4
(X
3
2
) X
2
2
= 0
f
6
(S
1
) f
4
_
f
3
(X
2
1
) X
1
1
_
f
2
(X
1
1
) R
1
= f
6
(S
2
) f
4
_
f
3
(X
2
2
) X
1
2
_
f
2
(X
1
2
) R
2
f
6
(S
1
) f
4
_
f
3
(f
2
(X
1
1
) R
1
) f
1
(R
1
) L
1
_
f
2
(f
1
(R
1
) L
1
) R
1
= f
6
(S
2
) f
4
_
f
3
(f
2
(X
1
2
) R
2
) f
1
(R
2
) L
2
_
f
2
(f
1
(R
2
) L
2
) R
2
f
6
(S
1
) f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
)
f
1
(R
1
) L
1
) f
2
(f
1
(R
1
) L
1
)
= f
6
(S
2
) f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
)
f
1
(R
2
) L
2
) f
2
(f
1
(R
2
) L
2
).
Remarquons que les valeurs possibles pour f
6
(S
1
) f
6
(S
2
) sont toutes les
valeurs non nulles, avec probabilit
1
2
n
1
chacune. En eet, nous avons S
1
,= S
2
(car T
1
= T
2
et les messages sont distincts) et f
6
est une permutation alatoire.
Les valeurs possibles pour :
f
2
(f
1
(R
1
) L
1
) f
2
(f
1
(R
2
) L
2
) et
f
4
(f
3
(f
2
(f
1
(R
1
) L
1
) R
1
) f
1
(R
1
) L
1
)
f
4
(f
3
(f
2
(f
1
(R
2
) L
2
) R
2
) f
1
(R
2
) L
2
)
,
sont dj prises en compte dans lvaluation de la probabilit que S
1
S
2
=
L
1
L
2
, o elles avaient t choisies direntes (ceci est important pour avoir
un choix de f
6
(S
1
) f
6
(S
2
) cohrent). Ainsi, pour avoir la probabilit P

6
cherche, il reste multiplier la probabilit davoir S
1
S
2
= L
1
L
2
par la
probabilit davoir une valeur xe non nulle pour f
6
(S
1
) f
6
(S
2
).
Au nal :
P

6 = P
part

1
2
n
1
=
_
1
(2
n
1)

1
(2
n
1)
2
+
1
(2
n
1)
3
_

1
2
n
1
=
1
(2
n
1)
2

1
(2
n
1)
3
+
1
(2
n
1)
4
=
1
2
2n
(1 +
2
2
n
+O
_
1
2
2n
_
)
1
2
3n
(1 +
3
2
n
+O
_
1
2
2n
_
) +O
_
1
2
4n
_
= (
1
2
2n
+
2
2
3n
+O
_
1
2
4n
_
) (
1
2
3n
+O
_
1
2
5n
_
) +O
_
1
2
4n
_
=
1
2
2n
+
1
2
3n
+O
_
1
2
4n
_
.
40
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique

3.2.2.2 KPA
La proposition 2 prcdente nous permet de dduire une attaque. Ici encore,
lattaque est expos directement. Des explications sur la manire de driver une
attaque du calcul des probabilits de la proposition 2, sont donnes la section 3.4.
Supposons lattaquant en connaissance de m messages, cest dire
m(m1)
2
paires
de messages ([L
i
, R
i
]/[S
i
, T
i
], [L
j
, R
j
]/[S
j
, T
j
] (m sera dtermin la n de lana-
lyse). Il peut alors compter, parmi ces
m(m1)
2
paires, combien dentre elles vrient
toutes les relations de la proposition 2 :
_
R
i
= R
j
, L
i
,= L
j
T
i
= T
j
, S
i
S
j
= L
i
L
j
.
Notons X
r
le nombre de paires vriant ces relations dans le cas dune permu-
tation alatoire. Daprs la proposition 2, on a :
E(X
r
) =
m(m1)
2

2
2n
(2
n
1)
2
2n
(2
2n
1)
P
r
=
m(m1)
2

1
2
n
+1
(
1
2
2n
+O
_
1
2
4n
_
)
=
m(m1)
2
(
1
2
n

1
2
2n
+O
_
1
2
3n
_
) (
1
2
2n
+O
_
1
2
4n
_
)
=
m(m1)
2

1
2
3n

1
2
4n
+O
_
1
2
5n
_
.
On verra section 3.4 que lon peut approximer lcart type de X
r
par la racine de
lesprance de X
r
:
(X
r
) = O
_
_
E(X
r
)
_
= O
_
_
m(m1)
2

1
2
3n/2
_
= O
_
_
m(m1)
2
1
2
3n/2
_
.
Notons X

6 ce nombre de paires dans le cas de six tours de schmas de Feistel


avec permutations internes alatoires. On a de mme :
E(X

6 ) =
m(m1)
2

2
2n
(2
n
1)
2
2n
(2
2n
1)
P

6
=
m(m1)
2

1
2
n
+1
(
1
2
2n
+
1
2
3n
+O
_
1
2
4n
_
)
=
m(m1)
2
(
1
2
n

1
2
2n
+O
_
1
2
3n
_
) (
1
2
2n
+
1
2
3n
+O
_
1
2
4n
_
)
=
m(m1)
2

1
2
3n
+O
_
1
2
5n
_
,
(X

6 ) = O
__
E(X

6 )
_
= O
_
_
m(m1)
2

1
2
3n/2
_
.
3.3. Probabilits P
r
, P

k et P
M
k
L
, Coecients H 41
Lattaquant peut distinguer
6
dune permutation alatoire lorsque
2
:
[E(X
r
) E(X

6 )[ > (X
r
) +(X

6 )

m(m1)
2

1
2
4n
>
_
m(m1)
2
1
2
3n/2

m(m1)
2
> 2
5n
.
Le nombre de paires que lattaquant doit distinguer est suprieur au nombre
de paires possibles dvaluer avec une seule permutation. Plaons dans le cas o
lattaquant souhaite attaquer un gnrateur de permutations alatoires, cest dire,
il a accs 1 permutations. Alors :
E(X
r
) =
m(m1)
2

1
2
3n

1
2
4n
+O
_
1
2
5n
_
,
E(X

6 ) =
m(m1)
2

1
2
3n
+O
_
1
2
5n
_
,
(X
r
) = O
_
_

m(m1)
2
1
2
3n/2
_
,
(X

6 ) = O
_
_
m(m1)
2

1
2
3n/2
_
.
De sorte que lattaquant peut distinguer un gnrateur de permutations ala-
toires dun gnrateur de permutations
6
lorsque :
[E(X
r
) E(X

6 )[ > (X
r
) +(X

6 )

m(m1)
2

1
2
4n
>
_

m(m1)
2
1
2
3n/2

>
2
4n
q
m(m1)
2
2
3n/2
.
Le nombre de paires messages considres par permutations est suppos maxi-
mal, i.e. m 2
2n
. On trouve alors :
>
2
8n
2
4n
2
3n
> 2
n
.
Ainsi, pour distinguer un gnrateur de permutations alatoires dun gnrateur
de permutations
6
en utilisant les relations de la proposition 2, lattaquant doit
valuer toutes les entres possibles de O(2
n
) permutations, soit faire O
_
2
3n
_
calculs.
3.2.2.3 CPA-1
De mme que pour M
6
L
, et pour les mmes raisons dtailles section 3.4, la mme
attaque en CPA-1, ne fournit pas une meilleure complexit.
3.3 Probabilits P
r
, P

k et P
M
k
L
, Coecients H
Pour trouver les attaques pour un nombre de tours plus grand, nous allons
devoir valuer les probabilits P
r
, P
M
k
L
, P

k , pour direntes relations entre les


blocs dentre et sortie de deux messages.
2. Des explications sont donnes la section 3.4.
42
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
Une remarque importante est que les probabilits auxquelles nous nous in-
tressons dirent selon le type dattaque monte (KPA, CPA, etc). Pour sen
convaincre, on peut voir que dans les attaques sur les cinq premiers tours prsentes
plus haut, les complexits ntaient pas les mmes selon le type dattaque. Dans les
exemples sur six tours donns prcdemment, les propositions tablies se plaaient en
fait dans le cas dune attaque clair choisi (CPA-1), car lnonc supposait donnes
deux entres distinctes avec la relation R
1
= R
2
. Ensuite, pour adapter le rsultat
une KPA, il a fallu encore valuer la probabilit dobtenir deux telles entres.
Nous souhaitons tablir une formule nous donnant P
r
, P

k et P
M
k
L
selon le type
dattaque (KPA ou CPA), i.e. nous souhaitons pouvoir appliquer directement le
rsultat pour valuer la complexit de lattaque considre.
Pour pouvoir tablir de telles formules, nous introduisons une notion. Pla-
ons dans le cadre dune attaque deux points. Lattaquant est en possession
dun certain nombre de couples de messages dentre/sortie et considre certaines
contraintes sur les blocs dentre et sortie. Par exemple, pour un couple de messages
[L
1
, R
1
]/[S
1
, T
1
] ,= [L
2
, R
2
]/[S
2
, T
2
], il considre des quations du type L
1
= L
2
,
L
1
L
2
= T
1
T
2
, etc, comme dans les attaques deux points prsentes prcdem-
ment (attaques sur les cinq premiers tours, sections 2.1 et 2.2 ; attaques sur six
tours, sous-section 3.2.1). Dans ces conditions, nous dnissons la valeur suivante :
Dnition 7 (n
e
) tant donnes des contraintes sur des blocs de couples en-
tres/sorties, on dnit la valeur n
e
comme suit, selon le pouvoir suppos de latta-
quant de choisir ou non ses entres et sorties :
1. Dans le cadre dune attaque clair connu (KPA), n
e
est le nombre total dga-
lits demandes par les contraintes.
2. Dans le cadre dune attaque clair choisi (CPA), n
e
dnote le nombre total
dgalits demandes par les contraintes, auquel on soustrait le nombre dga-
lits impliquant les entres uniquement.
3. Dans le cadre dune attaque clair et chir choisis (CPCA), lattaquant
peut choisir ses messages de manire ce que certaines des galits deman-
des par les contraintes soient dj vries. Le paramtre n
e
dnote alors le
nombre dgalits restant tre vries pour satisfaire toutes les galits des
contraintes.
En rsum, n
e
est le nombre dgalits sur les blocs demandes par les contraintes,
apparaissant (ventuellement) aprs valuation de paires messages, que lattaquant
ne peut choisir davoir au dpart. Cette valeur est encore appele nombre d galits
non-imposes (dans le sens non-imposes au dpart par lattaquant).
Explication : Parmi les galits entre les blocs dentre et sortie que lattaquant
cherche tester sur une paire de messages, cest dire, les quations des contraintes,
certaines peuvent tre vries pour tous les couples, d la classe dattaque consid-
re. Par exemple, dans le cadre dune attaque clair choisi (CPA), lgalit R
1
= R
2
se produit avec probabilit 1, car lattaquant peut limposer sur ses messages. Par
3.3. Probabilits P
r
, P

k et P
M
k
L
, Coecients H 43
contre, dans le cadre de cette mme attaque, lgalit R
1
R
2
= S
1
S
2
ne peut
tre impose par lattaquant et arrive a priori avec probabilit plus faible.
Ceci explique la terminologie galits non-imposes concernant les galits entre
les blocs ne pouvant tre imposes avec probabilit 1 par lattaquant au moment du
choix des messages.
Considrons toujours une srie de relations sur les blocs dentre et de sortie de
deux messages. tablissons maintenant les formules pour les probabilits P
r
, P

k
et P
M
6
L
recherches. Pour chacune des permutations considres, on sintresse
deux valeurs, quil sura de multiplier entre elle ensuite pour avoir la probabilit
correspondante voulue :
1. Tout dabord, la probabilit davoir deux entre avec les relations souhaites
sur leurs blocs (cette probabilit peut valoir 1, comme par exemple dans le cas
dune attaque clair choisi).
2. Deuximement, la probabilit pour que les images respectives par la permuta-
tion de ces entres soient deux messages de sortie tels que toutes les relations
soient vries. Cette deuxime probabilit peut tre obtenue en calculant la
probabilit pour que les images de la permutation de deux telles entres soit
un couple de messages de sortie en particulier, multiplie par le nombre de
couples admissibles, dans le sens nombre de couples permettant de satisfaire
les quations voulues (tant donnes les entres).
Proposition 3 Pour une permutation alatoire, la probabilit P
r
pour un attaquant
davoir deux couples dentre/sortie [L
1
, R
1
]/[S
1
, T
1
] ,= [L
2
, R
2
]/[S
2
, T
2
] vriant les
relations sur leur blocs correspondant un certain ensemble de contraintes peut tre
approxime par :
P
r
=
2
(4ne)n
2
2n
(2
2n
1)
.
Remarque : Le nombre exact de paires de messages de sortie admissibles est dicile
exprimer. Nous en donnons donc une approximation, trs proche de la vraie valeur
et surtout largement assez bonne pour le besoin.
Dmonstration : La probabilit pour quun couple donn de messages dentre
vrie les relations voulues sur les blocs dentre, multiplie par le nombre total
de couples de sortie admissibles peut tre approxim par
1
2
nen
2
4n
. La probabilit
quune permutation alatoire fournisse un couple x de messages de sortie est
1
2
2n
(2
2n
1)
. Daprs ce qui a t nonc avant lnonc de la proposition 3, le rsultat
est obtenu en multipliant ces deux valeurs.
An de pouvoir noncer la probabilit quivalente pour les permutations aux-
quelles on sintresse, savoir k tours de schmas de Feistel avec permutations
internes ou k tours dun schma du type Misty, introduisons la notion de coecient
H.
44
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
Cette notion de coecient H a t initialement introduite par Jacques Patarin
dans son tude sur les schmas de Feistel classiques, i.e. balancs [Pat91]. Ces co-
ecients H ont ensuite t la clef de vote de beaucoup dtudes sur des variantes
de schmas de Feistel : les schmas de Feistel dissymtriques avec fonctions internes
expansives, ou fonctions internes compressives. Cette notion a ensuite t reprise no-
tamment par Gilles Piret, cette fois pour raliser des preuves de scurit de schmas
de Feistel avec permutations internes. Dans le cas prsent, nous nous intressons en-
core aux attaques gnriques, sur les schmas mentionns. Ces attaques, tout comme
celles de Patarin, sont bases sur le calcul des coecients H.
La dnition suivante de coecient H reste valable pour les deux schmas,
comme tous deux utilisent des permutations sur n bits comme fonctions internes :
Dnition 8 (coecient H) Considrons la permutation S
k
(k tours de lun ou
lautre des deux schmas considrs : S
k
=
k
ou M
k
L
). Soient [L
1
, R
1
] ,= [L
2
, R
2
]
et [S
1
, T
1
] ,= [S
2
, T
2
] quatre lments de I
2n
.
Le coecient H pour S
k
(not H ([L
1
, R
1
], [L
2
, R
2
], [S
1
, T
1
], [S
2
, T
2
]) ou plus sim-
plement H) est le nombre de k-uplets de permutations (f
1
, . . . , f
k
) B
k
n
, tels que
_
S
k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
], et
S
k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
].
En dautre mots, le coecient H compte le nombre de k-uplets de permuta-
tions, permettant de faire correspondre (lorsquutilises comme fonctions internes
du schma considr) les deux entres sur les deux sorties donnes. La valeur du
coecient H, pour k x, dpend videmment du schma considr. La dnition
8 scrit en fait, pour chacun de ces deux schmas :
1. Dans le cas de k tours de schmas de Feistel avec permutations internes, H
est le nombre de k-uplets de permutations (f
1
, . . . , f
k
) B
k
n
telles que :
_

k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
]

k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
].
Ceci peut tre reprsent par le schma 3.3 ci-dessous.
L
L
1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
1 1
1 1 1 1 1
2 2 2 2 2 2 2
Figure 3.3:
k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],
k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
]
2. Dans le cas de k tours de schmas Misty L, H est le nombre de k-uplets de
permutations (f
1
, . . . , f
k
) B
k
n
telles que :
3.3. Probabilits P
r
, P

k et P
M
k
L
, Coecients H 45
_
M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
]
M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
].
Ceci peut tre reprsent par le schma 3.4 ci-dessous.
3 f k f
2 f
L
1 f
3 f k f
2 f
1 f
L
X T S R
k2
X
1
X
2
X T S R
k2
X
1
X
2
2
1 1 1
2
1 1 1 1
2 2 2 2 2
Figure 3.4: M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
]
Remarque : Nous verrons que H, pour un schma donn et un nombre de tours
considr, ne dpend que des relations entre les blocs dentre et de sorties. Ceci
apparat lors du calcul des coecients H (voir par exemple lannexe A). Les di-
rente relations que nous sommes amens considrer pour les schmas Misty L sont
galement rapeles au dbut de la section 4.1, et au dbut de la section 4.2 pour les
schmas de Feistel avec permutations internes.
Proposition 4 Pour k tours de schmas de Feistel avec permutations internes ala-
toires (
k
), ou pour k tours de schmas Misty L, la probabilit pour un attaquant
davoir deux couples dentre/sortie [L
1
, R
1
]/[S
1
, T
1
] ,= [L
2
, R
2
]/[S
2
, T
2
] vriant les
relations sur leur blocs correspondant un certain ensemble de contraintes peut tre
approxime par :
2
(4ne)n
H
[B
n
[
k
,
o n
e
a t dni la dnition 7 et H la dnition 8.
Remarque : Mme remarque qu la proposition 3.
Dmonstration : Comme tout lheure, la probabilit pour un couple donn de
messages dentre vrie les bonnes relations sur ses blocs, multiplie par le nombre
de messages de sortie admissibles peut tre approxim par 2
(4ne)n
. La probabilit
que la permutation particulire S
k
(S
k
=
k
ou S
k
= M
k
L
selon le cas tudi)
fournisse en sortie un couple spcique de messages de sortie sexprime en fonction
du coecient H (dnition 8) :
H
|Bn|
k
. Daprs ce qui a t dit au dbut de cette
sous-section 3.3, le rsultat se dduit en multipliant ces deux valeurs.
46
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
3.4 Implication des probabilits P
r
et P

k ou P
M
k
L
dans
les attaques deux points
Considrons m entres/sorties distinctes alatoires [L
i
, R
i
]/[S
i
, T
i
]. Considrons
galement certaines relations (que lattaquant attend de voir ralises, ou non) entre
les blocs dentre et de sortie de deux messages [L
i
, R
i
]/[S
i
, T
i
], [L
j
, R
j
]/[S
j
, T
j
]. Tout
comme dans les exemple sur six tours (section 3.2), lattaquant compte le nombre
de paires de messages vriant ces relations. Comme dhabitude, si les relations
observes sont bien choisies, il attend davoir une dirence dans le nombre de paires
vriant ces relations, selon que la permutation ayant fourni ces entres/sorties soit
alatoire ou soit la permutation S
k
(selon le cas, S
k
=
k
ou S
k
= M
k
L
).
Dnissons X
S
k comme tant le nombre de paires de messages vriant les rela-
tions considres par lattaquant, dans le cas o la permutation en jeu correspond
S
k
. Dnissons encore X
r
comme tant le nombre de paires de messages vri-
ant les relations considres par lattaquant, dans le cas o la permutation en jeu
correspond une permutation alatoire.
Rappelons la formule de Chebyshev :
Proposition 5 (Formule de Chebyshev) Soit X une variable alatoire.
P[X E(X)[ (X)
1

2
, R

+
,
o P est la fonction de probabilit, E lesprance et lcart type.
La formule de la proposition 5 signie que la probabilit davoir des ralisations
dune variable alatoire qui soient une distance de lesprance plus grande que de
lordre de lcart type, est faible. Par consquent, revenant nos variables alatoires
X
S
k et X
r
, lorsque les esprances de ces deux variables alatoires sont loignes
de plus que de lordre de (X
S
k ) + (X
r
), les nuages de points correspondant aux
deux variables sont direntiables. Autrement dit, lorsque lon a assez de paires de
messages pour que lingalit suivante soit ralise :
[E(X
S
k ) E(X
r
)[ O((X
S
k ) +(X
r
)) , (3.1)
alors lattaquant sait distinguer la permutation S
k
dune permutation alatoire.
On voit maintenant lintrt des propositions 3 et 4 : les formules donnant les
probabilits davoir certaines relations entre des blocs dentre et de sortie de deux
messages permettent de calculer les esprances et carts types prcdents en fonction
de m (le nombre de messages gnrs). Ainsi, pour savoir la complexit dune attaque
base sur un certain ensemble de relations, il sut de rsoudre en m lingalit (3.1)
prcdente.
Les sous-sections suivantes rentrent dans les dtails de ces constatations. La
partie 3.4.2 traite du cas o le nombre de messages ncessaires la ralisation de
lattaque dpasse le nombre maximal de messages possibles dvaluer (2
2n
).
3.4. Implication des probabilits P
r
et P

k ou P
M
k
L
dans les attaques
deux points 47
3.4.1 Attaque dune permutation
Les notations suivantes sont celles utilises prcdemment (H et n
e
sont dnis
la section 3.3). Les rsultats des propositions 3 et 4 de cette mme section donnent
pour lesprance :
E(X
r
) =
m(m1)
2
P
r

m(m1)
2

2
(4ne)n
2
2n
(2
2n
1)
E(X
S
k ) =
m(m1)
2
P
S
k

m(m1)
2

2
(4ne)n
H
[ B
k
n
[
.
Passons aux expressions des carts type. Pour cela, voyons que X
r
(respective-
ment X
S
k) peut scrire comme la somme de
m(m1)
2
variables alatoires suivant une
loi de Bernoulli B(1, P
r
) (respectivement B(1, P
S
k )). Par exemple :
X
r
=

1i<jm
X
(i,j)
r
,
o X
(i,j)
r
vaut 1 si les relations attendues par lattaquant sont vries entre
[L
i
, R
i
]/[S
i
, T
i
] et [L
j
, R
j
]/[S
j
, T
j
], dans le cas dune permutation alatoire, et 0
sinon. De mme :
X
S
k =

1i<jm
X
(i,j)
S
k
,
o X
(i,j)
S
k
vaut 1 si les relations attendues sont vries entre [L
i
, R
i
]/[S
i
, T
i
] et
[L
j
, R
j
]/[S
j
, T
j
], dans le cas de S
k
, et 0 sinon.
Or, pour n variables alatoires Y
i
telles que E(Y
2
i
) existe, nous avons la formule
suivante, appele parfois ([PNB06b, PNB06a, TP09, NPT10]) formule de covarian-
ce (Var dsigne la variance et Cov la covariance) :
Var(
n

i=1
Y
i
) = E((
n

i=1
Y
i
)
2
) E(
n

i=1
Y
i
)
2
=
n

i=1
E(Y
2
i
) + 2

1i<jn
E(Y
i
X
j
)
n

i=1
E(Y
i
)
2
2

1i<jn
E(Y
i
) E(Y
j
)
=
n

i=1
E(Y
2
i
) E(Y
i
)
2
+ 2

1i<jn
E(Y
i
Y
j
) E(Y
i
) E(Y
j
)
=
n

i=1
Var(Y
i
) + 2

1i<jn
Cov(Y
i
, Y
j
).
48
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
Dans notre cas (

1i<jm
X
(i,j)
r
ou

1i<jm
X
(i,j)
S
k
) les termes issus de la
covariance sont ngligeables. On a :
Var(

1i<jm
X
(i,j)
r
)

1i<jm
Var(X
(i,j)
r
)
=

1i<jm
P
r
(1 P
r
)

m(m1)
2
P
r
,
Var(

1i<jm
X
(i,j)
S
k
)

1i<jm
Var(X
(i,j)
S
k
)
=

1i<jm
P
S
k(1 P
S
k)

m(m1)
2
P
S
k.
Finalement, lingalit (3.1) se rcrit :
m(m1)
2

H 2
(4ne)n
[B
n
[
k

2
(4ne)n
2
2n
(2
2n
1)

_
m(m1)
2 2
nen

m(m1)
2
2
nen

_
H 2
4n
[B
n
[
k

2
2n
2
2n
1
_
2
, (3.2)
et la complexit de lattaque considre est O(m), o m est tel que cette ingalit
puisse tre vrie.
Remarque : Nous introduisons la valeur , dnie par :
=
_
H 2
4n
[B
n
[
k

2
2n
2
2n
1
_
2
.
En fait, la probabilit davoir une paire de messages de sortie donne est
1
2
2n
(2
2n
1)
dans le cas dune permutation alatoire. La valeur
H
|Bn|
k
est cette probabilit dans le
cas de S
k
(S
k
=
k
ou S
k
= M
k
L
). Cette variable est importante lors de lestimation
de la meilleure des attaques parmi toutes les attaques deux points. En eet, par
lingalit prcdente, on voit que les attaques ayant une meilleure complexit sont
celles pour lesquelles est maximal, pour un nombre dgalits sur les blocs dentres
et de sorties demandes par lattaque (n
e
, cf. dnition 7) minimal. En fait, lorsque
est grand, cela signie que la probabilit dobtenir toutes les quations entre les
blocs dentre et de sortie varie beaucoup selon que la permutation est alatoire
ou M
k
L
. Cependant, lattaquant doit obtenir des paires vriant ces relations. Par
consquent, plus il y a dgalits demandes entre les blocs dentre et de sortie,
moins il obtient de paires de messages vriant ces relations.
Direntes valeurs exactes pour sont donnes en annexe A. Une table avec de plus
nombreuses valeurs donne la section 4.1 pour les schmas Misty L, et la sec-
tion 4.2 pour les schmas de Feistel avec permutations internes (sous-sections 4.1.2.1
3.4. Implication des probabilits P
r
et P

k ou P
M
k
L
dans les attaques
deux points 49
et 4.2.2.1). Ces tables donnent uniquement lordre de grandeur de , qui sut d-
duire la complexit des attaques. Dans ce chapitre 4 sont galement donns des
exemples dapplication aux attaques (sous-sections 4.1.2.2 et 4.2.2.2).
3.4.2 Attaque dun gnrateur de permutations
Lorsque le nombre de messages m ncessaires pour que lingalit (3.1) soit
vrie est suprieur 2
2n
, lattaque ne peut tre ralise, car la permutation prend
en entre des messages de taille 2n bits. Lorsque cest le cas, nous supposons alors
attaquer un gnrateur de permutations, i.e. nous supposons avoir accs > 1
permutations.
Nous avons alors :
E(X
r
) =
m(m1)
2
P
r

m(m1)
2

2
(4ne)n
2
2n
(2
2n
1)
,
E(X
S
k ) =
m(m1)
2
P
S
k

m(m1)
2

2
(4ne)n
H
[ B
k
n
[
.
Notons que le nombre maximal de paires de messages est toujours utilis par
permutation (soit m(m 1)/2 2
4n
dans le cas dune attaque clair connu).
Lingalit 3.1 est rsoudre alors en et scrit :
m(m1)
2

H 2
(4ne)n
[B
n
[
k

2
(4ne)n
2
2n
(2
2n
1)

_
m(m1)
2 2
nen

m(m1)
2
2
nen

_
H 2
4n
[B
n
[
k

2
2n
2
2n
1
_
2
. (3.3)
La complexit nale de lattaque est multipli par le nombre de messages va-
lus par permutation. Cependant, comme le nombre maximal de paires de messages
est utilis par permutation, on a aussi m = 2
2n
. La complexit de lattaque est alors
O
_
2
2n
_
.
Remarque :
Ici encore, les meilleures attaques sont celles pour lesquelles (voir la remarque de
la sous-section 3.4.1) est maximal, pour n
e
minimal. Quelques valeurs pour sont
donnes en annexe A. Une table de valeurs peut tre retrouve la section 4.1
pour les schmas Misty L, et 4.2 pour les schmas de Feistel avec permutations
internes (sous-sections 4.1.2.1 et 4.2.2.1). On pourra aussi y trouver des exemples
dapplication aux attaques.
Dans le cas dune attaque dun gnrateur de permutations, la complexit des
attaques deux points KPA ou CPA est la mme. En eet, lorsque lon considre
50
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
un gnrateur de permutations, on value tous les messages possibles par permu-
tation. Plus rigoureusement, ceci est d au fait que passer dune KPA une CPA
fait ventuellement augmenter le nombre dgalits imposables (n
e
diminue). Mais
alors, le nombre de paires de messages considrer par permutation diminue. On
peut voir que ces deux variations se compensent dans lingalit (3.3). On en d-
duit quune attaque mne une mme complexit en KPA ou CPA. Ceci peut se
vrier dans les tableaux naux du chapitre 4 : ds que la complexit des attaques
est suprieure 2
2n
, les attaques deux points ont la mme complexit quel que
soit le type dattaque.
3.4.3 Choix de lensemble de relations menant la meilleure at-
taque
Notons simplement que les formules (3.2) et (3.3) permettent directement de
dduire quels cas mnent aux meilleures attaques.
Proposition 6 (Attaque dune permutation) Soient c
1
et c
2
deux ensembles
de relations sur les blocs dentre et sortie de deux messages distincts. Lensemble
c
1
mne une attaque meilleure ou une attaque quivalente que lensemble c
2
si :

2
c
1

2
c
2
2
ne(c
1
)ne(c
2
)
.
Par consquent, pour dcider quel ensemble de relations mne la meilleure
attaque, on peut commencer par reprer les cas o pour un nombre de relations
n
e
donn, les valeurs de sont les plus grandes. Ensuite, on peut se servir de cette
proposition pour conclure quel(s) cas mnent la meilleure complexit. Des exemples
sont donns la sous-section 4.1.2.2 du chapitre 4 pour les schmas Misty L, et la
section 4.2.2.2 pour les schmas de Feistel avec permutations internes.
Proposition 7 (Attaque dun gnrateur de permutations) Soient c
1
et c
2
deux ensembles de relations sur les blocs dentre et sortie de deux messages distincts.
Notons M
c
1
et M
c
2
le nombre de paires de messages values par permutation dans
chacun des cas. Alors, lensemble c
1
mne une attaque meilleure ou une attaque
quivalente si :

2
c
1

2
c
2
2
ne(c
1
)ne(c
2
)

M
c
2
M
c
1
.
Remarque : Notons que pour les mmes raisons qu la remarque de la sous-
section 3.4.2, lexpression 2
ne(c
1
)ne(c
2
)

Mc
2
Mc
1
garde la mme valeur quelle que soit le
type dattaque considr.
3.5 Rsultats gnraux pour le calcul direct des coe-
cients H
Soient [L
1
, R
1
] ,= [L
2
, R
2
] et [S
1
, T
1
] ,= [S
2
, T
2
] quatre lments de I
2n
. Rappelons
que la dnition des coecients est donn la dnition 8 de ce chapitre. Dans cette
3.5. Rsultats gnraux pour le calcul direct des coecients H 51
section, nous donnons la ligne directrice pour le calcul direct des coecients H, dans
le cas des schmas de Feistel avec permutations internes et Misty L. Le dtail du
calcul eectif des coecients H pour ces deux schmas est donn en annexe A.
La mthode prsente ici est appele directe, car elle permet de dterminer la
valeur dun coecient H, directement partir du nombre de tours dun schma
3
et des relations initiales entre les blocs de deux entres/sorties. Pour comprendre
comment lon peut obtenir une formule directe pour H, dans chacun de ces deux
cas, nous allons dcortiquer ces schmas. La sous-section 3.5.1 introduit certains
objets relis aux schmas. La sous-section 3.5.2 donne un thorme gnral pour le
calcul des coecients H, sur lequel nous nous basons pour le calcul eectif prsent
en annexe A.
Remarque : Notons que les coecients H peuvent aussi tre obtenus par rcurrence.
Le principe est de dcomposer k +1 tours de schmas (de Feistel avec permutations
internes ou misty L) en 1 tour et k tours, et ainsi obtenir les expressions des coef-
cients H pour k + 1 tours en fonctions des expressions pour un nombre de tours
infrieur. Nous donnons en annexe A, sections A.3 et A.4, les formules de rcurrence
obtenues pour les deux schmas.
3.5.1 Familiarisation avec des objets en relation avec les schmas
considrs, blocs internes et squences 1
3.5.1.1 Les blocs internes
La donne dun message dentre (ou de sortie) ainsi que dun k-uplet de permu-
tations internes, dtermine uniquement les blocs internes du schma correspondant
jusquaux blocs de sortie (ou dentre). Ces blocs internes sont les blocs indexs
par X
i
1
, i = 1, . . . , k 2 pour les messages dentre/sortie [L
1
, R
1
]/[S
1
, T
1
], et par
X
i
2
, i = 1, . . . , k 2 pour les messages dentre/sortie [L
2
, R
2
]/[S
2
, T
2
] dans les -
gures 3.3 et 3.4 que lon peut trouver au dbut de ce chapitre. linverse, lorsque
les blocs dentre et de sortie sont connus et que lon cherche dterminer les per-
mutations internes pouvant correspondre ces deux couples dentre/sortie (ce qui
correspond notre situation, lorsque lon cherche dterminer le coecient H), on
peut sintresser aux blocs internes.
Dans le cas des deux schmas considrs et tant xes deux entres et sorties,
chaque possibilit de blocs internes dtermine plusieurs k-uplets de permutations
internes possibles. Dans le cadre dune attaque deux points, le coecient H est le
nombre total de permutations internes. Une manire de dterminer le coecient H
correspondant un couple dentre/sorties est de considrer toutes les possibilits de
blocs internes. H est alors obtenu en sommant le nombre de k-uplets de permutations
que la donne de chacune de ces possibilits de blocs internes dtermine.
De manire sommaire, on peut crire lgalit suivante (nous utilisons nou-
veau la notation S
k
dsignant soit k tours de schmas de Feistel avec permutations
internes soit k tours de schmas de Misty) :
3. Nous focalisons sur les schmas de Feistel avec permutations internes ou Misty L.
52
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
H ([L
1
, R
1
], [L
2
, R
2
], [S
1
, T
1
], [S
2
, T
2
])
=

(X
1
1
,...X
k2
1
);
(X
1
2
,...X
k2
2
)
possibles
#
_
(f
1
, . . . , f
k
) determines par (X
1
1
, . . . X
k2
1
) et (X
1
2
, . . . X
k2
2
)
_
.
(3.4)
3.5.1.2 Suite de relations 1
Plaons-nous toujours dans le cadre dune attaque deux points. Nous avons la
proposition suivante :
Proposition 8 Soient deux entres/sorties [L
1
, R
1
]/[S
1
, T
1
] et [L
2
, R
2
]/[S
2
, T
2
] du
schma S
k
, S
k
=
k
ou S
k
= M
k
L
. On sintresse au nombre de permutations
internes (f
1
, . . . , f
k
) dtermines par ces entres/sorties ainsi que par des blocs in-
ternes compatibles donns : (X
1
1
, . . . X
k2
1
) et (X
1
2
, . . . X
k2
2
). Ce nombre ne dpend
que de la relation entre les deux blocs que chacune des permutations prend en entre.
Remarque :
1. On mentionne dans la proposition des blocs internes compatibles. Ceci si-
gnie simplement que cette suite de blocs internes est possible, prenant en
considration le type de schma, les deux entres et sorties de la proposition
et sachant que les fonctions utilises dans les schmas sont des permutations.
Par exemple, si L
1
= L
2
et R
1
,= R
2
, on ne pourra jamais avoir de blocs
internes X
1
1
et X
1
2
gaux, tant pour un schma de Feistel avec permutations
internes que pour un schma du type Misty. Ceci est d la manire dont se
dnit X
1
et au fait que f
1
est une permutation.
2. Les blocs dentre L, R et de sortie S, T vont jouer dans la suite de lanalyse un
rle similaire aux blocs internes X
i
. Ainsi, pour unier les notation et conserver
lordre des indices des blocs, les blocs L et R seront aussi respectivement
dsigns par X
1
et X
0
. Similairement, les blocs S et T pourront aussi tre
dsigns par X
k1
et X
k
. En clair, on pose :
_

_
L
1
= X
1
1
L
2
= X
1
2
,
R
1
= X
0
1
R
2
= X
0
2
,
S
1
= X
k1
1
S
2
= X
k1
2
,
T
1
= X
k
1
T
2
= X
k
2
.
Dmonstration : Commenons par remarquer que le nombre total de permutations
sur n bits est #B
n
= 2
n
!. Si lon sintresse au nombre de permutations qui associent
une sortie donne parmi les 2
n
possibles une entre donne, on obtient (2
n
1)!. Si
lon demande deux contraintes dentre/sortie, le nombre de permutations vriant
3.5. Rsultats gnraux pour le calcul direct des coecients H 53
les deux contraintes est (2
n
2)!. On pourrait continuer ainsi pour un plus grand
nombre dentres/sorties xes, mais dans le cadre des attaques deux points, le cas
de deux contraintes sut.
Intressons-nous la permutation f
i
, i 1 . . . k. Nous avons, dans le cas dun
schma de Feistel avec permutations internes :
f
i
_
X
i1
_
= X
i2
X
i
,
et dans le cas dun schma du type Misty :
f
i
_
X
i2
_
= X
i1
X
i
.
Pour les deux schmas, dans le cadre dune attaque deux points, f
i
doit vrier deux
telles galits, correspondant aux deux entres/sorties et blocs internes associs.
Dans le cas dun schma de Feistel avec permutations internes :
_
f
i
_
X
i2
1
_
= X
i1
1
X
i
1
et
f
i
_
X
i2
2
_
= X
i1
2
X
i
2
,
et dans le cas dun schma du type Misty :
_
f
i
_
X
i2
1
_
= X
i1
1
X
i
1
et
f
i
_
X
i2
2
_
= X
i1
2
X
i
1
.
Notons que tous les blocs sont xs, ainsi, les variables intervenant dans ces
quations sont toutes dtermines. Alors, le nombre de possibilits pour f
i
, dans le
cas dun schma de Feistel avec permutations internes est : (2
n
1)! si X
i1
1
= X
i1
2
et (2
n
2)! si X
i1
1
,= X
i1
2
. Dans le cas dun schma du type Misty, ce nombre est
(2
n
1)! si X
i2
1
= X
i2
2
et (2
n
2)! si X
i2
1
,= X
i2
2
.
Pour obtenir la valeur du coecient H selon (3.5), il convient alors de sintresser
uniquement aux direntes congurations possibles dgalit ou dingalit entre les
blocs internes, et de calculer le nombre de k-uplets de fonctions internes possibles
dans chacune de ces congurations :
H (L
1
, R
1
, S
1
, T
1
, L
2
, R
2
, S
2
, T
2
)
=

R{=,=}
k+2
#(f
1
, . . . , f
k
) correspondant `a la suite 1
#
_
(X
1
1
, . . . , X
k2
1
); (X
1
2
, . . . , X
k2
2
) pouvant verier 1
_
.
Le nombre de (X
1
1
, . . . , X
k2
1
) ; (X
1
2
, . . . , X
k2
2
) pouvant vrier 1 correspond
au nombre de telles deux suite de blocs internes compatibles avec les entres
[L
1
, R
1
]/[S
1
, T
1
] et [L
2
, R
2
]/[S
2
, T
2
] et le schma considr, et telles que, pour tout
i 1, . . . , k 2 :
_
X
i
1
= X
i
2
, si 1
i
est le symbole =
X
i
1
,= X
i
2
, si 1
i
est le symbole ,=
54
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
Notons que les deux premires valeurs de la squence 1, ainsi que les deux dernires,
sont imposes par les messages dentre/sortie.
Selon que S
k
=
k
ou S
k
= M
k
L
, les possibilits de telles suites sont direntes.
Elles dpendent galement des blocs L
1
, R
1
, S
1
, T
1
, L
2
, R
2
, S
2
et T
2
. Ces points plus
techniques sont analyss lannexe A. Pour le moment, nonons une formule g-
nrale pour H, partir des lments dj donns.
3.5.2 Thorme gnral sur lexpression du coecient H
Le calcul dune formule pour les coecients H est fait rigoureusement dans la
section A.1 de lannexe A pour les schmas Misty L, et dans la section A.2 pour
les schmas de Feistel avec permutations internes. Le thorme 1 suivant permet
davoir une vue densemble des ides mises en jeu pour calculer ces coecients H.
Soient [L
1
, R
1
], [L
2
, R
2
] and [S
1
, T
1
] et [S
2
, T
2
], quatre lments de I
2n
. On consi-
dre les reprsentations suivantes des deux schmas (gure 3.5 pour les schmas
de Feistel et 3.6 pour les Misty L), dj donnes la section 3.3. Nous non-
ons dans cette partie une formule pour dterminer le nombre H de permutations
(f
1
, . . . , f
k
) B
k
n
, telles que :
_

k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
]

k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
],
dans le cas des schmas de Feistel avec permutations internes, ou
_
M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
]
M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
],
dans le cadre des schmas Misty L.
L
L
1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
1 1
1 1 1 1 1
2 2 2 2 2 2 2
Figure 3.5:
k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],
k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
]
Le thorme suivant est assez gnral pour permettre de donner une formule
valable la fois dans le cas des schmas de Feistel avec permutations internes et
dans le cas des schmas Misty L. Dans le thorme, k tour de lun ou lautre de ces
deux schmas est dnot par S
k
(S
k
=
k
ou M
k
L
).
3.5. Rsultats gnraux pour le calcul direct des coecients H 55
3 f k f
2 f
L
1 f
3 f k f
2 f
1 f
L
X T S R
k2
X
1
X
2
X T S R
k2
X
1
X
2
2
1 1 1
2
1 1 1 1
2 2 2 2 2
Figure 3.6: M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
], M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
]
Thorme 1 Une formule directe pour H est donne par
H =

suites R possibles
R{=,=}
k+2
(2
n
1)!
e(s)
(2
n
2)!
d(s)
(2
n
)
k2
N(d
1
) N(d
k2
),
o :
1 dnote une suite de relations vries par les blocs, savoir X
i
1
= X
i
2
or
X
i
1
,= X
i
2
, pour i = 1, . . . , k,
e(s) est le nombre dgalits de la suite 1,
d(s) est le nombre dingalits de la suite 1,
N(d
i
), pour i = 1, . . . , k 2, est le nombre de valeurs possibles pour la di-
rence X
i
1
X
i
2
, pour une suite 1 xe.
Dmonstration : Dans une premire tape, xons une squence 1, comme dans le
thorme 1. valuons, pour 1 xe, le nombre de possibilits pour (f
1
, . . . , f
k
), not
H(1). La deuxime tape consistera ensuite sommer sur toutes les squences 1
possibles.
Dtaillons la premire tape, tout dabord dans le cas de schmas de Feistel avec
permutations internes, S
k
=
k
:
Dans la suite, f
1
, . . . , f
k
dnotera les permutations qui nous intressent. Une s-
quence 1 est xe.
Pour i = 1 . . . k 2, daprs la dnition de N(d
i
) donne dans le thorme,
N(d
i
) 2
n
correspond au nombre de possibilits pour le couple (X
i
1
, X
i
2
).
Dans le cas dun schma de Feistel, on a : f
i
(X
i1
) = X
i2
X
i
pour i = 1, . . . , k.
Ainsi, N(d
1
) 2
n
est le nombre de possibilits pour le couple
_
f
1
(X
0
1
), f
1
(X
0
2
)
_
.
Par suite, pour i = 2, . . . , k 2, N(d
i
) 2
n
, est le nombre de possibilits pour
le couple
_
f
i
(X
i1
1
), f
i
(X
i1
2
)
_
, lorsque f
1
, . . . , f
i1
sont xes (car alors X
i1
et X
i2
sont xs et le nombre de possibilits pour
_
f
i
(X
i1
1
), f
i
(X
i1
2
)
_
est le
nombre de possibilits pour (X
i
1
, X
i
2
)).
Dnotons F
1
(1) le nombre de possibilits pour f
1
, et pour i = 2, . . . , k, F
i
(s) le
nombre de possibilits pour f
i
, lorsque f
1
, . . . , f
i1
sont xes. Alors dans le cas
dun schma de Feistel :
56
Chapitre 3. Limitations de la Mthode Utilise sur Les Premiers Tours,
Principe de lAnalyse Systmatique
si X
i1
1
,= X
i1
2
:
_
F
i
(s) := N(d
i
)2
n
(2
n
2)!, for i = 1, . . . k 2,
F
k1
(s) = F
k
(s) = (2
n
2)!
si X
i1
1
= X
i1
2
:
_
F
i
(s) := N(d
i
)2
n
(2
n
1)!, for i = 1, . . . k 2,
F
k1
(s) = F
k
(s) = (2
n
1)!
Ce rsultat provient du point prcdent et de la remarque que (2
n
2)! (respecti-
vement (2
n
1)!) est le nombre de permutations, pour lesquelles on a dj impos
limage de deux lments (respectivement un lment) (voir aussi la dmonstra-
tion de la proposition 8 de la sous-section 3.5.1.2). Pour i = k 1, k, toutes les
variables de lquation f
i
(X
i1
) = X
i2
X
i
(schmas de Feistel) sont xes, le
nombre de possibilits pour le couple
_
f
i
(X
i1
1
), f
i
(X
i1
2
)
_
est alors 1.
Finalement, pour une squence xe 1, le nombre de possibilits pour (f
1
, . . . , f
k
)
est
H(s) =
k

i=1
F
i
(s) = (2
n
1)!
e(s)
(2
n
2)!
d(s)
(2
n
)
k2
N(d
1
) N(d
k2
).
Revenons au cas des schmas Misty L, S
k
= M
k
L
:
Les tapes sont les mmes que dans le cas des schmas de Feistel, mais certaines
dentre elles se montrent diremment :
Pour i = 1 . . . k 2, N(d
i
) 2
n
correspond toujours au nombre de possibilits pour
le couple (X
i
1
, X
i
2
).
Pour i = 1 . . . k 2, daprs la dnition de N(d
i
) donne dans le thorme,
N(d
i
)2
n
correspond au nombre de possibilits pour le couple (X
i
1
, X
i
2
). Dans le cas
dun schma du type Misty, nous avons f
i
(X
i2
) = X
i1
X
i
pour i = 1, . . . , k.
Ainsi, N(d
1
) 2
n
est le nombre de possibilits pour le couple
_
f
1
(X
1
1
), f
1
(X
1
2
)
_
.
Par suite, pour i = 2, . . . , k 2, N(d
i
) 2
n
, est le nombre de possibilits pour
le couple
_
f
i
(X
i2
1
), f
i
(X
i2
2
)
_
, lorsque f
1
, . . . , f
i1
sont xes (car alors X
i1
et X
i2
sont xs et le nombre de possibilits pour
_
f
i
(X
i1
1
), f
i
(X
i1
2
)
_
est le
nombre de possibilits pour (X
i
1
, X
i
2
)).
Dnotons F
1
(1) le nombre de possibilits pour f
1
, et pour i = 2, . . . , k, F
i
(s) le
nombre de possibilits pour f
i
, lorsque f
1
, . . . , f
i1
sont xes. Alors, dans le cas
dun schma du type Misty et avec une justication similaire que dans le cas des
schmas de Feistel plus haut :
si X
i2
1
,= X
i2
2
:
_
F
i
(s) := N(d
i
)2
n
(2
n
2)!, pour i = 1, . . . k 2,
F
k1
(s) = F
k
(s) = (2
n
2)!
si X
i1
1
= X
i1
2
:
_
F
i
(s) := N(d
i
)2
n
(2
n
1)!, pour i = 1, . . . k 2,
F
k1
(s) = F
k
(s) = (2
n
1)!
Pour i = k1, k, toutes les variables de lquation f
i
(X
i2
) = X
i1
X
i
(schmas
Misty L) sont xes, le nombre de possibilits pour le couple
_
f
i
(X
i1
1
), f
i
(X
i1
2
)
_
est alors 1.
3.5. Rsultats gnraux pour le calcul direct des coecients H 57
On a donc galement, pour une squence xe 1, que le nombre de possibilits
pour (f
1
, . . . , f
k
) est
H(s) =
k

i=1
F
i
(s) = (2
n
1)!
e(s)
(2
n
2)!
d(s)
(2
n
)
k2
N(d
1
) N(d
k2
).
La formule nale pour les coecients H est donc, dans les deux cas S
k
=
k
et
S
k
= M
k
L
:
H =

suites R possibles
R{=,=}
k+2
(2
n
1)!
e(s)
(2
n
2)!
d(s)
(2
n
)
k2
N(d
1
) N(d
k2
),
comme annonc.

Comme dj annonc au paragraphe 3.5.1.2 prcdent, les lments intervenant


dans cette formule, notamment, les relations possibles entre les blocs, 1, dirent
selon que S
k
=
k
ou S
k
= M
k
L
. Ceci est dtaill dans les sections A.1 et A.2 de
lannexe A, correspondant chacun des deux schmas.
Chapitre 4
Attaques Deux Points
Systmatiques sur les Schmas de
Feistel avec Permutations Internes
et Misty L. Rsultats
Ce chapitre est lapplication aux schmas de Feistel avec permutations internes

k
et schmas Misty L M
k
L
, des rsultats du chapitre 3. Il se concentre principalement
sur les attaques gnriques deux points, mais rsume aussi les attaques gnriques
trois points et quatre points prsentes au chapitre 2.
Pour chacun de ces deux schmas, nous commenons par rappeler les principaux
rsultats obtenus dans les chapitres prcdents. Ensuite, nous donnons une table
fournissant les valeurs de =
H2
4n
|Bn|
k

1
11/2
2n
pour les 12 premiers tours, table de
laquelle on peut dduire facilement les meilleures attaques deux points. Un exemple
dutilisation de cette table est donn pour chacun des deux schmas. Enn, nous
donnons un tableau rsumant les complexits des meilleures attaques obtenues. Ce
tableau peut tre compare au tableau 4.1 similaire, issu de [Pat01], prsentant les
meilleures attaques gnriques sur les schmas de Feistel classiques.
Sommaire
4.1 Approche systmatique et rsultats pour les schmas Misty L 60
4.1.1 Rsum des rsultats pour les schmas Misty L . . . . . . . . 60
4.1.2 Valeurs numriques et exemples dapplication aux attaques
deux points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.3 Rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.4 Complment : valeur exacte des coecients H pour les six
premiers tours . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2 Approche systmatique et rsultats pour les schmas de
Feistel avec permutations internes . . . . . . . . . . . . . . . 66
4.2.1 Rsum des rsultats pour les schmas de Feistel avec permu-
tations internes . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Valeurs numriques et exemples dapplication aux attaques
deux points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.3 Rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.4 Complment : valeur exacte des coecients H, pour les six
premiers tours . . . . . . . . . . . . . . . . . . . . . . . . . . 72
60
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
nombre k
de tours
KPA CPA-1 CPA-2 CPCA-1 CPCA-2
1 1 1 1 1 1
2 2
n/2
2 2 2 2
3 2
n/2
2
n/2
2
n/2
2
n/2
3
4 2
n
2
n/2
2
n/2
2
n/2
2
n/2
5 2
3n/2
2
n
2
n
2
n
2
n
6 2
2n
2
2n
2
2n
2
2n
2
2n
7 2
3n
2
3n
2
3n
2
3n
2
3n
8 2
4n
2
4n
2
4n
2
4n
2
4n
9 2
5n
2
5n
2
5n
2
5n
2
5n
10 2
6n
2
6n
2
6n
2
6n
2
6n
11 2
7n
2
7n
2
7n
2
7n
2
7n
12 2
8n
2
8n
2
8n
2
8n
2
8n
k 6 2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
Table 4.1: Nombre maximum de calculs ncessaires pour distinguer k tours de sch-
mas de Feistel avec fonctions internes, dune permutation alatoire avec signature
paire.
4.1 Approche systmatique et rsultats pour les schmas
Misty L
La gure 4.1 rappelle la structure gnrale dun schma du type Misty.
3 f k f
2 f
L
1 f
X T S R
k2
X
1
X
2
Figure 4.1: k tours de schmas Misty L
4.1.1 Rsum des rsultats pour les schmas Misty L
Dans cette sous-section, nous rappelons rapidement les rsultats dj obtenus sur
ces schmas Misty L, ou renvoyons vers les parties du manuscrit o se trouvent ces
rsultats. Lintrt de faire ces rappels est que ces rsultats servent de brique de base
pour lanalyse systmatique des attaque gnriques expose dans cette section 4.1.
4.1. Approche systmatique et rsultats pour les schmas Misty L 61
4.1.1.1 Les dirents cas considrer pour H ou
Nous rappelons ci-dessous les treize cas distinguer lors du calcul des coecients
H ou =
H2
4n
|Bn|
k

2
2n
2
2n
1
. La dnition des coecients H est donne la section 3.3,
dnition 8. Limplication de H dans lanalyse systmatique des attaques gnriques
est explique la section 3.4 de ce mme chapitre 3.
1 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
2 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
3 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
4 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
5 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
6 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
7 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
8 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
9 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
10 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
11 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
12 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
13 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
4.1.1.2 Formules pour les coecients H des schmas Misty L
Les formules pour les coecients H dans le cas de M
k
L
sont donnes dans lan-
nexe A, bases sur le thorme de la section 3.5.2. La formule directe est donne au
thorme 7 de la section 3.5. Les formules pour obtenir ces coecients H par rcur-
rence (ainsi que des valeurs pour les deux premiers tours) sont donnes en annexe,
la section A.3. Les valeurs exactes pour H, pour un nombre de tours 1 k 6 se
trouvent dans les tables de la sous-section 4.1.4 la n de ce chapitre.
Dans la section A.3 de lannexe A, nous donnons les formules de rcurrence
pour les , ainsi que des valeurs pour les quatre premiers tours. Rappelons que pour
analyser les complexits des direntes attaques, nous nous basons sur lordre de
grandeur des . Cet ordre de grandeur pour un nombre de tours 1 k 12 fait
lobjet de la table 4.2 de la sous-section 4.1.2 suivante.
4.1.2 Valeurs numriques et exemples dapplication aux attaques
deux points
4.1.2.1 Table de valeurs pour =
H2
4n
|Bn|
k

1
11/2
2n
Au chapitre 3, section 3.4, nous avons vu que de la valeur =
H2
4n
|Bn|
k

1
11/2
2n
,
nous pouvions facilement dduire les meilleures attaques deux points. Nous ren-
voyons vers cette section pour les explications, ou vers la sous-section 4.1.2.2 pour
des exemples dutilisation de cette table pour estimer la complexit des meilleures
attaques deux points pour k = 5 ou 6. La table 4.2 suivante donne lordre de gran-
62
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
deur des , pour chacun des cas exposs en annexe (sous-section A.1.4) et rappels
la sous-section 4.1.1 prcdente.
cas : 1 2 3 4 5 6 7 8 9 10 11 12 13
1 tour 1 1 1 2
2n
1 1 2
2n
1 1 1 1 1 2
3n
2 tours
1
2
n
1 1 1 2
n 1
2
n
1 1 1 2
n
1 1 1
3 tours
1
2
2n
1
2
n
1
2
n
1
2
n
1
1
2
n
1
1
2
n
1
2
n
1 1
1
2
n
1
4 tours
1
2
2n
1
2
n
1
2
2n
1
2
2n
1
2
n
1
2
2n
1
2
n
1
2
n
1
2
n
1
1
2
n
1
2
n
1
2
n
5 tours
1
2
3n
1
2
2n
1
2
2n
1
2
3n
1
2
2n
1
2
2n
1
2
n
1
2
2n
1
2
2n
1
2
n
1
2
n
1
2
2n
1
2
n
6 tours
1
2
3n
1
2
2n
1
2
3n
1
2
3n
1
2
3n
1
2
3n
1
2
2n
1
2
2n
1
2
2n
1
2
n
1
2
2n
1
2
2n
1
2
2n
7 tours
1
2
4n
1
2
3n
1
2
3n
1
2
4n
1
2
3n
1
2
3n
1
2
2n
1
2
3n
1
2
3n
1
2
2n
1
2
2n
1
2
3n
1
2
2n
8 tours
1
2
4n
1
2
3n
1
2
4n
1
2
4n
1
2
4n
1
2
4n
1
2
3n
1
2
3n
1
2
3n
1
2
2n
1
2
3n
1
2
3n
1
2
3n
9 tours
1
2
5n
1
2
4n
1
2
4n
1
2
5n
1
2
4n
1
2
4n
1
2
3n
1
2
4n
1
2
4n
1
2
2n
1
2
3n
1
2
4n
1
2
3n
10 tours
1
2
5n
1
2
4n
1
2
5n
1
2
5n
1
2
5n
1
2
5n
1
2
4n
1
2
4n
1
2
4n
1
2
3n
1
2
4n
1
2
4n
1
2
4n
11 tours
1
2
6n
1
2
5n
1
2
5n
1
2
6n
1
2
5n
1
2
5n
1
2
5n
1
2
5n
1
2
5n
1
2
4n
1
2
4n
1
2
5n
1
2
4n
12 tours
1
2
6n
1
2
5n
1
2
6n
1
2
6n
1
2
6n
1
2
6n
1
2
5n
1
2
5n
1
2
5n
1
2
4n
1
2
5n
1
2
5n
1
2
5n
Table 4.2: Ordre de grandeur des =
H2
4n
|Bn|
k

1
11/2
2n
, dans les dirents cas
considrs. De ces valeurs se dduisent facilement les meilleures attaques deux points.
4.1.2.2 Exemple dapplication aux attaques
Au cours du chapitre 3, nous avons vu que de la valeur de et du nombre
dgalits n
e
demandes par lattaque deux points, il est possible de dduire la
complexit de lattaque. Ceci se rsume par la formule (3.2) de la section 3.4 pour le
cas dune permutation, ou (3.3) de cette mme section pour le cas dun gnrateur de
permutations. Accessoirement, ces formules permettent de dduire directement quel
cas mnent aux meilleures attaques (propositions 6 et 7 de la sous-section 3.4.3).
De la table 4.2 prcdente, nous pouvons maintenant directement choisir le ou les
cas menant la meilleure complexit dattaque deux points, comme le montrent
les exemples ci-dessous. Les complexits des attaques deux points obtenues pour un
nombre de tours quelconque sont donnes au tableau 4.3 de la section 4.1.3.
Attaque gnrique sur cinq tours, CPA Pour cinq tours, nous avons annonc
au chapitre 2 quaucune attaque deux points de fournit de complexit meilleure que
O
_
2
2n
_
. Examinons donc les treize cas de la sous-section A.1.4 de lannexe A (voir
aussi la section 4.1.1). Dans le cadre dune attaque CPA-1, les cas 1 3 ne demandent
aucune galit impliquant les sorties, les cas 4 11 demandent une galit sur les
blocs de sortie, et les cas 12 et 13 en demandent deux. De la table 4.2, donnant
lordre de grandeur de la valeur des =
H2
4n
|Bn|
k

2
2n
2
2n
1
, on a que les cas intressants
sont les cas 2, 3, 7, 10 et 11, car ils orent le meilleur compromis entre lordre de
grandeur de et le nombre dgalits requises. Daprs la proposition 6 de la sous-
section 3.4.3, tous ces cas mnent des attaques de mme complexit. Plaons-nous
4.1. Approche systmatique et rsultats pour les schmas Misty L 63
dans un de ces cas. La formule (3.2) montre que lon peut distinguer un schma
de Feistel dune permutation alatoire en calculant de lordre de m messages, o m
vrie :
m(m1)
2
2
nen

2

m(m1)
2
2
4n
(4.1)
Autrement dit, tous ces cas mnent une attaque de complexit O
_
2
2n
_
. Comme
annonc la sous-section 2.2.5 du chapitre 2, la meilleure attaque deux points sur
cinq tours ncessite de lordre de 2
2n
messages. Pour que cette attaque fournisse une
probabilit de succs plus proche de un, il vaut mieux supposer que nous attaquons
un gnrateur de permutations. Cette attaque deux points fournit une complexit
de lordre de 2
2n
calculs, et ce quel que soit le type dattaque considr.
Attaque gnrique sur six tours, CPA Pour six tours, examinons les treize
cas de la sous-section A.1.4 de lannexe A (voir aussi la section 4.1.1). Dans le cadre
dune attaque CPA-1, tout comme pour lattaque expos ci-dessus, les cas 1 3
ne demandent aucune galit impliquant les sorties, les cas 4 11 demandent une
galit sur les blocs de sortie, et les cas 12 et 13 en demandent deux. De la table 4.2,
on a que les cas intressants sont les cas 2 et 10. Daprs la proposition 6, ces
deux cas fournissent des attaques de complexit quivalentes (sous-section 3.4.3 du
chapitre 3). Prenons le cas 10 par exemple, on a alors, dans le cas o lon attaque une
seule permutation, que le nombre m de messages calculer pour pouvoir distinguer
dune permutation alatoire vrie :
m(m1)
2
2
nen

2

m(m1)
2
2
n
2
2n
(4.2)
Il nous faut O
_
2
3n
_
paires de messages vriant les conditions sur les blocs
dentre du cas 10, soit R
1
= R
2
pour deux messages. Le nombre maximal de telles
paires que lon peut obtenir pour une permutation est 2
3n
, en calculant alors toutes
les entres possibles. Cette attaque a une probabilit de succs non-ngligeable sur
une seule permutation, mais pour avoir une probabilit de succs plus proche de
1, supposons que nous attaquons un gnrateur de permutations. Cette attaque
fournit une complexit de l"ordre de O
_
2
2n
_
calculs, quel que soit le type dattaque
considr.
Ce rsultat conrme le rsultat annonc la section 3.2 du chapitre 3. La com-
plexit de la meilleure attaque deux points gnrique est O
_
2
2n
_
dans le cas des
schmas Misty L (lattaque prsente cette section pour les schmas Misty L cor-
respond au cas 10).
4.1.3 Rsultats
Cette sous-section donne les complexits des meilleures attaques gnriques sur
les schmas Misty L. La premire table (table 4.3), se restreint aux complexits des
attaques deux points, comme nous avons privilgi ces attaques pour un nombre
64
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
de tours grands. La seconde table, table 4.4, donne les complexits des meilleures
attaques trouves, i.e. on ne restreint plus aux attaques deux points.
Comme annonc au dbut du chapitre 3, lorsque les complexits de attaques
dpassent 2
2n
, les attaques prsentes sont en fait les meilleures connues permettant
de distinguer un gnrateur de permutations M
k
L
dun gnrateur de permutations
alatoires paires.
Ces deux tables peuvent tre compares titre indicatif avec la table des
meilleures complexits des schmas de Feistel classiques rappele en dbut de cha-
pitre (table 4.1), ces schmas ayant t plus tudis.
KPA CPA-1 CPA-2 CPCA-1 CPCA-2
M
1
L
1 1 1 1 1
M
2
L
2
n/2
2 2 2 2
M
3
L
2
n
2
n/2
2
n/2
2
n/2
3
M
4
L
2
n
2
n/2
2
n/2
2
n/2
2
n/2
M
5
L
2
2n
2
2n
2
2n
2
2n
2
2n
M
6
L
2
2n
2
2n
2
2n
2
2n
2
2n
M
7
L
2
4n
2
4n
2
4n
2
4n
2
4n
M
8
L
2
4n
2
4n
2
4n
2
4n
2
4n
M
9
L
2
6n
2
6n
2
6n
2
6n
2
6n
M
10
L
2
6n
2
6n
2
6n
2
6n
2
6n
M
11
L
2
8n
2
8n
2
8n
2
8n
2
8n
M
12
L
2
8n
2
8n
2
8n
2
8n
2
8n
M
k
L
k6, k pair 2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
M
k
L
k5, k impair 2
(k3)n
2
(k3)n
2
(k3)n
2
(k3)n
2
(k3)n
Table 4.3: Meilleures complexits des attaques deux points permettant de distin-
guer k tours de schmas Misty L dune permutation alatoire paire.
On voit de ces tables, quau moins 5 tours de schmas Misty L sont ncessaires
pour viter les attaques gnriques connues. Ceci est semblable aux schmas de
Feistel classiques.
Ces deux tables 4.3 et 4.4 retranscrivent bien le fait quil existe des attaques
gnriques sensiblement meilleures que les attaques deux points pour M
k
L
. Ltude
des attaques trois points ou quatre points na pas t pousse au-del des premiers
tours. La raison pour cela est que lanalyse systmatique devient alors plus complexe.
Remarque : Notons que les valeurs de ces complexits ont t vries jusqu
k = 12 tours. Au-del, les complexits annonces sont des estimations. Ltude
asymptotique des , faite en annexe, prouve une volution globale des tous les deux
tours. Plus prcisment, cette tude montre une volution de
1
2
2n
de la plus grande
valeur de pour un nombre de tours k, par rapport la plus grande valeur de pour
k2 tours. Ceci ne permet pas de prouver lvolution des complexits indiques par
les tables, mais seulement que les complexits augmentent asymptotiquement.
4.1. Approche systmatique et rsultats pour les schmas Misty L 65
KPA CPA-1 CPA-2 CPCA-1 CPCA-2
M
1
L
1 1 1 1 1
M
2
L
2
n/2
2 2 2 2
M
3
L
2
n
4 4 4 3
M
4
L
2
n
2
n/2
2
n/2
2
n/2
4
M
5
L
2
3n/2
2
n
2
n
2
n
2
n
M
6
L
2
2n
2
2n
2
2n
2
2n
2
2n
M
7
L
2
4n
2
4n
2
4n
2
4n
2
4n
M
8
L
2
4n
2
4n
2
4n
2
4n
2
4n
M
9
L
2
6n
2
6n
2
6n
2
6n
2
6n
M
10
L
2
6n
2
6n
2
6n
2
6n
2
6n
M
11
L
2
8n
2
8n
2
8n
2
8n
2
8n
M
12
L
2
8n
2
8n
2
8n
2
8n
2
8n
M
k
L
k6, k pair 2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
M
k
L
k7, k impair 2
(k3)n
2
(k3)n
2
(k3)n
2
(k3)n
2
(k3)n
Table 4.4: Nombre minimum de calculs ncessaires pour distinguer k tours de
schmas Misty L, dune permutation alatoire paire.
4.1.4 Complment : valeur exacte des coecients H pour les six
premiers tours
Les tables de cette sous-section donnent les valeurs exactes des coecients H
pour les premiers six tours.
cas 1 tour 2 tours 3 tours 4 tours
1 0 ((2
n
2)!)
2
(2
n
3)((2
n
2)!)
3
2
n
(2
n
3)
2
((2
n
2)!)
4
2
n2
+(2
n
2)((2
n
2)!)
4
2
n2
+2
2n
(2
n
1)! ((2
n
2)!)
3
2 0 0 2
n
(2
n
1)! ((2
n
2)!)
2
2
2n
(2
n
1)! ((2
n
2)!)
3
(2
n
2)
3 0 0 2
n
(2
n
1)! ((2
n
2)!)
2
(2
n
3)(2
n
1)! ((2
n
2)!)
3
2
2n
4 (2
n
2)! ((2
n
2)!)
2
(2
n
2)((2
n
2)!)
3
2
n
(2
n
2)(2
n
3)((2
n
2)!)
4
2
2n
+2
2n
(2
n
1)! ((2
n
2)!)
3
5 0 0 0 2
2n
(2
n
1)! ((2
n
2)!)
3
(2
n
2)
6 0 0 (2
n
2)((2
n
2)!)
3
2
n
2
2n
((2
n
2)!)
4
(2
n
2)
2
7 0 0 2
2n
(2
n
1)! ((2
n
2)!)
3
(2
n
1)
8 0 0 2
n
(2
n
1)! ((2
n
2)!)
2
2
n2
(2
n
1)!((2
n
2)!)
3
(2
n
2)
9 0 0 2
n
(2
n
1)! ((2
n
2)!)
2
2
2n
(2
n
1)! ((2
n
2)!)
3
(2
n
2)
10 0 0 0
11 0 0 0 2
2n
((2
n
1)!)
2
((2
n
2)!)
2
12 0 (2
n
1)! (2
n
2)! 2
n
(2
n
1)! ((2
n
2)!)
2
2
2n
(2
n
1)! ((2
n
2)!)
3
(2
n
2)
13 0 0 2
2n
((2
n
1)!)
2
((2
n
2)!)
2
Table 4.5: Valeurs des coecients H dans les dirents cas considrs, pour 1, 2,
3, et 4 tours.
66
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
cas 5 tours
1 (2
n
3)
3
((2
n
2)!)
5
2
3n
+2 (2
n
2)(2
n
3)((2
n
2)!)
5
2
3n
+2 2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
2)
2 2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
2)
2
3 (2
n
3)
2
(2
n
1)! ((2
n
2)!)
4
2
3n
+2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
2)+2
3n
((2
n
1)!)
2
((2
n
2)!)
3
4 (2
n
2)(2
n
3)
2
((2
n
2)!)
5
2
3n
+(2
n
2)
2
((2
n
2)!)
5
2
3n
+2 2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
2)
5 (2
n
2)(2
n
3)(2
n
1)! ((2
n
2)!)
4
2
3n
+2
3n
((2
n
1)!)
2
((2
n
2)!)
3
6 2
3n
((2
n
2)!)
5
(2
n
2)
3
+2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
1)
7 2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
1)(2
n
2)
8 2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
2)
2
9 2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
2)
2
10 2
3n
((2
n
1)!)
2
((2
n
2)!)
3
(2
n
1)
11 2
3n
((2
n
1)!)
2
((2
n
2)!)
3
(2
n
2)
12 2
3n
(2
n
1)! ((2
n
2)!)
4
(2
n
2)
2
13 2
3n
((2
n
1)!)
2
((2
n
2)!)
3
(2
n
2)
Table 4.6: Valeurs des coecients H dans les dirents cas considrs, pour 5 tours.
cas 6 tours
1 (2
n
3)
4
((2
n
2)!)
6
2
4n
+3 (2
n
2)(2
n
3)
2
((2
n
2)!)
6
2
4n
+(2
n
2)
2
((2
n
2)!)
6
2
4n
+3 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
2)
2
2 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
2)
3
+2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
1)
3 (2
n
3)
3
(2
n
1)! ((2
n
2)!)
5
2
4n
+2 (2
n
2)(2
n
3)(2
n
1)! ((2
n
2)!)
5
2
4n
+2 2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
2)
4 (2
n
2)(2
n
3)
3
((2
n
2)!)
6
2
4n
+2 (2
n
2)
2
(2
n
3)((2
n
2)!)
6
2
4n
+3 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
2)
2
5 (2
n
2)(2
n
3)
2
(2
n
1)! ((2
n
2)!)
5
2
4n
+2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
2)
2
+2 2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
2)
6 2
4n
((2
n
2)!)
6
(2
n
2)
4
+2 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
1)(2
n
2)
7 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
1)(2
n
2)
2
8 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
2)
3
+2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
1)
9 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
2)
3
+2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
1)
10 2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
1)(2
n
2)
11 2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
2)
2
12 2
4n
(2
n
1)! ((2
n
2)!)
5
(2
n
2)
3
+2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
1)
13 2
4n
((2
n
1)!)
2
((2
n
2)!)
4
(2
n
2)
2
Table 4.7: Valeurs des coecients H dans les dirents cas considrs, pour 6 tours.
4.2 Approche systmatique et rsultats pour les schmas
de Feistel avec permutations internes
La gure 4.2 rappelle la structure gnrale dun schma de Feistel.
4.2. Approche systmatique et rsultats pour les schmas de Feistel
avec permutations internes 67
L
1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
Figure 4.2: k tours de schmas de Feistel
4.2.1 Rsum des rsultats pour les schmas de Feistel avec per-
mutations internes
Comme dans la section prcdente sur les schmas Misty L, nous rappelons dans
cette sous-section les rsultats obtenus sur les schmas de Feistel avec permutations
internes alatoires. Les analyses et rsultats exposs dans la suite de cette section 4.2
se dduisent de ces rsultats prliminaires.
4.2.1.1 Les dirents cas considrer pour H ou
Nous rappelons ci-dessous les cas distinguer lors du calcul des coecients H
(dnition 8 de la section 3.3) pour les schmas de Feistel avec permutations internes.
Ces mmes cas sont distinguer lors de lvaluation de =
H2
4n
|Bn|
k

2
2n
2
2n
1
, qui inter-
vient dans lors de la dduction des meilleures attaques gnriques (voir section 3.4
et 3.4.3). Pour
k
, il faut distinguer entre k pair et k impair (voir annexe A).
Pour un nombre k de tours impair :
1 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
2 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
3 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
4 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
5 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
6 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
7 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
8 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
9 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
10 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
11 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
12 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
13 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
68
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
Pour un nombre k de tours pair :
1 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
2 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
3 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
4 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
5 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
6 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
7 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
8 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
9 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
10 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
11 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
4.2.1.2 Formules pour les coecients H pour schmas de Feistel avec
permutations internes
Les formules pour les coecients H dans le cas de
k
sont donnes en annexe A.
Les formules directes sont bases sur le thorme 7 de la section 3.5. Les formules
directes obtenues sont donnes la sous-section A.2.3. Les formules pour obtenir ces
coecients H par rcurrence (ainsi que des valeurs pour les deux premiers tours)
sont donnes la section A.4 en annexe. titre indicatif, les valeurs exactes des
coecients H pour
k
, 1 k 6, sont donnes la section 4.2.4 de ce chapitre,
tables 4.3 4.5.
la section A.4 de lannexe A, nous donnons les formules de rcurrence pour
les , ainsi que des valeurs exactes pour les deux premiers tours. Cependant, pour
dduire les meilleures attaques gnriques deux points, seul lordre de grandeur
importe. La table 4.8 de la section 4.2.2 suivante donne lordre de grandeur des
dans les dirents cas de la partie 4.2.1.1 prcdentes, pour un nombre de tours
entre 1 et 12.
4.2.2 Valeurs numriques et exemples dapplication aux attaques
deux points
4.2.2.1 Table de valeurs pour =
H2
4n
|Bn|
k

1
11/2
2n
Au chapitre 3, section 3.4, nous avons vu que de la valeur =
H2
4n
|Bn|
k

1
11/2
2n
,
nous pouvions facilement dduire les meilleures attaques deux points. La table 4.8
suivante donnent lordre de grandeur des , pour chacun des cas exposs la sous-
section A.2.4 et rappels la section 4.2.1 prcdente. Notons que les cas considrs
lorsque le nombre de tours de schmas de Feistel est pair, ne sont pas les mmes que
lorsque le nombre de tours de schmas de Feistel est impair. Le paragraphe 4.2.2.2
illustre comment lon peut dduire la complexit des meilleures attaques gnriques
deux points, pour un nombre de tours donns, partir de cette table. Notamment,
nous revenons sur les attaques sur
3
et
6
.
4.2. Approche systmatique et rsultats pour les schmas de Feistel
avec permutations internes 69
cas : 1 2 3 4 5 6 7 8 9 10 11 12 13
1 tour 1 1 2
n2
1 1 1 1 1 1 1 1 2
n3
1
2 tours
1
2
n
1
1
2
n
1
1
2
n
1 1 2
n
1 1 1
3 tours
1
2
2n
1
2
n
1
2
n
1
2
n
1
2
n
1
2
n
1 1 1
1
2
n
1
2
n
1 1
4 tours
1
2
3n
1
2
n
1
2
2n
1
2
2n
1
2
2n
1
2
n
1
2
n
1
1
2
n
1
2
2n
1
5 tours
1
2
2n
1
2
2n
1
2
n
1
2
2n
1
2
3n
1
2
2n
1
2
n
1
2
n
1
2
2n
1
2
2n
1
2
n
1
1
2
n
6 tours
1
2
3n
1
2
3n
1
2
3n
1
2
2n
1
2
3n
1
2
2n
1
2
2n
1
2
2n
1
2
3n
1
2
2n
1
2
n
7 tours
1
2
3n
1
2
3n
1
2
2n
1
2
3n
1
2
3n
1
2
3n
1
2
3n
1
2
2n
1
2
2n
1
2
3n
1
2
2n
1
2
n
1
2
3n
8 tours
1
2
4n
1
2
3n
1
2
5n
1
2
3n
1
2
4n
1
2
3n
1
2
3n
1
2
2n
1
2
3n
1
2
3n
1
2
3n
9 tours
1
2
5n
1
2
4n
1
2
4n
1
2
5n
1
2
4n
1
2
4n
1
2
3n
1
2
3n
1
2
3n
1
2
5n
1
2
4n
1
2
3n
1
2
3n
10 tours
1
2
6n
1
2
4n
1
2
6n
1
2
5n
1
2
5n
1
2
4n
1
2
5n
1
2
3n
1
2
4n
1
2
5n
1
2
3n
11 tours
1
2
5n
1
2
5n
1
2
4n
1
2
6n
1
2
6n
1
2
5n
1
2
4n
1
2
5n
1
2
5n
1
2
6n
1
2
4n
1
2
3n
1
2
4n
12 tours
1
2
6n
1
2
6n
1
2
6n
1
2
5n
1
2
6n
1
2
5n
1
2
6n
1
2
5n
1
2
6n
1
2
5n
1
2
4n
Table 4.8: Ordre de grandeur des =
H2
4n
|Bn|
k

1
11/2
2n
, dans les dirents cas
considrs. De ces valeurs se dduisent facilement les meilleures attaques deux points.
4.2.2.2 Exemples dapplication aux attaques
Au cours du chapitre 3, nous avons vu que de la valeur de et du nombre
dgalits n
e
demandes par lattaque deux points, il est possible de dduire la
complexit de lattaque. Ceci se rsume par la formule (3.2) de la section 3.4 pour le
cas dune permutation, ou (3.3) de cette mme section pour le cas dun gnrateur
de permutations. Ces formules permettent galement de dduire directement quel
cas mnent aux meilleures attaques (propositions 6 et 7 de la sous-section 3.4.3). De
la table 4.8 prcdente, nous pouvons alors directement choisir, pour chaque nombre
de tours, le ou les cas menant la meilleure complexit dattaque deux points. Ceci
est illustr par les exemples ci-dessous, et les rsultat pour un nombre de tours
quelconque sont donns dans le tableau 4.9 de la section 4.2.3.
Rappelons que pour trois tours, nous avions observ au chapitre 2 une moins
bonne complexit des attaques deux points (en KPA) que pour des schmas de
Feistel classiques, avec fonctions internes. Six tours est le deuxime moment o
apparaissent des dirences avec les schmas de Feistel classiques, et le moment
partir duquel ces dirences deviennent rgulires (on peut par exemple comparer
la table 4.1 du dbut de ce chapitre et la table 4.9 de la section 4.2.3. Nous revenons
ici sur ces deux cas, et voyons queectivement, les attaques exposes au chapitre 2
taient les attaques deux points fournissant la meilleure complexit.
Attaque gnrique sur trois tours, KPA tudions les KPA sur trois tours de
schmas de Feistel avec permutations internes, pour lesquelles nous avons vu que,
la dirence des schmas de Feistel classiques, il nexiste pas dattaque de complexit
O
_
2
n/2
_
. Pour trois tours, il y a treize cas considrer (cf. sous-section A.2.4 de
lannexe A ou la section 4.2.1 ci-dessus). Pour ce qui est du nombre dgalits sur
70
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
les entres/sorties demandes par chaque cas dans le cadre dune KPA : le cas 1
ne demande aucune galit, les cas 2 5 demandent une galit, les cas 6 11 en
demandent deux, et les cas 12 et 13 demandent trois galits. La table 4.8 donne
lordre de grandeur de la valeur des =
H2
4n
|Bn|
k

2
2n
2
2n
1
dans les dirents cas. On
obtient de cette table que les cas les plus intressants sont le cas 1, les cas 2 5, et
les cas 7, 8 et 9, car ceux sont ceux prsentant le meilleur compromis entre lordre
de grandeur de et le nombre dgalits requises (voir section 3.4 du chapitre 3). De
la proposition 6 de la sous-section 3.4.3 du chapitre 3, on dduit que les cas menant
la meilleure complexit dattaque sont les cas 7, 8 et 9 (et ils mnent tous trois
la mme complexit).
Plaons-nous dans un de ces cas. La formule (3.2) montre que lon peut distin-
guer un schma de Feistel dune permutation alatoire en calculant de lordre de m
messages, o m vrie :
m(m1)
2
2
nen

2

m(m1)
2
2
2n
(4.3)
Autrement dit, ces cas 7, 8, et 9 mnent une attaque de complexit O(2
n
),
comme annonc la sous-section 2.1.3 de la section 2.1. On peut remarquer que
dans cette sous-section 2.1.3, cest le cas 9 qui avait t expos. Ceci conrme quil
nexiste pas dattaque deux points de complexit meilleure que O(2
n
), car nous
avons balay toutes les possibilits dgalits entre les blocs dentre et de sortie de
deux messages, soit toutes les attaques deux points.
Remarque : Nous aurions pu dduire des valeurs de la table 4.8, sans rentrer dans le
dtail des calculs de complexit des attaques, quaucun cas ne mne une attaque
en O
_
2
n/2
_
.
En eet, pour trois tours de schmas de Feistel classiques, dans le cas R
1
S
1
=
R
2
S
2
, la valeur de est grande (elle vaut 1) alors que seule une condition sur les
blocs dentre et de sortie est demande (n
e
= 1). Pour des schmas de Feistel avec
permutations internes, il ny a pas de situation similaire. Ceci se voit directement
dans la table 4.8. La scurit en KPA semble ainsi meilleure pour les schmas de
Feistel avec permutations internes, et ceci conrme que ltude de ces deux schmas
doit se faire sparment.
nonons rapidement la KPA sur trois tours de schmas de Feistel classiques pour
ce cas R
1
S
1
= R
2
S
2
[Pat01], et voyons la dirence avec cette mme attaque sur
trois tours de schmas Misty L. Pour des schmas de Feistel classiques, la probabilit
davoir cette galit entre deux messages est O
_
2
2
n
_
. En eet, elle se produit soit
lorsque R
1
,= R
2
et L
1
f
1
(R
1
) = L
2
f
1
(R
2
) (avec probabilit
1
2
n
), soit lorsque L
1

f
1
(R
1
) ,= L
2
f
1
(R
2
) et f
2
(L
1
f
1
(R
1
)) = f
2
(L
2
f
1
(R
2
)) (avec probabilit
1
2
n
, car
f
2
est une fonction alatoire). Dans le cas de schmas de Feistel avec permutations
internes, lgalit laquelle on sintresse ne se produit alors plus que
1
lorsque
R
1
,= R
2
et L
1
f
1
(R
1
) = L
2
f
1
(R
2
) et avec probabilit
1
2
n
, tout comme pour une
permutation alatoire.
1. En particulier, f2 est une permutation et ne permet plus la deuxime des conditions prc-
dente.
4.2. Approche systmatique et rsultats pour les schmas de Feistel
avec permutations internes 71
Attaque gnrique sur six tours, CPA Pour six tours, nous examinons les
onze cas de la sous-section A.2.4 de lannexe A (voir aussi la section 4.2.1). Dans le
cadre dune attaque CPA-1, les cas 1 3 ne demandent aucune galit impliquant
les sorties, les cas 4 8 demandent une galit sur les blocs de sortie, et les cas 9
11 en demandent deux. De la table 4.8, on a que les cas intressants sont tous les
cas sauf les cas 5, 9 et 10. De la proposition 6 (sous-section 3.4.3 du chapitre 3),
on dduit que le cas menant lattaque de meilleur complexit est le cas 11. On a
alors, dans le cas o lon attaque une seule permutation, le nombre m de messages
calculer pour pouvoir distinguer dune permutation alatoire vrie :
m(m1)
2
2
nen

2

m(m1)
2
2
2n
2
2n
(4.4)
Il nous faut 2
4n
paires de messages vriant les conditions sur les blocs dentre
du cas 11, soit R
1
= R
2
pour deux messages. Or le nombre maximal de telles paires
que lon peut obtenir pour une permutation est 2
3n
, en calculant alors toutes les
entres possibles. Cette attaque ne permet pas de distinguer une seule permutation

6
dune permutation alatoire. Plaons-nous dans le cas dune attaque sur un g-
nrateur de permutations. La table 4.8 et la proposition 7 de la sous-section 3.4.3
montrent qu la fois le cas 4 et le cas 11 mnent lattaque de meilleure com-
plexit. Le nombre de permutations ncessaires pour que lattaque aboutisse (voir
la formule (3.3) de la section 3.4) est vriant (ici
m(m1)
2
= 2
3n
) :
m(m1)
2
2
nen

2

m(m1)
2
2
2n
2
2n
(4.5)
On trouve = O(2
n
), pour une complexit de lordre de 2
2n
, o 2
2n
est le
nombre de messages valus par permutation, soit O
_
2
3n
_
. Ceci permet de conrmer
que lattaque sur six tours prsente la section 3.2 du chapitre 3 est lattaque deux
points de meilleure complexit.
4.2.3 Rsultats
Cette sous-section donne les complexits des meilleures attaques gnriques sur
les schmas de Feistel avec permutations internes. La premire table (table 4.9), se
restreint aux complexits des attaques deux points, comme nous avons privilgi ces
attaques. La seconde table, table 4.10, donne les complexits des meilleures attaques
gnriques trouves. Notons que pour le cas des schmas de Feistel, nous navons pas
forcment cherch dautres attaques que les attaques deux points. Par suite, la seule
dirence entre ces deux tables est lattaque CPCA-2 sur trois tours, fonctionnant
aussi pour des schmas de Feistel avec fonctions internes (voir section 2.1.3 du
chapitre 2).
Rappelons que les complexits suprieures 2
2n
indiques dans les tables corres-
pondent au nombre de calculs ncessaires pour distinguer un gnrateur de permuta-
tions
k
dun gnrateur de permutations alatoires paires (voir aussi lintroduction
au chapitre 3).
72
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
Enn, comme suggr plus haut ou dans le cas des schmas Misty L, ces deux
tables peuvent tre compares titre indicatif avec la table des meilleures complexi-
ts des schmas de Feistel classiques rappele en dbut de chapitre (table 4.1).
KPA CPA-1 CPA-2 CPCA-1 CPCA-2

1
1 1 1 1 1

2
2
n/2
2 2 2 2

3
2
n
2
n/2
2
n/2
2
n/2
2
n/2

4
2
n
2
n/2
2
n/2
2
n/2
2
n/2

5
2
3n/2
2
n
2
n
2
n
2
n

6
2
3n
2
3n
2
3n
2
3n
2
3n

7
2
3n
2
3n
2
3n
2
3n
2
3n

8
2
4n
2
4n
2
4n
2
4n
2
4n

9
2
6n
2
6n
2
6n
2
6n
2
6n

10
2
6n
2
6n
2
6n
2
6n
2
6n

11
2
7n
2
7n
2
7n
2
7n
2
7n

12
2
9n
2
9n
2
9n
2
9n
2
9n

k
, k6, k=0 mod 3 2
(k3)n
(+) 2
(k3)n
2
(k3)n
2
(k3)n
(+) 2
(k3)n

k
, k6, k=1 or 2 mod 3 2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
Table 4.9: Meilleure complexit des attaques deux points permettant de distinguer
k tours de schmas de Feistel dune permutation alatoire paire.
Ici, part pour trois tours et dans le cas dune CPCA-2, nous navons pas
repr dautres attaques que les attaques deux points, les deux tableaux sont quasi-
identiques. On voit encore quau moins cinq tours de schmas de Feistel avec per-
mutations internes doivent tre utiliss pour viter les attaques gnriques connues.
En comparaison aux schmas de Feistel classiques, on observe une premire dif-
frence pour trois tours, en KPA. Ceci a dj t dvelopp la partie 4.2.2.2.
Ensuite, une dirence apparat tous les trois tours, o la complexit des attaques
est alors moins bonne que pour les schmas de Feistel classiques. Autrement dit,
utiliss avec des permutations internes, la scurit des schmas de Feistel balancs
semble meilleure, mais plus dtudes devraient tre menes sur ce schma.
4.2.4 Complment : valeur exacte des coecients H, pour les six
premiers tours
Les tables de cette sous-section donnent les valeurs exactes des coecients H
pour les premiers six tours.
4.2. Approche systmatique et rsultats pour les schmas de Feistel
avec permutations internes 73
nombre k
de tours
KPA CPA-1 CPA-2 CPCA-1 CPCA-2

1
1 1 1 1 1

2
2
n/2
2 2 2 2

3
2
n
2
n/2
2
n/2
2
n/2
3

4
2
n
2
n/2
2
n/2
2
n/2
2
n/2

5
2
3n/2
2
n
2
n
2
n
2
n

6
2
3n
2
3n
2
3n
2
3n
2
3n

7
2
3n
2
3n
2
3n
2
3n
2
3n

8
2
4n
2
4n
2
4n
2
4n
2
4n

9
2
6n
2
6n
2
6n
2
6n
2
6n

10
2
6n
2
6n
2
6n
2
6n
2
6n

11
2
7n
2
7n
2
7n
2
7n
2
7n

12
2
9n
2
9n
2
9n
2
9n
2
9n

k
k6, k=0 mod 3 2
(k3)n
2
(k3)n
(+) 2
(k3)n
2
(k3)n
2
(k3)n

k
, k6, k=1 or 2 mod 3 2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
2
(k4)n
Table 4.10: Nombre maximum de calculs ncessaires pour distinguer k tours de
schmas de Feistel avec permutations internes, dune permutation alatoire paire.
cas 1 tour 2 tours 3 tours 4 tours
1 0 ((2
n
2)!)
2
((2
n
2)!)
3
2
n
(2
n
3) ((2
n
2)!)
4
2
2n
(2
n
3)
2
+2 (2
n
1)! ((2
n
2)!)
3
2
2n
2 0 0 ((2
n
2)!)
3
2
n
(2
n
2) (2
n
1)! ((2
n
2)!)
3
2
n2
(2
n
2)
3 (2
n
2)! ((2
n
2)!)
2
(2
n
1)! ((2
n
2)!)
2
2
n
((2
n
2)!)
4
2
2n
(2
n
2)(2
n
3)
+(2
n
1)! ((2
n
2)!)
3
2
2n
4 0 0 (2
n
1)! ((2
n
2)!)
2
2
n
((2
n
2)!)
4
2
2n
(2
n
2)(2
n
3)
+(2
n
1)! ((2
n
2)!)
3
2
2n
5 0 ((2
n
2)!)
2
((2
n
2)!)
3
2
n
(2
n
2) ((2
n
2)!)
4
2
2n
(2
n
2)
2
6 0 0 (2
n
1)! ((2
n
2)!)
2
2
n
((2
n
1)!)
2
((2
n
2)!)
2
2
2n
7 0 0 0 (2
n
1)! ((2
n
2)!)
3
2
n2
(2
n
1)
8 0 (2
n
1)! (2
n
2)! 0 0
9 0 0 0 ((2
n
2)!)
4
2
2n
(2
n
2)
2
+(2
n
1)! ((2
n
2)!)
3
2
n2
10 0 0 ((2
n
2)!)
3
2
n
(2
n
1) ((2
n
2)!)
4
2
2n
(2
n
2)
2
+(2
n
1)! ((2
n
2)!)
3
2
n2
11 0 0 (2
n
1)! ((2
n
2)!)
2
2
n
0
12 (2
n
1)! 0
13 0 0
Figure 4.3: valeurs des coecients H dans les dirents cas considrs, pour 1,2,3
et 4 tours.
74
Chapitre 4. Attaques Deux Points Systmatiques sur les Schmas de
Feistel avec Permutations Internes et Misty L. Rsultats
cas 5 tours
1 ((2
n
2)!)
5
2
3n
((2
n
3)
2
+2
n
2
)(2
n
3)+(2
n
1)! ((2
n
2)!)
4
2
3n
(3 2
n
7)
2 ((2
n
2)!)
5
2
3n
(2
n
2)(2
n
3)
2
+(2
n
1)! ((2
n
2)!)
4
2
3n
(3 2
n
6)
3 ((2
n
2)!)
5
2
3n
((2
n
3)
2
+2
n
2
)(2
n
2)+(2
n
1)! ((2
n
2)!)
4
2
3n
(2
n
3)
4 (2
n
1)! ((2
n
2)!)
4
2
3n
(2
n
2)(2
n
3)+((2
n
1)!)
2
((2
n
2)!)
3
2
n3
5 ((2
n
2)!)
5
2
3n
(2
n
2)
2
(2
n
3)+(2
n
1)! ((2
n
2)!)
4
2
3n
(2 2
n
3)
6 (2
n
1)! ((2
n
2)!)
4
2
3n
(2
n
2)
2
7 (2
n
1)! ((2
n
2)!)
4
2
n3
(2
n
2)
2
+((2
n
1)!)
2
((2
n
2)!)
3
2
3n
8 ((2
n
1)!)
2
((2
n
2)!)
3
2
3n
(2
n
1)
9 ((2
n
2)!)
5
2
3n
(2
n
2)
3
+(2
n
1)! ((2
n
2)!)
4
2
n3
(2
n
2)
10 ((2
n
2)!)
5
2
3n
(2
n
3)(2
n
1)(2
n
2)+(2
n
1)! ((2
n
2)!)
4
2
3n
(2
n
1)
11 ((2
n
2)!)
5
2
3n
(2
n
2)
2
(2
n
3)+(2
n
1)! ((2
n
2)!)
4
2
3n
(2
n
2)
12 0
13 ((2
n
2)!)
5
2
3n
(2
n
2)
2
(2
n
1)+(2
n
1)! ((2
n
2)!)
4
2
3n
(2
n
1)
Figure 4.4: Valeurs des coecients H dans les dirents cas considrs, pour 5
tours.
cas 6 tours
1 ((2
n
2)!)
6
2
4n
((2
n
3)
2
+2
n
2
)
2
+4 (2
n
1)! ((2
n
2)!)
5
2
4n
(2
n
2)(2
n
3)+((2
n
1)!)
2
((2
n
2)!)
4
2
4n
2 (2
n
1)! ((2
n
2)!)
5
2
n4
(2
n
3)(2
n
2)
2
+((2
n
1)!)
2
((2
n
2)!)
4
2
n4
(2 2
n
3)
3 ((2
n
2)!)
6
2
4n
((2
n
3)
2
+2
n
2
)(2
n
2)
2
+(2
n
1)! ((2
n
2)!)
5
2
4n
((2
n
3)(2
n
1)+2 (2
n
2)
2
)
4 ((2
n
2)!)
6
2
4n
(2
n
2)(2
n
3)((2
n
3)
2
+2
n
2
)
+(2
n
1)! ((2
n
2)!)
5
2
n4
(
2 (2
n
2)
2
+2 (2
n
2)(2
n
3))
+ ((2
n
1)!)
2
((2
n
2)!)
4
2
4n
5 ((2
n
2)!)
6
2
4n
(2
n
2)
4
+2 (2
n
1)! ((2
n
2)!)
5
2
4n
(2
n
1)(2
n
2)
6 ((2
n
1)!)
2
((2
n
2)!)
4
2
4n
(2
n
2)
2
7 (2
n
1)! ((2
n
2)!)
5
2
4n
(2
n
3)(2
n
1)(2
n
2)+((2
n
1)!)
2
((2
n
2)!)
4
2
4n
(2
n
1)
8 (2
n
1)! ((2
n
2)!)
5
2
n4
(2
n
2)
3
+((2
n
1)!)
2
((2
n
2)!)
4
2
4n
(2
n
2)
9 ((2
n
2)!)
6
2
4n
(2
n
2)
3
(2
n
3)+(2
n
1)! ((2
n
2)!)
5
2
4n
((2
n
2)(2
n
1)+2 (2
n
2)
2
)
10 ((2
n
2)!)
6
2
4n
(2
n
2)
2
(2
n
3)
2
+4 (2
n
1)! ((2
n
2)!)
5
2
4n
(2
n
2)
2
+((2
n
1)!)
2
((2
n
2)!)
4
2
4n
11 (2
n
1)! ((2
n
2)!)
5
2
4n
(2
n
1)(2
n
2)
2
+((2
n
1)!)
2
((2
n
2)!)
4
2
n4
(2
n
1)
Figure 4.5: Valeurs des coecients H dans les dirents cas considrs, pour 6
tours.
Deuxime partie
CRYPTANALYSE EN
CRYPTOLOGIE MULTIVARIE
Chapitre 5
Introduction la Cryptologie
Multivarie, Outils
La cryptologie multivarie est une branche de la cryptologie cl publique, ayant
merg dans les annes 1980. Les algorithmes en cryptologie multivarie sont bass
sur des systmes de polynmes multivaris. On parle encore de schmas multi-
varis. Ces schmas se sont longtemps montrs trs attractifs car ils permettent
notamment de fournir des signatures asymtriques trs courtes ncessitant trs peu
de mmoire vive. De plus, ils sont bass sur un problme dicile dirent de ceux
utiliss classiquement en cryptologie asymtrique, savoir le problme MQ, qui
consiste rsoudre un systme de polynmes en plusieurs variables. Plus prcis-
ment, le chirement par exemple consiste valuer un tel systme de polynmes
publics en le message clair. Sans information supplmentaire, lattaquant se trouve
face au problme MQ. Lintrt de baser des schmas cl publique sur ce pro-
blme est quil rsisterait lmergence ventuelle des ordinateurs quantiques, la
dirence du problme de la factorisation ou du logarithme discret par exemple.
Malheureusement, des cryptanalyses de beaucoup de schmas multivaris ont
t proposes ces dernires annes, faisant perdre la foi de la communaut en ces
schmas. Les cryptanalyses proposes sont souvent dues au fait que la gnration
du systme dquations quadratiques formant la cl publique est trs particulire (le
principe gnral de construction est dcrit avec plus de prcision la section 5.1).
Le systme quadratique de la cl publique se trouve tre souvent plus simple
rsoudre quune instance gnrique de mme taille. Parfois encore, la manire dont
est conu lalgorithme permet dobtenir plus dinformation que celle donne par la
cl publique. De telles astuces nous ont en particulier permis de cryptanalyser le
schma HM [PCG98a, FJPT10], ou encore de retrouver la cl secrte pour certaines
instances de HFE [Pat96, BFJT09]. Ces cryptanalyses font lobjet des chapitres 6
et 7.
Dans ce chapitre, nous donnons la section 5.1, comme annonc, une descrip-
tion gnrale des schmas multivaris. Nous y donnons galement la description de
quelques schmas particuliers. Dans la section 5.2, nous donnons les prliminaires
ncessaires la comprhension de la partie II. Plus prcisment, nous y exposons
quelques rappels mathmatiques ainsi que des complexits existantes concernant la
rsolution de problmes associs la cryptologie multivarie.
Sommaire
78 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
5.1 Description gnrale des schmas multivaris et problmes
diciles sous-jacents . . . . . . . . . . . . . . . . . . . . . . . 78
5.2 Outils mathmatiques . . . . . . . . . . . . . . . . . . . . . . . 81
5.2.1 Corps nis et extensions de corps ni, morphisme de Frobenius 81
5.2.2 Les bases de Grbner . . . . . . . . . . . . . . . . . . . . . . 83
5.2.3 Le problme IP (Isomorphisms of Polynomials) . . . . . . . 92
5.3 Quelques exemples de schmas multivaris . . . . . . . . . . 93
5.3.1 C

(ou MI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.3.2 HFE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.3 SFLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.4 OV et UOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1 Description gnrale des schmas multivaris et pro-
blmes diciles sous-jacents
La plupart des fonctions sens unique utilises en cryptologie multivarie sont
bases sur lvaluation dun ensemble de polynmes quadratiques p :
_

_
p
1
(x
1
, . . . , x
u
)
.
.
.
p
m
(x
1
, . . . , x
u
).
Le problme dicile justiant lappellation sens unique pour ces applications,
est le problme MQ, consistant rsoudre un systme de polynmes quadratiques
en plusieurs variables :
MQ-dcisionnel
Donne : Un corps ni K et un ensemble p de m polynmes quadratiques de
K[x
1
, . . . , x
u
] :
_

_
p
1
(x
1
, . . . , x
u
)
.
.
.
p
m
(x
1
, . . . , x
u
).
Problme : Existe-t-il (z
1
, . . . , z
u
) K
u
tel que :
_

_
p
1
(z
1
, . . . , z
u
) = 0
.
.
.
p
m
(z
1
, . . . , z
u
) = 0.
MQ
Donne : Un corps ni K et un ensemble p de m polynmes quadratiques de
K[x
1
, . . . , x
u
] :
_

_
p
1
(x
1
, . . . , x
u
)
.
.
.
p
m
(x
1
, . . . , x
u
).
5.1. Description gnrale des schmas multivaris et problmes diciles
sous-jacents 79
Problme : Trouver (z
1
, . . . , z
u
) K
u
tel que :
_

_
p
1
(z
1
, . . . , z
u
) = 0
.
.
.
p
m
(z
1
, . . . , z
u
) = 0.
Le problme MQ dcisionnel est un problme NP-complet [FY30, GP97], le pro-
blme MQ est un problme NP-dur. En cryptologie, les algorithmes gnralement
les plus performants pour la rsolution de systmes multivaris sont les algorithmes
de calcul de bases de Grbner. Ce point est dtaill la sous-section 5.2.2. Un aspect
attirant de la cryptologie multivarie est que dans lventualit de lapparition dor-
dinateurs quantiques, il nexiste pas dalgorithme polynomial pour la rsolution de
MQ, contrairement dautres problmes diciles frquemment utiliss en cryptolo-
gie cl publique. Par exemple, le problme du logarithme discret ou encore celui
de la factorisation, notamment la base du RSA, seraient proscrire. Dailleurs,
et bien que le problme sous-jacent ne soit pas le mme, les schmas multivaris
peuvent tre vus comme une gnralisation du RSA, o lvaluation sur Z/nZ du
polynme x x
e
est remplace par lvaluation dun systme de polynmes en
plusieurs inconnues sur K.
An que lutilisateur lgitime puisse facilement inverser un tel systme dqua-
tions p, les schmas en cryptologie multivarie ncessitent lintroduction dune
trappe (tout comme llvation la puissance secrte d = e
1
mod (n) dans le
RSA). Pour tablir p, nous partons alors dun systme algbrique bien choisi f :
_

_
f
1
(a
1
, . . . , a
u
)
.
.
.
f
m
(a
1
, . . . , a
u
),
qui soit facile inverser. Autrement dit, pour tout lment (b
1
, . . . , b
m
) K
m
, il
existe une mthode ecace pour calculer lensemble des zros du systme
1
:
_

_
f
1
(a
1
, . . . , a
u
) b
1
.
.
.
f
m
(a
1
, . . . , a
u
) b
m
.
Ensuite, an de cacher la structure spcique de f , on compose ce systme polyno-
mial par deux applications anes inversibles S et T :
S : K
u
K
u
; T : K
m
K
m
.
De cette manire, le systme p est construit comme T f S. Ceci est reprsent
par la gure 5.1.
1. Plusieurs solutions peuvent exister, ce qui peut tre problmatique, notamment en chif-
frement. On peut alors par exemple introduire de la redondance pour reprer, parmi toutes ces
solutions, la bonne.
80 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
Figure 5.1: p = T f S.
La cl publique de tels systmes, note PK au cours de la partie II, consiste en
le systme p. La cl secrte est constitue des deux applications S et T, et inclut
parfois galement f . Beaucoup de schmas sont bass sur ce principe et dirent
fondamentalement uniquement dans le choix de f [Pat97, PCG01a, PCG01b, Kob98,
WP05b]. Nous en exposons quelques-uns la section 5.3. Voyons leur fonctionnement
en chirement ou signature.
Le chirement dun message x = (x
1
, . . . , x
u
) K
u
se fait en valuant PK en
x :
_

_
y
1
= p
1
(x
1
, . . . , x
u
)
.
.
.
y
m
= p
m
(x
1
, . . . , x
u
).
Pour retrouver le message clair x partir du chir y = (y
1
, . . . , y
m
) K
m
, lutili-
sateur dtenteur de la cl secrte peut successivement :
1. Appliquer linverse de T y. Il value b = T
1
(y) K
m
.
2. Calculer a K
u
tel que f (a) = b. Ceci peut se faire ecacement grce au
choix du systme f .
3. Retrouver x K
u
en valuant linverse de S en a.
Les schmas multivaris sutilisent aussi pour le calcul de signatures. Il existe
dailleurs des dclinaisons de certains schmas multivaris sutilisant uniquement en
signature. Nous y revenons la sous-section 5.3. Pour gnrer la signature dun
message y K
m
, on peut appliquer la procdure de dchirement dcrite prc-
demment. On obtient la signature x K
u
. Pour vrier cette signature, nimporte
qui peut valuer PK en x et vrier si le rsultat est bien y.
Remarquons enn que lorsque f est suppose publique, ou peut se retrouver
plus facilement que prvu, on peut tre tent de retrouver S et T partir de f et
PK. Ce problme, dcrit dans son nonc gnral la sous-section 5.2.3, est appel
IP (pour Isomorphisms of Polynomials). Le problme IP est intimement li la
cryptologie multivarie, et peut apparatre dans dautres contextes, dirents de
celui mentionn, comme nous verrons au chapitre 7.
5.2. Outils mathmatiques 81
5.2 Outils mathmatiques
5.2.1 Corps nis et extensions de corps ni, morphisme de Frobe-
nius
Dans cette sous-section nous introduisons les outils mathmatiques de base dont
nous nous servons. Nous donnons quelques dnitions et rsultats concernant les
corps nis. Nous dnissons galement le morphisme de Frobenius (dnition 10).
Les principales proprits concernant ce morphisme sont rappeles. Nous donnons
aussi des rsultats secondaires, mais dont nous ferons usage dans la partie I.
Les rsultats les plus classiques sont rappels sans dmonstration. Nous ren-
voyons vers la littrature pour plus de dtails (par exemple [Goz97, LN96]). Les
dmonstrations des autres rsultats sont fournies.
Dnition 9 Soit K un corps ni. Un corps L est une extension de corps de K
sil existe un morphisme de corps de K dans L. Le degr de cette extension est la
dimension de L comme K-espace vectoriel.
Remarque : Nous ne nous intressons quaux extensions nies de corps, i.e. lorsque
le degr de lextension est ni.
Proposition 9 Soit K un corps ni q lments, de caractristique p > 0 :
i) Il existe m N

tel que q = p
m
.
ii) K est le corps de dcomposition de X
q
X.
iii) Deux corps q lments sont F
p
-isomorphes.
Remarque : Par suite, tous les corps nis de mme cardinal q sont isomorphes. On
note F
q
le corps q lments. Lquation X
q
= X est appele quation de corps de
F
q
.
Proposition 10 Soit K un corps ni et L une extension nie de degr n de K. Il
existe un polynme irrductible P de degr n de K[X], tel que :
L = K[X]/ P) ,
o P) dsigne lidal principal de K[X] engendr par P.
Soit une racine de P dans L. engendre L sur K et (1, , . . . ,
n1
) est une
base de L comme K-espace vectoriel.
Remarque : Il existe un isomorphisme entre L et lespace vectoriel K
n
. Ainsi, dans
la suite nous considrons indiremment le corps L ou lespace vectoriel K
n
.
Dnition 10 (Morphisme de Frobenius) Soit q = p
m
, avec p premier et m
N

. Lautomorphisme :
T : F
q
F
q
x x
p
,
est appel morphisme de Frobenius de F
q
.
82 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
Proposition 11 Gardons les notations de la dnition 10. Pour 1 i m, lau-
tomorphisme T
i
restreint F
p
i est lidentit de F
p
i .
Dmonstration : Cette assertion provient simplement des quations de corps pour
F
p
i . Tout lment x de F
p
i vrie x
p
i
= x.
Thorme 2 Soit K = F
q
un corps de caractristique p (q = p
m
, m 1), et L une
extension de K de degr n 1. Le groupe des automorphismes K-linaires de L est
dordre n, engendr par T
m
: x x
q
, encore not Fr .
Enn, nonons un dernier thorme, bien utile lors de ltude des corps nis.
Comme annonc au dbut de cette section, les dmonstrations de ce rsultat ainsi
que des prcdents peuvent tre trouves dans des livres dalgbre classiques, par
exemple ceux dj cits [LN96, Goz97].
Thorme 3 (Existence dune base normale) Soit L est une extension de de-
gr n du corps ni K = F
q
. Il existe L tel que (,
q
,
q
2
, . . . ,
q
n1
) soit une base
du K-espace vectoriel L. Une telle base est appele base normale.
Passons maintenant aux rsultats plus spciques dont nous allons galement
avoir besoin.
Proposition 12 Soit K = F
q
, L = F
q
n et M /
n
(K). Supposons xe une base
de L. Par la correspondance entre L et K
n
, M est un endomorphisme K-linaire de
L. Il existe P L[X] de la forme :
P(X) =
1
X +
2
X
q
+. . . +
n
X
q
n1
,
tel que P corresponde M sur L. On dit que P est la reprsentation polynomiale
de M sur L.
Explication : Ceci est un corollaire du thorme 2. Donnons tout de mme quelques
explications.
Supposons xe une base normale (,
q
, . . . ,
q
n1
) de L (ce choix nest pas n-
cessaire mais simplie lexpos qui suit). Soit X L[X], que lon crit X =
x
1
+ x
2

q
2
+ . . . + x
n

q
n1
, o x
1
, . . . , x
n
sont les indtermines de lanneau
K[x
1
, . . . , x
n
]. On suppose que ces x
i
vrient les quations de corps de K : x
q
i
= x
i
.
Pour 1 i n 1, chaque monme X
q
i
fait intervenir les indtermines x
i
de
manire linaire :
_

_
X = x
1
+. . . +x
n

q
n1
,
X
q
= x
n
+. . . +x
n1

q
n1
,
.
.
.
X
q
n1
= x
2
+. . . +x
1

q
n1
.
5.2. Outils mathmatiques 83
Autrement dit, on peut dnir une matrice inversible M
L
/
n
(L), telle que :
M
L

_
_
_
x
1
.
.
.
x
n
_
_
_ =
_
_
_
X
.
.
.
X
q
n1
_
_
_.
Soit M une matrice de /
n
(K). On a alors :
M
_
_
_
x
1
.
.
.
x
n
_
_
_ = M M
1
L

_
_
_
X
.
.
.
X
q
n1
_
_
_ ,
ce qui permet de dterminer le polynme P reprsentant la matrice M sur L.
Proposition 13 Soit K = F
q
et Fr : X X
q
. Lensemble des matrices de
/
n
(K) commutant avec Fr est le K- espace vectoriel de dimension n engendr
par
_
Fr
0
, Fr , . . . , Fr
n1
_
.
Dmonstration : Soit M une matrice telle que M Fr = Fr M. Soit P la
reprsentation polynomiale de M sur L = F
q
n, P(X) =

n1
i=0

i
X
q
i
. Lgalit
M Fr = Fr M quivaut P
q
(X) = P (X
q
). Ncessairement, on a alors
i,
i
K. Ceci scrit encore P =

n1
i=0

i
Fr
i
, comme annonc.
Corollaire 1 Soit M GL
n
(K) une matrice inversible. Si sa reprsentation poly-
nomiale sur L est coecients dans K, alors son inverse M
1
a une reprsentation
polynomiale coecients dans K galement.
Dmonstration : Par la proposition 13, une matrice de /
n
(K) a une reprsentation
polynomiale coecients dans K si et seulement si elle commute avec Fr : x x
q
.
Or M commute avec Fr si et seulement si son inverse M
1
commute avec Fr .
5.2.2 Les bases de Grbner
En cryptologie, nous sommes frquemment confronts au problme de rsoudre
un systme dquations polynomiales en plusieurs variables. En particulier, dans
le cadre de la cryptologie multivarie ce problme apparat naturellement, tant du
ct cryptographie (conception de schmas) que du ct cryptanalyse (attaque de
schmas), comme lillustre le problme MQ expos la sous-section 5.1. Un outil trs
performant pour la rsolution de systmes dquations multivaries est lutilisation
de bases de Grbner. Son implication dans les attaques a dj permis la cryptanalyse
de beaucoup de schmas, auparavant sortis indemnes dautres tentatives dattaque.
Un exemple mmorable est la cryptanalyse algbrique de HFE [FJ03a], qui permit
84 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
de casser le premier challenge HFE de [Pat96] sept annes aprs sa publication.
Dtaillons le principe du calcul des bases de Grbner.
La thorie des bases de Grbner se rapporte initialement la branche de lalgbre
commutative et concerne les anneaux de polynmes en plusieurs indtermines sur
un corps commutatif. Ces bases de Grbner ont t introduites par Buchberger en
1965 [Buc65]. tant donn K un corps commutatif et K[x
1
, . . . , x
n
] lanneaux des
polynmes de K en n indtermines. Calculer une base de Grbner dun idal I de
K[x
1
, . . . , x
n
] consiste transformer le systme de gnrateurs de I en un systme
de gnrateurs particulier, prsentant de bonnes proprits, dans un sens que nous
allons dtailler. Ces base de Grbner sont parfois encore appeles bases standards,
qui sont lanalogue des bases de Grbner pour les anneaux locaux [Hir64]. Comme
pour la sous-section 5.2.1, nous nonons les principaux rsultats et dnitions dont
nous avons besoin, sans dmonstration. Nous renvoyons pour toute cette sous-section
[CLO07] ou [Jou09].
5.2.2.1 Idal monomial, Idal polynomial
An de comprendre le principe du calcul de bases de Grbner dun idal I
de K[x
1
, . . . , x
n
], plaons-nous dabord dans le cas monomial. Soit I
m
un idal
monomial de K[x
1
, . . . , x
n
] :
I
m
= m
1
, . . . , m
r
)
Dans le cas monomial, il est facile de dcider si un polynme f K[x
1
, . . . , x
n
]
appartient I
m
: f I si et seulement si tous les monmes intervenant dans f sont
divisibles par un des gnrateurs m
i
, 1 i r, de I
m
. Dans le cas gnral dun
idal polynomial, un critre similaire nexiste pas.
Par ailleurs, lorsque lon sintresse la rsolution dun systme dquations
polynomiales en n variables :
_

_
f
1
(x
1
, . . . , x
n
) = 0
.
.
.
f
m
(x
1
, . . . , x
n
) = 0,
on veut trouver (z
1
, . . . , z
n
), tel que tous les polynmes du systme sannulent en
(z
1
, . . . , z
n
). Soit I = f
1
, . . . , f
m
) lidal de K[x
1
, . . . , x
n
] engendr par ces poly-
nmes. Dans ce contexte, on est naturellement amens sintresser lintersection
de I avec les anneaux K[x
i
1
, . . . , x
n
], pour 1 i
1
n. Autrement dit, on sintresse
aux polynmes de I ne dpendant pas des premires variables
2
. Dans le cas mo-
nomial toujours, I
m
K[x
i
1
, . . . , x
n
] est engendr par les monmes m
i
, 1 i r,
appartenant K[x
i
1
, . . . , x
n
]. Dans le cas polynomial, ceci nest pas vrai pour un
systme de gnrateurs quelconque.
2. Par exemple, dans le cas dun systme dquations polynomiales chelonn, on peut se
ramener rsoudre, successivement (et en intgrant le rsultat obtenu), un systme de polynmes
en la variable xn, puis un systme de polynmes en la variable xn1, etc.
5.2. Outils mathmatiques 85
Les bases de Grbner apportent une solution dans le cas gnral didaux poly-
nomiaux aux limitations illustres par les deux exemples prcdents. Pour dtailler
ce concept, introduisons la notion dordre monomial.
5.2.2.2 Ordre Monomial
Dnition 11 (Ordre monomial) Un ordre monomial > sur K[x
1
, . . . , x
n
] est
un ordre total sur lensemble des monmes de K[x
1
, . . . , x
n
], tel que :
m ,= 1, m
1
, m
2
: m
1
> m
2
m m
1
> m m
2
> m
2
. (5.1)
On parle encore d ordre admissible.
Remarque : De lquation (5.1) de la dnition 11, remarquons que lon a en par-
ticulier :
m
1
, m ,= 1, m m
1
> m
1
, (5.2)
qui implique que 1 est le plus petit monme (cas m
1
= 1 dans lquation (5.2)).
Donnons deux exemples dordres monomiaux. Ces exemples sont les ordres mo-
nomiaux les plus classiques et sont aussi ceux qui nous intresseront dans la suite.
Exemple : Soit = (
1
, . . .
n
). Pour allger les notations, nous notons X

pour
le monme x

1
1
x
n
n
.
1. Un premier exemple dordre est lordre lexicographique
lex
>, encore appel lex.
Soient m
1
= X

et m
2
= X

.
m
1
lex
> m
2
1 i
0
n : i = 1, . . . , i
0
1,
i
=
i
, et
i
0
>
i
0
.
2. Un deuxime exemple dordre monomial est lordre lexicographique inverse
du degr
DRL
> , appel degrevlex dans la littrature franaise (grevlex dans la
littrature anglophone pour graded reverse lexicographic (ordering)). Soient
m
1
= X

et m
2
= X

.
m
1
DRL
> m
2

_
_
_
deg(m
1
) > deg(m
2
), ou
deg(m
1
) = deg(m
2
) et n i
0
1 : i = n, . . . , i
0
+ 1,

i
=
i
, et
i
0
<
i
0
.
Remarque :
1. Un ordre comme degrevlex, o deux monmes sont dabord compars selon
leur degr, est appel ordre du degr.
2. Sans rentrer dans les dtails, lintroduction dun ordre monomial sur
K[x
1
, . . . , x
n
] permet de dnir un algorithme de division euclidienne sur
K[x
1
, . . . , x
n
], dun polynme f par une suite de polynmes (f
1
, . . . , f
m
),
86 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
par exemple lalgorithme de Hironaka, qui peut se trouver entre autres
dans [CLO07]. Nous admettons ici lexistence dun tel algorithme et notons :
f 1(f
1
, . . . , f
m
),
le reste de la division de f par (f
1
, . . . , f
m
). Notons que lon a :
f 1(f
1
, . . . , f
m
) = 0 f f
1
, . . . , f
m
).
Cependant, la rciproque est fausse. Nanmoins, ceci apporte un premier l-
ment de rponse au problme expos au paragraphe 5.2.2.1, de savoir si un
polynme appartient ou non un idal.
Enn, pour introduire les bases de Grbner, donnons la dnition de terme initial
et didal initial :
Dnition 12 (Terme initial et idal initial) Supposons x un ordre mono-
mial > de K[x
1
, . . . , x
n
].
1. Soit f K[x
1
, . . . , x
n
]. Le terme initial de f, not in
>
(f) est le terme de f
correspondant au plus grand monme de f pour lordre >.
2. Soit I un idal non nul de K[x
1
, . . . , x
n
]. L idal initial de I, not in(I), est
lidal monomial engendr par les termes initiaux de tous les polynmes de I.
5.2.2.3 Bases de Grbner
Avec tous ces prliminaires, nous pouvons donner la dnition de base de Grbner
dun idal, ainsi que ses proprits.
Dnition 13 (Base de Grbner dun idal) Soit I un idal non nul de
K[x
1
, . . . , x
n
] et (f
1
, . . . , f
m
) des polynmes de I. On dit que (f
1
, . . . , f
m
) est une
base de Grbner de I si :
1. I = f
1
, . . . , f
m
),
2. in(I) = in(f
1
), . . . , in(f
m
)).
Remarque : Dans la dnition 13, on a en fait que 2. implique 1., de sorte que 2.
sut dnir une base de Grbner.
Notons quil existe toujours une base de Grbner dun idal. Voyons que ces
bases de Grbner permettent de rpondre aux limitations des idaux de polynmes
par rapport aux idaux monomiaux exposes dans la sous-section 5.2.2.1.
Thorme 4 Nous avons les deux rsultats suivants :
1. Soit (f
1
, . . . , f
m
) une base de Grbner dun idal I non nul de K[x
1
, . . . , x
n
].
f I f 1(f
1
, . . . , f
m
) = 0.
5.2. Outils mathmatiques 87
2. Soit (f
1
, . . . , f
m
) une base de Grbner pour lordre lex dun idal I non nul de
K[x
1
, . . . , x
n
]. Soit 1 i
1
n. Alors :
Si i = 1, . . . , m, f
i
, K[x
i
1
, . . . , x
n
], alors I K[x
i
1
, . . . , x
n
] = .
Sinon, une base de Grbner de lidal I K[x
i
1
, . . . , x
n
] K[x
i
1
, . . . , x
n
],
pour lordre lex est compose des f
i
1 i m, appartenant K[x
i
1
, . . . , x
n
].
Autrement dit, les base de Grbner permettent dobtenir des situations similaires
au cas des idaux monomiaux.
5.2.2.4 Applications du calcul de bases de Grbner la rsolution dun
systme de polynmes multivaris
Nous nous focalisons sur les systmes dquations algbriques de dimension 0,
i.e. ceux ayant un nombre ni de solutions dans la clture algbrique du corps
considre
3
:
_

_
f
1
(x
1
, . . . , x
n
) = 0
.
.
.
f
m
(x
1
, . . . , x
n
) = 0.
Dans ce cas, une base de Grbner B de lidal I = f
1
, . . . , f
m
) pour lordre lex
vrie :
1 i
1
n, f B K[x
i
1
, . . . , x
n
] , = ,
autrement dit, pour tout 1 i
1
n, il existe au moins un polynme de la base de
Grbner pour lex de I ne dpendant que des variables x
i
1
, . . . , x
n
.
Lorsquune telle base B est tablie, trouver une solution (z
1
, . . . , z
n
) au systme
dquations prcdent devient facile. On commence par considrer les polynmes de
la base de Grbner appartenant K[x
n
] et lon rsout ce systme dquations. Puis
pour chaque solution z
n
trouve, on remplace x
n
par z
n
dans les autres polynmes
de la base et lon continue le processus. chaque tape, on considre un systme
dquations univaries.
Revenant la cryptologie multivariable, une stratgie dattaque (ou une prcau-
tion lors de la conception) consiste rsoudre directement le systme dquations
donn par la cl publique pour tenter dinverser le systme. Dans ce contexte, le
calcul dune base de Grbner pour lex se rvle tre souvent une bonne option.
Notons enn que le nombre de solutions dun tel systme dquations peut tre
de lordre de exp nlog(d), ou d est le plus haut degr des polynmes univaris in-
tervenant dans le processus dcrit prcdemment. Ceci explique que les algorithmes
de calcul de bases de Grbner, qui sont abords dans le paragraphe 5.2.2.5 qui suit,
restent assez coteux. En eet, leur complexit repose sur le degr des polynmes
intervenant dans le calcul. Ceci est dtaill ci-dessous.
3. Notons que lorsque le systme na pas de solution, la base de Grbner se rduit 1.
88 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
5.2.2.5 Algorithmes de calcul et complexits existantes
Algorithmes de calcul Le premier algorithme de calcul de bases de Grbner est
d Buchberger [Buc65] et date de 1965. Notons que Macaulay dans [Mac16] a
dvelopp lide de reprsenter matriciellement les idaux de polynmes homognes.
On peut en particulier reprsenter matriciellement une base de Grbner dun idal
I. En eet, dans une matrice de Macauley, les direntes colonnes de la matrice
en question correspondent dirents monmes, et chaque ligne correspond un
polynme : le coecient (i, j) de la matrice correspond au coecient du j-me
monme dans le i-me polynme. Rciproquement, les travaux de Lazard [Laz83]
dans les annes 1980 et ensuite, montrent que raliser de lalgbre linaire sur des
matrices de Macaulay dun idal I permet dobtenir une base de Grbner de I.
Plus rcemment, des algorithmes plus performants ont t proposs. Parmi eux
notamment les algorithmes F
4
et F
5
de Faugre [Fau99, Fau02]. Lalgorithme F
4
se
trouve tre une rencontre entre lide de reprsentation matricielle de Macaulay et
lalgorithme de Buchberger, o certaines dcision arbitraires sont remplaces dans F
4
par des choix stratgiques. Lalgorithme F
5
est lalgorithme le plus puissant connu
ce jour. En fait lalgorithme de Buchberger et lalgorithme F
4
passent beaucoup
de temps faire des divisions de polynmes
4
dont le reste est nul. Dans F
5
, Faugre
a intgr un nouveau critre permettant dviter beaucoup
5
de rductions zro.
Notons galement lexistence de lalgorithme XL prsent dans [CKPS00], o les
auteurs redcouvrirent sans le savoir les bases de Grbner.
La complexit de calcul dune base de Grbner dun idal dpend de plusieurs
paramtres, comme la taille du systme considr ou encore la structure du corps.
Cependant, an de comprendre les paramtres importants pour la complexit des
calculs, dtaillons sommairement le principe de fonctionnement dun algorithme de
calcul de bases de Grbner. Nous renvoyons vers les articles originaux pour un
dtail plus rigoureux de ces algorithmes, ou vers [Jou09] pour plus dexplication.
Prenons lexemple de lalgorithme F
5
matriciel dcrit dans [Bar04], qui se rapproche
dans sa description dun algorithme F
4
intgrant le critre F
5
. Plaons nous dans
le cadre de polynmes homognes. Nous supposons x un ordre du degr, par
exemple lordre degrevlex sur K[x
1
, . . . , x
n
], qui est lordre donnant gnralement les
meilleures complexits dexcution.
En rsum, lide est de gnrer de nouveaux polynmes partir des polynmes
de dpart (f
1
, . . . , f
m
), gnrateurs de lidal I considr. De plus, on gnre des
polynmes de degr croissant avec la progression de lalgorithme. Plus prcisment,
supposons que lon ait f
1
f
2
. . . f
m
, pour lordre degrevlex considr. On com-
mence par considrer parmi ces polynmes, ceux de mme degr petit d
0
: (f
1
, . . . , f
k
).
Ces polynmes sont rduits selon le principe de la division
6
: f
i
est divis par la suite
de polynmes (f
1
, . . . , f
i1
). Notons que des critres permettent dviter de consid-
4. Voir le paragraphe 5.2.2.2.
5. Toutes, sous certaines hypothses de rgularit du systme (voir [Bar04]).
6. Paragraphe 5.2.2.2.
5.2. Outils mathmatiques 89
rer certains polynmes ou certaines rductions inutiles
7
. Les polynmes obtenus
aprs rductions forment la base courante B :
B = (g
1
, . . . , g
i
d
0
).
Lalgorithme fonctionne par rcurrence sur le degr d des polynmes considrs et
est incrmental en m. Ainsi, nous numrotons les tapes en fonction du degr des
polynmes intervenant cette tape. Dans notre cas, cette premire tape dcrite
est ltape d
0
.
Supposons prsent termine une certaine tape d d
0
de lalgorithme. La base
courante ce stade est :
B = (g
1
, . . . , g
i
d
).
ltape d + 1, les polynmes de B sont multiplis par certains monmes bien
choisis, selon les critres invoqus plus haut, et de telle sorte que les polynmes
rsultants soient de degr d + 1. Par ailleurs, nous prenons en plus en compte les
polynmes f
i
de degr d+1 du systme de dpart (non encore pris en compte). Tous
ces polynmes de degr d+1 sont ordonns et lon procde des rductions, comme
ltape d
0
. Plus prcisment, pour chaque tel polynme, on ralise une division par
les polynmes le prcdant dans lordonnancement. Ici encore, selon les critres de
Faugre, certaines rductions ne sont pas considrer. Les polynmes rduits ainsi
obtenus sont ajouts la base courante :
B = (g
1
, . . . , g
i
d+1
),
et lon passe ltape daprs d + 2. Finalement, lalgorithme termine lorsque tous
les polynmes gnrs une certaine tape peuvent se rduire zro, autrement dit,
lorsquaucun nouveau polynme ne peut tre ajout la base courante. La base de
Grbner de I consiste alors en les polynmes de la base B la n de lalgorithme.
Complexits existantes Restons dans le cadre des polynmes homognes, qui
est le contexte habituel des thories dtude des bases de Grbner. Heuristiquement,
on se rend compte que ds quune des rductions faite au cours de lalgorithme F5
entrane une rduction zro, lalgorithme termine ensuite souvent trs rapidement.
Essayons de comprendre ce phnomne. Dans le cadre de lalgorithme F5, les poly-
nmes ajouts la base courante au cours de lalgorithme sont choisis an dviter
des rductions zro non signicatives. Ainsi, supposons que lon obtienne une r-
duction zro ltape d de lalgorithme (cest dire, nous considrons cette
tape des polynmes de degr d). Intuitivement, ceci indique que les termes ini-
tiaux (ceux intervenant dans la division) des polynmes de la base courante cette
tape d, couvrent une grande partie des monmes de degr d. Il nest pas totalement
7. Sans rentrer dans les dtails, nous considrons en fait des S-polynmes ou syzygies :
ceux sont des multiples particuliers des polynmes de dpart, choisis an dliminer les termes de
tte (les plus grands pour lordre) de polynmes, deux deux (cf. [CLO07] pour une dnition
rigoureuse). Les critres auxquels nous faisons rfrence sont les critres de Buchberger [Buc65],
ainsi que plus rcemment le critre de Faugre [Fau02].
90 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
surprenant quensuite rapidement, les polynmes gnrs se rduisent tous zro,
signiant la n de lalgorithme. Pour certains systmes (dits rguliers, voir [Bar04]),
il est montr que grce aux critres de F5, aucune rduction zro ne se produit au
cours de lalgorithme. Ltape laquelle lalgorithme se termine correspond alors au
degr d o devraient se produire les premires rductions zro.
Dans tous les cas, ceci explique lhypothse rpandue que la complexit dun
calcul de base de Grbner dun idal de polynmes multivaris dpend du degr d
atteint lors de lalgorithme o se produit la premire rduction zro. Dans le cas de
polynmes non-homognes, ceci correspond la premire chute de degr. En eet,
on a coutume de ramener la complexit du calcul de base de Grbner dun systme
non-homogne celui du systme form par les composantes homognes de plus haut
degr de ces polynmes. Dans le cas de systmes rguliers (ou semi-rguliers pour
des polynmes non-homognes), nous avons dj mentionn que cette hypothse se
justie et ce degr d concide avec la notion de degr de rgularit dun ensemble
de polynmes, dnie ci-dessous :
Dnition 14 (degr de rgularit) Soit (f
1
, . . . , f
m
) un ensemble de polynmes
homognes de K[x
1
, . . . , x
n
] et I = f
1
, . . . , f
m
). Le degr de rgularit de
(f
1
, . . . , f
m
), D
reg
, est le plus petit entier d 0, tel que les polynmes de degr d
de I engendrent comme K-espace vectoriel, lensemble des monmes de degr d en
n variables (au nombre de
_
n+d1
d
_
sans prendre en compte les quations de corps) :
D
reg
= min
_
d 0 : dim
K
(f I : deg(f) = d) =
_
n+d1
d
_
_
.
Pour un ensemble (f
1
, . . . , f
m
) non-homogne de polynmes, le degr de rgularit
est dni comme le degr de rgularit des composantes homognes de plus haut degr
de (f
1
, . . . , f
m
).
Remarque : Dans cette thse et les travaux [BFJT09, FJPT10], nous nous sommes
parfois placs sous lhypothse courante que le degr de rgularit correspond en
pratique au degr auquel survient la premire chute de degr dans les algorithmes
de Faugre. Comme dj mentionn, hormis pour le cas de systmes rguliers ou
semi-rguliers et le cas de lalgorithme F5, ceci nest pas justi thoriquement.
Cependant, an dexpliquer ce choix, remarquons que ces systmes rguliers ou
semi rguliers correspondent en quelque sorte au cas alatoire, o les polynmes
sont le moins lis entre eux. (Encore une fois, nous renvoyons [Bar04] pour une
dnition rigoureuse.) Par ailleurs, il est dmontr que la proportion de systmes
semi-rguliers tend vers 1 lorsque n tend vers linni.
Proposition 14 (Complexit de calculs de base de Grbner) Avec cette d-
nition la complexit dun calcul de base de Grbner est :
O
_
n
Dreg
_
,
o 2 < 3 est la constante de lalgbre linaire ([Bar04, BFSY05]), et n le
nombre de variables du systme.
5.2. Outils mathmatiques 91
Explication : Cette complexit correspond simplement la rduction dun matrice
de taille n
Dreg
. En eet, lalgorithme dcrit plus haut peut se voir comme une suite
de rductions particulires de matrices de Macaulay de taille de plus en plus grosse.
Selon ce qui prcde, la taille de la matrice la plus grosse considrer correspond
au nombre de monmes de degr D
reg
en n variables, soit :
_
D
reg
+n 1
D
reg
_
n
Dreg
.
Revenons au degr de rgularit. Nous avons la proprit suivante :
Proposition 15 (Invariance du degr de rgularit) Le degr de rgularit
dun systme de polynmes reste inchang par changement linaire ou ane in-
versible des coordonnes ou des gnrateurs.
Pour des systmes rguliers ou semi-rguliers, notons le thorme suivant
d Bardet concernant lvolution asymptotique du degr de rgularit [Bar04,
BFSY05] :
Thorme 5 (volution asymptotique du degr de rgularit) Soit > 1,
entier x.
1. Lorsque n tend vers linni, le degr de rgularit dun systme de n quations
quadratiques en n inconnues est major par :
n
_

1
2

_
( 1)
_

a
1
2(( 1))
1
6
n
1
3

_
2
2 1
4
_
( 1)
_
+O
_
1/n
1/3
_
,
(5.3)
o a
1
2, 33811.
2. Le degr de rgularit dun systme de n quations quadratiques sur F
2
en
n inconnues (les quations de corps sont implicitement prises en compte mais
sont pas comptes dans ) est quivalent en +, :
_
+
1
2
+
1
2
_
2
2
10 1 + 2( + 2)
_
( + 2)
_
n. (5.4)
Remarque : Nous navons donn ici que les complexits de calcul de bases de Grb-
ner. Nous avons par ailleurs mentionn que les meilleures complexits de calcul
sont gnralement observes avec lordre degrevlex. Cependant, dans les applications
des chapitres 6 et 7 qui suivent, nous utilisons le calcul de bases de Grbner pour
rsoudre des systmes dquations. Nous avons vu que dans ce contexte dappli-
cation, cest une base de Grbner pour lordre lex quil vaut mieux calculer (voir
paragraphe 5.2.2.4).
La meilleure stratgie pour obtenir une base de Grbner pour lex reste en gnral
de calculer une base de Grbner pour degrevlex, puis dutiliser un algorithme de
changement dordre, par exemple FGLM [FGLm93], pour se ramener une base
92 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
de Grbner pour lex. Dans nos applications, cest cette stratgie qui est applique.
Lalgorithme FGLM est trs ecace. Pour cette raison, lors de lvaluation de la
complexit de rsolution de systmes dquations, nous considrons en gnral uni-
quement la complexit du calcul dune base de Grbner pour degrevlex.
5.2.3 Le problme IP (Isomorphisms of Polynomials)
Le problme IP est un problme introduit dans [Pat96]. Il snonce comme suit.
Le problme IP :
Donne : Deux systmes Aet Bde m polynmes sur un corps ni K en u inconnues.
Problme : Trouver U
L
GL
u
(K), V
L
GL
m
(K), ainsi que deux vecteurs
U
c
K
u
et V
c
K
m
, tels que :
B(x) = V
L
(A(U
L
x +U
c
)) +V
c
(5.5)
Ce problme consiste trouver deux application anes inversibles transformant
un de ces ensembles dquations en lautre. Certains schmas multivaris reposent en
plus sur la dicult de ce problme, comme par exemple C

, dcrit la section 5.3.


Par contre, la scurit de HFE ne repose a priori pas sur IP, car la dirence
de C

, f ne peut tre suppos public. Ainsi, nous navons pas les deux systmes
dquations de lnonc du problme IP et ne pouvons pas essayer de retrouver S
et T de la sorte. Ce problme IP est cependant trs li la cryptologie multivarie
et peut apparatre dans des situations plus subtiles. Par exemple, dans lattaque
sur HFE [BFJT09], la complexit de recouvrement de la cl secrte pour linstance
considre repose sur la rsolution dune instance dIP, bien que la scurit de HFE
ne repose gnralement pas sur ce problme.
Revenant IP, nous prsentons rapidement les techniques existantes de rsolu-
tion de ce problme, comme il apparatra naturellement dans le chapitre 7. Remar-
quons dj que pour le cas particulier dinstances issues de C

, il exite un algorithme
polynomial, prsent dans [FMRS08].
Le premier algorithme pour IP, connu sous le nom de To and Fro est du
Courtois. Cest en fait une premire version de cet algorithme qui porte ce nom
dans [PGC98]. Cette version suppose possible linversion des systmes a et b et pr-
sente une complexit exponentielle. La deuxime version, appele Combined power
attack dans [PGC98], mais connue sous le mme nom To and Fro, est une am-
lioration de la premire version. Dans cette seconde version, lide est dviter une
recherche exhaustive pour linversion de a et b, et de se servir du paradoxe des anni-
versaire dans certaines parties de la version initiale. Lalgorithme est annonc comme
fonctionnant en O
_
q
n/2
_
en calculs et en mmoire pour des instances linaires de
IP. Cependant, aucune implantation de lalgorithme na jamais pu conrmer cette
complexit.
Plus rcemment, dautres approches ont permis de comprendre un peu mieux la
complexit de ce problme et de direncier plusieurs classes de dicult.
5.3. Quelques exemples de schmas multivaris 93
Dans [FP06], Faugre et Perret proposent une rsolution par bases de Grbner
de ce problme. Dans leur papier, ils considrent le cas U
c
= V
c
= 0. Notons d le
degr des polynmes de linstance. Leur ide est de voir que lquation 5.5 :
b(x) = V
L
(a(U
L
x))
V
1
L
(b(x)) a(U
L
x) = 0,
dnit m polynmes multivaris gaux au polynme nul. On peut alors identier
tous les coecients de ces m polynmes avec 0. Ceci fournit un certain nombre
dquations polynomiales en U et V , de degr compris entre 1 et d. Le systme est
largement surdtermin et lon peut calculer une base de Grbner de lidal engendr
par les polynmes de degr petit (1 et 2 est observ en pratique dans [FP06]). Il
ressort de leur analyse que les instances o les applications U et V cherches sont
linaires et les systmes a et b alatoires se rsolvent en temps polynomial. Par
contre, linstance o a et b sont homognes est beaucoup plus dicile. Le cas des
instances anes nest pas trait.
Un papier rcent de Bouillaguet et al. [BFFP10] indique en fait deux classes
dinstance :
A. Les instances o U et V sont linaires et a et b non-homognes. Ces instances
correspondent aux instances repres comme rsolubles en temps polynomial
dans [FP06]. Un nouvel algorithme est prsent dans [BFFP10], faisant baisser la
complexit de rsolution du problme IP pour ces instances de O
_
n
9
_
O
_
n
6
_
.
B. Les instances o U et V sont anes ou les instances o U et V sont linaires
avec a et b homognes. Les auteurs de [BFFP10] montrent que ces deux types
dinstances sont quivalentes, dans le sens o la partie linaire dune solu-
tion dune instance ane est solution de linstance correspondant aux systmes
forms des parties homognes de plus haut degr de a et b. Rciproquement,
supposons obtenue une solution linstance forme par les composantes homo-
gnes de plus haut degr des deux systme dquations. Alors, notamment dans
le cas de polynmes quadratiques, les deux constantes manquant pour former
une solution complte de linstance de dpart se trouvent trs facilement. Pour
cette situation, [BFFP10] donne des algorithmes de complexit quivalente
celle de To and Fro.
5.3 Quelques exemples de schmas multivaris
La cryptologie multivarie compte plusieurs schmas qui ont marqu leur poque.
Nous en numrons quelques-uns, soit pour leur intrt historique, soit parce que
nous nous y intresserons de plus prs dans la suite.
5.3.1 C

(ou MI)
Lmergence de la cryptologie multivarie vient avec la publication en 1988 de
lalgorithme C

de Matsumoto et Imai [MI88]. Pour dcrire ce schma, partons de


la description du squelette des schmas multivaris, faite la sous-section 5.1.
94 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
Dans C

, le corps K est le corps ni de cardinal q, not K. Considrons une


extension
8
L de degr n 1 de K. Lapplication interne f est un monme sur L de
la forme : f : x x
1+q

. Notons que la correspondance de L avec K


n
, explique la
sous-section 5.2.1, permet de voir f comme un ensemble de n quations quadratiques
sur K (car lapplication x x
q
est K-linaire). Lorsque la caractristique de K et
L est 2, et que 1 +q

est premier avec q


n
1 (le cardinal du groupe des inversibles
de L), alors lapplication f est inversible. Comme annonc la sous-section 5.1, la
cl publique PK est obtenue par composition de f avec deux applications anes
inversibles S et T. La cl secrte est compose de S, f et T.
Pour inverser le schma partir de la cl publique, un attaquant se retrouve
face au problme MQ. Notons enn que comme le nombre de possibilits pour f est
petit, f peut tre suppos public, de sorte que la scurit de C

repose galement sur


le problme IP (voir la sous-section 5.1 pour ce point et 5.2.3 pour une description
de IP et des algorithmes existants).
La cl publique de C

est inversible, de sorte que ce schma peut facilement tre


utilis la fois en chirement et en signature. De plus, les calculs requis pour le
dchirement sont moindres que dans le cas de RSA. Cependant, une attaque trs
ecace sur C

a t publie en 1995 par Patarin [Pat95]. Cette attaque ne rsout


pas le problme MQ associ au schma, ni le problme IP entre f et PK. Lattaque
se base sur la structure du monme interne utilis, pour gnrer partir dun cer-
tain nombre de couples clairs/chirs (de lordre de n
2
), un ensemble dquations
bilinaires en les entres et sorties de PK, vries par tous les clairs/chirs. Par
suite, lorsquun attaquant souhaite dchirer un message donn, il peut simplement
utiliser le systme dquations linaires pour retrouver le message clair correspon-
dant.
Cette cryptanalyse signe donc la n du schma C

tel que conu dans [MI88].


Cependant, des variantes de ce schma ont t proposes par la suite, permettant
dviter cette attaque, par exemple SFLASH ou HFE. Nous revenons sur ces schmas
dans la suite.
5.3.2 HFE
HFE est une variante de C

, propose par Patarin [Pat96] un an aprs sa cryp-


tanalyse de C

. Dans HFE, le monme secret constituant f est remplac par un


polynme plus gnral, toujours K-quadratique. La proprit dinversibilit de f
nest pas conserve, mais une restriction sur le degr de f permet de rendre sa fac-
torisation ecace. Par ailleurs, la restriction des corps de caractristique 2 na
plus lieu dtre, bien que ceci reste le contexte le plus classique. Le schma HFE
fait lobjet dune tude plus dtaille au chapitre 7, nous renvoyons vers ce chapitre
pour une description prcise du schma, ainsi que pour les attaques existantes.
Notons que des variantes du systme HFE ont t dcrites (voir [Pat96]). Ces
variations consistent retirer quelques quations de la cl publique (HFE

), ou au
8. Cette notion est rappele la sous-section 5.2.1.
5.3. Quelques exemples de schmas multivaris 95
contraire en ajouter (HFE
+
) ; ajouter des variables (HFEv) ou au contraire en
retirer en xant leur valeur (HFEf).
La meilleure attaque connue sur HFE est de complexit sous-
exponentielle [FJ03a, GJS06], mais certaines des variations semblent encore
sres. Cette attaque consiste calculer une base de Grbner de lidal engendr
par les quations de la cl publique (voir section 5.2 pour les base de Grbner).
5.3.3 SFLASH
SFLASH est une variante de C

[PCG98a] sutilisant en signature, propose par


Patarin, Goubin et Courtois et slectionn par le projet europen NESSIE (New
European Schemes for Signature, Integrity and Encryption) en 2003 comme schma
de signature cl publique recommand [SFL]. Lide simple est quen retirant
quelques quations lensemble des quations quadratiques de la cl publique dun
C

, lattaque de [Pat95] peut tre vite. Le principe de retirer quelques quations


la cl publique est une variante rpandue en cryptologie multivarie (dj dcrite
pour HFE), appele moins. Dans notre cas, on note C

[PCG98a].
SFLASH a t propos en 2001 la slection NESSIE, pour le choix dun algo-
rithme de signature cl publique recommand. La premire version de SFLASH
propose, an de rduire la taille de la cl publique de choisir les coecients des
applications secrtes S et T coecients dans F
2
au lieu de K, de sorte que toute
la cl publique se trouve coecients dans F
2
. Cette version a cependant t atta-
que par Gilbert et Minier [GM02], car la restriction suggre invite changer les
estimations de scurit, donc le choix des paramtres, ce que les auteurs navaient
pas fait. La deuxime version de SFLASH, SFLASHv2 propose, et considre dans
la suite du processus dvaluation, ne suppose plus les coecients des applications
valeur dans un sous-corps. Cette version a nalement t slectionne en 2003 par
le projet NESSIE.
SFLASHv2 a t cryptanalys en 2007 [DFSS07, DFS07, Dub07] par Dubois
Fouque, Shamir et Stern. Leur attaque consiste recouvrer astucieusement les qua-
tions manquantes de la cl publique, de manire obtenir la cl publique dun C

complet. Par suite, lattaque initiale de Patarin sur C

sapplique. Nous revenons


sur cette attaque dans le chapitre 7. Comme il est dusage en cryptographie mul-
tivarie, on pourrait penser pouvoir rparer encore ce schma, en supprimant plus
dquations de la cl publique que suggr dans SFLASH. Plus prcisment, lat-
taque de [DFSS07] fonctionne lorsquun nombre limit dquations sont retires de la
cl publique. Une manire naturelle de parer cette attaque est den retirer plus
que ce nombre limit. Cette issue semble cependant compromise par les rcentes
attaques de Macariot-Rat, notamment [FMR10].
96 Chapitre 5. Introduction la Cryptologie Multivarie, Outils
5.3.4 OV et UOV
Un dernier exemple dalgorithme que nous donnons est lalgorithme OV (pour
oil and vinegar
9
) et sa variante UOV (pour unbalanced oil and vinegar). UOV
est lun des seuls schmas multivaris qui nait pas encore t attaqu par les cryp-
tanalyses rcentes.
Lalgorithme OV a t invent par Patarin en 1997 et fonctionne en signature.
La signature dun message y est donne par n + v valeurs satisfaisant n quations
quadratiques publiques (dans OV, nous avons n = v). Ces quations sont obtenues
comme composition dquations de la forme :
f
i
=

1in
1jn

i,j
h
i
v
j
+

1in
1jn

i,j
v
i
v
j
+

1in

i
h
i
+

1in

i
v
i
, (5.6)
avec une application ane inversible S : K
2n
K
2n
. Ceci correspond la trappe
du systme.
Pour signer un message y K
2n
, le dtenteur de la cl secrte doit calculer n
valeurs h
i
et n valeurs v
i
vriant les n quations f
i
= y
i
(f
i
de la forme (5.6)).
Limage par S
1
de ce vecteur solution de longueur 2n forme la signature de y. Or,
ni le systme dquations formant la cl publique, ni celui dcrit ci-dessus faisant
partie de la cl secrte, nest rsoluble tel quel. Cependant, on remarque que les
variables h
i
dans le systme secret ninterviennent que linairement. Pour rsoudre
le systme secret, le dtenteur de la cl secrte peut choisir alatoirement n valeurs
v
i
. Ensuite, grce la particularit du systme souligne, il lui sut de rsoudre un
systme linaire pour trouver les valeurs h
i
telles que S
1
((h
1
, . . . , h
n
, v
1
, . . . , v
n
))
corresponde une signature pour y. Si aucune solution nest trouve, il peut choisir
dautres valeurs alatoires h
i
et recommencer.
Pour vrier la signature x dun message y, il sut dvaluer les quations
publiques en les valeurs x
i
, 1 i 2n, et voir que lon obtient bien (y
1
, . . . , y
n
).
Dans [KS98] est prsente une cryptanalyse de OV permettant un attaquant
de signer aussi ecacement que le dtenteur de la cl secrte. Cette attaque utilise la
construction mme du schma. Shamir et al. remarquent que le sous-espace vectoriel
inconnu O
S
= S
1
(K
n
0
n
) est stable par certaines applications. Cette proprit
permet de retrouver O
S
. Il est alors possible pour lattaquant de signer avec la mme
astuce que lutilisateur lgitime. En eet, soit 1
S
un supplmentaire de O
S
dans K
2n
et v un vecteur de 1
S
x alatoirement par lattaquant. Par construction de O
S
,
la spcication, dans les quations de la cl publique, des variables correspondant
lespace 1
S
, rduit le systme quadratique un systme linaire en les variables
restantes. Il ne reste donc plus lattaquant qu rsoudre ce systme de n quations
linaires en 2nn = n inconnues an de retrouver la composante de O
S
manquante
du vecteur formant la signature.
Ce schma a t rpar en choisissant v > n, donnant naissance UOV [KPG99].
ce jour, aucune attaque particulire nest connue sur UOV.
9. huile et vinaigre
Chapitre 6
Faiblesses du Schma HM
(Hidden Matrix)
Ce chapitre prsente des proprits remarquables du schma HM, permettant de
distinguer ecacement la cl publique de HM dun systme alatoire dquations,
notamment sur un corps de caractristique 2. Il est galement possible de monter
pour une attaque consistant inverser le systme dquations (qui peut aussi tre
vue comme une autre manire de distinguer les quations dun systme alatoire).
Cette seconde attaque fonctionne pour K un corps ni quelconque. Ces rsultats
correspondent [FJPT10].
La section 6.1 introduit le schma HM, en spciant sa construction, ainsi que
les travaux sy rapportant. La section 6.2 prsente un distingueur entre le systme
dquations publiques du schma HM et un systme dquations alatoire de mme
taille. Cette attaque repose simplement sur la composition de la direntielle de la
cl publique. Ensuite, dans la section 6.3, nous nous concentrons sur linversion du
schma. La rsolution par calcul de base de Grbner du systme donn par la cl pu-
blique se trouve tre faisable pour tout choix pratique de paramtres. Ceci est illustr
par une srie dexpriences (sous-section 6.3.2), o lon voit que la rsolution dudit
systme ncessite quelques centaines de secondes, pour des paramtres prcdem-
ment conseills. Par ailleurs, nous observons que le degr de rgularit est born par
trois lorsque le corps de base est F
2
et quatre sinon. Ceci justie que lon puisse in-
verser le systme en temps polynomial (voir chapitre 5, paragraphe 5.2.2.5) . Notons
que la borne indique sur le degr de rgularit nest pas prouve. Nous apportons
cependant des lments permettant de comprendre ce comportement atypique. Ceci
est intressant, car exception faite du systme HFE [Pat96, FJ03b, GJS06] (voir
aussi le chapitre 7), les attaques sur les schmas multivaris utilisant les techniques
de bases de Grbner ne saccompagnent gnralement pas dune telle explication.
Sommaire
6.1 Le schma HM . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.1.1 Description du schma HM . . . . . . . . . . . . . . . . . . . 98
6.1.2 Travaux prcdents en rapport avec le schma HM, quelques
considrations . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Mise en vidence dun distingueur : proprit de la di-
rentielle de HM . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.2.1 Proprit de la direntielle de lapplication interne secrte f
de HM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.2.2 Proprit de la direntielle de la cl publique PK de HM . . 101
98 Chapitre 6. Faiblesses du Schma HM (Hidden Matrix)
6.3 Inversion du Schma . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.1 Illustration : Cas M = 0 . . . . . . . . . . . . . . . . . . . . . 103
6.3.2 Rsultats exprimentaux et observations . . . . . . . . . . . . 104
6.3.3 propos du comportement du degr de rgularit . . . . . . 105
6.3.4 Rsum des observations . . . . . . . . . . . . . . . . . . . . . 109
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.1 Le schma HM
6.1.1 Description du schma HM
Le schma HM a t propos par Patarin et al. en 1998 dans [PCG98a]. Il y est
prsent comme remplaant des schmas [C] et [C
n
] de Matsumoto et Imai [IM85],
dont la cryptanalyse est galement expose dans [PCG98a].
Tous ces schmas suivent la rgle habituelle de construction des schmas cryp-
tographiques multivaris. On part dun systme dquations algbriques bien spci-
que et facile rsoudre, constituant la trappe du schma. Ensuite, pour cacher
cette structure particulire, on compose ce systme par des transformations inver-
sibles. Le systme rsultant parat alatoire et constitue la cl publique, alors que la
transformation constituant la trappe et les deux applications inversibles constituent
la cl secrte du schma. Ceci est dtaill au chapitre 5.
Plus prcisment, dans le cas des schmas cits, les messages sont reprsents
par des vecteurs de taille n
2
sur un corps ni K, gnralement K = F
2
. Lide est
de se ramener, grce aux transformations secrtes inversibles lespace des matrices
de taille n sur K, /
n
(K).
Lapplication interne constituant la trappe dans le cas des schmas [C
n
] est :
f : /
n
(K) /
n
(K)
X X
2
.
Cette application est remplace, pour le schma HM, par lapplication :
f : /
n
(K) /
n
(K)
X X
2
+M X,
o M /
n
(K) est une matrice secrte xe.
Enn, la cl publique PK est dnie par :
PK = T f S,
o S : K
n
2
/
n
(K) et T : /
n
(K) K
n
2
sont deux applications anes inver-
sibles.
Il existe un algorithme polynomial permettant au dtenteur de la cl prive
dinverser le schma ecacement. Celui-ci est bas sur des rductions de matrices
de Jordan et peut se trouver dans [Gan59]. Comme dhabitude, dans la suite, f peut
dsigner la fois lapplication de /
n
(K) ou le systme dquations dni par cette
application sur K.
6.1. Le schma HM 99
6.1.2 Travaux prcdents en rapport avec le schma HM, quelques
considrations
6.1.2.1 Attaque sur [C
n
] (HM avec M = 0)
Dans [PCG98a], Patarin et al. prsentent une attaque sur le schma [C
n
]. Rap-
pelons que [C
n
] correspond un schma HM dgnr, o la matrice M est nulle
(voir sous-section 6.1.1 prcdente). Dans ce cas, nous avons la relation suivante,
valable pour tout X /
n
(K) :
X f (X) = f (X) X. (6.1)
Ceci vient du fait que f (X) = X
2
commute avec X. Soit alors x K
n
2
, et y =
PK(x). Lgalit (6.1) prcdente peut scrire galement :
S(x) T
1
(y) = T
1
(y) S(x). (6.2)
Les applications S et T tant mconnues de lattaquant, lquation (6.2) corres-
pond pour lattaquant un ensemble de n
2
quations sur K, quadratiques en x et
y (connus), dont les coecients sont inconnus :
_

i,j
a
(1)
i,j
x
i
y
j
+

i
b
(1)
i
x
i
+

i
c
(1)
i
y
i
+d
(1)
= 0
.
.
.

i,j
a
(n
2
)
i,j
x
i
y
j
+

i
b
(n
2
)
i
x
i
+

i
c
(n
2
)
i
y
i
+d
(n
2
)
= 0.
Notons que les coecients de ces quations sont les mmes pour tout couple
clair/chir. Par suite, chaque couple clair/chir fournit n
2
telles quations en les
inconnues a

i,j
, b

i
, c

i
et d

. Si lattaquant gnre assez de couples de messages


clair/chir (de lordre de (n
2
)
2
+ 2n
2
+ 1), il peut rsoudre le systme dquations
linaires alors form, cest dire trouver les coecients a

i,j
, b

i
, c

i
et d

. Pour nir,
lattaquant peut dchirer nimporte quel message chir y, en utilisant cet ensemble
dquations, cette fois linaires en linconnue x. Cette attaque est rapprocher de
lattaque sur le schma C

de Patarin [Pat95].
6.1.2.2 Considrations sur HM
An de parer lattaque sur [C
n
], les auteurs de [PCG98a] proposent le schma
HM dcrit plus haut (sous-section 6.1.1). Lajout de la partie linaire M X
lapplication f vite davoir lgalit (6.1), car M X ne commute pas avec X en
gnral. Plus prcisment, on a dans ce cas :
X f (X) f (X) X = X M X M X
2
. (6.3)
En raisonnant comme pour le cas [C
n
] prcdent, cette galit indique que tout
couple clair/chir (x, y) vrie un ensemble de n
2
quations quadratiques aux
100 Chapitre 6. Faiblesses du Schma HM (Hidden Matrix)
coecients inconnus :
_

i,j
a
(1)
i,j
x
i
x
j
+

i,j
b
(1)
i,j
x
i
y
j
+

i
c
(1)
i
x
i
+

i
d
(1)
i
y
i
+e
(1)
= 0
.
.
.

i,j
a
(n
2
)
i,j
x
i
x
j
+

i,j
b
(n
2
)
i,j
x
i
y
j
+

i
c
(n
2
)
i
x
i
+

i
d
(n
2
)
i
y
i
+e
(n
2
)
= 0.
Dans le mme papier [PCG98a], Patarin et al. ne recommandent pas lutilisation
du schma HM. Ils ntaient alors pas capables dexploiter cette proprit (mme
si lattaquant retrouve les coecients de ces quations comme pour [C
n
], il doit
tout de mme rsoudre des quations quadratiques pour retrouver un clair partir
dun chir), mais craignaient quelle puisse tout de mme induire une faille dans la
scurit du schma.
Dans [FJPT10], nous ne partons pas de cette entame dattaque. Nous exhibons
tout dabord une proprit trs spciale de la direntielle de la cl publique. Ceci
nous fournit un distingueur puissant entre un systme dquations quadratiques
alatoires et celui issu du schma HM. Ensuite, nous montons une attaque permet-
tant de retrouver le message clair partir dun chir, utilisant les techniques de
bases de Grbner. Le point commun de ces deux attaques est quelles tirent toutes
deux partie de la non-commutativit des matrices. Concernant cette inversion du
schma, nous donnons quelques lments permettant de comprendre pourquoi la
rsolution du systme dans le cas de HM se fait plus facilement que dans le cas
dquations alatoires. Notons que mme si notre attaque ne repose pas sur la pro-
prit de pouvoir obtenir n
2
quations quadratiques supplmentaires en gnrant
assez de clairs/chirs (voir le dbut de ce paragraphe), lquation (6.3) donne pr-
cdemment est cependant la base de nos explications. Tout ceci est dtaill dans
les sous-sections qui suivent.
6.2 Mise en vidence dun distingueur : proprit de la
direntielle de HM
Rappelons que la direntielle en a dune application f se dcrit de la manire
suivante :
Df
a
(x) = f(x +a) f(x) f(a) +f(0). (6.4)
La direntielle dun application quadratique est une application bilinaire sym-
trique en a et x. Nous notons encore Df(x, y) lapplication qui y associe la di-
rentielle de f en y, applique x :
D : K
2
K
(x, y) Df
y
(x) = Df
x
(y).
6.2.1 Proprit de la direntielle de lapplication interne secrte
f de HM
Rappelons que lon note f la fonction interne du schma HM :
f : X X
2
+M X.
6.2. Mise en vidence dun distingueur : proprit de la direntielle de
HM 101
Nous nous intressons ici la direntielle de f . Dans le cas de la fonction interne
dun HM, nous obtenons :
Df (X, Y ) = X Y +Y X,
qui est la mme direntielle que celle de la fonction X X
2
. En xant X une
valeur arbitraire A
0
par exemple, on a que la direntielle de f en A
0
est :
D
A
0
f (B) = A
0
B +B A
0
.
Intressons-nous maintenant lquation matricielle en B :
D
A
0
f (B) = 0. (6.5)
Cette quation fournit n
2
quations linaires en les coecients de la matrice
inconnue B. Lorsque les n
2
quations sont indpendantes, un tel systme admet
une unique solution. Pour un systme alatoire, la dimension attendue de lespace
solution est trs petite. Dans notre situation, le systme (6.5) est trs particulier.
En eet, lquation (6.5) peut se rcrire :
D
A
0
f (B) = 0
A
0
B +B A
0
= 0.
Le corps de base tant K = F
2
, les solutions de lquation (6.5) sont les matrices
commutant avec A
0
. Ceci inclut les polynmes en A
0
. Pour un A
0
bien choisi (i.e.
dont le polynme minimal est de degr maximal n), la dimension de lespace vectoriel
des polynmes en A
0
est n. Le nombre exact de matrices linairement indpendantes
commutant avec une matrice donne est n
1
+ 3n
2
+ . . . + (2t 1)n
t
, o n
1
, . . . , n
t
sont les degrs des polynmes invariants non constants. Ce nombre se situe entre n
et n
2
et est proche de n dans la plupart des cas [PCG98b].
Dans tous les cas, il est possible de distinguer lensemble des quations dduites
de (6.5) dun ensemble alatoire de n quations linaires.
6.2.2 Proprit de la direntielle de la cl publique PK de HM
Lanalyse prcdente (sous-section 6.2.1) vaut pour la fonction interne secrte
f dun schma HM. Cependant, nous allons voir comment cette particularit se
transmet au niveau de la cl publique PK de HM.
Rappelons que la cl publique de HM est dnie comme
PK = T f S.
La direntielle de la cl publique scrit alors, avec T
L
dsignant la composante
linaire de T :
DPK(x, y) = T
L
(S (x) S (y) +S (y) S (x) +f (S(0)))
= T
L
(S (x) S (y) +S (y) S (x)) +T
L
(f (S(0))) , (6.6)
102 Chapitre 6. Faiblesses du Schma HM (Hidden Matrix)
o la premire galit se produit pour K un corps de caractristique 2.
Si lon xe un vecteur x
0
K
n
2
et que lon considre comme prcdemment la
direntielle de la cl publique en x
0
, on obtient :
D
x
0
PK(y) = T
L
(S (x
0
) S (y) +S (y) S (x
0
)) +T
L
(S(0)) .
Ltude de la direntielle pour le cas de la cl secrte nous a conduit considrer
lquation A
0
B+B A
0
= 0, pour A
0
x. Nous souhaitons observer une proprit
similaire celle obtenue pour la cl secrte dans la partie 6.2.1 prcdente. Ainsi,
nous ne considrons pas lquation D
x
0
PK(y) = 0, mais cette fois :
D
x
0
PK(y) = T
L
(S(0)) , (6.7)
o T
L
(S(0)) peut tre obtenu comme DPK(0, 0) sur F
2
ou sur un corps de carac-
tristique 2 (voir lquation (6.6), sur F
2
, nous avons 2 S(0)
2
= 0). Lquation (6.7)
se r-crit :
D
x
0
PK(y) = T
L
(S(0))
T
L
(S (x
0
) S (y) +S (y) S (x
0
)) = 0
S (x
0
) S (y) +S (y) S (x
0
) = 0.
Comme S est inversible, on peut appliquer ici le mme raisonnement que pour la
fonction f . Lquation matricielle (6.7) a le mme nombre de solutions que lqua-
tion (6.5).
On en dduit un distingueur ecace entre n
2
quations quadratiques alatoires
en autant dinconnues et les quations quadratiques composant la cl publique PK
du schma HM.
6.3 Inversion du Schma
La section 6.2 prcdente prsente une attaque permettant de distinguer la cl
publique du schma HM dun systme alatoire dquations, lorsque K est de ca-
ractristique 2. Cependant, nous avons galement mont une attaque consistant
retrouver un message clair partir dun message chir, sans restriction sur la carac-
tristique de K. Le principe de lattaque est de rsoudre directement les quations
quadratiques donnes par le chir y dun message x, savoir :
PK(X) y = 0.
Cette attaque utilise les algorithmes F
4
, F
5
de calcul de bases de Grbner. Comme
annonc au dbut de ce chapitre, lattaque fonctionne pour des paramtres prc-
demment conseills de HM. Les quations donnes par un tel systme sont en fait
plus faciles rsoudre que des systmes de mme taille, mais alatoires. En loc-
currence, nous observons que le degr maximal des polynmes intervenant lors du
calcul dune base de Grbner se trouve born par 3 ou 4.
Premirement, nous nous penchons sur le cas M = 0, donnant une introduction
la suite de lanalyse (paragraphe 6.3.1). Puis, la partie 6.3.2 prsente nos observations
6.3. Inversion du Schma 103
travers les expriences que nous avons faites, pour dirents paramtres. Ensuite,
dans la partie 6.3.3, nous donnons quelques lments thoriques pour expliquer ces
observations. Nous nous concentrons toujours sur le cas o K = F
2
, comme cela est
spci dans [PCG98a], mais explicitons galement les rsultats pour K quelconque.
6.3.1 Illustration : Cas M = 0
Le cas M = 0, qui nest pas un cas souhait pour HM (ce cas correspond en fait
au cas du schma [C
n
] cass dans [PCG98a]), permet cependant davoir une bonne
vision quant au comportement du systme dquations donn par PK(X)PK(x) =
0, pour x K
n
2
.
Raisonnons tout dabord sur lapplication f plutt que sur PK. Dans le cas o
M = 0, f (X) = X
2
. Soit B une matrice de /
n
(K). Nous cherchons rsoudre le
systme dquations donn par f (X) B = 0. Posons = X
2
B, et multiplions
droite et gauche par X. Nous obtenons :
X = X
3
X B = 0 (6.8)
X = X
3
B X = 0. (6.9)
En les soustrayant, nous obtenons une nouvelle quation, savoir X X =
X BB X = 0. Cette quation fournit n
2
quations linaires en les n
2
coecients
inconnus X
i,j
de la matrice X, et permet de rsoudre a priori compltement le
systme = 0.
Cependant, cette astuce ne fonctionne plus pour M ,= 0. De plus, nous avons
travaill sur la rsolution du systme dquations = 0, issu de la cl secrte, et
non sur celui issu de la cl publique PK dnissant linversion du schma.
Dans la suite de cette section, pour gnrer de nouvelles quations partir des
quations de dpart dans le cas gnral, nous utilisons des algorithmes de calcul de
bases de Grbner. En eet, ces algorithmes gnrent de nouvelles quations dans
lesprit de ce qui est fait ici pour M = 0, mais un niveau suprieur. On peut se
rfrer la partie 5.2.2. Par exemple, imaginons que lon applique un algorithme
de calcul de bases de Grbner sur lidal engendr par les polynmes de lqua-
tion = 0. Les quations constituant les matrices donnes par les quations (6.8)
et (6.9), apparaissent au cours du calcul. Comme nous avons vu, lalgorithme rduit
les dirents polynmes gnrs pendant le calcul. Par suite les polynmes de degr
1 obtenus plus haut dans lquation X X = 0, apparaissent galement
lors de lexcution de lalgorithme. De plus, nous savons par la proposition 15 que le
paramtre permettant de dduire la complexit dun calcul de base de Grbner, sa-
voir le degr de rgularit, reste inchang par transformations anes inversibles des
coordonnes ou des quations engendrant lidal considr. On dduit dune part,
que cet outil permet de rsoudre aussi facilement que prcdemment le systme issu
de la cl publique dans ce cas M = 0. Dautre part, il semble alors assez naturel
dutiliser les algorithmes de bases de Grbner lorsque lon sintresse au cas plus
gnral M ,= 0.
104 Chapitre 6. Faiblesses du Schma HM (Hidden Matrix)
La sous-section 6.3.2 suivante rapporte les rsultats obtenus lors de lexcution
dun algorithme de calcul bases de Grbner, pour dirents jeux de paramtres. Nous
y verrons que le degr de rgularit reste petit, mme pour des paramtres levs. La
sous-section 6.3.3 fournit des lments permettant de comprendre ce comportement
atypique du degr de rgularit pour les systmes dquations issus de la cl publique
dun schma HM.
6.3.2 Rsultats exprimentaux et observations
Nous nous intressons lattaque qui consiste recouvrer un message clair,
partir dun chir donn. Soit x un message clair et y le message chir par
HM correspondant. Tenter de retrouver x partir de y et de la cl publique PK
dun schma HM, revient rsoudre le systme de n
2
quations quadratiques en n
2
variables sur F
2
induit par la cl publique :
PK(X) y = PK(X) PK(x) = 0. (6.10)
La table 6.1 ci-dessous regroupe plusieurs rsultats exprimentaux obtenus pour
la rsolution de ce systme, utilisant lalgorithme F
4
disponible sous Magma (v2.15-
7) [BCP97]. Ces rsultats sont obtenus avec un ordinateur Xeon 4.2 Ghz disposant
de 128 Go de RAM. Lattaque a t implante avec la version 15 de Magma. Les
lments suivants sont indiqus dans cette table 6.1 :
q : La taille du corps K
n
2
: Nombre de variables du systme
t : Temps total pour inverser le schma en secondes (s.) ou heures (h.)
Mem : Mmoire utilise en Mega octets (Mo.) ou Giga octets (Go.)
D
reg
: Le degr de rgularit.
q n
2
t Mem D
reg
2 64 138 s. 1.4 Go. 3
2 81 685 s. 5.8 Go. 3
2 100 6249 s. 19 Go. 3
2 121 6 h. 56 Go. 3
2 144 26 h. 171 Go. 3
65521 25 13 s. 60 Mo. 4
65521 36 790 s. 500 Mo. 4
65521 49 2.7h. 3 Go. 4
Table 6.1: Rsultats exprimentaux pour lattaque consistant recouvrer un clair partir
dun chir, utilisant lalgorithme F
4
de calcul de bases de Grbner disponible sous Magma.
De ces expriences, il ressort quavec les paramtres conseills dans les papiers
originaux [IM85, PCG98a, PCG98b], savoir n
2
64 (on peut aujourdhui supposer
que ceci correspondrait n
2
80), le systme est cass et lattaque est mme
6.3. Inversion du Schma 105
facilement ralisable en pratique. Ceci reste vrai pour tout choix de paramtres
pratiques.
Dun point de vue plus technique, nous constatons que dans tous les calculs
de base de Grbner, le degr de rgularit D
reg
ne dpasse pas 3 sur F
2
. Quand
le corps de base K nest pas F
2
, ce degr de rgularit est born par 3 ou 4. Ceci
permet dobtenir une attaque en temps polynomial sur le schma HM. En eet, en
se basant sur la formule de la proposition 14 de la partie 5.2.2.5, on voit que la
complexit du calcul dune base de Grbner de lidal form des polynmes de la cl
publique est polynomiale en D
reg
. Nous nous penchons dans la partie suivante sur
ce comportement atypique du degr de rgularit.
6.3.3 propos du comportement du degr de rgularit
Comme annonc, nous tentons dexpliquer les observations faites sur le degr
de rgularit la sous-section 6.3.2, en fournissant quelques lments permettant
davoir une meilleure comprhension du systme dquations donn par lqua-
tion (6.10) de cette mme sous-section. Plus prcisment, nous essayons de voir
pour quelle raison les degrs des polynmes apparaissant dans le calcul dune base
de Grbner ne dpassent pas 3 dans le cas o le corps de base K est F
2
, et 4 sinon,
menant une inversion en temps polynomial, alors que les paramtres sont choisis
de sorte quun systme alatoire de mme taille ne soit pas rsoluble.
Dans le cas prcdent M = 0 (sous-section 6.3.1), nous avons prouv lappari-
tion de nombreuses
1
quations linaires par rduction de polynmes de degr trois.
Dans le cas gnral M ,= 0, nous navons pas ncessairement quelque chose de simi-
laire. Cependant, nous montrons que beaucoup dquations quadratiques et parfois
linaires apparaissent lors de la gnration de polynmes de degr 3 dans le cal-
cul dune base de Grbner. Par rapport la dnition 14 du degr de rgularit,
on voit que plus on a dquations quadratiques, plus on se rapproche de la forme
combinatoire de cette dnition.
6.3.3.1 Prliminaires
Soit x un vecteur de longueur n
2
sur K. Nous tudions le systme dqua-
tions (6.10) de la sous-section 6.3.2, donn par la cl publique :
PK(X) PK(x) = 0.
Pour simplier, notons quil est quivalent dobserver le systme dquations fournies
par la transformation interne f . En eet, le degr de rgularit dun idal reste
invariant par des changements linaires ou anes des coordonnes ou des gnrateurs
(proposition 15). Dans le cas de lquation que nous considrons, nous pouvons
ainsi omettre les actions de S et T et nous restreindre considrer lquation, pour
A /
n
(K) :
f (X) f (A) = 0. (6.11)
1. Susamment pour permettre a priori de rsoudre le systme.
106 Chapitre 6. Faiblesses du Schma HM (Hidden Matrix)
Pour parler en terme didal (comme nous allons considrer des calculs de base
de Grbner), considrons lidal I sur K engendr par les quations f (X) f (A).
Soit tout dabord B = f (A), i.e. B = A
2
+ M A. Introduisons aussi /
n
(K),
dni par = X
2
+M X B. Alors, lidal I sur K, engendr par les polynmes
de lquation f (X) f (A) = 0, est dni par :
I =
i,j
, 1 i, j n) . (6.12)
Nous allons tudier dans la suite le degr de rgularit de cet idal I, ou encore,
comme dans le cas M = 0 de la sous-section 6.3.1, les polynmes apparaissant lors
du calcul dune base de Grbner de cet idal.
Dans lalgorithme dcrit au paragraphe 5.2.2.5, on voit que pour le calcul dune
base de Grbner, on construit successivement, pour d croissant, les espaces vectoriels
I
d
, constitus des polynmes de I de degr d et du polynme nul. Dans le cas ane
qui nous intresse ici, cause dventuelles chutes de degr qui peuvent apparatre
lors du calcul, nous sommes amens considrer plutt les ensembles suivants :
Dnition 15 I
d
dsigne lensemble des polynmes de lidal I de degr infrieur
ou gal d.
Dans le cas de HM, plusieurs polynmes de bas degr apparaissent rapidement
lors du calcul dune base de Grbner de lidal I. De plus, ils apparaissent avant la
gnration de polynmes de degr lev, plus prcisment lors de la gnration de
polynmes de degr au plus 3. Ceci explique que lalgorithme termine rapidement,
comme illustr par les expriences de la sous-section 6.3.2. Ceci est dvelopp dans
ce qui suit.
6.3.3.2 tude de lidal I dans le cas o la caractristique de K est
quelconque
Nous montrons travers la proposition 16 suivante que beaucoup de nouveaux
polynmes quadratiques sont gnrs lors du calcul dune base de Grbner de I. Ce
rsultat est valide quel que soit le corps ni K considr. Des proprits supplmen-
taires dans le cas particulier o K = F
2
sont donnes dans la partie 6.3.3.3.
Plus prcisment, la proposition 16 montre que n
2
quations quadratiques sont
obtenues chaque nouvelle tape du calcul dune base de Grbner de I. De plus, ces
polynmes de degr deux sont obtenus par rduction de polynmes (correspondant
des quations matricielles) de degr deux, obtenus une tape antrieure du calcul,
par la matrice X. Tous ces lments se trouvent dans la preuve de la proposition 16.
Proposition 16 Pour tout k 1, il existe des matrices A
k
, B
k
, C
k
et D
k
telles
que :
P
k
= X(M
k
+A
k
)X +B
k
X +X C
k
+D
k
I
3
.
Ce rsultat est obtenu en utilisant une astuce similaire au cas M = 0. Nous le
montrons par rcurrence sur k. Le lemme qui suit prouve la proposition 16 pour
k = 1, la preuve complte de la proposition suit le lemme.
6.3. Inversion du Schma 107
Lemme 2 Les n
2
quations quadratiques suivantes appartiennent I
3
:
P
1
= X M X + (B +M
2
)X X B M B I
3
.
Dmonstration : [lemme 2] Dnotons toujours par lexpression X
2
+ M X B
(voir le paragraphe 6.3.3.1). R-crivons = 0 comme :
X
2
= B M X. (6.13)
On voit alors deux faons dobtenir X
3
, multiplier lquation (6.13) prcdente par
X droite, ou gauche :
X
3
= X B X M X,
X
3
= B X M X
2
= B X M X
2
+M
= B X M (B M X)
= B X M B +M
2
X
Soustrayons maintenant ces deux quations. On obtient lgalit :
X X M = X M X +
_
B +M
2
_
X X B M B I
3
.

Dmonstration : [proposition 16] Comme annonc, montrons le rsultat de la pro-


position 16 par rcurrence sur k. Daprs le lemme 2, les quations fournies par P
1
sont dans I
3
. Nous posons donc :
A
1
= 0
B
1
= B +M
2
C
1
= B
D
1
= M B.
Supposons la proprit vraie pour P
k
, k 1. Il vient alors :
P
k
X = X(M
k+1
+A
k
M C
k
)X X(M
k
B +A
k
B)
+(B
k
M D
k
)X B
k
B
= X(M
k+1
+A
k+1
)X +B
k+1
X +X C
k+1
+D
k+1
= P
k+1
,
avec ces notations :
D
k+1
= B
k
B
A
k+1
= A
k
M C
k
C
k+1
= M
k
B A
k
B
B
k+1
= B
k
M D
k
.
108 Chapitre 6. Faiblesses du Schma HM (Hidden Matrix)
Les quations formant P
k+1
sont dans I
3
, ce qui achve de prouver la proposition.
Dans le cas gnral, les observations exprimentales indiquent que lalgorithme
de base de Grbner ne gnre pas de polynme de degr plus grand que 4 pour
terminer ; le degr de rgularit est born par 4. Voyons prsent que dans le cas
o la caractristique de K est deux, la situation est meilleure encore (du point de
vue de la cryptanalyse), car des proprits supplmentaires apparaissent.
6.3.3.3 tude de lidal I dans le cas o K = F
2
Intressons-nous donc au cas K = F
2
, qui est le contexte classique. Dans ce cas,
les quations quadratiques donnes par la proposition 16 apparaissent toujours, mais
en plus, un certain nombre dquations linaires surgissent, dues la caractristique
du corps K. Ces quations sont dcrites dans les propositions ci-dessous, et appa-
raissent lors de la gnration de polynmes de degr au plus 3 dans le calcul de base
de Grbner.
Soit D /
n
(K), une matrice de K de taille n n. Dans ce qui suit, tr(D)
reprsente la trace de D /
n
(K) et C
D
le polynme caractristique de D.
Proposition 17 Soit Q
0
= tr((M + I)X) tr(B). Les quations composant Q
0
appartiennent I
3
.
Dmonstration : Lapplication tr tant une forme linaire, et comme X
2
+M X =
B, on dduit :
tr(X
2
) +tr(M X) = tr(B).
Le rsultat sen dduit si :
tr(X
2
) = tr(X),
rsultat faisant lobjet du lemme 3 ci-dessous.
Lemme 3 C
D
(z) = C
D
2(z) et tr(D
2
) = tr(D).
Dmonstration : Soit C
D
(z) = (z
1
) (z
n
). Notons que si K est
valeur propre de D alors
2
est valeur propre de D
2
. Ainsi, et puisque lon est en
caractristique 2, on a :
C
D
(z)
2
= (z
2
+
2
1
) (z
2
+
2
n
)
= C
D
2(z
2
). (6.14)
Maintenant, comme C
D
(z) F
2
[z], on a C
D
(z)
2
= C
D
(z
2
). Cette galit, combine
avec (6.14) implique C
D
(z
2
) = C
D
2(z
2
) ou encore C
D
(z) = C
D
2(z). Ceci permet
dj de prouver le premier point de la proposition.
Pour la seconde assertion du lemme, remarquons que la trace dune application
linaire correspond au coecient de z
n1
dans le polynme caractristique de cette
6.3. Inversion du Schma 109
application. Comme nous venons de voir que C
D
(z) = C
D
2(z), le deuxime point
du lemme sen dduit.
Proposition 18 Pour tout k 1 et avec les notations de la proposition 16, d-
nissons
Q
k
= (X +B
k
X +X C
k
+D
k
)(M
k
+A
k
).
Alors, pour tout k 1, lquation linaire donne par la trace de Q
k
, tr(Q
k
), appar-
tient I
3
:
tr((X +B
k
X +X C
k
+D
k
)(M
k
+A
k
)) I
3
.
Les Q
k
se dduisent des P
k
de la proposition 16, comme on peut le remarquer
dans la preuve qui suit :
Dmonstration : De la proposition 16, on dduit que pour tout k 1 :
P
k
= X(M
k
+A
k
)X +B
k
X +X C
k
+D
k
I
3
.
En multipliant droite par M
k
+A
k
, nous obtenons :
(X(M
k
+A
k
))
2
+ (B
k
X +X C
k
+D
k
)(M
k
+A
k
) I
3
.
prsent, tr((X(M
k
+ A
k
))
2
) = tr(X(M
k
+ A
k
)) par le lemme 3. Finalement, on
obtient :
tr((X +B
k
X +X C
k
+D
k
)(M
k
+A
k
)) I
3
.

On observe experimentalement que le degr de rgularit est seulement 3 dans


le cas K = F
2
. Ceci signie que dans les expriences faites, ces quations linaires
dcrites dans les propositions prcdentes, permettent de terminer les calculs de base
de Grbner aprs la gnration de polynmes de degr 3.
6.3.4 Rsum des observations
Nous nous sommes intresss la rsolution laide des bases de Grbner du sys-
tme dquations donn par la cl publique dun shcma HM : PK(X)PK(x) = 0,
pour x un vecteur x de longueur n
2
sur K. Les observations de la sous-section 6.3.2
montrent que le degr de rgularit observ, atteint lors du calcul eectif dune base
de Grbner de lidal I engendr par ces quations est born par 3 lorsque K = F
2
et 4 sinon. Dans la sous-section 6.3.1 et plus gnralement dans 6.3.3, nous avons
prouv lapparition de plusieurs quations de bas degr. Ceci est rappel dans la
table 6.2, pour les direntes situations tudies, o lon indique galement le de-
gr de ces quations. Les rsultats de cette table ont t vris exprimentalement
jusqu n = 14 dans le cas K = F
2
et n = 6 sinon.
110 Chapitre 6. Faiblesses du Schma HM (Hidden Matrix)
Cas M = 0 K = F
2
K ,= F
2
Nombre dquations quadratiques 0 k
max
n
2
k
max
n
2
Nombre dquations linaires n
2
k
max
0
Nombre total dquations quadratiques 0 n
3
n
3
Nombre total dquations linaires n
2
n 0
Degr de rgularit observ D
reg
3 3 4
Table 6.2: Rsum des quations obtenues au cours dun calcul de base de Grbner
de lidal engendr par les quations de la cl publique de HM
Lindice k
max
dsigne le nombre dtapes de lalgorithme F
4
utilisant le critre
F
5
[Fau02] ncessaires au calcul de I
d
. La valeur de k
max
dicte parfois le nombre de
polynmes de bas degr apparaissant au cours du calcul. Par exemple, les polynmes
indexs par k dans les propositions 16 ou 18 prcdentes sont obtenues une tape
k de ltablissement de I
3
.
Remarque : On suppose que k
max
vaut n. Ceci provient du fait que les quations
obtenues ltape k impliquent M
k
(voir propositions 16 et 18). Ainsi, au bout de n
tapes, comme M
n
peut scrire en fonction de puissances prcdentes par le tho-
rme de Cayley-Hamilton, les quations apparaissant alors peuvent ventuellement
se rduire des quations prcdemment obtenues.
Dans tous les cas, le degr de rgularit tant born, on a une rsolution poly-
nomiale du systme dquation correspondant linversion du schma HM.
6.4 Conclusion
Les deux nouveaux distingueurs prsents sont trs ecaces et permettent de
casser le systme HM. Le premier se base sur la rsolution dun systme dquations
issu de la direntielle de la cl publique dun schma HM. Le deuxime permet
dinverser, en pratique, le systme dquations form par la cl publique en temps
polynomial. De plus, certaines explications concernant cette rsolution en temps
polynomial ont t apportes.
Chapitre 7
Une Famille de Cls Faibles pour
le Systme HFE (Hidden Field
Equations)
Le systme HFE, dj cit la sous-section 5.3.2, a t conu par Jacques Patarin
et prsent Eurocrypt96 [Pat96]. Il gnralise le schma C

de 1988 de Matsumoto
et Imai [MI88], cryptanalys par Patarin en 1995 [Pat95]. la dirence de ce
dernier, lapplication interne est un polynme plutt quun monme. Ceci permet
dviter lattaque sur C

et, lorsque le degr du polynme interne nest pas trop


grand, dinverser tout de mme ecacement le systme.
HFE a longtemps t considr comme lun des systmes multivaris les plus
robustes. La premire attaque eective napparat quen 2003 dans [FJ03a], et est
de complexit sous-exponentielle. Plusieurs autres cryptanalyses ont t publies
ensuite, dtailles dans la sous-section 7.1.3. Cependant, malgr ces attaques, HFE
ne peut tre considr comme cass. Par exemple, les estimations de [BFSY05] sur
la complexit des calculs de bases de Grbner par lalgorithme F5 [Fau02] montrent
que la complexit des attaques bases sur cette technique reste leve pour des ins-
tances gnrales. En particulier, HFE utilis avec les paramtres dnis par le second
challenge de HFE ([Pat96]) est loin dtre menac. Par ailleurs, les versions de HFE
consistant retirer certaines quations de la cl publique, ou ajouter des variables
ces quations (voir la sous-section 5.3.2), restent impermables aux attaques. Un
autre travail [DSW08] suggre que la complexit sous-exponentielle du calcul de
bases de Grbner pour HFE est due au choix du corps de base (F
2
), et que pour un
choix de corps de base plus gros, la complexit reste exponentielle.
Dans [BFJT09], nous avons trouv une attaque permettant de retrouver la cl
prive. Cette attaque ne fonctionne que pour une famille de cls prives spciales,
qui est donc une famille de cls faibles pour HFE. Elle permet nanmoins un recou-
vrement ecace des secrets pour des paramtres conseills de HFE, ce quaucune
attaque ne permettait prcdemment. Bien que retrouver la cl prive dun systme
HFE ne dpende en gnral pas de la dicult de rsolution du problme IP
1
, la
scurit de HFE se rduit entirement la rsolution dune instance de ce problme
dans le cadre de notre attaque. Cette attaque est dcrite dans ce chapitre. Notons
que dans [Pat96], Patarin propose une version sous-corps de HFE, permettant de
rduire la taille de la cl publique. Ces instances de HFE font entirement partie
1. Nous renvoyons pour ceci vers la sous-section 5.2.3.
112
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
de notre famille de cls faibles et sont dsormais prohiber ( linstar des versions
sous-corps de SFLASH v1 [GM02] ou de UOV [KPG99, BWP05]).
Sommaire
7.1 Description du schma HFE et attaques existantes . . . . . 112
7.1.1 Description du systme HFE . . . . . . . . . . . . . . . . . . 112
7.1.2 Cls secrtes quivalentes et extension publique . . . . . . . . 113
7.1.3 Attaques existantes sur le systme HFE . . . . . . . . . . . . 114
7.2 Nouvelle famille de cls faibles pour HFE . . . . . . . . . . . 115
7.2.1 Rappel : Attaque sur SFLASH . . . . . . . . . . . . . . . . . 115
7.2.2 Proprit de commutativit avec le polynme interne pour le
morphisme de Frobenius . . . . . . . . . . . . . . . . . . . . . 116
7.2.3 Identication dune famille T
K
de cls faibles pur HFE . . . . 118
7.3 Description de lattaque des systmes HFE utilisant des
polynmes secrets de la famille T
K
. . . . . . . . . . . . . . . 121
7.3.1 Recouvrement des applications de Frobenius F
S
et F
T
. . . . 122
7.3.2 Appropriation dinformation en rapport avec S et T . . . . . 123
7.3.3 Cration dune cl secrte quivalente g . . . . . . . . . . . . 124
7.3.4 Recouvrement dune cl secrte de bas-degr quivalente la
cl secrte de dpart . . . . . . . . . . . . . . . . . . . . . . . 126
7.4 Implantation de lattaque des systmes HFE utilisant des
polynmes secrets de la famille T
K
. . . . . . . . . . . . . . . 131
7.4.1 Pseudo-code de lattaque . . . . . . . . . . . . . . . . . . . . 131
7.4.2 Expriences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.1 Description du schma HFE et attaques existantes
7.1.1 Description du systme HFE
Considrons le corps ni K q lments. Soit L une extension de K de degr
n. Nous avons vu la section 5.2 du chapitre 5 que L et lespace vectoriel K
n
sont isomorphes
2
. Dans le cas du systme HFE, la trappe consiste en lextension
L ainsi quune application polynomiale particulire f de L dans L. Lextension L,
lapplication f , ainsi que deux applications anes inversibles S et T constituent la
cl secrte du systme HFE. La cl publique de HFE est constitue des n quations
sur K : PK = T f S.
An de ne pas avoir une taille de cl publique trop grande, f est construite de
manire ce que les quations de la cl publique soient quadratiques. Pour cela, on
2. Notons que, un isomorphisme entre L et K
n
tant x, nous considrons indiremment des
lments ou applications de L ou K
n
.
7.1. Description du schma HFE et attaques existantes 113
dnit f selon le modle suivant :
f (X) =

0i,jn
q
i
+q
j
d
a
i,j
X
q
i
+q
j
+

0in
q
i
d
b
k
X
q
k
+c, a
i,j
, b
k
, c K. (7.1)
Lapplication de Frobenius x x
q
tant K-linaire, les n quations sur K dnies
par f sont bien quadratiques, tout comme PK.
Par ailleurs, le dchirement demande lutilisateur lgitime linversion de f , qui
peut se raliser par le recouvrement de ses racines. Les algorithmes de factorisation
sur des corps nis tant au moins quadratiques en le degr du polynme factoriser,
le degr d de f doit tre choisi relativement petit pour permettre une inversion
ecace, par exemple de lordre de 2
16
.
Pour la suite, nous introduisons la notation d = 2 q
D
. Ainsi, plutt que de
borner q
i
+q
j
par d dans lquation (7.1), nous pouvons borner i et j par D.
Comme annonc la sous-section 5.3, notons quil existe des variations pour le
systme HFE (voir [Pat96]). Cependant, dans le prsent chapitre, nous nous int-
ressons uniquement la version basique de HFE.
7.1.2 Cls secrtes quivalentes et extension publique
Pour le systme HFE, il existe beaucoup de cls secrtes quivalentes une
cl secrte donne (voir [WP05a]). Rappelons que deux cls secrtes quivalentes
engendrent la mme cl publique.
Cette diversit de cls quivalentes permet mme de supposer les bijections a
priori anes S et T comme linaires. Cette supposition revient considrer un
polynme f modi par rapport au polynme original, mais cette modication nat-
teint pas le degr du polynme f , ce qui permet de considrer la nouvelle cl alors
forme comme une cl secrte HFE valable.
Une autre constatation est que la reprsentation secrte de lextension L peut
en fait tre suppose publique. Ceci est dj mentionn dans le papier original [Pat96]
et de fait, dans les spcications de lalgorithme Quartz [PCG01b], un schma de
signature de la famille HFE (utilisant les variations moins et v), lextension est
suppose publique. Plus prcisment, supposons donne une cl secrte HFE. Alors,
pour nimporte quelle reprsentation de L sur K, il est possible de driver la mme
cl publique de la mme cl secrte. Ceci revient modier lgrement S et T,
comme le rsume la proposition suivante :
Proposition 19 Soit SK = (T, f , S, ) une cl secrte HFE. Pour tout choix diso-
morphisme

entre L et K
n
, il existe deux bijections anes S

et T

telles que
SK

= (T

, f , S

) est quivalente SK (i.e. gnre la mme cl publique).


Dmonstration : Si

dnote un autre isomorphisme entre L et K


n
, alors
=


1
est une application inversible K-linaire telle que

= . En
utilisant la correspondance

, la composition T

f S

correspond galement
114
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
PK, avec T

= T et S

= S
1
.
Ainsi, choisir de garder la reprsentation de L sur K secrte, ou la rendre pu-
blique, na pas dinuence sur la scurit du systme HFE. Dans le cas o lextension
L est secrte, un attaquant peut simplement xer une reprsentation arbitraire et
supposer que les applications secrtes sont le polynme original f , accompagn de
deux applications anes modies S

et T

.
7.1.3 Attaques existantes sur le systme HFE
Plusieurs voies dinvestigation ont t empruntes an dattaquer le systme
HFE. Les plus heureuses ont t celles sintressant la rsolution du systme
dquations de la cl publique par des techniques de bases de Grbner [FJ03a,
GJS06]. Dautres sont bases sur les techniques dites de relinarisation [KS99] ou
encore sur le rang de la direntielle de la cl publique [FGS05].
Les attaques se ramnent toutes la rsolution dun systme dquations qua-
dratiques, et leur complexit dpend du degr d du polynme interne. Lorsque ce
degr est x, la complexit de ces attaques est polynomiale en le paramtre de
scurit, n. Cette situation nest cependant pas raliste, et lon supposera d reli
au paramtre de scurit. Or par ailleurs, le degr d de f doit tre choisi de sorte
que les algorithmes de factorisation sappliquent facilement. Ces algorithmes tant
au moins quadratiques en le degr du polynme, d peut tre au plus polynomial en
le paramtre de scurit. Nous supposons donc d polynomial en n, et dans ce cas
les attaques mentionnes ne sont plus polynomiales. Ces principales attaques sont
succinctement rappeles ci-dessous.
Une attaque ayant pour but le recouvrement de la cl secrte est prsente
dans [KS99]. Cette attaque transforme le problme de la cryptanalyse de HFE en
un problme de rsolution dun systme quadratique largement surdtermin sur
lextension L. La technique propose pour la rsolution de ce systme est la tech-
nique de relinarisation. La cryptanalyse correspondant cette approche, reprise
dans [Cou01], est annonce avoir une complexit polynomiale, mais se trouve im-
praticable pour des paramtres raisonnables. En eet dans leur analyse, les auteurs
de [KS99] ou [Cou01] supposent le degr d du polynme f xe, indpendant du
paramtre de scurit. Nous avons dj vu que ceci nest pas un modle raliste, et
que d doit tre suppos polynomial en n. Lattaque est alors sous-exponentielle, avec
une complexit lordre de exp
_
log
3
n
_
, ce qui est trop lev pour tre une menace
pour HFE utilis avec les paramtres conseills.
En 2003, Faugre et Joux ont montr exprimentalement que les quations de
PK ne peuvent tre considres comme un systme alatoire dquations quadra-
tiques [FJ03a]. Le calcul dune base de Grbner du systme dquations issu de PK
est en fait plus facile raliser que dans le cas dquations alatoires. Ces rsul-
tats ont t obtenus en utilisant lalgorithme F5 [Fau02] de Faugre et ont permis
de casser le systme HFE pour des paramtres constituant le premier challenge
HFE [Pat96] (80 quations en 80 inconnues sur K = F
2
).
7.2. Nouvelle famille de cls faibles pour HFE 115
Suite larticle [FJ03a], Granboulan et al. [GJS06] exhibrent des proprits sp-
ciques pour HFE, permettant de prouver la complexit de linversion du systme
HFE sous-exponentielle, de complexit O
_
exp
_
log
2
n
__
. Plus exactement, on peut
montrer que du systme dquations fourni par la cl publique PK, on peut se ra-
mener par des transformations inversibles impliquant les coordonnes un systme
beaucoup plus petit. Ceci est d la borne sur le degr d du polynme interne f .
Or, le degr de rgularit dun systme dquations reste inchang par changement
inversible, linaire ou ane de coordonnes ou de gnrateurs. Comme le degr de r-
gularit rgit la complexit de calcul dune base de Grbner, ceci permet dexpliquer
les rsultats de [FJ03a].
Enn, une dernire approche consiste sintresser au rang de la direntielle
de la cl publique. Dans [FGS05], Fouque et al. tudient ce rang pour extraire de
linformation sur la structure interne du schma, ce qui leur permet par exemple
de cryptanalyser le schma PMI (perturbated Matsumoto-Imai). Dans [DGF06],
Dubois et al. reprennent cette approche direntielle et obtiennent un distingueur
quasipolynomial pour HFE. La complexit de cette attaque par distingueur est ce-
pendant la mme que la complexit du distingueur dcrite dans [GJS06], qui de plus
est base sur le dchirement du systme.
Notons que les attaques ayant fonctionn en pratique sont celles consistant
inverser le systme, ou encore les attaques par distingueur. Aucune attaque pratique
na jamais permis de retrouver la cl prive dun schma HFE.
7.2 Nouvelle famille de cls faibles pour HFE
An de mettre en vidence notre famille de cls faibles pour HFE, intressons-
nous dabord au cas C

. Dans C

, nous avons vu la sous-section 5.3.1 que K et L


sont de caractristique 2 et f (x) = x
1+q

est inversible. Ici, considrons K et L sans


restriction sur leur caractristique et f de la forme gnrale f = a X
q
i
+q
j
, a L.
Plus prcisment, nous allons revenir sur lattaque ralise par Dubois et al. sur
SFLASH [PCG01a], dcrit la section 5.3, qui est un algorithme de signature bas
sur cette conguration. Nous introduisons ensuite notre famille de cls faibles pour
HFE.
7.2.1 Rappel : Attaque sur SFLASH
Commenons par remarquer que dans le cas o f = a X
q
i
+q
j
, on peut supposer
a = 1. En eet, une cl quivalente PK = T f S est T

X
q
i
+q
j
S, o la
multiplication par a est absorbe par la transformation ane T

.
Dans cette conguration, des proprits trs spciales apparaissent, mises en
vidence dans [DFSS07, DFS07, Dub07]. Le monme secret f a des proprits de
commutativit avec plusieurs applications. Par exemple, multiplier f droite par
un lment quivaut multiplier gauche par
q
i
+q
j
. Une autre proprit est que
f commute avec le morphisme de Frobenius x x
q
not Fr . Cest la premire
116
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
proprit cependant qui a permis Dubois et al. dattaquer le schma SFLASH.
Exposons rapidement leur ide.
Lgalit f M

= M
f ()
f , o M

reprsente la multiplication par un lment


, se rpercute sur la cl publique dun C

de la manire suivante :
PK (S
1
M

S) = (T M
f ()
T
1
) PK. (7.2)
Dans le cas de SFLASH, la cl publique consiste en la cl publique dun C

,
prive dun certain nombre r de ses quations (C

) : PK =

T f S, o la matrice
T nest constitue que de n r lignes de T. Cependant, de (7.2) on obtient :
PK (S
1
M

S) = T M
f ()
f S. (7.3)
Rapidement, la suite de lattaque consiste remarquer que ds que LK, lqua-
tion (7.3) fournit de nouvelles coordonnes de f S, coordonnes qui sont caches
dans la version moins. Ainsi, en retrouvant susamment de multiplications M

, on
peut reconstituer une clef publique dun C

puis terminer en appliquant lattaque


de Patarin [Pat95].
7.2.2 Proprit de commutativit avec le polynme interne pour
le morphisme de Frobenius
Nous ne prtendons pas adapter lattaque prcdente sur SFLASH au systme
HFE.s Nous nous sommes plus intresss la particularit du systme utilise pour
monter lattaque, savoir la commutativit du polynme interne correspondant
un C

avec des applications linaires, en loccurrence multiplications et applications


Frobenius. Lide premire tant que la commutativit dun systme dquations
quadratiques avec une application linaire rvle a priori une singularit dans ledit
systme.
Nous nous intressons au problme plus large de savoir si pour un polynme
gnral f du type HFE, dcrit par lquation (7.1) de la sous-section 7.1.1, il existe
deux applications linaires L, L

telles que f L = L

f .
Tout dabord, notons que la proprit f L = L

f pour L, L

des multiplications,
nest en gnral pas vrie. Ds que f est compos de plus dun terme, une telle
galit ne se produit (ventuellement) que dans le cas o f est homogne lorsque
K ,= F
2
, ou dans le cas o f est sans terme constant lorsque K = F
2
:
f M

(X) =

i,j
a
i,j
( X)
q
i
+q
j
+

i
b
i
( X)
q
i
+c
=

i,j
a
i,j

q
i
+q
j
X
q
i
+q
j
+

i
b
i

q
i
X
q
i
+c;
M

f (X) =

i,j
a
i,j
X
q
i
+q
j
+

i
b
i
X
q
i
+ c.
Notons que lorsque f est compose de deux termes, cette proprit de commutativit
avec les multiplications, lorsquelle existe, se restreint souvent aux multiplications
7.2. Nouvelle famille de cls faibles pour HFE 117
par des lments contenus dans un sous-corps strict de L. Ds que le nombre de
terme dpasse 2, la chance davoir une telle proprit pour des multiplications par
des lments nappartenant pas K devient faible.
Pour ce qui est des applications de Frobenius (plus prcisment, Fr : x x
q
ou
Fr

), remarquons que la proprit de commutativit remarque pour les monmes
dans le cas de C

, nest en gnral plus vrie. Cependant, si lon se restreint


considrer les polynmes du type HFE (quation (7.1)) coecients dans K, alors
la proprit de commutativit avec lapplication Frobenius ou une de ses itres
subsiste. En eet, dans ce cas particulier, les coecients de f restent inchangs sous
laction de lapplication du morphisme de Frobenius Fr :
Fr f (X) =
_
_

i,j
a
i,j
X
q
i
+q
j
+

i
b
i
X
q
i
+c
_
_
q

i,j
a
i,j
q

X
q
i+
+q
j+
+

i
b
i
q

X
q
i+
+c
q

i,j
a
i,j
X
q
i+
+q
j+
+

i
b
i
X
q
i+
+c
= f Fr (X).
Nous sommes invits tudier cet ensemble de polynmes coecients dans K,
dont on sait quils commutent dj avec le morphisme du Frobenius. Soient f un
polynme de cet ensemble et L, L

deux applications linaires. Notons :


L(X) =

l
X
q
l
,
L

(X) =

l
X
q
l
,
f =

i,j
a
i,j
X
q
i
+q
j
+

i
b
i
X
q
i
+c.
Nous avons :
f L(X) =

i,j
a
i,j
_

l
X
q
l
_
q
i
+q
j
+

i
b
i
_

l
X
q
l
_
q
i
+c
=

i,j
a
i,j
_
_

l
1
,l
2

q
i
l
1

q
j
l
2
X
q
i+l
1+q
j+l
2
_
_
+

i
b
i
_

q
i
l
X
q
l+i
_
+c
=

i,j

l
1
,l
2

q
i
l
1

q
j
l
2
a
i,j
X
q
i+l
1+q
j+l
2
+

q
i
l
b
i
X
q
i+l
+c, (7.4)
et :
118
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
L

f (X) =

l
_
_

i,j
a
i,j
X
q
i
+q
j
+

i
b
i
X
q
i
+c
_
_
q
l
=

l
_
_

i,j
a
i,j
q
l
X
q
i+l
+q
j+l
+

i
b
i
q
l
X
q
i+l
+c
q
l
_
_
=

i,j

l
a
i,j
X
q
i+l
+q
j+l
+

l
b
i
X
q
i+l
+

l
c. (7.5)
Lorsque la reprsentation polynomiale de L comporte plus dun terme, remar-
quons que dans les deux expressions (7.5) et (7.4), on peut avoir le mme nombre
de termes linaires, mais en gnral pas simultanment le mme nombre de termes
quadratiques. Ceci provient des doubles produits intervenant dans lquation (7.4).
Ainsi dans ce cas, et sauf quelques ventuelles situations sotriques
3
, f L = L

f
ne semble possible que lorsque les applications linaires sont composes dun seul
terme. Lorsque cest le cas, ces applications linaires correpondent soit une mul-
tiplication par un lment de L, soit une itre de Fr , soit la compose de ces
deux applications. Leur cas a dj t considr plus haut.
Nous nous penchons plus prcisment sur ces polynmes et cette proprit de
commutativit dans la sous-section suivante, an de dnir une famille de cls se-
crtes pour HFE ayant la mme proprit particulire, qui fait lobjet de lattaque
dcrite dans la section 7.3.
7.2.3 Identication dune famille T
K
de cls faibles pur HFE
7.2.3.1 Une proprit pour la cl publique
Dans le paragraphe 7.2.2 prcdent, nous avons mis en vidence un ensemble
de polynmes sur L ayant une proprit de commutativit avec lapplication de
Frobenius Fr : x x
q
. Lintrt de ces polynmes ne sarrte pas l. En eet, dun
point de vue cryptanalyste, si le polynme secret f de HFE appartient cet ensemble,
alors la proprit de commutativit se dtecte sur la cl publique PK = T f S.
Ceci est justi par les quations suivantes :
PK
_
S
1
Fr S
_
= T f S
_
S
1
Fr S
_
= T f S S
1
Fr S
= T Fr f S
= (T Fr T
1
) PK
PK =
_
T Fr T
1
_
1
PK
_
S
1
Fr S
_
.
Autrement dit, on voit que le systme dquations quadratiques form par la cl
publique a la proprit particulire quune composition droite par une application
3. Les situations o les monmes X
q
i+l
1
+q
i+l
2
, avec l1 = l2, correspondent un monme
X
q
u+l
+q
v+l
apparaissant galement dans f (i.e. au,v = 0), ce qui peut ventuellement encore
arriver par rduction modulo X
q
n
X.
7.2. Nouvelle famille de cls faibles pour HFE 119
ane revient eectuer une composition gauche par une autre application ane.
Dans la section 7.3, nous voyons comment exploiter cette proprit particulire du
systme HFE pour raliser une attaque permettant de retrouver la cl secrte. Mais
avant, dtaillons plus prcisment la famille de polynmes secrets HFE impliquant
cette proprit.
7.2.3.2 La famille T
K
Pour plus de clart, nous allons dnoter par T
K
la famille de polynmes HFE
vriant lquivalence prcdente, du dbut de la sous-section 7.2.3. Cette famille
contient dj tous les polynmes coecients dans K, daprs lanalyse faite plus
haut.
prsent, notons que si un polynme secret HFE f nest pas coecients dans
K, mais que chaque coecient peut scrire comme le produit dun mme lment
a L par un lment de K, alors on peut supposer que ce polynme appartient
T
K
galement. En eet, de la mme manire que pour les monmes C

(cf. sous-
section 7.2.1), on peut supposer que lapplication T de la cl publique est remplace
par la composition de T avec la multiplication par a. De manire symtrique, si en
remplaant S par la composition de S avec la multiplication par un lment a de L,
le polynme secret rsultant est coecients dans K, alors le polynme de dpart
peut aussi tre suppos dans T
K
. En fait, ceci revient uniquement considrer des
cls quivalentes (voir sous-section 7.1.2).
Finalement, les polynmes de la famille mise en vidence sont de la forme (7.6)
ci-dessous, encore rsume par la dnition 16 qui suit :
f (X) =

0i,jn
q
i
+q
j
d
a
i,j

q
i
+q
j
X
q
i
+q
j
+

0in
q
i
d
b
i

q
i
X
q
i
+ c, (7.6)
o a
i,j
, b
i
, c K, L, et L.
Dnition 16 (Famille T
K
) Un polynme f dune cl secrte HFE, k, appartient
la famille T
K
de polynmes HFE, si f est coecients dans K, ou sil existe une
cl secrte quivalente k dont le polynme secret est coecients dans K.
La proposition 20 suivante donne un encadrement du nombre de polynmes HFE
appartenant cette famille T
K
, faisant lobjet de lattaque de la section 7.3 :
Proposition 20 (Cardinal de T
K
) Le nombre de polynmes secrets HFE appar-
tenant la famille T
K
est suprieur ou gal :
i) (q
(D+1)(D+2)
2
1) q
D+2
(q
n
q), lorsque K ,= F
2
,
ii) (q
D(D+1)
2
1) q
D+3
(q
n
q), lorsque K = F
2
,
ce qui correspond O
_
q
D
2
+n
_
. Ce nombre est par ailleurs major par :
120
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
i)
_
(q
(D+1)(D+2)
2
1) q
D+2

(D+1)(D+2)
2
(q 1)
_
(q
n
q)
2
+
(D+1)(D+2)
2
(q
1) (q
n
q), when K ,= F
2
,
ii)
_
(q
D(D+1)
2
1) q
D+2

(D+1)(D+2)
2
(q 1)
_
(q
n
q)
2
+
(D+1)(D+2)
2
(q 1)
(q
n
q), when K = F
2
,
correspondant O
_
q
D
2
+2n
_
.
Dmonstration : Un polynme HFE est compos de
(D+1)(D+2)
2
+ (D + 1) + 1 =
D(D+5)
2
+3 termes quand K ,= F
2
,
(D+1)(D+2)
2
(D+1)+(D+2)+1 =
(D+1)(D+2)
2
+2
quand K = F
2
. Nous avons :
1. Le corps K possde q lments. Le nombre de polynmes HFE coecients
dans K ,= F
2
est q
D(D+5)
2
+3
(q
(D+1)(D+2)
2
+2
when K = F
2
). Nous nous intressons
cependant aux polynmes non-linaires uniquement. Ceux-ci sont au nombre
de (q
(D+1)(D+2)
2
1) q
D+2
quand K ,= F
2
et K ,= F
2
, (q
(D+1)(D+2)
2
(D+1)
1)
q
D+3
= (q
D(D+1)
2
1) q
D+3
sinon.
2. Le nombre dlment appartenant L K est q
n
q. Ainsi, le nombre de
polynmes HFE pouvant scrire comme un polynme coecients dans K (un
polynme de ceux dcrits au point 1.), compos gauche par la multiplication
M

par un lment L K est :


(q
(D+1)(D+2)
2
1) q
D+2
(q
n
q), lorsque K ,= F
2
,
(q
D(D+1)
2
1) q
D+3
(q
n
q), lorsque K = F
2
.
Ceci fournit la borne infrieure de la proposition.
prsent, notons que pour valuer le nombre exact de polynmes appartenant T
K
,
il faut encore valuer le nombre de polynmes HFE scrivant comme un polynme
dcrit au point 2., compos droite par une multiplication par un lment de LK.
Or, nous avons vu que certains polynmes ont la proprit que la composition
droite par une multiplication revient faire une composition gauche par une autre
multiplication. Ces polynmes ont t reprs dans la sous-section 7.2.2 prcdente.
Parmi eux, seuls les monmes ont avec certitude une telle proprit pour les multi-
plications par nimporte quels lments de LK. Or, les monmes K-quadratiques
sur L, coecient dans K sont au nombre de
(D+1)(D+2)
2
(q1) ou
(D(D+1)
2
)(q1),
selon que K = F
2
ou non. On peut alors tablir la borne suprieure annonce dans
lnonc :
_
(q
(D+1)(D+2)
2
1) q
D+2

(D + 1)(D + 2)
2
(q 1)
_
(q
n
q)
2
+
(D + 1)(D + 2)
2
(q 1) (q
n
q), lorsque K ,= F
2
,
_
(q
D(D+1)
2
1) q
D+2

(D + 1)(D + 2)
2
(q 1)
_
(q
n
q)
2
+
(D + 1)(D + 2)
2
(q 1) (q
n
q), lorsque K = F
2
.
7.3. Description de lattaque des systmes HFE utilisant des polynmes
secrets de la famille T
K
121

Remarque : La proprit de commutativit de certains polynmes avec les multi-


plications rend le calcul dune valeur exact du nombre de polynmes de T
K
dicile
et explique pourquoi nous ne donnons quun encadrement de cette valeur. Faisant
lhypothse que cette proprit de commutativit avec les multiplications par des
lments de L K stend tous les polynmes forms de deux monmes
4
, on ob-
tient cependant un ordre de grandeur raisonnable sur le nombre de polynmes de
la famille T
K
. Les polynmes de degr 2 coecient dans K forms de un ou deux
monmes sont au nombre de
_
(D+1)(D+2)/2
2
_
q(q 1). On obtient une approximation
pour le nombre de polynmes HFE appartenant la famille T
K
:
_
q
(D+1)(D+2)/2+1
1) q
D+3

_(D+1)(D+2)
2
2
_
q(q 1)
_
(q
n
q)
2
+
_(D+1)(D+2)
2
2
_
q(q 1 (q
n
q).
Dans la suite, nous allons nous focaliser sur cette famille de polynmes secrets.
Par abus de langage, on pourra se rfrer un poynme de la famille T
K
par lappel-
lation polynme secret HFE coecients dans K, bien que cette appellation ne soit
pas compltement rigoureuse, comme on a pu le voir la dnition 16. La gure 7.1
reprsente la dcomposition dune cl publique HFE, o le polynme interne est
coecients dans K.
Figure 7.1: PK = T f S, La che discontinue indique que f est coecients
dans K.
7.3 Description de lattaque des systmes HFE utilisant
des polynmes secrets de la famille T
K
Notre attaque sur les instances de HFE utilisant un polynme de T
K
comme poly-
nme secret, est dcrite dans cette section. Comme annonc dans la sous-section 7.2,
nous exploitons la proprit de commutativit de la cl publique de ces instances.
Plus prcisment, nous rcuprons les applications F
S
et F
T
, qui commutent
(i.e. qui ont la proprit de commutativit) avec la cl publique. Rappelons que ces
applications sont relies S et T. Mieux encore, nous allons voir que linterpolation
4. Ceci est vrai lorsque K = F2, et quun des monmes est K-linaire, mais pas ncessairement
autrement (cf. sous-section 7.2.2).
122
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
de la combinaison de F
S
et F
T
avec la cl publique PK, gnre un autre polynme
coecients dans K. Pour terminer, utilisant la limitation sur le degr des poly-
nmes secrets HFE, nous dduisons de ce polynme le polynme original f , ou un
polynme quivalent de bas degr. Dans tous les cas, on retrouve une cl secrte
orant lecacit de dchirement du dtenteur lgitime de la cl secrte.
7.3.1 Recouvrement des applications de Frobenius F
S
et F
T
La premire tape consiste recouvrer les applications S
1
Fr S et TFr T
1
.
Dnotons par F
S
la composition S
1
Fr S et par F
T
lapplication T Fr T
1
.
Daprs la partie 7.2.3, ces applications sont solutions du problme IP entre la cl
publique et elle-mme :
PK F
S
= F
T
PK .
De manire rigoureuse, nous avons :
Proposition 21 Il existe un isomorphisme polynomial entre la cl publique et
elle-mme. Des isomorphismes sont en particulier donns par (F
T
1
, F
S
), . . . ,
(F
T
n
, F
S
n
).
Il est dit dans cette proposition 21 que (F
1
T
, F
S
) et leurs itres sont des so-
lutions au problme IP entre la cl publique et elle-mme. Ceci indique quil peut
y avoir des solutions parasites. Cependant, le cas o f est monomial correspond
C

, qui est proscrire cause de la cryptanalyse de [Pat95] par exemple. Daprs la


discussion du paragraphe 7.2.2, il est alors peu probable davoir dautres solutions
que celles indiques
5
par la proposition 21. Nos expriences pratiques, pour des f
gnriques, nont dailleurs jamais fait apparatre dautres solutions. Nous faisons
donc la supposition raisonnable que que ces applications (F
1
T
, F
S
) et leurs itres
sont seules solutions du problme IP entre la cl publique et elle-mme.
prsent, en nous basant sur les algorithmes existants pour la rsolution du
problme IP (voir section 5.2 du chapitre 5), nous considrons direntes congu-
rations correspondant direntes complexits de rsolution du problme IP dans
le cas qui nous intresse, savoir, quand le polynme secret est coecients dans
K au lieu de L.
Meilleures conditions de rsolution du problme IP. La runion de condi-
tions permettant une rsolution en temps polynomial du problme IP dans notre
situation est :
1. S et T sont linaires (plutt quanes).
2. Il existe une partie linaire dans f .
3. La constante dans f est non nulle.
5. Nous avons dautre solutions (les multiplications par exemple) pour certaines congurations
de polynmes f forms de trs peu de termes (typiquement deux). Notons que dans ce cas, on peut
alors galement simplement deviner le polynme f puis trouver S et T. Cette attaque est galement
mentionne dans la section 7.4.2.
7.3. Description de lattaque des systmes HFE utilisant des polynmes
secrets de la famille T
K
123
Commenons par apporter une prcision par rapport au paragraphe 7.1.2. Dans
ce paragraphe, nous annonons que les applications S et T peuvent en gnral tre
supposes linaires. Concernant lensemble de cls considres, i.e. celles dont le
polynme secret appartient T
K
, cette supposition nest plus possible. En eet,
restreindre S et T leur partie linaire est compens par des transformations sur le
polynme f , an de pouvoir continuer driver la mme cl publique. Le polynme
f ne pourrait alors plus tre suppos comme ayant ses coecients dans K, proprit
sur laquelle est base notre attaque
6
.
Revenant la condition 1., S et T linaires peut se raliser dans deux cas de
gure. Premirement, cela peut arriver par hasard, mais la probabilit dobtenir S et
T linaires, alors quelles sont choisies parmi lensemble des applications anes, est
trs faible, de lordre de (1/q
n
)
2
. Lautre possibilit est que le choix de S et T linaires
soit dlibr. Par exemple, il se peut que les applications soient systmatiquement
choisies linaires cause du discours sur les cls quivalentes (cf. paragraphe 7.1.2).
Les choisir linaires est galement une manire de rduire la taille des cls.
Concernant la condition 2., celle-ci est ralise avec forte probabilit. En eet,
si les coecients de X
q
k
de f (voir lquation (7.1) de la sous-section 7.1.1) sont
choisis alatoirement dans K, la probabilit quils soient tous nuls est de lordre de
1
q
D
.
Enn, la dernire condition est ralise avec probabilit
q1
q
, toujours dans le
cas o les coecients sont choisis alatoirement dans K. Par ailleurs, notons que si
la constante dans f est nulle, alors la cl publique PK envoie zro sur zro, ce qui
nest pas souhait.
Par consquent, il nest pas compltement insens davoir ces trois conditions
runies.
Autres situations. Dans le cas o S et T sont anes, nous avons dj vu au
chapitre 5 que la situation est plus dlicate. La complexit de rsolution de linstance
IP devient en fait q
n
, o les coecients du polynme dnissant S appartiennent
F
q
. Dans notre situation, nous avons q

= q en gnral. Notons tout de mme


que dans la version sous-corps, qui rentre dans notre situation, on suppose S et
T coecients dans K. Dans ce cas, si q

= 2 et n nest pas trop grand, rsoudre


linstance IP reste faisable (voir la sous-section 7.4.2).
7.3.2 Appropriation dinformation en rapport avec S et T
Supposons prsent rsolu le problme IP entre la cl publique PKet elle-mme,
et tre en possession dun automorphisme solution (U, V ). Rappelons que lon peut
supposer (U, V ) de la forme (S
1
Fr
i
0
S, T Fr
i
0
T
1
), 1 i
0
n 1 (voir
la sous-section 7.3.1 prcdente).
Si i
0
est premier avec n, cest dire, si U et V sont semblables au morphisme
de Frobenius Fr , on a le rsultat suivant :
6. Par contre, supposer L publique na pas de rpercussions sur f et nous continuons donc de
faire cette supposition.
124
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
Proposition 22 Soit (U, V ) =
_
S
1
Fr
i
0
S, T Fr
i
0
T
1
_
, avec
pgcd(i
0
, n) = 1. Soit k linverse de i
0
modulo n.
i) Il existe

S,

T GL
n
(K) tels que Fr =

S V
k


S
1
et Fr =

T
1
U
k


T.
ii)

S = F
1
S et

T = T F
2
, o F
1
et F
2
sont combinaisons linaires sur K de
puissances de Fr .
Dmonstration :
i) U et V sont semblables F
i
0
, donc U
k
et V
k
sont semblables Fr
i
0
k
=
Fr
1 mod n
= Fr .
ii) Prenons

S. Nous avons :
Fr =

S V
k


S
1
=

S S
1
Fr
i
0
k
S

S
1
=

S S
1
Fr S

S
1
.
Donc Fr

S S
1
=

S S
1
Fr . Autrement dit,

S S
1
commute avec Fr ,
donc est combinaison linaire coecients dans K de puissances du Frobenius
(proposition 13). Ceci conclut le point ii) pour

S. Un raisonnement similaire
nous mne aux mmes conclusions pour

T.

Pour pouvoir continuer notre attaque, nous souhaitons avoir des applications

S,

T comme dans lnonc de la proposition 22. Autrement dit, nous aimerions avoir
des solutions U et V au problme IP, semblables au morphisme de Frobenius. Ceci
revient avoir la puissance i
0
premier avec n dans lexpression de U et V ci-dessus.
De plus, la valeur de i
0
est souhaite connue, an de pouvoir trouver facilement

S
et

T.
Il est facile de tester si U et V sont semblables Fr . En eet, ceci quivaut
ce que i
0
soit premier avec n, et le nombre dentiers infrieurs n et premiers
avec n est (n). On trouve un automorphisme candidat au bout denviron n/(n) =
O(log log n) tests des automorphismes fournis par la solution du problme IP. Quant
la valeur exacte de i
0
, nous allons en faire pour le moment une simple supposition.
La suite de lattaque fournit un moyen dinvalider cette supposition si ncessaire.
7.3.3 Cration dune cl secrte quivalente g
Nous sommes maintenant dans les conditions de la proposition 22 et en posses-
sion de tous les objets impliqus dans cette proposition. cette tape de lattaque,
nous allons voir comment nous pouvons essayer de neutraliser leet des applications
S et T sur f . Pour cela, regardons la structure des applications

S et

T, dnies au
paragraphe prcdent 7.3.2, proposition 22 :

S = F
1
S

T = T F
2
.
7.3. Description de lattaque des systmes HFE utilisant des polynmes
secrets de la famille T
K
125
Au niveau des inverses, cela donne :

S
1
= S
1
F
1
1

T
1
= F
1
2
T
1
.
Si bien que nalement, en composant

S
1
et

T
1
de part et dautre de la cl
publique PK, cela donne :

T
1
PK

S
1
= F
1
2
T
1
T f S S
1
F
1
1
= F
1
2
f F
1
1
. (7.7)
Ceci nous invite dnir le polynme rvl par lquation (7.7) ci-dessus :
g =

T
1
PK

S
1
(mod X
q
n
X)
On remarque que le triplet
_

T, g,

S
_
constitue une cl secrte quivalente la cl
initiale (T, f , S). On a le rsultat intressant suivant pour g, illustr par la gure 7.2.
Proposition 23 g est un polynme HFE, coecients dans K.
Figure 7.2: PK = T f S =

T g

S. Les ches discontinues indiquent les
applications coecients dans K.
Dmonstration : Les polynmes du type HFE tant stables par composition avec
des polynmes additifs
7
et rduction modulo X
q
n
X, g est un polynme HFE au
mme titre que f . Les coecients de f sont dans K par hypothse. Ceux des repr-
sentations polynomiales de F
1
et F
2
le sont galement, par la proposition 22, donc
aussi ceux de F
1
1
et F
2
1
par le corollaire 1 (sous-section 5.2.1 du chapitre 7.1).
Remarque :
1. Notons tout de mme que ce polynme g se retrouve facilement par interpo-
lation. Nous considrons g modulo X
q
n
X, il est alors compos de lordre
de O
_
n
2
_
coecients, qui peuvent tre dtermins uniquement.
7. Ces polynmes dsignent les applications K-linaires, comme F1 ou F2. Nous ne prenons en
compte que la structure des monmes composant les polynmes HFE, pas leur restriction sur le
degr.
126
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
2. Une autre remarque est que le rsultat de cette proposition permet de tester
notre supposition concernant lexposant i
0
(paragraphe 7.3.2 prcdent). Si
g nest pas coecients dans K, notre supposition tait mauvaise. Il nous
reste alors modier lhypothse sur la valeur de i
0
et construire un nouveau
polynme g. Heureusement, cette tape de lattaque nest pas coteuse et nous
pouvons la faire (n) fois. Notons encore que g peut tre valeurs dans K sans
que ncessairement la valeur suppose de i
0
soit la bonne. Cependant, pour la
suite de lattaque, ceci na pas dimportance car nous avons juste besoin dun
polynme coecients dans K pour continuer.
Cependant, la dirence du polynme f , le degr de g nest a priori plus born
par d.
En eet, F
1
et F
2
sont de la forme :

i
X
q

i
, o les
i
K sont presque tous
nuls. Dans cette expression, les
i
peuvent tre arbitrairement grands. La compo-
sition de f avec ces applications, droite ou gauche, rend ainsi les monmes du
polynme rsultant de degr galement arbitrairement grand
8
.
Lattaque ne se termine donc pas cette tape. Le polynme g nest pas utilisable
en tant que tel comme polynme secret HFE : essayer de rsoudre le systme polyno-
mial donn par la cl publique PK en utilisant la cl secrte quivalente
_

T, g,

S
_
,
revient chercher les racines dun polynme de trs haut degr (de lordre de q
n
).
Lintrt de ce polynme g est, comme nous allons le voir, que les proprits an-
nonces la proposition 23 vont nous permettre de dduire de g un polynme HFE,
coecients dans K et de bas degr. Ce polynme pourra tre utilis, conjointement
deux applications linaires que nous allons dnir, pour le dchirement.
7.3.4 Recouvrement dune cl secrte de bas-degr quivalente
la cl secrte de dpart
Nous arrivons la dernire tape de lattaque. Cette tape consiste eectuer
une dcomposition fonctionnelle de f laide de g. An de souligner lintrt des
tapes prcdentes, commenons par considrer le cas o la dcomposition est faite
laide de PK.
7.3.4.1 Dcomposition de f laide de PK
La scurit de HFE, comme les autres schmas multivaris, repose sur la di-
cult de rsoudre le systme dquations donn par la cl publique. Ainsi, la solution
triviale consistant eectuer une dcomposition directe de la cl publique PK, simi-
laire (7.7), pour retrouver la cl secrte, nest pas ralisable en gnral. Dtaillons
ce point pour le cas de notre polynme f .
En considrant PK = T f S, les inconnues intervienne de manire cubique.
8. On peut se rfrer aux expressions donnes au paragraphe 7.2.2, (7.4) et (7.5) pour les degrs
des monmes de f compos droite ou gauche par de telles applications.
7.3. Description de lattaque des systmes HFE utilisant des polynmes
secrets de la famille T
K
127
Considrons donc plutt lquation :
T
1
PK = f S (mod X
q
n
X), ou (7.8)
PK S
1
= T f (mod X
q
n
X). (7.9)
Se basant sur la reprsentation polynomiale de ces lment, le nombre dincon-
nues est dans les deux situations (7.8) ou (7.9) : 2 (n+1) pour les deux applications
inversibles S et T, ainsi que
(D+1)(D+2)
2
+(D+2) +1 pour les coecients de f , soit
O
_
D
2
+n
_
inconnues. Lidentication coecient par coecient des polynmes de
part et dautre de lgalit, fournit n(n + 1)2+n+1 quations, soit O
_
n
2
_
quations.
Cependant, ces quations nont pas de raison dtre de degr petit. Dans le cas
de lquation (7.8), les coecients inconnus de lapplication S, ne sont a priori pas
coecients dans K et intervienne avec un degr lev par composition avec f . De
mme, les coecients de PK appartiennent L et interviennent dans (7.8) avec un
degr lev par composition avec T. Pour ce qui est de lquation (7.8), le membre de
droite fournit une expression K-quadratique en les inconnues, car f est coecients
dans K et T est K-linaire. Par contre, dans le membre de gauche, les inconnues
interviennent toujours avec un degr lev. Pour sen convaincre (avec des notations
videntes), considrons les expressions suivantes sur L[X] :
T
1
PK =
n1

k=0
t
k
_
_

i,j
e
ij
X
q
i
+q
j
+

i
f
i
X
q
i
+g
_
_
q
k
=

i,j,k
t
k
e
q
k
ij
X
q
i+k
+q
j+k
+

i,k
t
k
f
q
k
i
X
q
i+k
+g
q
k

k
t
k
,
PK S
1
=

e
ij
_
n1

k=0
s
k
X
q
k
_
q
i
+q
j
+

f
i
_
n1

k=0
s
k
X
q
k
_
q
i
+g
=

i,j,k,l
e
ij
s
q
i
k
s
q
j
l
X
q
i+k
+q
l+j
+

i,k
f
i
s
q
i
k
X
q
i+k
+g.
7.3.4.2 Dcomposition de f laide de g
Voyons maintenant comment lutilisation de g retrouv au paragraphe 7.3.3,
dans la dcomposition de f , plutt que PK, permet dobtenir une situation plus
favorable au cryptanalyste. Rappelons que sa relation avec le polynme f est la
suivante :
g = F
1
2
f F
1
1
(mod X
q
n
X),
qui peut se rcrire en composant droite par F
1
de part et dautre de lgalit :
g F
1
= F
1
2
f (mod X
q
n
X). (7.10)
Lquation (7.10) peut se reprsenter par la gure 7.3.
128
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
Figure 7.3: g = F
1
2
f F
1
1
. Les ches en pointills indiquent les applications
inconnues.
Proposition 24 Lquation (7.10) fournit O
_
n
2
_
quations quadratiques en
O
_
D
2
+n
_
inconnues.
Dmonstration : Introduisons les notations suivantes :
F
1
(X) =
n1

k=0
x
k
X
q
k
,
F
1
2
(X) =
n1

k=0
y
k
X
q
k
,
g(X) =

q
i
+q
j
<q
n
e
ij
X
q
i
+q
j
+
n1

i=0
f
i
X
q
i
+g.
Nous avons galement :
f (X) =

q
i
+q
j
d
a
ij
X
q
i
+q
j
+

q
i
d
b
i
X
q
i
+c.
Notons que plusieurs triplets (F
1
, f , F
2
) peuvent tre solutions de lquation (7.10).
Par exemple, puisque toutes ces applications commutent avec le morphisme de Fro-
benius, nous pouvons prendre une solution particulire, multiplier F
1
2
et F
1
par Fr ,
et obtenir une nouvelle solution. En particulier, le polynme f retrouv ainsi peut
tre dirent du polynme secret f utilis initialement. Cependant, comme dans tous
les cas nous imposons au degr de ce polynme dtre born par d = 2 q
D
, obtenir
f ou un autre polynme de bas degr, na pas dimportance. Nous conservons donc
pour les coecients inconnus de ce polynme, les notations utilises initialement
pour le polynme de la cl secrte.
Dveloppons les deux termes de lquation (7.10), g F
1
et F
1
2
f .
Pour g F
1
, on a :
g F
1
=

i,j
e
ij
_
n1

k=0
x
k
X
q
k
_
q
i
+q
j
+

i
f
i
_
n1

k=0
x
k
X
q
k
_
q
i
+g
=

i,j,k,l
e
ij
x
k
x
l
X
q
i+k
+q
l+j
+

i,k
f
i
x
k
X
q
i+k
+g.
7.3. Description de lattaque des systmes HFE utilisant des polynmes
secrets de la famille T
K
129
Nous obtenons un polynme dont les coecients sont quadratiques en les coe-
cients inconnus de F
1
, car ceux-ci sont dans K donc invariants par le morphisme de
Frobenius Fr .
Quant F
1
2
f :
F
1
2
f =
n1

k=0
y
k
_
_

q
i
+q
j
d
a
ij
X
q
i
+q
j
+

q
i
d
b
i
X
q
i
+c
_
_
q
k
=

i,j,k
y
k
a
ij
X
q
i+k
+q
j+k
+

i,k
y
k
b
i
X
q
i+k
+c

k
y
k
.
Ici encore, cette expression se rduit un polynme dont les coecients sont qua-
dratiques en les coecients inconnus de F
1
2
et de f .
Rduisant ces deux expressions modulo X
q
n
X, et les identiant coecient
par coecient, il rsulte bien
n(n+1)
2
+ n + 1 quations quadratiques en les
(D+1)(D+2)
2
+ (D + 2) + 1 coecients inconnus de f et les 2n coecients inconnus
de F
1
et F
1
2
.
Le nombre dinconnues intervenant dans cette quation est D(D+1)/2 +D+1
pour f plus 2n pour les applications F
1
et F
2
. Tous ces coecients sont dans K donc
il peut ventuellement tre intressant de rajouter les quations de corps (une par
variable). Lgalit (7.10) fournit donc O
_
n
2
_
quations en O
_
D
2
+n
_
inconnues
de K, mais ces quations sont cette fois toutes quadratiques. Dtaillons prsent ce
point et voyons que la rsolution de ce systme est bien plus facile que dans le cas
prcdent.
Penchons-nous prsent un peu plus sur ce systme et voyons que sa rsolution
est ralisable en pratique.
7.3.4.3 Rsolution du systme correspondant la dcomposition de f
laide de g
Lquation donne par (7.10) fournit O
_
n
2
_
quations quadratiques en
O
_
n +D
2
_
inconnues (proposition 24). Parmi les solutions de ce systme, il y a les
solutions triviales du type F
1
= f = 0. Ceci provient du fait que F
1
et F
1
2
ne sont
pas perues ce moment comme des applications inversibles. On peut par exemple
aussi avoir F
1
= F
1
2
= 0. Une solution naturelle est dencoder linversibilit de F
1
et F
2
. Ceci revient rajouter les 2n quations correspondant F
1
F
1
1
(X) = X
(mod X
q
n
X) et F
2
F
1
2
(X) = X (mod X
q
n
X), quadratiques en les coe-
cients de F
1
, F
1
2
et les 2n nouveaux coecients inconnus de F
1
1
et F
2
. Toutes les
inconnues tant dans K, il peut tre intressant dgalement rajouter les quations
de corps, une par variable.
Plaons-nous dans le cadre de la stratgie usuelle pour rsoudre un tel systme
surdtermin dquations, savoir de calculer une base de Grbner pour lordre
grevlex, puis de convertir le rsultat en une base de Grbner pour lordre lex par
lalgorithme FGLM (voir le paragraphe 5.2.2).
130
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
Estimation empirique de la complexit Procdant de la sorte, nous nous
retrouvons avec
n(n1)
2
+ n + 1 + 2n quations quadratiques en
(D+1)(D+2)
2
+ (D +
2) + 1 + 4n =
D(D+5)
2
+ 4n + 4 inconnues. D tant de lordre de log(n), ce systme
est surdtermin. De plus, il peut tre intressant selon la taille de q, de rajouter les
quations de corps correspondant chacune des variables, celles-ci tant toutes dans
K. En tout cas, grce lquation (7.7) tablie au paragraphe 7.3.3, nous sommes
assurs de lexistence dune solution.
Observation 1 La complexit empirique de rsolution de ce systme dquations
est O
_
n
9
_
.
Explication : Cest lutilisation de lalgorithme F
4
disponible sous Magma (v2.15-
7) [BCP97], pour rsoudre ce systme pour dirents paramtres, qui nous a per-
mis de faire cette observation (les rsultats des expriences se trouvent au para-
graphe 7.4.2). Lors de lexcution de lalgorithme, on observe que le degr des poly-
nmes manipuls ne dpasse pas 3. Daprs les rsultats et suppositions exposs
partie 5.2.2, ceci indique une complexit empirique de O
_
n
9
_
.
Exposons ce que lon peut dire avec la thorie se rapportant au sujet, expose
au paragraphe 5.2.2.5 du chapitre 5.
lments thoriques Donnons quelques lments thoriques, appuyant lobser-
vation que notre systme dquations peut se rsoudre en temps polynomial, bien
que le nombre de variables soit plus lev que ce que supportent les algorithmes
actuels de calcul de bases de Grbner. Ceci sexplique en partie par le fait que le
systme dquations est largement surdtermin.
Conjecture 1 La complexit de rsolution dun systme quadratique alatoire de
mme taille que notre systme est polynomiale. Le degr de rgularit est asympto-
tiquement 7.
Explication :
Dans le cas de systmes rguliers ou semi-rguliers, nous avons vu au chapitre 7.1
que Bardet et al. [BFSY05, Bar04] fournissent des dveloppements asymptotiques
de lexpression du degr de rgularit dans le cas de n quations en n variables.
Dans notre cas, le systme dquations considr nest ni rgulier ou semi-rgulier,
ni form de n quations en n variables.
La pratique montre cependant que le cas de ces systmes rguliers ou semi-rguliers
correspond en quelque sorte la pire situation, au regard de la complexit de r-
solution par bases de Grbner. Par suite, et bien que ceci ne soit pas vraiment
justi, nous utilisons les estimations asymptotiques du degr de rgularit rappe-
les dans le thorme 5 de la sous-section 5.2.2 dans le cas des systmes rguliers ou
semi-rguliers, comme valeur de rfrence pour le degr de rgularit notre systme.
Avant de pouvoir appliquer le rsultat de [BFSY05] notre systme dquation, il
faut encore faire une autre supposition. Nous supposons que les rsultats obtenus
7.4. Implantation de lattaque des systmes HFE utilisant des
polynmes secrets de la famille T
K
131
pour n quations en n variables peuvent sappliquer dans le cas de n
2
quations
en n variables (en posant = n et exprimant D
reg
en fonction de ). Le rsultat
du premier point du thorme 5 scrivent alors :
D
reg
=
1
8

a
1
2
1/3

3
2
+O(1/n) , o` u a
1
2, 33811. (7.11)
prsent, appliquons ceci au cas dun systme de O
_
n
2
2
_
quations en O
_
D
2
2
+ 4n
_
inconnues, qui est la taille de notre systme. Pour d x ou d polynomial
9
en n, on
trouve = 1/32. Lquation (7.11) indique dans ce cas D
reg
7.
Ce rsultat est un rsultat asymptotique et lorsque n est born, cette estimation
na plus lieu dtre. Cependant, ceci appuie larmation que la complexit du calcul
dune base de Grbner devrait tre polynomiale. Encore une fois, ceci ne sapplique
notre systme que si lon peut supposer que notre systme se comporte comme un
systme semi-rgulier de n quations en n inconnues, avec = n.
7.4 Implantation de lattaque des systmes HFE utili-
sant des polynmes secrets de la famille T
K
7.4.1 Pseudo-code de lattaque
Pour rsumer lattaque et mettre en vidence les direntes tapes, un pseudo-
code de lattaque est donn dans la gure 7.4.
7.4.2 Expriences
An dillustrer lattaque dcrite dans les parties prcdentes, nous avons pro-
gramm, laide du logiciel de calculs Magma [BCP97], toutes les tapes de lat-
taque, de la gnration de la cl publique au recouvrement dune cl secrte ecace.
Les expriences ont t faites sur un ordinateur unicoeur Intel 2.3Ghz Xeon
Nehalem, de 74 Goctets de RAM. Les dirents paramtres pour lesquels lattaque
a t ralise sont dcrits dans ce qui suit.
7.4.2.1 Cls faibles gnrales (ensembles A, B et C de paramtres)
Nous avons commenc par tester lattaque sur des instances gnriques de HFE,
dans le sens o les cls ainsi que leur taille sont recommandes (mais lon sintresse
aux instances faibles de ces cls). Dans cette conguration et avec les notations utili-
ses dans tout le chapitre, nous considrons trois ensembles de paramtres, rsums
dans la table 7.1 :
Ensemble A de paramtres. Le corps de base est K = F
256
. Lextension L de
K sur laquelle sont dnis f , S et T est de degr 32, soit L = F
2
256 . Le degr
de f est choisi lev, deg(f) = 2
17
= 131072.
9. d polynomial en n quivaut D polynomial en log
2
(n).
132
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
Figure 7.4 Pseudo-code de lattaque
Entre : Une cl publique HFE PK, obtenue partir de la cl secrte (T, f , S), o
f T
K
.
Sortie : Une cl secrte quivalente (T

, f

, S

), avec deg f

deg f .
1: // paragraphe 7.3.1
2: rpter
3: Soit (U, V ) une solution alatoire du problme IP : U PK = PK V .
4: jusqu ce que U et Fr soient similaires
5: // paragraphe 7.3.2
6: pour tout i
0
[1; n 1], i
0
premier avec n faire
7: Soit k = i
0
1
mod n.
8: Calculer

S,

T tels que : Fr =

S V
k


S
1
=

T
1
U
k


T.
9: // paragraphe 7.3.3
10: Interpoler g =

T
1
PK

S
1
.
11: si g est coecients dans K alors
12: // paragraphe 7.3.4
13: Calculer F
1
, F
2
et f , tel que g F
1
= F
1
2
f .
14: retourner
_

T F
1
2
, f , F
1
1


S
_
15: n si
16: n pour
Ensemble B de paramtres. Le corps de base est le corps 4 lments K = F
4
.
Lextension L de K est une extension de degr 67, L = F
2
134. Le degr de f
est toujours 2
17
.
Ensemble C de paramtres. Cette fois, K = F
2
et L = K
97
= F
2
97. Le degr
de f est 2
7
.
Remarquons que pour ces trois ensembles de paramtres, les applications S et
T sont choisies linaires plutt quanes. Ce choix sert cependant juste rsoudre
plus facilement linstance IP du dbut de lattaque. Nous avons pu voir dans la
description complte de lattaque, que ce choix ninuence pas sur la dicult du
reste de lattaque. Les mesures de temps obtenues pour chacun de ces trois ensembles
de paramtres sont donnes dans le tableau 7.1 qui suit.
Remarque : Le degr du polynme interne est toujours choisi beaucoup plus lev
que les paramtres conseills, et notamment proposs par les challenges HFE. Au-
cune des attaques existantes sur HFE ne fonctionne en pratique, de prs ou de loin,
pour des choix de paramtres correspondant aux ensembles A ou B.
7.4.2.2 La variante sous-corps de Patarin (ensembles D et E de para-
mtres)
Penchons-nous prsent sur la variante dite sous-corps de HFE [Pat96]. Rap-
pelons que dans le cas de cette variante, les coecients des polynmes formant la
cl publique PK sont dans un sous-corps k de K, plutt que dans K, an de r-
7.4. Implantation de lattaque des systmes HFE utilisant des
polynmes secrets de la famille T
K
133
Ensemble de paramtres A B C
Taille des blocs (en bits) 256 134 97
q 256 4 2
n 32 67 97
deg f 131072 131072 128
Coecients de f valeur dans F
256
F
4
F
2
S et T linaires linaires linaires
Coecients de S et T valeur dans
(reprsentations matricielles)
F
256
F
4
F
2
Nombre de termes de f 10 54 29
Taille de la cl publique (en bits) 143616 314364 461138
IP polynomial
Interpolation de g 79s 30 min 140 min
Rsolution par bases de Grbner 7h 1 jour 1 semaine
Variables / quations 136 / 593 322/4947 423/10028
Mmoire utilise 2.1Go 45Go 180Go
Changement dordre (FGLM) 15s 30 min 4h
Table 7.1: Mesures de temps pour les direntes tapes de lattaque, pour les ensembles
de paramtres A, B et C.
duire la taille de la cl publique. Pour gnrer une telle cl publique, S, T, ainsi que
le polynme de dnition de lextension L de K doivent tre choisis coecients
dans k plutt que K, et f coecients dans k au lieu de L (voir [Pat96]). Un tel
polynme f appartient donc bien la famille T
K
faisant lobjet de notre attaque,
puisque k K.
Pour cette variante, nous allons considrer deux nouveaux ensembles de para-
mtres, rsums dans la table 7.2 :
Ensemble D de paramtres. Le corps K est F
256
, lextension L o sont dnis
f , S et T est K
29
= F
2
232 . Toutes les applications sont coecients dans
k = F
2
K. Le degr de f est de 2
17
, S et T ne font pas lobjet de restrictions
particulires.
Ensemble E de paramtres. K = F
16
, L = K
59
= F
2
236 . Le polynme f est de
degr 2
17
et coecients dans k = F
2
, tout comme les applications anes S
et T.
Les paramtres proposs par Patarin pour cette version sous-corps sont ceux
donns dans lensemble D. Choisir K = F
256
et k = F
2
, permet de rduire la taille de
la cl publique dun facteur 8. Notons que les paramtres suggrs dans lensemble
E sont deux fois plus grands que ceux suggrs en pratique, illustrant lecacit
de lattaque mise en oeuvre. Remarquons encore que S et T sont anes dans cette
variante, de sorte que la rsolution du problme IP ne se fait pas en temps polynomial
(voir sous-section 5.2.3). Toutes les mesures de temps gurent dans le tableau 7.2
134
Chapitre 7. Une Famille de Cls Faibles pour le Systme HFE (Hidden
Field Equations)
ci-dessous.
Remarque : An davoir une rduction eective de la cl publique, K doit tre
relativement gros en comparaison k. Ceci implique des restrictions sur la taille
de D, an que le dchirement reste praticable par le dtenteur de la cl secrte.
Cependant, choisir D petit rduit lentropie du polynme interne f . Une attaque
naturelle pour ce type dinstances consiste deviner f , puis rsoudre le problme
IP pour retrouver S et T. Comparons cette attaque simple avec la nouvelle attaque
prsente plus haut (et issue de [BFJT09]). Notons aussi que cette attaque, bien que
naturelle, na pas t note avant [BFJT09].
Ensemble D de paramtres. Pour assurer un dchirement ecace au dtenteur
lgitime de la cl secrte, le paramtre D tel que d = 2 q
D
doit tre choisi gal 2
(pour un dchirement pouvant prendre jusqu quatre minutes sur nos machines).
Le polynme interne a au plus dix termes, dont les coecients sont dans F
2
.
Lattaque intuitive mentionne ncessite alors la rsolution de 2
10
instances anes
du problme IP, avec des paramtres q = 2 et n = 29. La complexit de cette
attaque est alors de lordre de 2
68
, ce qui signie que cette instance de HFE est
casse avec les techniques dj existantes. Cependant, notre attaque ncessite dans
ce cas moins dune minute pour aboutir.
Ensemble E de paramtres. Le polynme interne a cette fois 21 termes (on a
toujours que le degr de f est 131072, mais q cette fois vaut 16, donc D = 4). Pour
chacun des 2
21
possibilits pour f , dans le cas de lattaque mentionne, lattaquant
doit rsoudre un problme IP avec q = 2 et n = 59. Selon les rsultats annoncs
pour IP au paragraphe 5.2.3, rsoudre une telle instance IP a une complexit de
lordre de 2
59
(et ncessite environ cinq semaines de temps), pour une complexit
nale dattaque de lordre de 2
80
. Lattaque consistant deviner f et rsoudre
linstance IP mentionne plus haut, ne permet donc pas de casser HFE pour cet
ensemble E de paramtres. Dans le cas de notre attaque, nous avons besoin de cinq
semaines pour la rsolution initiale de linstance dIP (tape du paragraphe 7.3.1),
plus quatre heures pour terminer lattaque une fois en possession dune solution
de ce problme IP.
7.5 Conclusion
Pour la famille dinstances spciales traites dans ce chapitre, nous avons montr
quil existe un isomorphisme non trivial entre la cl publique et elle-mme. De plus,
retrouver cet isomorphisme permet de monter une attaque menant au recouvrement
en pratique des lments secrets de la cl utilise ou dune cl prive permettant de
dchirer aussi ecacement que lutilisateur lgitime.
7.5. Conclusion 135
Ensemble de paramtres D E
Taille des blocs (en bits) 232 236
q 256 16
n 29 59
deg f 131072 131072
Coecients de f valeur dans F
2
F
2
S et T ane ane
Coecients de S et T valeur dans
(reprsentations matricielles)
F
2
F
2
Nombre de termes de f 10 21
Taille de la cl publique (en bits) 13485 107970
IP 1s 5 semaines
Interpolation de g 51s 23min
Rsolution par bases de Grbner 45s 3h
Variables / quations 124 / 494 253 / 1889
Mmoire utilise 350Mo 13.9Go
Changement dordre (FGLM) 0s 30s
Table 7.2: Mesures de temps pour les direntes tapes de lattaque, pour les ensembles
de paramtres D et E.
Chapitre 8
Conclusions et Perspectives
8.1 Contributions et conclusions
Deux branches de la cryptologie ont t abordes durant cette thse. Dune part,
nous nous sommes intresss ltude gnrique de la scurit des schmas de Feistel
avec permutations internes et des schmas du type Misty. Dautre part, nous avons
ralis des cryptanalyses de cryptosystmes multivaris.
Les schmas de Feistel ou encore les constructions du type Misty sont des briques
de base pour les concepteurs en cryptologie symtrique.
Les schmas de Feistel classiques, i.e. balancs et avec fonctions internes, ont fait
lobjet de nombreuses tudes. Cependant, lutilisation de permutations internes plu-
tt que de fonctions intervient dans de nombreux algorithmes. Il existe en eet des
exemples dattaques fonctionnant pour le cas de fonctions internes prsentant de
mauvaises proprits de surjectivit [RPW97]. Pourtant, cette structure a fait lob-
jet de moins dtudes que sa version classique. Nous avons tout dabord montr que
des dirences existent du fait de lutilisation de permutations au lieu de fonctions
et que de fait, on ne peut se contenter dadapter les rsultats sur les schmas de
Feistel classiques. Nos rsultats concernant ce schma se trouvent dans [TP09] et
ont fait lobjet dune acceptation la session poster dEurocrypt 2009 ainsi que
dune publication la confrence internationale Africacrypt 2009. Dans cet article,
nous exposons les meilleures attaques gnriques contre les schmas de Feistel avec
permutations internes. Par gnriques nous entendons que les permutations internes
utilises sont supposes alatoires, ce qui permet de concentrer ltude sur le schma
en lui-mme et non sur son contexte dutilisation. Nous nous sommes principalement
concentrs pour ce schma aux attaques deux points, i.e. des attaques exploitant des
corrlations entre des paires de messages distincts, que nous pouvons raliser pour
nimporte quel nombre de tours. Nous prouvons par lutilisation des coecients
H [Pat91] que les complexits obtenues sont les meilleurs possibles pour ce type
dattaques. Nous avons ainsi pu comparer les meilleures attaques gnriques contre
les schmas de Feistel avec permutations internes avec celles contre les schmas de
Feistel classiques. Nous avons mis en vidence que certaines dirences apparaissent
tous les trois tours au niveau des complexits des attaques, mais que ces complexi-
ts sont proches. Ce rsultat ntait pas prvisible et ltude indpendante de cette
structure tait ncessaire pour ltablissement de ce rsultat. Nous ne nous sommes
pas concentrs sur des preuves de scurit, ainsi, de meilleures attaques peuvent
encore tre dcouvertes, mais ces rsultats gnriques sont les seuls connus sur ces
schmas et devront dornavant tre pris en compte dans la conception dalgorithmes
138 Chapitre 8. Conclusions et Perspectives
utilisant cette structure. En particulier, au moins six tours de schmas de Feistel
avec permutations internes doivent tre utiliss pour viter les attaques gnriques.
Les schmas utiliss dans Misty, ont eux fait lobjet de plusieurs tudes, vu quils
sont notamment la base du schma de chirement par blocs KASUMI, utilis dans
les tlphones portables troisime gnration. Dans [NPT10], nous nous sommes in-
tresss aux attaques gnriques sur les schmas appels Misty L. Cet article a fait
lobjet dune publication dans la confrence internationale Latincrypt 2010. Nous
fournissons tout dabord les meilleures attaques gnriques prcdemment connues
ou nouvelles pour les premiers tours de ces schmas. Notamment, nous exposons des
attaques deux points, trois points ou quatre points sur les schmas Misty L. Lorsque
le nombre de tours dpasse six, nous nous sommes restreints ltude des attaques
deux points uniquement, tout comme dans [TP09]. Lutilisation des coecients H
nous a permis dexposer les meilleures complexits dattaques deux points. Un ta-
bleau rcapitulatif permet de servir de rfrence quant au nombre de tours utiliser
pour viter les meilleures attaques gnriques connues. Pour cette structure, comme
pour les schmas de Feistel avec permutations internes, nous nous sommes contents
dtudier les attaques gnriques, non pas les preuves de scurit. Par consquent, de
meilleures attaques gnriques peuvent encore tre dcouvertes. Cependant, pour le
moment, au moins six tours de Misty L doivent tre utiliss pour viter les meilleures
attaques gnriques connues.
Quant la cryptologie assymtrique, nos rsultats concernent des cryptanalyses
des schmas HM et HFE.
Le schma HM a t propos en 1998 par Patarin et al. Asiacrypt [PCG98a]. HM
est propos comme remplaant du schma [C] conu par Matsumoto et Imai [IM85].
Lapplication la base de ce schma est une fonction de lespace des matrices de taille
n dans lui-mme. Dans le papier original, Patarin et al. mettent en vidence une pro-
prit qui leur semble tre mauvaise pour le schma propos, sans pouvoir toutefois
lexploiter. Ce schma na pas pourtant pas fait lobjet de cryptanalyse depuis, et
des versions perturbes ont t proposes par Ding [WDGY05]. Nous montons deux
types dattaque, une attaque fournissant un distingueur entre la cl publique de HM
et un systme alatoire dquations, et une autre attaque permettant linversion du
systme formant la cl publique (qui peut elle aussi tre vue comme un distingueur).
Cette cryptanalyse fait lobjet dune publication [FJPT10] dans la confrence inter-
nationale Latincrypt 2010. Le premier distingueur mis en vidence se base sur une
proprit de la direntielle de la cl publique : nous montrons dans [FJPT10] que
la rsolution du systme linaire correspondant la direntielle de la cl publique
prise en un point a un ensemble de solutions beaucoup plus grand que lensemble de
solutions attendu pour des quations alatoires. Le deuxime distingueur correspond
une inversion de la cl publique par lutilisation de bases de Grbner. Nous mon-
trons lapparition de nombreuses quations de bas degr lors du calcul dune base
de Grbner de lidal engendr par le systme dquations de la cl publique. Ces
nouvelles quations permettent de justier en partie les observations exprimentales
indiquant que le degr de rgularit, qui est un lment cl dans lvaluation de la
complexit correspondant un calcul de base de Grbner, est anormalement bas.
8.2. Perspectives 139
Ces deux attaques montrent que lutilisation de HM est proscrire, de mme quune
des versions perturbes de ce schma.
Le schma HFE est un des descendants direct du premier schma multivari C

, pro-
pos par Matsumoto et Imai Eurocrypt en 1988 [MI88]. Une cryptanalyse de C

ralise par Patarin presque dix ans suivant sa publication [Pat95] la invit pro-
poser le schma HFE [Pat96], qui est une adaptation de C

permettant dviter son


attaque. De nombreuses cryptanalyses ont t proposes, orant pour les meilleures
une complexit quasi-polynmiale [GJS06, DGF06]. Les attaques en question sont
dune part une attaque utilisant les bases de Grbner pour inverser le systme for-
mant la cl publique de HFE, accompagne dexplications thoriques concernant la
complexit de cette attaque, dautre part une attaque se basant sur le rang de la
direntielle de la cl publique et fournissant un distingueur entre le systme forme
par la cl publique et un systme alatoire dquations. Dans [BFJT09], nous propo-
sons une attaque permettant le recouvrement de la cl prive. Le rsultat [BFJT09]
a t publi au workshop SCC 2010 et fait lobjet dune soumission comme article
de journal, savoir le Journal of Mathematical Cryptology. Notre attaque ne sap-
plique que sur une famille particulire dinstances de HFE, savoir les polynmes
HFE coecient dans K et lorsque S et T permettent une rsolution du problme
IP associ, et ne remet pas en question la scurit globale de HFE. Cependant, cette
attaque montre quil faut tre un peu prcautionneux lors du choix des paramtres.
Notre attaque se sert de proprits de commutativit vris par le polynme in-
terne, comme lattaque sur SFLASH [DFSS07], et permet un recouvrement en temps
polynmial des secrets sous les hypothses voques plus haut. En loccurence nous
atteignons, dans notre conguration, des recouvrements de cls pour des tailles de
paramtres quaucune des attaques existantes ne permettait prcdemment. Cette
attaque montre galement que la tentation de choisir des applications coecients
dans un sous-corps an de rduire la taille de la cl publique nest pas une bonne
initiative, comme lont dj montr des attaques sur dautres versions sous-corps
de schmas multivaris [GM02, BWP05].
8.2 Perspectives
Concernant les sujets abords au cours de cette thse, plusieurs voies restent
investiguer, et des questions restent ouvertes.
Pour ce qui est des attaques gnriques, un rsultat quil serait intressant dob-
tenir, pour les attaques trois points ou quatre points par exemple, est le mme
genre de gnralisation que lon a dvelopp pour les attaques deux points. Ceci
permettrait davoir un ide plus claire concernant le type dattaques auxquelles il
faut sintresser encore et celles pour lesquelles la gnralisation permet de conclure
que les meilleures possibles ont t obtenues.
Une autre voie dinvestigation serait, plutt que de passer en revue toutes les at-
taques possibles, de trouver un moyen de dcider le(s) type(s) dattaques fournissant
les meilleures complexits, pour un schma donn. Il semblerait que pour les schmas
140 Chapitre 8. Conclusions et Perspectives
de Feistel, les attaques deux points fournissent les meilleures complexits (aprs un
certain nombre de tours) dattaques gnriques, mais ceci nest pas prouv. Cela reste
une question compltement ouverte pour dautres schmas galement, notamment
les schmas du type Misty, pour lesquelles on a vu que lon na pas une dominance
aussi forte des attaques deux points comme meilleures attaques gnriques, du moins
pour les tours pour lesquels lon a pu tudier dirents types dattaque.
Pour ce qui est des cryptanalyses proposes du schma HM et du schma HFE, il
reste une marge de perfection. Par exemple, on peut essayer de raliser une attaque
par recouvrement de cl sur HM, souvent plus intressante que la simple inversion.
Cependant, ce schma ntait dj initialement pas vraiment recommand par ses
concepteurs, et, notre attaque permettant de monter une inversion en temps poly-
nmial du systme form par la cl publique, il ne semble pas vraiment utile (si ce
nest pour lintroduction dventuelles nouvelles techniques) de continuer chercher
des attaques sur ce schma. Le cas de HFE est plus complexe. Notre attaque ne
stend en aucun cas une classe de cls faibles plus grande, car la proprit de
commutativit sur laquelle elle est base ne fonctionne pas pour dautres instances.
Par contre, on peut se demander sil ne serait pas possible de terminer cette at-
taque en se dfaisant du calcul de base de Grbner nal, ce qui permettrait cette
attaque de ne vraiment utiliser que des proprits mathmatiques des objets impli-
qus. On peut aussi se demander sil nexiste pas dautres proprits mathmatiques
non encore remarques, sur HFE ou dautres schmas multivaris (et qui pourraient
ventuellement sappliquer aux versions plus rsistantes, par exemple les versions
moins). De telles attaques pourraient mener des cryptanalyses plus thoriques
et sans doute permettre de mieux comprendre ce qui fait dfaut au niveau de la
conception.
Quant la discipline de la cryptologie asymtrique multivarie en elle-mme, le gros
engouement quelle a cr lors de son apparition dans les annes 1980, sest beaucoup
tempr avec la multiplication des attaques sur les schmas proposs. Il semblerait
pourtant quaprs chacune des attaques proposes, il soit possible de trouver une
manire de modier lgrement le schma pour parer ces attaques, ce qui peut
paratre une force aux yeux de certains, mais induit une perte de conance en ces
schmas pour dautres. Le problme MQ est pourtant un problme intressant sur
lequel il est lgitime de baser les schmas cryptographiques. Un exemple dutilisa-
tion adroite de ce problme se trouve dans le domaine de la cryptologie symtrique,
avec lalgorithme QUAD [BGP06]. Par ailleurs, du ct de la cryptologie asym-
trique, il reste encore le schma UOV [KPG99] qui a t pargn par la vague de
cryptanalyses rcentes. Ceci montre quen se servant autrement de ce problme ou
en sloignant un peu de la construction classique de schmas multivaris, on peut
esprer continuer travailler en cryptologie multivarie.
Annexe A
Calcul des Coecients H
Dans la formule pour les coecients H du thorme 1 de la section 3.5 inter-
viennent les suites possibles de relations entre les blocs successifs apparaissant au
cours de lvaluations de
k
, correspondant aux deux entres/sorties. Ce sont les
squences 1, cf. paragraphe 3.5.1.2. De 1 dpendent les autres lments impliqus
dans la formule.
Pour trouver la formule exacte, nous pouvons commencer par chercher toutes
les squences 1 possibles pour deux entres/sorties donnes. Ensuite, pour chacune
de ces squences, nous pouvons valuer le produit N(d
1
) N(d
k2
), o d
i
est la
valeur de X
i
1
X
i
2
et N(d
i
) le nombre de valeurs possibles pour d
i
.
Dans les sections A.1 et A.2, nous commenons par voir quelles sont les im-
plications sur les blocs voisins des relations que lon peut avoir entre deux blocs
(sous-section A.1.1). Ceci permet de mieux cibler les possibilits de squences 1, et
dvaluer les produit N(d
1
) N(d
k2
) pour 1 donn (sous-section A.1.2). Une fois
balays tous les cas de paires dentres/sorties, nous dduisons une formule nale
pour les coecients H (sous-section A.1.3, thorme 7).
Aux sections A.3 et A.4, nous nous focalisons sur lobtention des coecients H
par rcurrence.
Sommaire
A.1 Calcul des Coecients H pour les schmas du type Misty,
Mthode directe . . . . . . . . . . . . . . . . . . . . . . . . . . 142
A.1.1 Restrictions sur les relations 1 entre les blocs . . . . . . . . . 142
A.1.2 Squences 1 possibles et produit des N(d
i
), i = 1 . . . k 2 . . 143
A.1.3 Formules gnrales, Formule directe pour les coecients H . 149
A.1.4 Dirents cas considrer . . . . . . . . . . . . . . . . . . . . 152
A.2 Calcul des Coecients H dans le cas des schmas de Feistel
avec permutations internes, Mthode Directe . . . . . . . . 152
A.2.1 Restrictions sur les relations 1 entre les blocs . . . . . . . . . 152
A.2.2 Squences 1 possibles et produit des N(d
i
), i = 1, . . . k . . . 153
A.2.3 Formules gnrales, formules gnrales pour H . . . . . . . . 157
A.2.4 Dirents cas considrer . . . . . . . . . . . . . . . . . . . . 160
A.3 Calculs des Coecients H pour les schmas du type Misty,
Mthode par rcurrence . . . . . . . . . . . . . . . . . . . . . 161
A.3.1 Coecients H pour un tour et deux tours . . . . . . . . . . . 161
A.3.2 Formules de rcurrence pour les coecients H . . . . . . . . 163
A.3.3 valuation asymptotique du comportement des . . . . . . . 164
142 Annexe A. Calcul des Coecients H
A.4 Calcul des Coecients H pour les schmas de Feistel avec
permutations internes, Mthode par Rcurrence . . . . . . 169
A.4.1 Coecients H pour un tour et deux tours . . . . . . . . . . . 169
A.4.2 Formules de rcurrence pour les coecients H . . . . . . . . 171
A.1 Calcul des Coecients H pour les schmas du type
Misty, Mthode directe
A.1.1 Restrictions sur les relations 1 entre les blocs
Soient [L
1
, R
1
]/[S
1
, T
1
] et [L
2
, R
2
]/[S
2
, T
2
] deux entres/sorties distinctes de k
tours de schmas du type Misty, On sintresse aux direntes squences de rela-
tions 1 entre les blocs internes correspondant ces deux entres/sorties (voir le
paragraphe 3.5.1.2 du chapitre 3). An de voir quelles restrictions sont imposes par
le schma, regardons nouveau la gure A.1.
3 f k f
2 f
L
1 f
3 f k f
2 f
1 f
L
X T S R
k2
X
1
X
2
X T S R
k2
X
1
X
2
2
1 1 1
2
1 1 1 1
2 2 2 2 2
Figure A.1: M
k
L
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
], M
k
L
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
]
On voit quil y a certaines contraintes pour les squences 1 de relations entre
les blocs valides :
1. Si 1
i
est le symbole = (autrement dit, si X
i
1
= X
i
2
), alors 1
i+1
, 1
i+2
corres-
pondent au symbole ,= (de mme que 1
i1
et 1
i2
).
Raisonnons sur les blocs suivant X
i
. On a X
i+2
= f
i+2
(X
i
) X
i+1
. X
i
1
= X
i
2
implique alors que X
i+2
1
X
i+2
2
= X
i+1
1
X
i+1
2
. Ainsi, lgalit X
i+1
1
= X
i+1
2
quivaut X
i+2
1
= X
i+2
2
. Il en rsulte que tous les blocs, des blocs dentre aux
blocs de sortie, sont gaux, ce qui est impossible par le choix des entres/sorties
distinctes dans le cadre des attaques deux points. Pour les blocs prcdents, on
a X
i
= f
i
(X
i2
) X
i1
et ici encore, cette fois par bijectivit de f
i
, X
i
1
= X
i
2
implique X
i1
1
= X
i1
2
X
i2
1
= X
i2
2
. De telles galits conscutives entre
les blocs impliquent des galit entre chacun des blocs, ce qui est impossible
par choix des messages dentres/sorties distincts.
2. Il y a aussi des contraintes sur les d
i
: d
i
= 0 d
i+1
= d
i+2
(et d
i+1
peut
prendre toutes les valeurs non nulles).
A.1. Calcul des Coecients H pour les schmas du type Misty,
Mthode directe 143
Lgalit entre d
i
et d
i+1
provient de la dnition mme des blocs : X
i+2
=
f
i+2
(X
i
) X
i+1
(d
i
= 0 signie X
i
1
= X
i
2
). Alors, d
i+1
est simplement dni
comme f
i+1
(X
i2
1
)f
i+1
(X
i2
2
). Or, nous avons X
i2
1
,= X
i2
2
, pour les raisons
nonces plus haut. Ainsi, d
i+1
peut prendre nimporte quelle valeur non nulle.
Ces contraintes impliquent direntes squences 1 possibles, selon les conditions
initiales 1
1
, 1
0
, 1
k1
, 1
k
, et d
1
, d
0
, d
k1
, d
k2
. Et en fait, les squences 1 pos-
sibles ne dpendent que de ces conditions initiales. Par suite, on a le rsultat dj
annonc au chapitre 3 :
Thorme 6 Les coecients H de deux entres/sorties distinctes [L
1
, R
1
]/[S
1
, T
1
]
et [L
2
, R
2
]/[S
2
, T
2
] ne dpendent que des relations entre les blocs dentre et de sorties
de ces deux messages.
A.1.2 Squences 1 possibles et produit des N(d
i
), i = 1 . . . k 2
Dans cette partie, notons A
X
i
1,X
i
2
le nombre de relations dgalits dans une
squence 1, correspondant la relation entre deux blocs X
i
1
et X
i
2
, i
1
< i < i
2
.
Lorsque i
1
= 0 et i
2
= k 1, on pourra noter simplement A, car cet intervalle
correspond aux relations non xes par les blocs initiaux dentre et de sortie. Nous
nous intressons au nombre de squences 1 comportant A = A
X
0
,X
k1 symboles =,
ainsi qu la valeur du produit N(d
1
) N(d
k2
). Ces deux lments permettront
dtablir des formules pour les coecients H (sous-section A.1.3).
Intuitivement, et de manire trs informelle, pour une squence 1 =, ,=
k
,
comportant A lments correspondant au symbole =, le produit des N(d
i
), 1 i
k 2, devrait se rapprocher de la formule suivante :
k2

i=1
N(d
i
) = 1
A
(2
n
1)
A
1
A
(2
n
2)
k23A
.
La raison pour cela est que chaque symbole = 1
i
de 1, force la valeur correspondante
de d
i
valoir 0. Daprs les proprits mises en vidence la sous-section A.1.1, d
i+1
peut alors prendre toutes les valeurs non nulles et d
i+2
= d
i+1
. Pour les d
i
restants,
toutes les valeurs non nulles et direntes de d
i1
sont plus ou moins susceptibles
dtre prises. Pour obtenir une formule prcise, il faut cependant regarder en dtail
chaque cas, qui est lobjet des lemmes ci-dessous.
Remarque : Dans les formules des lemmes suivants, notamment dans lexpression
de N(d
1
) N(d
k
), certains exposants peuvent tre ngatifs, lorsque le nombre de
tours k considr est petit, typiquement k = 1, 2 ou 3.
Lemme 4 (cas L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, S
1
S
2
= T
1
T
2
) Dans ce cas, le
nombre de squences 1 dont un nombre A dlments dindice i, 1 i k 2,
correspondent au symbole = est :
_
k 2 2A
A 1
_
.
Supposons xe une squence 1. Alors, le produit N(d
1
) N(d
k2
) vaut :
144 Annexe A. Calcul des Coecients H
i) Si A > 0 : (2
n
1)
A1
(2
n
2)
k23A+1
.
ii) Si A = 0 :

k3
2
j=0
(2
n
2)
j+
(2
n
3)
k32j
_
k3j
j
_
, o = 1 si R
1
R
2
=
S
1
S
2
, 0 sinon.
Dmonstration : Pour la partie du lemme concernant le nombre de squences pos-
sibles avec A symboles = , comme S
1
S
2
= T
1
T
2
, alors ncessairement, 1
k2
est
le symbole =. De plus, comme L
1
= L
2
, nous avons que 1
1
est le symbole ,=. Il reste
xer A1 squences de trois symboles (=, ,=, ,=) dans la squence (1
2
, . . . , 1
k3
.
La formule est donc
_
k222(A1)
A1
_
, comme annonc.
Concernant le produit des N(d
i
) :
i) Si A > 0. Lgalit L
1
= L
2
implique d
1
= R
1
R
2
. Soit 1
i
A
le dernier
symbole = de 1. Alors, pour 2 i i
A
1, si 1
i
est le symbole =, d
i
= 0, et
d
i+1
= d
i+2
peuvent prendre 2
n
1 valeurs. Ensuite, comme S
1
S
2
= T
1
T
2
,
i
A
= k 2, d
k2
= 0 et les d
i
restant peuvent prendre (2
n
2) valeurs. On a
dans ce cas : N(d
1
) N(d
k2
) = 1 1
A
(2
n
1)
A1
(2
n
2)
k213(A1)1
,
qui correspond la formule annonce.
ii) Supposons A = 0. Nous avons toujours d
1
= R
1
R
2
. Pour obtenir la formule,
nous sommons sur le nombre de d
i
, 1 i k 2, pouvant valoir d
k1
=
S
1
S
2
. Remarquons que pour tout d
i
tel que d
i
= d
k1
, d
i+1
est dirent
de 0 et de d
k1
. Les d
i
restant doivent tre dirents de d
k1
, de 0 et de
d
i1
. Notons aussi que si R
1
R
2
= d
k1
, j 1. Sil y a un nombre j de d
i
valant d
k1
, alors le produit N(d
1
) . . . N(d
k2
) est 1
j
(2
n
2)
j
(2
n
3)
k22j
.
En multipliant cette valeur par le nombre de possibilits davoir j d
i
valant
d
k1
, puis en sommant sur j, on obtient, dans le cas o R
1
R
2
= S
1
S
2
:

k1
2
j=1
(2
n
2)
j
(2
n
3)
k22j
_
k2j1
j1
_
. Si R
1
R
2
,= S
1
S
2
, on obtient :

k2
2
j=0
(2
n
2)
j
(2
n
3)
k22j
_
k2j1
j
_
. Un changement de variable dans la
premire de ces deux formules permet dobtenir la formule de lnonc.

Lemme 5 (cas L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, S
1
T
1
,= S
2
T
2
) Le nombre de s-
quences 1 dont un nombre A dlments dindice i, 1 i k 2, correspondent au
symbole =, est :
_
k 2 2A
A
_
.
Soit une telle squence 1 xe. Le produit N(d
1
) N(d
k2
vaut :
i) Si A > 0 : (2
n
1)
A1
(2
n
2)
k23A
.
ii) Si A = 0 :

k2
2
j=0
(2
n
2)
j+
(2
n
3)
k22j
_
k2j
j
_
, o = 1 si R
1
R
2
=
S
1
S
2
, 0 sinon.
A.1. Calcul des Coecients H pour les schmas du type Misty,
Mthode directe 145
Dmonstration : Il y a A symboles = xer, dans la squence 1 (rappelons que
1
1
, 1
0
, 1
k1
, 1
k
sont xs). Comme remarqu au paragraphe 2.12, un symbole =
dans cette squence est forcment suivi (et prcd) de deux symboles ,=. Comme
L
1
= L
2
, alors ncessairement 1
1
est le symbole ,=. Comme S
1
T
1
,= S
2
T
2
, on
a aussi ncessairement que 1
k2
est le symbole ,=. Prenant ceci en compte et les
contraintes du paragraphe 2.12, xer A symboles = dans (1
1
, . . . , 1
k2
), revient
alors xer A suites de trois symboles (=, ,=, ,=) sur la sous-squence (1
2
, . . . 1
k1
)
de 1. Ainsi, trouver une squence 1 comme voulu, revient trouver A places pour
trois symboles conscutifs, dans une suite de symboles de longueur k2. Le nombre
de possibilits est bien
_
k22A
A
_
.
Pour ce qui est du produit des N(d
i
) :
i) Soit A > 0, notons 1
i
1
, . . . 1
i
A
les lments de 1 correspondant au symbole
=. Lgalit L
1
= L
2
implique d
1
= R
1
R
2
. Pour 2 i i
l
1, si 1
i
est
le symbole =, d
i
= 0, et d
i+1
= d
i+2
peuvent prendre 2
n
1 valeurs. Ensuite,
S
1
S
2
,= T
1
T
2
, donc i

< k 2. Ainsi, d
i
A
= 0, et d
i
A
+1
est xe la
valeur d
i
A
+2
. Maintenant, soit i
A
+2 = k 1, d
i
A
+1
= S
1
S
2
et les d
i
restant
peuvent prendre 2
n
2 valeurs. Soit i
A
+ 2 < k 1et d
i
A
=2
peut prendre
2
n
2 valeurs, tout comme les d
i
restant. On dduit N(d
1
) N(d
k2
) =
1 1
A
(2
n
1)
A1
(2
n
2)
k213(A1)2
, qui correspond la formule du
lemme.
ii) La formule est similaire celle du lemme 4. La dmonstration est encore la
mme que celle des points ii) de ces deux lemmes, car S
1
S
2
= T
1
T
2
ninuence pas.

Lemme 6 (cas L
1
,= L
2
, R
1
,= R
2
, S
1
,= S
2
, S
1
S
2
= T
1
T
2
) Dans ce cas, le
nombre de squences 1 dont un nombre A dlments dindice i, 1 i k 2,
correspondent au symbole =, dpend de la relation entre S
1
S
2
et T
1
T
2
:
i) Si S
1
S
2
= T
1
T
2
:
_
k32(A1)
A1
_
.
ii) Si S
1
S
2
,= T
1
T
2
:
_
k12A
A
_
.
Soit 1 une telle squence xe. Alors, le produit N(d
1
) N(d
k2
vaut :
i) Si A 1 : (2
n
1)
A1
(2
n
2)
k13A+
, o = 1 si S
1
S
2
= T
1
T
2
, 0
sinon.
ii) Si A = 0 :

k2
2
j=0
(2
n
2)
j+
(2
n
3)
k22j
_
k2j
j
_
, o = 1 si R
1
R
2
=
S
1
S
2
, 0 sinon.
Dmonstration : Pour ce qui est du nombre de squences, comme S
1
S
2
= T
1
T
2
,
alors ncessairement 1
k2
est le symbole =. Il reste xer A1 squences de trois
symboles (=, ,=, ,=) dans la squence 1
1
, . . . , 1
k3
. La premire formule est donc
_
k212(A1)
A1
_
, comme annonc.
Pour ce qui est du produit des N(d
i
) :
146 Annexe A. Calcul des Coecients H
i) Supposons que 1
i
1
, . . . , 1
i
A
correspondent au symbole = ( 1). Pour tout
1 i i
A
1, si 1
i
est le symbole =, d
i
= 0, et d
i+1
= d
i+2
peuvent prendre
2
n
1 valeurs. Ensuite, comme S
1
S
2
= T
1
T
2
, i
l
= k 2, on a d
k2
= 0
et les d
i
restant peuvent prendre (2
n
2) valeurs. On a : N(d
1
) N(d
k2
) =
1
A
(2
n
1)
A1
(2
n
2)
k23(A1)1
, qui correspond la formule annonce.
ii) Pour ce deuxime point, la formule annonce est la mme que dans le lemme 11.
On pourra se rfrer au point ii) de la dmonstration du lemme 4 dans ce cas.

Lemme 7 (cas L
1
,= L
2
, R
1
,= R
2
, S
1
,= S
2
, S
1
S
2
,= T
1
T
2
) Dans ce cas, le
nombre de squences 1 dont un nombre A dlments dindice i, 1 i k 2,
correspondent au symbole =, est :
_
k 1 2A
A
_
.
Supposons une squence R xe. Alors, le produit N(d
1
) N(d
k2
) vaut :
i) Si A > 0 :
(2
n
1)
A1
(2
n
2)
k13A
.
ii) Si A = 0 :

k3
2
j=0
(2
n
2)
j+
(2
n
3)
k32j
_
k3j
j
_
, o = 1 si R
1
R
2
=
S
1
S
2
, 0 sinon.
Dmonstration : Commenons par la partie du lemme concernant le nombre de
squences. Il faut xer A symboles = dans la squence 1, donc A squences de
trois symboles (=, ,=, ,=) dans la sous-squence 1
1
, . . . 1
k1
) (on inclut 1
k1
car
S
1
S
2
,= T
1
T
2
implique que 1
k2
est le symbole ,=, et 1
k3
peut tre = ou ,=).
Autrement dit, il faut trouver A places dans une squence de longueur k 1, pour
une suite de trois symboles conscutifs. La formule sen dduit.
Concernant le produit N(d
1
) N(d
k2
:
i) Supposons que 1
i
1
, . . . , 1
i
A
correspondent au symbole = ( 1). Pour tout
1 i i
A
1, si 1
i
est le symbole =, d
i
= 0, et d
i+1
= d
i+2
peuvent prendre
2
n
1 valeurs. Ensuite, comme S
1
S
2
,= T
1
T
2
, donc i

< k 2. Ainsi,
d
i
A
= 0, et d
i
A
+1
= d
i
A
+2
. Si i
A
+ 2 = k 2, d
i
A
+2
= S
1
S
2
et les d
i
restants peuvent prendre 2
n
2 valeurs. Si i
A
+ 2 < k 2, d
i
A
+2
peut prendre
2
n
2 valeurs, tout comme les d
i
restant. On dduit N(d
1
) N(d
k2
) =
1
A
(2
n
1)
A1
(2
n
2)
k23(A1)2
, qui correspond la formule du lemme.
ii) Voir la dmonstration du lemme 6 ou 4.

A.1. Calcul des Coecients H pour les schmas du type Misty,


Mthode directe 147
Lemme 8 (cas L
1
,= L
2
, R
1
= R
2
, S
1
,= S
2
, S
1
S
2
= T
1
T
2
) Dans ce cas, le
nombre de squences 1 dont un nombre A dlments dindice i, 1 i k 2,
correspondent au symbole =, vaut :
_
k 3 2A
A 1
_
.
Soit une telle squence 1 xe. Le produit N(d
1
) . . . N(d
k2
) vaut :
(2
n
1)
A
(2
n
2)
k33A
.
Dmonstration : Concernant la premire partie du lemme, S
1
S
2
= T
1
T
2
, alors
ncessairement 1
k2
est le symbole =. De plus, comme R
1
= R
2
, nous avons que 1
1
et 1
2
sont le symbole ,=. Il reste xer A1 squences (=, ,=, ,=) dans la squence
1
3
, . . . , 1
k3
. Ainsi, la premire formule est
_
k52(A1)
A1
_
, comme annonc.
Passons au produit des N(d
i
). S
1
S
2
= T
1
T
2
implique 1
k2
est le symbole =.
Pour tout 2 i k 5, si 1
i
est le symbole =, d
i
= 1 et d
i+1
= d
i+2
et les d
i+2
peuvent prendre 2
n
1 valeurs. La valeur de d
1
est toujours celle de d
2
(qui peut
prendre 2
n
1 valeurs) car R
1
= R
2
. Pour tous les autres, il y a 2
n
2 valeurs pos-
sibles. Ainsi, N(d
1
) . . . N(d
k2
) = 1(2
n
1)1
A
(2
n
1)
A1
(2
n
2)
k23(A1)21
,
qui est la formule annonce.
Lemme 9 (cas L
1
,= L
2
, R
1
= R
2
, S
1
,= S
2
, S
1
S
2
,= T
1
T
2
) Dans ce cas, le
nombre de squences 1 dont un nombre A dlments dindice i, 1 i k 2,
correspondent au symbole =, est :
_
k 3 2A
A
_
.
Soit une telle squence 1 xe, le produit N(d
1
) N(d
k2
vaut :
(2
n
1)
A
(2
n
2)
k33A
.
Dmonstration : S
1
S
2
,= T
1
T
2
, alors 1
k2
est le symbole ,=. De plus, R
1
= R
2
implique que 1
1
et 1
2
sont le symbole ,=. Il reste xer A squences (=, ,=, ,=) dans
la squence (1
3
, . . . , 1
k1
) (1
k1
est inclus car 1
k3
peut tre le symbole =). On
en dduit la formule annonce pour le nombre de squences.
Pour la seconde partie du lemme, commenons par raisonner dans le cas o pour
1 i k 2, 1
i
est le symbole ,=. Tous les d
i
, pour 2 i k 2, peuvent prendre
(2
n
2) valeurs : d
k2
doit tre dirent de S
1
S
2
et 0, d
k3
doit tre dirent
de d
k2
et 0, etc. Quant la valeur de d
1
, celle-ci est xe gale d
2
, car R
1
= R
2
.
Do la formule dans ce cas : N(d
1
) . . . N(d
k2
) = (2
n
2)
k21
.
Maintenant supposons quil y ait au moins un symbole = dans la suite 1,
disons 1
i
1
, . . . , 1
i
A
. Comme S
1
,= S
2
, tous les d
i
, k 2 i > i
A
+ 1, peuvent
prendre (2
n
2) valeurs. Pour les autres, si 1
i
est le symbole =, d
i
= 1 et
148 Annexe A. Calcul des Coecients H
d
i+1
= d
i+2
et les d
i+2
peuvent prendre 2
n
1 valeurs (si i + 2 < k 1).
La valeur de d
1
est toujours celle de d
2
(qui peut prendre 2
n
1 valeurs)
car R
1
= R
2
. Pour tous les autres, il y a 2
n
2 valeurs possibles. Ainsi,
N(d
1
) . . . N(d
k2
) = 1 (2
n
1) 1
A
(2
n
1)
A1
(2
n
2)
k23(A1)21
, qui est
la formule annonce.
Lemme 10 (cas L
1
= L
2
, R
1
,= R
2
, S
1
= S
2
, T
1
,= T
2
) Dans ce cas, le nombre de
squences 1 dont un nombre A dlments dindice i, 1 i k 2, correspondent
au symbole =, est :
_
k 3 2A
A
_
.
Soit 1 une telle squence xe. Alors, le produit N(d
1
) N(d
k2
) vaut :
(2
n
1)
A
(2
n
2)
k33A
Dmonstration : Concernant la premire partie du lemme, comme L
1
= L
2
, alors
ncessairement 1
1
est le symbole ,=. Il reste A symboles = xer dans 1, soit A
squences de trois signes (=, ,=, ,=) xer dans la squence (1
2
, . . . 1
k2
). Il y a A
places pour trois signes conscutifs trouver, dans une suite de longueur k 3. On
en dduit la formule.
Pour ce qui est du produit des N(d
i
), comme L
1
= L
2
, d
1
est x et gal
R
1
R
2
, non nul. Pour chaque 1 < i k 2, si 1
i
est le symbole =, alors la
valeur de d
i
est xe et d
i+1
= d
i+2
peuvent prendre 2
n
1 valeurs. Pour les autres
indices, il y a 2
n
2 possibilits pour d
i
. Ainsi, le produit N(d
1
) N(d
k2
) vaut
1 1
A
(2
n
1)
A
1
A
(2
n
2)
k213A
.
Lemme 11 (cas L
1
,= L
2
, R
1
,= R
2
, S
1
= S
2
, T
1
,= T
2
) Dans ce cas, le nombre de
squences 1 dont un nombre A dlments dindice i, 1 i k 2, correspondent
au symbole =, est :
_
k 2 2A
A.
_
Soit 1 une telle squence xe. Alors, le produit N(d
1
) N(d
k2
) vaut :
(2
n
1)
A
(2
n
2)
k23A
.
Dmonstration : Pour ce qui est de la premire partie du lemme, il y a A symboles
= xer dans 1, soit A squences (=, ,=, ,=) xer dans la squence (1
1
, . . . 1
k2
).
Ainsi, il y a A places pour trois signes conscutifs trouver, dans une suite de
longueur k 2. On en dduit la formule pour le nombre de squences.
Pour ce qui est du produit des N(d
i
), il ny a pas dgalit sur les deux premiers
blocs. Pour chaque 1 i k 2, si 1
i
est le symbole =, alors la valeur de
d
i
est xe et d
i+1
= d
i+2
peuvent prendre 2
n
1 valeurs. Pour les autres
A.1. Calcul des Coecients H pour les schmas du type Misty,
Mthode directe 149
indices, il y a 2
n
2 possibilits pour d
i
. Ainsi, le produit N(d
1
) N(d
k2
) vaut
1
A
(2
n
1)
A
1 (2
n
2)
k23A
, comme annonc.
Lemme 12 (cas L
1
,= L
2
, R
1
= R
2
, S
1
= S
2
, T
1
,= T
2
) Dans ce cas, le nombre de
squences 1 dont un nombre A dlments dindice i, 1 i k 2, correspondent
au symbole =, est :
_
k 4 2A
A
_
.
Soit 1 une telle squence xe. Dans ce cas, le produit N(d
1
) N(d
k2
) vaut :
(2
n
1)
A+1
(2
n
2)
k43A
.
Dmonstration : Pour la premire partie du lemme, comme R
1
= R
2
, nous avons
ncessairement que 1
1
et 1
2
correspondent au symbole ,=. Il y a A symboles =
xer dans 1, donc A squences de trois symboles (=, ,=, ,=) xer dans la squence
(1
3
, . . . 1
k2
). Ainsi, il y a A places pour trois symboles conscutifs trouver, dans
une squence de longueur k4. On en dduit la formule pour le nombre de squences.
Pour ce qui est du produit des N(d
i
), comme R
1
= R
2
, d
1
peut prendre toutes
les valeurs non nulles, et d
2
est gal d
1
. Pour chaque 2 < i k 2, si 1
i
est le
symbole =, alors la valeur de d
i
est xe et d
i+1
= d
i+2
peuvent prendre 2
n
1
valeurs. Pour les autres indices, il y a 2
n
2 possibilits pour d
i
. Ainsi, le produit
N(d
1
)N(d
k2
) vaut (2
n
1)11
A
(2
n
1)
A
1(2
n
2)
k223A
, comme annonc.
A.1.3 Formules gnrales, Formule directe pour les coecients H
Les lemmes de la sous-section A.1.2 prcdente permettent prsent dnoncer
les rsultats suivants :
Proposition 25 (Formule gnrale pour le nombre de squences 1) Le
nombre de squences 1 dont un nombre A dlments dindice i, 1 i k 2,
correspondent au symbole =, est :
_
k 2 2 e(R) e(L) +d(S) 2A
A
_
,
o :
= 1 si S
1
S
2
= T
1
T
2
, et 0 sinon,
e(R) = 1 si R
1
= R
2
, et 0 sinon,
e(L) = 1 si L
1
= L
2
, et 0 sinon,
d(S) = 1 si S
1
,= S
2
, et 0 sinon.
Dmonstration : Il sut de vrier que cette formule correspond bien chacun
des rsultats des lemmes prcdents. Pour = 0, la formule est claire, daprs
150 Annexe A. Calcul des Coecients H
les lemmes prcdents. Lorsque = 1, les lemmes prcdents montrent que
_
k22e(R)e(L)2(A1)
A
_
est une formule acceptable, or celle-ci est la mme que
celle nonce.
Proposition 26 (Formule gnrale pour le produit N(d
1
) N(d
k2)
) Soit
1 une squence de relations entre les blocs correspondant deux entres/sorties
[L
1
, R
1
]/[S
1
, T
1
] et [L
2
, R
2
]/[S
2
, T
2
]xe. Notons :
e(L) vaut 1 si L
1
= L
2
, 0 sinon,
e(R) vaut 1 si R
1
= R
2
, 0 sinon,
d(S) vaut 1 si S
1
,= S
2
, 0 sinon,
vaut 1 si S
1
S
2
= T
1
T
2
, 0 sinon,
vaut 1 si R
1
R
2
= S
1
S
2
, 0 sinon.
Le produit N(d
1
) N(d
k2
) vaut :
(2
n
1)
A+e(R)d(S)
(2
n
2)
k22e(R)e(L)3(A)+(d(S))
,
sauf lorsque Lorsque R
1
,= R
2
et S
1
,= S
2
et que le nombre de 1
i
correspondant au
symbole = est nul. Dans ce second cas, N(d
1
) N(d
k2
) vaut :
k2e(L)
2

j=0
_
k 2 e(L) j
j
_
(2
n
2)
j+
(2
n
3)
k22je(L)
.
Dmonstration : Il sut de voir que lune ou lautre de ces formules (selon la
situation), correspond aux formules donnes dans les lemmes 4 12 ci-dessus.
Les formules pour H dpendent des cas distingus dans les lemmes 4 12. Il y
a neuf lemmes correspondant des cas dirents, mais les lemmes 4, 5, 8 et 9 se
subdivisent chacun en deux cas (selon que R
1
R
2
= S
1
S
2
ou non). Ceci mne
considrer treize cas, o chaque possibilit dentres/sorties est bien reprsente.
On note H
i
le coecient H dans le cas i 1 i 13 (dni la sous-section A.1.4
suivante). On a :
A.1. Calcul des Coecients H pour les schmas du type Misty,
Mthode directe 151
Thorme 7 (Formule directe pour H)
H
1
=

k1
3
A=1
_
k2+12A
A
_
(2
n
)
k2

(2
n
1)!
A
(2
n
2)!
kA
(2
n
1)
A1
(2
n
2)
k13A
+

k2
2
j=0
_
k2j
j
_
(2
n
2)
j
(2
n
3)
k22j
(2
n
2)!
k
(2
n
)
k2
H
2
=

k3
3
A=0
_
k32A
A
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A
(2
n
2)
k33A
H
3
=

k2
3
A=0
_
k22A
A
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A1
(2
n
2)
k23A
H
4
=

k1
3
A=1
_
k2+12A
A
_
(2
n
)
k2

(2
n
1)!
A
(2
n
2)!
kA
(2
n
1)
A1
(2
n
2)
k13A
+

k3
2
j=0
_
k3j
j
_
(2
n
2)
j+1
(2
n
3)
k32j
(2
n
2)!
k
(2
n
)
k2
H
5
=

k2
3
A=0
_
k22A
A
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A1
(2
n
2)
k23A
H
6
=

k2
3
A=1
_
k22A
A
_
(2
n
)
k2

(2
n
1)!
A
(2
n
2)!
kA
(2
n
1)
A+
(2
n
2)
k23A
+

k2
2
j=0
_
k2j
j
_
(2
n
2)
j
(2
n
3)
k22j
(2
n
2)!
k
(2
n
)
k2
H
7
=

k4
3
A=0
_
k42A
A
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A+1
(2
n
2)
k43A
H
8
=

k3
3
A=0
_
k32A
A
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A
(2
n
2)
k33A
H
9
=

k
3
A=1
_
k2+12A
A1
_
(2
n
)
k2

(2
n
1)!
A
(2
n
2)!
kA
(2
n
1)
A1
(2
n
2)
k3A
H
10
=

k2
3
A=0
_
k32A
A1
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A
(2
n
2)
k23A
H
11
=

k1
3
A=0
_
k22A
A1
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A1
(2
n
2)
k13A
H
12
=

k
3
A=1
_
k2+12A
A1
_
(2
n
)
k2

(2
n
1)!
A
(2
n
2)!
kA
(2
n
1)
A1
(2
n
2)
k3A
H
13
=

k1
3
A=0
_
k22A
A1
_
(2
n
)
k2

(2
n
1)!
A+1
(2
n
2)!
kA1
(2
n
1)
A1
(2
n
2)
k13A
152 Annexe A. Calcul des Coecients H
A.1.4 Dirents cas considrer
Les coecients H dirent selon les relations entre les blocs dentre et de sortie
(cf. sous-section A.1.1). Les treize cas distingus, permettant chaque possibilit
dentres/sorties dtre bien reprsente sont les suivants :
1 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
2 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
3 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
4 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
5 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
6 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
7 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
8 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,S
1
S
2
=T
1
T
2
9 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
10 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
11 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
12 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
13 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,R
1
R
2
=S
1
S
2
,S
1
S
2
=T
1
T
2
Dans la section 4.1 sont donnes certaines valeurs exactes pour les coecients
H (section 4.1.4), mais nous nous intresserons plus principalement aux valeurs des
(dnis comme
H2
4n
2
nen

2
2n
2
2n
(2
2n
1)
), comme soulign la remarque de la section 3.4
du chapitre 3, car de ces valeurs se dduisent facilement toutes les attaques deux
points. Certaines des premires valeurs pour H et sont aussi donnes la sec-
tion A.3.
A.2 Calcul des Coecients H dans le cas des schmas de
Feistel avec permutations internes, Mthode Directe
Tout comme pour les schmas Misty L, commenons par voir les implications
sur les blocs voisins, des direntes relations que lon peut avoir entre deux blocs
(sous-section A.2.1). Ceci permet de mieux cibler les possibilits de squences 1,
et dvaluer les produit N(d
1
) N(d
k2
) pour 1 donn (rappelons que nous nous
basons sur la formule du thorme 1 de la sous-section 3.5.2). Une fois balays
tous les cas de paires dentres/sorties, nous dduisons une formule nale pour les
coecients H (sous-section A.2.3, thormes 8, 9, 10 et 11).
A.2.1 Restrictions sur les relations 1 entre les blocs
Soient [L
1
, R
1
]/[S
1
, T
1
] et [L
2
, R
2
]/[S
2
, T
2
] deux entres/sorties distinctes de k
tours de schmas du type Misty, On sintresse aux direntes squences de rela-
tions 1 entre les blocs internes correspondant ces deux entres/sorties (voir le
paragraphe 3.5.1.2 du chapitre 3). An de voir quelles restrictions sont imposes par
le schma, regardons nouveau la gure A.2.
A.2. Calcul des Coecients H dans le cas des schmas de Feistel avec
permutations internes, Mthode Directe 153
L
L
1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
1 1
1 1 1 1 1
2 2 2 2 2 2 2
Figure A.2:
k
(f
1
, . . . , f
k
)([L
1
, R
1
]) = [S
1
, T
1
],
k
(f
1
, . . . , f
k
)([L
2
, R
2
]) = [S
2
, T
2
]
On voit quil y a certaines contraintes pour les squences 1 de relations entre
les blocs valides :
1. Pour 1 i k, si 1
i
est le symbole =, alors 1
i+1
, 1
i+2
, 1
i1
et 1
i2
sont
ncessairement tous gaux au symbole ,= (lorsque tous ces lments sont bien
dnis). De plus,(si lon suppose xer les blocs de la gauche vers la droite), si
d
i
= 0, alors d
i1
= d
i+1
et d
i+2
peut prendre toutes les valeurs non nulles.
En eet, pour la premire assertion, on a X
i
= f
i
(X
i1
) X
i2
et X
i+2
=
f
i+2
(X
i+1
)X
i
. Si un des lments de 1 ci-dessus est le symbole = en plus de
1
i
, alors les expressions prcdentes impliquent que pour trois blocs successifs,
nous avons X
1
= X
2
(rappelons que les fonctions sont bijectives). Autrement,
tous les blocs correspondant lun ou lautre des messages sont gaux, ce
qui est impossible.
La premire partie de la deuxime assertion est claire par dnition du bloc
X
i+1
. Ensuite, X
i+2
= f
i+2
(X
i+1
) X
i
. Si d
i
= 0, X
i+2
est entirement
dni par limage par f
i+2
de X
i+1
. Or d
i+1
,= 0 et f
i+2
est une permutation.
Larmation en dcoule.
2. Pour 1 i k 2, si 1
i
, 1
i+1
et 1
i+2
correspondent au symbole ,=, alors
d
i
,= d
i+2
.
Nous avons X
i+2
= f
i+2
(X
i+1
) X
i
. Alors, d
i
= d
i+2
implique f
i+2
(X
i+1
1
) =
f
i+2
(X
i+1
2
). f
i+2
tant une permutation, ceci implique que X
i+1
1
= X
i+1
2
, ce
qui est absurde.
Ces conditions impliquent direntes squences 1 valides, selon les valeurs ini-
tiales de 1
1
, 1
0
, 1
k1
et 1
k
. On voit ici encore, cause de la formule du tho-
rme 1 de la sous-section 3.5.2, que les valeurs de H de deux entres/sorties distinctes
[L
1
, R
1
]/[S
1
, T
1
] et [L
2
, R
2
]/[S
2
, T
2
] ne dpendent que des relations entre les blocs
dentre et de sorties de ces deux messages (ce rsultat a dj annonc pour les
schmas du type Misty, thorme 6).
A.2.2 Squences 1 possibles et produit des N(d
i
), i = 1, . . . k
Une analyse similaire celle faite pour les schmas du type Misty, base sur les
restrictions pour les squences 1 et les valeurs de d
i
(sous-section A.2.1 prcdente),
154 Annexe A. Calcul des Coecients H
nous permet darriver aux formules gnrales de la sous-section A.2.3. Nous donnons
dans cette sous-section A.2.2 le dtail du nombre de squences 1 possibles, ainsi
que du produit N(d
1
) N(d
k2
), pour 1 x.
Squences 1 possibles. On garde les mmes notations que pour le cas des sch-
mas Misty L : A
X
i
1,X
i
2
correspond au nombre de relations dgalits dans une s-
quence 1, correspondant la relation entre deux blocs X
i
1
et X
i
2
, i
1
< i < i
2
. Pour
chaque cas signicatif, on sintresse au nombre de squences 1 comportant A =
A
X
0
,X
k1 symboles =. Les rsultats sont exposs dans les lemmes 13,14,15,16,17,18
suivants. Ceux-ci se dmontrent comme les rsultats analogues pour les schmas
Misty L de la sous-section A.1.2, un simple raisonnement sur le nombre de pos-
sibilits de ranger A fois trois symboles conscutifs (=, ,=, ,=) dans la squence 1
considre donne le rsultat. Nous ne donnons pas le dtail des dmonstrations.
Lemme 13 (Cas L
1
,= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
,= T
2
) Le nombre de squences
1, dont un nombre A dlments dindice i, 1 i k2, correspondent au symbole
=, est :
_
k 2A
A
_
.
Lemme 14 (Cas L
1
,= L
2
, R
1
= R
2
, S
1
,= S
2
, T
1
,= T
2
) Le nombre de squences
1, dont un nombre A dlments dindice i, 1 i k2, correspondent au symbole
=, est :
_
k 2 2A
A
_
.
Lemme 15 (Cas L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
,= T
2
) Le nombre de squences
1, dont un nombre A dlments dindice i, 1 i k2, correspondent au symbole
=, est :
_
k 1 2A
A
_
.
Lemme 16 (Cas L
1
= L
2
, R
1
,= R
2
, S
1
= S
2
, T
1
,= T
2
) Le nombre de squences
1, dont un nombre A dlments dindice i, 1 i k2, correspondent au symbole
=, est :
_
k 3 2A
A
_
.
Lemme 17 (Cas L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
= T
2
) Le nombre de squences
1, dont un nombre A dlments dindice i, 1 i k2, correspondent au symbole
=, est :
_
k 2 2A
A
_
.
A.2. Calcul des Coecients H dans le cas des schmas de Feistel avec
permutations internes, Mthode Directe 155
Lemme 18 (Cas L
1
,= L
2
, R
1
= R
2
, S
1
= S
2
, T
1
,= T
2
) Le nombre de squences
1, dont un nombre A dlments dindice i, 1 i k2, correspondent au symbole
=, est :
_
k 4 2A
A
_
.
Nous avons encore besoin du lemme suivant, accompagnant le rsultat du
lemme 24 dans les formules gnrales pour H :
Lemme 19 Le nombre de squences 1, comportant A = A
X
0
,X
k1 lments dindice
pair uniquement (respectivement impair uniquement) correspondant au symbole =
est :
_
l + 1 e(L) e(R) e(S) e(T) A
A
_
,
o l est le nombre dindices pairs de 1 (respectivement impairs) entre 1 et k 2
inclus, et :
e(L) = 1 si L
1
= L
2
, 0 sinon,
e(R) = 1 si R
1
= R
2
, 0 sinon,
e(S) = 1 si S
1
= S
2
, 0 sinon,
e(T) = 1 si T
1
= T
2
, 0 sinon.
Remarque : Dans la suite, nous utilisons les notations :
l
pair
pour le nombre dindices pairs de 1 entre 1 et k 2.
l
pair
pour le nombre dindices pairs de 1 entre 1 et k 2.
Produit des N(d
i
), i = 1, . . . k. Pour ce qui est du produit des N(d
i
), i =
1, . . . , k 2, la stratgie est lgrement dirente que dans le cas des schmas Misty
L. Nous considrons, dans le cas des schmas de Feistel avec permutations internes,
les sous-squences formes seulement des blocs X
i
avec i pair, ou des blocs X
i
avec
i impairs. En eet, daprs la sous-section A.2.1, on voit que les contraintes sur une
valeur d
i
ne dpend que de d
i2
et d
i+2
(lorsque ceux-ci sont bien dnis). On peut
ensuite fusionner les rsultats pour obtenir le produit des N(d
i
) dans chacun des
cas considrer.
Pour ne pas avoir spcier si nous considrons la sous-squence des blocs
pairs ou impairs, nous considrons dans les lemmes suivants des squences de blocs
longueur l + 2, (B
0
, . . . , B
l+1
), o B
0
et B
l+1
sont xs. Nous notons N(d
B
i ) le
nombre de possibilits de d
B
i = B
i
1 B
i
2
, pour ne pas confondre avec N(d
i
)
correspondant aux possibilits pour X
i
1
X
i
2
. Cependant B
0
doit tre vu comme
X
1
ou X
0
, B
l+1
comme X
k+1
ou X
k+2
, et l + 1 correspond le nombre dindices
impairs ou pairs, selon que lon considre la sous-squence de blocs impairs ou pairs.
156 Annexe A. Calcul des Coecients H
Lemme 20 (Cas B
0
1
,= B
0
2
, B
l+1
1
= B
l+1
2
) Supposons xe une squence 1. Soit
A(B) = A(B)
B
0
,B
l+1 le nombre de relations dgalit correspondant deux blocs
B
i
1
et B
i
2
, i = 1, . . . , l. Le produit N(d
B
1 N(d
B
l ) vaut :
(2
n
1)
A(B)
(2
n
2)
lA
B
0
,B
L+1
A(B)
.
Dmonstration : Nous avons A(B) d
B
i qui sont xs zro, et pour chaque tel
i, d
B
i+1 peut prendre toutes les 2
n
1 valeurs non nulles. De plus, il existe alors
A
B
0
,B
l+1 A(B) symboles = dans la sous-squence forme des blocs X
i
non contenus
dans B et strictement entre B
0
et B
l+1
. Ceci signie autant de blocs B
i
tels que
d
B
i = d
B
i1. Pour les blocs restants, ceux-ci doivent vrier d
B
i ,= 0 et d
B
i ,= d
B
i1 .
On obtient 1
A(B)+A
B
0
,B
l+1
A(B)
(2
n
1)
A(B)
(2
n
2)
l2A(B)(A
B
0
,B
l+1
A(B))
,
comme annonc.
Pour les lemmes suivants, le dtail de la dmonstration nest pas donn. Le
raisonnement est trs similaire celui du lemme 20, ou aux dirents raisonnements
faits dans le cas de schmas Misty L, aux lemmes 2.12 2.12.
Lemme 21 (Cas B
0
1
= B
0
2
, B
l+1
1
,= B
l+1
2
) Supposons xe une squence 1. Soit
A(B) = A(B)
B
0
,B
l+1 le nombre de relations dgalit correspondant deux blocs
B
i
1
et B
i
2
, i = 1, . . . , l. Le produit N(d
B
1 N(d
B
l ) vaut :
(2
n
1)
A(B)
(2
n
2)
lA
B
0
,B
l+1
A(B)
.
Lemme 22 (Cas B
0
1
= B
0
2
, B
l+1
1
= B
l+1
2
) Supposons xe une squence 1. Soit
A(B) = A(B)
B
0
,B
l+1 le nombre de relations dgalit correspondant deux blocs
B
i
1
et B
i
2
, i = 1, . . . , l. Le produit N(d
B
1 N(d
B
l ) vaut :
(2
n
1)
A(B)+1
(2
n
2)
lA
B
0
,B
l+1
A(B)1
.
Lemme 23 (Cas B
0
1
,= B
0
2
, B
l+1
1
,= B
l+1
2
et A(B) > 0) Supposons xe une s-
quence 1. Soit A(B) = A(B)
B
0
,B
l+1 > 0 le nombre de relations dgalit corres-
pondant deux blocs B
i
1
et B
i
2
, i = 1, . . . , l. Le produit N(d
B
1 N(d
B
l ) vaut :
(2
n
1)
A(B)1
(2
n
2)
lA
B
0
,B
l+1
A(B)+1
.
Lorsque, pour ce cas B
0
1
,= B
0
2
et B
l+1
1
,= B
l+1
2
, le nombre A(B) = A(B)
B
0
,B
l+1
est nul, il faut tre un peu plus prcautionneux dans le raisonnement. Le dnom-
brement est rapprocher de celui fait aux lemmes 4,5,6 ou 7,ii) de la section A.1.
Sans dmontrer ce point, on obtient :
Lemme 24 (Cas B
0
1
,= B
0
2
, B
l+1
1
,= B
l+1
2
et A(B) = 0) Supposons xe une s-
quence 1. Supposons nul le nombre A(B) = A(B)
B
0
,B
l+1
de relations dgalit cor-
respondant deux blocs B
i
1
et B
i
2
, i = 1, . . . , l. Le produit N(d
B
1 N(d
B
l ) vaut :
A.2. Calcul des Coecients H dans le cas des schmas de Feistel avec
permutations internes, Mthode Directe 157
i) Si B
0
1
B
0
2
= B
l+1
0
B
l+1
1
:
(l1A
B
0
,B
l+1
)/2

j=0
_
l A
B
0
,B
l+1 j 1
j
_
(2
n
2)
j+1
(2
n
3)
lA
B
0
,B
l+1
2j1
.
ii) Si B
0
1
B
0
2
= B
l+1
0
B
l+1
1
:
(lA
B
0
,B
l+1
)/2

j=0
_
l A
B
0
,B
l+1 j
j
_
(2
n
2)
j
(2
n
3)
lA
B
0
,B
l+1
2j
.
Remarque : Dans le suite, nous utilisons les notations :
Lorsque k est pair :

pair
vaut 1 lorsque R
1
R
2
= T
1
T
2
, 0 sinon.

imp
vaut 1 lorsque L
1
L
2
= S
1
S
2
, 0 sinon.
Lorsque k est impair :

pair
vaut 1 lorsque R
1
R
2
= S
1
S
2
, 0 sinon.

imp
vaut 1 lorsque L
1
L
2
= T
1
T
2
, 0 sinon.
A.2.3 Formules gnrales, formules gnrales pour H
Des lemmes 13 18, nous avons :
Proposition 27 (Nombre de squences 1) Le nombre de squences 1, dont un
nombre A dlments dindice i, 1 i k 2, correspondent au symbole =, est :
_
k 2(e(R) +e(S)) e(L) e(T) 2A
A
_
,
o :
e(L) = 1 si L
1
= L
2
, 0 sinon,
e(R) = 1 si R
1
= R
2
, 0 sinon,
e(S) = 1 si S
1
= S
2
, 0 sinon,
e(T) = 1 si T
1
= T
2
, 0 sinon.
Pour calculer le produit N(d
1
) N(d
k
) correspondant une squence 1 xe,
il sut dutiliser les rsultats des lemmes 20 24 prcdents. Plus prcisment, pour
chacune des sous-squences pair et impair, on applique un des lemmes prcdents,
en remplaant B
0
par L ou R, et B
l
par S ou T. Le produit cherch sobtient
en multipliant les deux rsultats. Nous utilisons les notations spcies dans les
remarques ou propositions prcdentes.
Proposition 28 (Formule gnrale 1 pour le produit N(d
1
) N(d
k2
))
Soit 1 une squence xe de relations possibles, avec A symboles = et telle quils
existent i, j 1, . . . , k + 2, i pair, j impair tels que 1
i
et 1
j
correspondent au
symbole =. Alors, le produit N(d
1
) N(d
k2
) vaut :

1
= (2
n
1)
A2
(2
n
2)
k3A+e(R)+e(S)+2(e(L)+e(T))
.
158 Annexe A. Calcul des Coecients H
Proposition 29 (Formule gnrale 2 pour le produit N(d
1
) N(d
k2
))
Soit 1 une squence xe de relations possibles, avec A symboles = et telle quil
existe i 1, . . . , k +2, i pair tel que 1
i
corresponde au symbole = et j impair,
1
j
soit le symbole ,=. Alors, le produit N(d
1
) N(d
k2
) vaut :

2
=
_
_
_
M
imp

j=0
C
j,imp
(2
n
2)
j+
imp
(2
n
3)
P
j,imp
_
_
_
(2
n
1)
e(s)1
(2
n
2)
Q
imp
,
o :
M
imp
=
l
imp

imp
Ae(R)e(S)
2
,
C
j,imp
=
_
l
imp
Ae(R)e(S)
imp
j
j
_
,
P
j,imp
= l
imp
A e(R) e(S)
imp
2j,
Q
imp
= l
pair
2A (e(L) +e(R) +e(S) +e(T)) + 1.
Proposition 30 (Formule gnrale 3 pour le produit N(d
1
) N(d
k2
))
Soit 1 une squence xe de relations possibles, avec A symboles = et telle quil
existe i 1, . . . , k +2, i impair tel que 1
i
corresponde au symbole = et j pair,
1
j
soit le symbole ,=. Alors, le produit N(d
1
) N(d
k2
) vaut :

3
=
_
_
_
M
pair

j=0
C
j,pair
(2
n
2)
j+
pair
(2
n
3)
P
j,pair
_
_
_
(2
n
1)
A1
(2
n
2)
Q
pair
,
o :
M
pair
=
l
pair

pair
Ae(R)e(S)
2
,
C
j,pair
=
_
l
pair
Ae(R)e(S)
pair
j
j
_
,
P
j,pair
= l
pair
A e(R) e(S)
pair
2j,
Q
pair
= l
pair
2A (e(L) +e(R) +e(S) +e(T)) + 1.
Proposition 31 (Formule gnrale 4 pour le produit N(d
1
) N(d
k2
))
Soit 1 une squence xe de relations possibles, telle que i, 1
i
soit le symbole ,=.
Alors avec les notations des propositions prcdentes, le produit N(d
1
) N(d
k2
)
vaut :

4
=
_
_
_
M
pair

j=0
C
j,pair
(2
n
2)
j+
pair
(2
n
3)
P
j,pair
_
_
_

_
_
_
M
imp

j=0
C
j,imp
(2
n
2)
j+
imp
(2
n
3)
P
j,imp
_
_
_
.
Passons aux formules pour les coecients H. Ces formules se dduisent des
propositions 28 31 pour le produit des N(d
i
) i = 1, . . . k et de la proposition 27,
mais aussi du lemme 19.
Remarque : En fait, ces formules sont vraies sous certaines conditions, pour un
nombre de tours petit, 1, 2 ou 3 tours. Nous les spcions dans les formules gnrales
pour les coecients H suivantes.
A.2. Calcul des Coecients H dans le cas des schmas de Feistel avec
permutations internes, Mthode Directe 159
Thorme 8 (Formule 1 pour H) Soient les cas suivants :
k pair et L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
= T
2
,
ou k pair et L
1
,= L
2
, R
1
= R
2
, S
1
= S
2
, T
1
,= T
2
,
ou k impair et L
1
= L
2
, R
1
,= R
2
, S
1
= S
2
, T
1
,= T
2
,
ou k impair et L
1
,= L
2
, R
1
= R
2
, S
1
,= S
2
, T
1
= T
2
.
Dans ces conditions, nous avons lexpression suivante pour le coecient H, valable
pour k 2 :
H =
M

A=0
(2
n
1)!
A+e(R)+e(S)
(2
n
2)!
kAe(R)e(S)
2
n(k2)

_
k2(e(R)+e(S))e(L)e(T)2A
A
_

1
.
Thorme 9 (Formule 2 pour H) Soient les cas suivants :
k pair et L
1
,= L
2
, R
1
= R
2
, S
1
,= S
2
, T
1
= T
2
,
ou k pair et L
1
,= L
2
, R
1
= R
2
, S
1
,= S
2
, T
1
,= T
2
,
ou k pair et L
1
,= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
= T
2
,
ou k impair et L
1
,= L
2
, R
1
,= R
2
, S
1
= S
1
, T
1
,= T
2
,
ou k impair et L
1
,= L
2
, R
1
= R
2
, S
1
,= S
2
, T
1
,= T
2
,
ou k impair et L
1
,= L
2
, R
1
= R
2
, S
1
= S
2
, T
1
,= T
2
.
Dans ces conditions, nous avons lexpression suivante pour le coecient H, valable
pour
1
k > 2 :
H =
M

A=0
(2
n
1)!
A+e(R)+e(S)
(2
n
2)!
kAe(R)e(S)
2
n(k2)

_
_
l
pair
+1Ae(L)e(R)e(S)e(T)
A
_

2
+
__
k2(e(R)+e(S))e(L)e(T)2A
A
_

_
l
pair
+1Ae(L)e(R)e(S)e(T)
A
_

1
_
.
Thorme 10 (Formule 3 pour H) Soient les cas suivants :
k pair et L
1
,= L
2
, R
1
,= R
2
, S
1
= S
2
, T
1
,= T
2
,
ou k pair et L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
,= T
2
,
ou k pair et L
1
= L
2
, R
1
,= R
2
, S
1
= S
2
, T
1
,= T
2
,
ou k pair et L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
,= T
2
,
ou k pair et L
1
,= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
= T
2
,
ou k pair et L
1
= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
= T
2
.
Dans ces conditions, nous avons lexpression suivante pour le coecient H, valable
1. et pour k = 2 lorsque lon suppose la somme dans 2 gale 1 quand
odd
= e(L)
160 Annexe A. Calcul des Coecients H
pour
2
k > 2 :
H =
M

A=0
(2
n
1)!
A+e(R)+e(S)
(2
n
2)!
kAe(S)
2
n(k2)

_
_
l
imp
+1Ae(L)e(R)e(S)e(T)
A
_

3
+
__
k2(e(R)+e(S))e(L)e(T)2A
A
_

_
l
imp
+1Ae(L)e(R)e(S)e(T)
A
_

1
_
.
Thorme 11 (Formule 4 pour H) Soient les cas suivants :
k N

, L
1
,= L
2
, R
1
,= R
2
, S
1
,= S
2
, T
1
,= T
2
.
Dans ces conditions, nous avons lexpression suivante pour le coecient H, valable
pour
3
k > 3 :
H = (2
n
2)!
k
(2
n
)
k2

4
+
k/3

A=1
(2
n
1)!
A
(2
n
2)!
kA
2
n(k2)

_
_
l
pair
+1A
A
_

2
+
_
l
imp
+1A
A
_

3
+
__
k2A
A
_

_
l
pair
+1A
A
_

_
l
imp
+1A
A
_

1
_
.
A.2.4 Dirents cas considrer
Ci-dessous les dirents cas considrer, selon que le nombre de tours de schmas
de Feistel considrs est pair ou impair. Ces cas correspondent aux cas distingus
dans la sous-section A.2.2. Chaque possibilit dgalits entre blocs dentre et de
sortie de deux messages est bien prise en compte.
Pour un nombre k de tours impair :
1 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
2 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
3 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
4 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
5 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
6 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
7 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
8 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
9 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
10 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
11 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
12 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
13 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=T
1
T
2
,R
1
R
2
=S
1
S
2
2. Et pour k = 2 lorsque la somme dans 3 vaut 1 quand e(L) +e(S) = 1, et pair = e(S).
3. Et pour k = 2, 3 si lon suppose
la somme dans 4, majore par Mpair vaut 1, quand k = 2 et pair = 0,
la somme dans 4, majore par Mimp vaut 1, quand k = 2 et pair = 0,
la somme dans 3 vaut 1, quand k = 3 et pair = 1 = A.
A.3. Calculs des Coecients H pour les schmas du type Misty,
Mthode par rcurrence 161
Pour un nombre k de tours pair :
1 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
2 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
3 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
4 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
5 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
6 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
7 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
8 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
9 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
10 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
11 : L
1
=L
2
,R
1
=R
2
,S
1
=S
2
,T
1
=T
2
,L
1
L
2
=S
1
S
2
,R
1
R
2
=T
1
T
2
A.3 Calculs des Coecients H pour les schmas du type
Misty, Mthode par rcurrence
Dans cette section, nous montrons comment les coecients H pour les sch-
mas M
k
L
peuvent tre obtenus par rcurrence. Ceci permet galement de valider les
formules directes obtenues prcdemment, la section A.1.
A.3.1 Coecients H pour un tour et deux tours
A.3.1.1 Un tour
Dans le cas de M
1
L
, nous avons (voir aussi gure A.3) :
_
S = R
T = R f
1
(L)
L
1 f
R S T =
Figure A.3: Un tour de Misty L
Dans le cadre dune attaque deux points, pour M
1
L
, on a ncessairement :
_
S
1
= R
1
, S
2
= R
2
L
1
= L
2
T
1
R
1
= T
2
R
2
.
Ainsi, si ces conditions ne sont pas vries, H = 0. Lorsquelles le sont, comme
f
1
sapplique sur le blocs L, si L
1
= L
2
, on a H =
|Bn|
2
n
, et H =
|Bn|
2
n
(2
n
1)
, sinon.
162 Annexe A. Calcul des Coecients H
Revenons aux 13 cas distingus (voir sous-sectionA.1.4). Notons H
c
la valeur de
H pour le cas c. On obtient, pour un tour de schma du type Misty :
H
1
= 0,
H
2
= 0,
H
3
= 0,
H
4
=
|Bn|
2
n
(2
n
1)
,
H
5
= 0,
H
6
= 0,
H
7
=
|Bn|
2
n
(2
n
1)
,
H
8
= 0,
H
9
= 0,
H
10
= 0,
H
11
= 0,
H
12
= 0,
H
13
=
|Bn|
2
n
.
A.3.1.2 Deux tours
Pour deux tours, on a les relations suivantes (voir aussi gure A.4) :
_
S = R f
1
(L)
T S = f
2
(R).
2 f
L
1 f
R S T
Figure A.4: Deux tours de Misty L
On a les valeurs suivantes pour le coecient H pour deux tours (H
c
le coecient
A.3. Calculs des Coecients H pour les schmas du type Misty,
Mthode par rcurrence 163
H dans le cas c) :
H
1
=
|Bn|
2
2
2n
(2
n
1)
2
,
H
2
= 0,
H
3
= 0,
H
4
= 0,
H
5
=
|Bn|
2
2
2n
(2
n
1)
,
H
6
=
|Bn|
2
2
2n
(2
n
1)
2
,
H
7
= 0,
H
8
= 0,
H
9
= 0,
H
10
=
|Bn|
2
2
2n
(2
n
1)
,
H
11
= 0,
H
12
= 0,
H
13
= 0.
A.3.2 Formules de rcurrence pour les coecients H
Pour k 3 tours, nous allons tablir des formules permettant dobtenir les
valeurs pour H pour le tour k + 1, partir des valeurs de H le tour k.
Pour tablir ces formules, il sut de remarquer que M
k+1
L
avec permutations in-
ternes (f
1
, . . . , f
k+1
) appliqu [L, R], est compos de M
1
L
avec permutation interne
f
1
appliqu [L, R], et de M
k
L
avec permutations internes (f
2
, . . . , f
k+1
) appliqu
[R, X
1
] (gure A.5 pour M
k
L
).
3 f k f
2 f
L
1 f
X T S R
k2
X
1
X
2
Figure A.5: M
k
L
(f
1
, . . . , f
k
)([L, R]) = [S, T]
Pour k 2, notons H

c
la valeur de H dans le cas c pour k +1 tours, et H
c
cette
164 Annexe A. Calcul des Coecients H
valeur pour k tours. Les formules de rcurrence sont les suivantes :
_

_
H

1
=
|Bn|
2
n
1
[(2
n
3)H
1
+H
2
+H
4
]
H

2
=
|Bn|
2
n
1
[(2
n
2)H
3
+H
5
]
H

3
=[ B
n
[ H
1
H

4
=
1
2
n
1
[(2
n
2)H
1
+H
2
]
H

5
=[ B
n
[ H
4
H

6
=
|Bn|
2
n
1
[(2
n
2)H
6
+H
7
]
H

7
=[ B
n
[ H
8
H

8
=[ B
n
[ H
6
H

9
=
|Bn|
2
n
1
[(2
n
3)H
9
+H
10
+H
12
]
H

10
=
|Bn|
2
n
1
[(2
n
2)H
11
+H
13
]
H

11
= H
9
H

12
=
|Bn|
2
n
1
[(2
n
2)H
9
+H
10
]
H

13
=[ B
n
[ H
12
Notons que les formules donnes ci-dessus ne sont valables que pour un nombre
de tours suprieur ou gale 3. En eet, lors de ltablissement de ces formule, on
suppose les blocs de sortie S
1
, T
1
, S
2
, T
2
de M
k+1
L
distincts des blocs de sortie de M
1
L
(ou des blocs dentre de M
k
L
), dans la dcomposition de M
k+1
L
en M
1
L
et M
k
L
.
Ces formules de rcurrence permettent de trouver toutes les valeurs des coe-
cients H, pour tout k 3, partir des formules de H pour M
1
L
et M
k1
L
.
A.3.3 valuation asymptotique du comportement des
On note :
=
H 2
4n
[ B
n
[
k

2
2n
2
2n
1
.
Nous avons vu la section 3.4 du chapitre 3, qu partir de la valeur
c
( dans le
cas c), il est possible de dduire rapidement la complexit de lattaque deux points
correspondant au cas c. On peut aussi voir que cest cette valeur qui a servi lors
des attaques sur 6 tours (section 3.2 du chapitre 3).
Dans la remarque de cette section 3.4, nous avons vu quune attaque donne une
meilleure complexit pour grand et un nombre dgalits sur les blocs dentre
et de sortie demandes par lattaque (n
e
) petit. Plus prcisment, le cas c don-
nant la meilleure complexit dattaque est le cas permettant de raliser le meilleur
compromis entre une valeur
c
grande et une valeur de n
e
petite.
Les valeurs peuvent tre obtenues directement partir des valeurs de H, mais
dans cette partie, nous allons prouver que ces valeurs dcroissent (globalement, dans
le sens o le sup de tous les dcrot) dun facteur au moins
1
2
n
tous les deux tours.
Ceci permet de justier thoriquement que la complexit des attaques augmente
bien avec le nombre de tours de schmas Misty L utiliss.
A.3. Calculs des Coecients H pour les schmas du type Misty,
Mthode par rcurrence 165
A.3.3.1 Formules de rcurrence pour les
Les formules de rcurrence donnes pour H dans la partie A.3.2, sadaptent
naturellement pour donner des formules de rcurrence pour les .
Nous avons, pour deux tours :

1
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

2
=

1=
2
2n
(2
n
1)(2
n
+1)
1

3
=

1 1

4
=

1 1

5
=
2
3n
(2
n
1)(2
n
+1)
2
n

6
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

7
=

1 1

8
=

1 1

9
=

1 1

10
=
2
3n
(2
n
1)(2
n
+1)
2
n

11
=

1 1

12
=

1 1

13
=

1 1
Les formules de rcurrence de la sous-section A.3.2 deviennent :
_

1
=
1
2
n
1
[(2
n
3)
1
+
2
+
4
]

2
=
1
2
n
1
[(2
n
2)
3
+
5
]

3
=
1

4
=
1
2
n
1
[(2
n
2)
1
+
2
]

5
=
4

6
=
1
2
n
1
[(2
n
2)
6
+
7
]

7
=
8

8
=
6

9
=
1
2
n
1
[(2
n
3)
9
+
10
+
12
]

10
=
1
2
n
1
[(2
n
2)
11
+
13
]

11
=
9

12
=
1
2
n
1
[(2
n
2)
9
+
10
]

13
=
12
Le but est dessayer de calculer lvolution de chacun de ces . Continuons lva-
luation.
166 Annexe A. Calcul des Coecients H
Nous avons, pour tous S
1
, T
1
, S
2
, T
2
xs :

L
1
,R
1
,L
2
,R
2
H =[ B
n
[
k

L
1
,R
1
,L
2
,R
2
H 2
4n
[ B
n
[
k
= 2
4n

L
1
,R
1
,L
2
,R
2
+ 2
2n
(2
2n
1)

1= 2
4n
2
2n
(2
2n
1)
2
2n
2
2n
1
+

L
1
,R
1
,L
2
,R
2
= 2
4n

L
1
,R
1
,L
2
,R
2
= 0.
De manire symtrique, pour tous L
1
, R
1
, L
2
, R
2
xs :

S
1
,T
1
,S
2
,T
2
H =[ B
n
[
d

S
1
,T
1
,S
2
,T
2
= 0.
A.3.3.2 valuation asymptotique du comportement des
Cas S
1
,= S
2
et S
1
S
2
,= T
1
T
2
(indices 1, 2, 3, 4, 5) Les formules de rcurrence
pour les donnent :
_

1
=
1
2
n
1
[(2
n
3)
1
+
2
+
4
]

2
=
1
2
n
1
[(2
n
2)
3
+
5
]

3
=
1

4
=
1
2
n
1
[(2
n
2)
1
+
2
]

5
=
4
.
Par ailleurs, lquation prcdente correspondant la somme des sur les entres
possibles donne :
(2
n
1)(2
n
2)
1
+ (2
n
1)
2
+ (2
n
2)
3
+ (2
n
1)
4
+
5
= 0
(2
n
2)
3
+
5
= (2
n
1)(2
n
2)
1
+ (2
n
1)
2
+ (2
n
1)
4
.
On dduit :
_

1
=
(2
n
3)
1
2
n
1
+

2
2
n
1
+

4
2
n
1

2
= (2
n
+ 2)
1

4
=
(2
n
2)
1
2
n
1
+

2
2
n
1

3
=
1

5
=
4
En passant aux

correspondant M
k+2
L
:
A.3. Calculs des Coecients H pour les schmas du type Misty,
Mthode par rcurrence 167
_

1
=

1
2

1
+

4
2
n
1

2
=
1
+

1
+

4
=

1

1
2
n
1

3
=
1

5
=
4
De ces deux ensembles dgalits, on dduit que
1
au tour dcrot dun facteur
au moins 2
n
tous les deux tours (
1
au tour k dcrot de 2
n
par rapport la plus
grande valeur de
1
,
2
,
4
, au tour k2). On peut observer le mme phnomne pour

4
. Lexpression pour

2
, associe aux autres expression ci-dessus, permet encore de
dduire la mme chose. Lvolution de
3
est la mme que
1
et celle de
5
la mme
que
4
.
Cas S
1
= S
2
et S
1
S
2
,= T
1
T
2
(indices 6,7,8) Les formules de rcurrence
pour les donnent :
_
_
_

6
=
1
2
n
1
[(2
n
2)
6
+
7
]

7
=
8

8
=
6
Par ailleurs, lquation prcdente correspondant la somme des sur les entres
possibles donne :
(2
n
1)
6
+
7
+
8
= 0

8
= (2
n
1)
6

7
On dduit :
_
_
_

6
=

6

8
2
n
1

8
=
6

7
=
8
Lquation pour

6
montre que
6
dcrot au moins dun facteur 2
n
par rapport
la plus grande des valeurs de
6
et
8
du tour prcdent.
8
et
7
voluent comme

6
.
Cas S
1
S
2
= T
1
T
2
et S
1
,= S
2
(indices 9,10,11,12,13) Les formules de
rcurrence pour les donnent :
_

9
=
1
2
n
1
[(2
n
3)
9
+
10
+
12
]

10
=
1
2
n
1
[(2
n
2)
11
+
13
]

11
=
9

12
=
1
2
n
1
[(2
n
2)
9
+
10
]

13
=
12
Par ailleurs, lquation prcdente correspondant la somme des sur les entres
possibles donne :
(2
n
1)(2
n
2)
9
+ (2
n
1)
10
+ (2
n
2)
11
+ (2
n
1)
12
+
13
= 0
(2
n
2)
11
+
13
= (2
n
1)(2
n
2)
9
(2
n
1)
10
(2
n
1)
12
.
168 Annexe A. Calcul des Coecients H
On dduit :
_

9
=
1
2
n
1
[(2
n
3)
9
+
10
+
12
]

10
= (2
n
+ 2)
9

10

12

12
=
2
n
2
2
n
1

9
+

10
2
n
1

11
=
9

13
=
12
Remarquons maintenant que pour deux tours,
9
=
12
. Les relations de rcur-
rence prcdentes impliquent alors que pour tout k 2, la valeurs de
9
au tour k
et la mme que celle de
12
. Lensemble de formules de rcurrence se rcrit alors :
_

9
=
1
2
n
1
[(2
n
2)
9
+
10
]

10
= (2
n
+ 1)
9

10
=
11

11
=
9

13
=
9

12
=
9
En passant aux

correspondant M
k+2
L
, on obtient :

9
=
2
9
2
n
1
+

9
(2
n
1)
2

10
(2
n
1)
2
. On en dduit que
9
au tour k, dcrot dun facteur au moins 2
n
par rapport
9
et
10
du tour k 2.
11
,
12
et
13
voluent comme
9
et par suite

10
galement.
Finalement, les dcroissent globalement dun facteur au moins 2
n
tous les deux
tours.
A.3.3.3 Les pour trois et quatre tours
Ci-dessous les valeurs de pour trois et quatre tours. On peut aussi les calculer
partir des valeurs exactes de H (section 4.1.4 de la section 4.1).
3 tours.

1
=
42
2n
(2
n
1)
3
(2
n
+1)

4
2
2n

2
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

3
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

4
=
2
2n
(2
n
3)
(2
n
1)
3
(2
n
+1)

1
2
n

5
=

1=
2
2n
(2
n
1)(2
n
+1)
1

6
=
2
2n
(2
n
3)
(2
n
1)
3
(2
n
+1)

1
2
n

7
=

1=
2
2n
(2
n
+1)(2
n
1)
1

8
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

9
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

10
=

1=
2
2n
(2
n
1)(2
n
+1)
1

11
=

1 1

12
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

13
=

1 1
A.4. Calcul des Coecients H pour les schmas de Feistel avec
permutations internes, Mthode par Rcurrence 169
4 tours

1
=
2
2n
(2
n
7)
(2
n
1)
4
(2
n
+1)

1
2
2n

2
=
2
2n
(2
n
3)
(2
n
1)
3
(2
n
+1)

1
2
n

3
=
42
2n
(2
n
1)
3
(2
n
+1)

4
2
2n

4
=
22
2n
(2
n
3)
(2
n
1)
4
(2
n
+1)

2
2
2n

5
=
2
2n
(2
n
3)
(2
n
1)
3
(2
n
+1)

1
2
n

6
=
2
2n
(32
n
5)
(2
n
1)
4
(2
n
+1)

3
2
2n

7
=
22
2n
(2
n
+1)(2
n
1)
2

2
2
n

8
=
2
2n
(2
n
3)
(2
n
1)
3
(2
n
+1)

1
2
n

9
=
2
2n
(2
n
3)
(2
n
1)
3
(2
n
+1)

1
2
n

10
=

1 1

11
=
22
2n
(2
n
1)
2
(2
n
+1)

2
2
n

12
=
9

2
2
n

13
=
11

2
2
n
A.4 Calcul des Coecients H pour les schmas de Feis-
tel avec permutations internes, Mthode par Rcur-
rence
Dans cette section, nous montrons comment les coecients H pour les schmas
de Feistel avec permutations internes peuvent tre obtenus par rcurrence. Ceci
permet galement de valider les formules directes obtenues la section A.2.
A.4.1 Coecients H pour un tour et deux tours
A.4.1.1 Un tour
Dans le cas de
1
, nous avons (voir aussi gure A.6) :
_
S = R
T = R f
1
(L)
L
1 f R=S
T
Figure A.6: Un tour de Schma de Feistel
Dans le cadre dune attaque deux points, pour
1
, on a ncessairement :
_
S
1
= R
1
, S
2
= R
2
R
1
= R
2
T
1
R
1
= L
2
L
2
.
170 Annexe A. Calcul des Coecients H
Ainsi, si ces conditions ne sont pas vries, H = 0. Lorsquelles le sont, comme
f
1
sapplique sur le bloc L, si L
1
= L
2
, on a H =
|Bn|
2
n
, et H =
|Bn|
2
n
(2
n
1)
, sinon.
Revenons aux 13 cas distingus pour un nombre de tours k = 1 impair (voir
sous-section A.2.4). Notons H
c
la valeur de H pour le cas c. On obtient, pour un
tour de schma du type Misty :
H
imp
1
= 0,
H
imp
2
= 0,
H
imp
3
=
|Bn|
2
n
(2
n
1)
,
H
imp
4
= 0,
H
imp
5
= 0,
H
imp
6
= 0,
H
imp
7
= 0,
H
imp
8
= 0,
H
imp
9
= 0,
H
imp
10
= 0,
H
imp
11
= 0,
H
imp
12
=
|Bn|
2
n
,
H
imp
13
= 0.
A.4.1.2 Deux tours
Pour deux tours, on a les relations suivantes (voir aussi gure A.7) :
_
S = f
1
(R) L
T = f
2
(S) R.
L S
f
T
3 R
1 f
Figure A.7: Deux tours de schmas de Feistel
Considrons les onze cas distingus pour un nombre de tours k = 2 pair
(voir sous-sectionA.2.4). On a les valeurs suivantes pour le coecient H pour deux
tours et pour chaque cas
A.4. Calcul des Coecients H pour les schmas de Feistel avec
permutations internes, Mthode par Rcurrence 171
H
pair
1
=
|Bn|
2
2
2n
(2
n
1)
2
,
H
pair
2
= 0,
H
pair
3
=
|Bn|
2
2
2n
(2
n
1)
2
,
H
pair
4
= 0,
H
pair
5
=
|Bn|
2
2
2n
(2
n
1)
2
,
H
pair
6
= 0,
H
pair
7
= 0,
H
pair
8
=
|Bn|
2
2
n
(2
n
1)2
n
,
H
pair
9
= 0,
H
pair
10
= 0,
H
pair
11
= 0.
A.4.2 Formules de rcurrence pour les coecients H
Pour k 3 tours, nous allons tablir des formules permettant dobtenir les
valeurs pour H pour le tour k + 1, partir des valeurs de H le tour k.
Pour tablir ces formules, il sut de remarquer que
k+1
avec permutations
internes (f
1
, . . . , f
k+1
) appliqu [L, R], est compos de
k
1 avec permutation in-
terne (f
1
, . . . , f
k
) appliqu [L, R], et de
1
avec permutation interne f
k+1
appliqu
[X
k3
, S]. (gure A.8 pour M
k
L
).
L 1 3 k f X T S
k f
R
f 2 f 1 f
k2
X
1
X
2
Figure A.8:
k
(f
1
, . . . , f
k
)([L, R]) = [S, T]
Pour k 2, notons H

c
la valeur de H dans le cas c pour k +1 tours, et H
c
cette
valeur pour k tours. Les formules de rcurrence sont les suivantes :
172 Annexe A. Calcul des Coecients H
Pour les cas impairs :
H
imp
1
=
[ B
n
[
2
n
1
_
(2
n
3) H
pair
1
+H
pair
2
+H
pair
4
_
H
imp
2
=
[ B
n
[
2
n
1
_
(2
n
2) H
pair
1
+H
pair
2
_
H
imp
3
=
[ B
n
[
2
n
1
_
(2
n
3) H
pair
4
+H
pair
8
+H
pair
10
_
H
imp
4
=
[ B
n
[
2
n
1
_
(2
n
3) H
pair
2
+H
pair
6
+h
pair
8
_
H
imp
5
=
[ B
n
[
2
n
1
_
(2
n
2) H
pair
1
+H
pair
4
_
H
imp
6
=
[ B
n
[
2
n
1
_
(2
n
2) H
pair
2
+H
pair
8
_
H
imp
7
=
[ B
n
[
2
n
1
_
(2
n
2) H
pair
2
+H
pair
6
_
H
imp
8
= H
pair
7
H
imp
9
=
[ B
n
[
2
n
1
_
(2
n
2) H
pair
4
+H
pair
10
_
H
imp
10
= [ B
n
[ H
pair
3
H
imp
11
=
[ B
n
[
2
n
1
_
(2
n
2) H
pair
4
+H
pair
8
_
H
imp
12
= [ B
n
[ H
pair
11
H
imp
13
= [ B
n
[ H
pair
9
A.4. Calcul des Coecients H pour les schmas de Feistel avec
permutations internes, Mthode par Rcurrence 173
Pour les cas pairs :
H
pair
1
=
[ B
n
[
2
n
1
_
(2
n
3) H
imp
1
+H
imp
3
+H
imp
4
_
H
pair
2
= [ B
n
[ H
imp
5
H
pair
3
=
[ B
n
[
2
n
1
_
(2
n
2) H
imp
1
+H
imp
3
_
H
pair
4
=
[ B
n
[
2
n
1
_
(2
n
2) H
imp
1
+H
imp
4
_
H
pair
5
=
[ B
n
[
2
n
1
_
(2
n
2) H
imp
5
+H
imp
9
_
H
pair
6
= [ B
n
[ H
imp
6
H
pair
7
= [ B
n
[ H
imp
10
H
pair
8
= [ B
n
[ H
imp
9
H
pair
9
=
[ B
n
[
2
n
1
_
(2
n
2) H
imp
5
+H
imp
6
_
H
pair
10
=
[ B
n
[
2
n
1
_
(2
n
2) H
imp
2
+H
imp
7
_
H
pair
11
= [ B
n
[ H
imp
13
Ces relations de rcurrence permettent dobtenir toutes les valeurs des coe-
cients H pour nimporte quel nombre de tours. Nous avons galement pu valider,
pour les premiers tours, les formules directes de la section A.2. Lanalyse du com-
portement asymptotique global des na pas t faite pour les schmas de Feistel
avec permutations internes. Lanalyse semble plus dlicate que pour le cas de sch-
mas du type Misty. Par exemple, pour ces schmas Misty L, on peut voir dans les
tableaux de la section 4.2 que lvolution des ou de la complexit des attaques
est assez rgulire. Par contre, dans le cas des schmas de Feistel avec permutations
internes, cette volution est plus complexe. Des formules de rcurrence permettant
de prouver la dcroissance des doivent cependant pouvoir tre tablies.
Bibliographie
[AB96] R. Anderson and E. Biham. Two Practical and Provably Secure Block
Ciphers : BEAR and LION, 1996. 4
[AIK
+
00] K. Aoki, T. Itchikawa, M. Kanda, M. Matsui, J. Nakajima S. Moriai,
and T. Tokita. Camellia : A 128-bit Block Cipher Suitable for Multiple
Platforms - Design and Analysis. In SAC 2000, volume 2012, pages
3956. Springer, 2000. 4
[AV96] W. Aiello and R. Venkatesan. Foiling Birthday Attacks in Length-
Doubling Transformations - Benes : A Non-Reversible Alternative to
Feistel. In Advances in Cryptology EUROCRYPT 1996, volume 1070
of Lecture Notes in Computer Science, pages 307320. Springer-Verlag,
1996. 16
[Bar04] M. Bardet. tude des Systmes Algbriques Surdtermins. Applications
aux Codes Correcteurs et la Cryptographie. PhD thesis, Universit de
Paris VI, 2004. 88, 90, 91, 130
[BCP97] W. Bosma, J. J. Cannon, and C. Playoust. The Magma Algebra System
I : The User Language. Journal of Symbolic Computation, 24(3/4) :235
265, 1997. 104, 130, 131
[BFFP10] C. Bouillaguet, J.-C. Faugre, P.-A. Fouque, and L. Perret. Isomorphism
of Polynomials : New Results, October 2010. Unpublished manuscript.
93
[BFJT09] C. Bouillaguet, P.-A. Fouque, A. Joux, and J. Treger. A Family of Weak
Keys for HFE and the Practical Corresponding Key Recovery. In SCC
2010, 2009. Submitted at the Journal of Mathematical Cryptology. 77,
90, 92, 111, 134, 139
[BFSY05] M. Bardet, J.-C. Faugre, B. Salvy, and B.-Y. Yang. Asymptotic Beha-
viour of the Degree of Regularity of Semi-Regular Polynomial Systems.
In MEGA 2005, 2005. 90, 91, 111, 130
[BGP06] Cme Berbain, H. Gilbert, and J. Patarin. QUAD : A Practical Stream
Cipher with Provable Security. In Vaudenay [Vau06], pages 109128.
140
[Bih97] E. Biham. Cryptanalysis of Ladder-DES. In FSE 1997, volume 1267,
pages 134138. Springer, 1997. 4
[Buc65] B. Buchberger. Ein Algorithmus zum Aunden der Basiselemente des
Restklassenringes nach einem Nulldimensionalen Polynomideal. PhD
thesis, University of Innsbruck, 1965. 84, 88, 89
[BWP05] A. Braeken, C. Wolf, and B. Preneel. A Study of the Security of Unba-
lanced Oil and Vinegar Signature Schemes. In CT-RSA 2005, volume
3376 of LNCS, pages 2943. Springer, February 2005. 112, 139
176 Bibliographie
[CKPS00] N. Courtois, A. Klimov, J. Patarin, and A. Shamir. Ecient Algorithms
for Solving Overdened Systems of Multivariate Polynomial Equations.
In Advances in Cryptology EUROCRYPT 2000, pages 392407, 2000.
88
[CLO07] D. A. Cox, J. B. Little, and D. OShea. Ideals, Varieties, and Algo-
rithms : An Introduction to Computational Algebraic Geometry and
Commutative Algebra. Springer-Verlag New York, Inc., Secaucus, NJ,
USA, 2007. 84, 86, 89
[Cou01] N. Courtois. The Security of Hidden Field Equations (HFE). In CT-
RSA 2001, volume 2020, pages 156167. Springer, 2001. 114
[DFS07] V. Dubois, P.-A. Fouque, and J. Stern. Cryptanalysis of SFLASH with
Slightly Modied Parameters. In Advances in Cryptology EURO-
CRYPT 2007, volume 4515, pages 264275. Springer, 2007. 95, 115
[DFSS07] V. Dubois, P.-A. Fouque, A. Shamir, and J. Stern. Practical Cryptana-
lysis of SFLASH. Advances in Cryptology - CRYPTO07, 4622 :112,
2007. 95, 115, 139
[DGF06] V. Dubois, L. Granboulan, and P.-A. Fouque. An Ecient Provable
Distinguisher for HFE. In ICALP 2006, volume 4052, pages 156167.
Springer, 2006. 115, 139
[DSW08] J. Ding, D. Schmidt, and F. Werner. Algebraic Attack on HFE Revi-
sited. In Tzong-Chen Wu, Chin-Laung Lei, Vincent Rijmen, and Der-
Tsai Lee, editors, ISC 2008, volume 5222 of Lecture Notes in Computer
Science, pages 215227. Springer, 2008. 111
[Dub07] V. Dubois. Cryptanalyse de Schmas Multivaris. PhD thesis, Univer-
sit Paris VI, 2007. 95, 115
[Fau99] J.-C. Faugre. A New Ecient Algorithm for Computing Grbner Bases
(F4). Journal of Pure and Applied Algebra, 139 :6188, June 1999. 88
[Fau02] J.-C. Faugre. A New Ecient Algorithm for Computing Grbner Bases
Without Reduction to Zero (F5). In ISSAC 2002, pages 7583. ACM
Press, July 2002. isbn : 1-58113-484-3. 88, 89, 110, 111, 114
[FGLm93] J.-C. Faugre, P. Gianni, D. Lazard, and T. mora. Ecient Computa-
tion of Zero-Dimensional Grbner Bases. Journal of Symbolic Compu-
tation, 16 :329 344, 1993. 91
[FGS05] P.-A. Fouque, L. Granboulan, and J. Stern. Dierential Cryptanalysis
for Multivariate Schemes. In Advances in Cryptology EUROCRYPT
2005, volume 3494, pages 341 353. Springer, 2005. 114, 115
[FJ03a] J.-C. Faugre and A. Joux. Algebraic Cryptanalysis of Hidden Field
Equation (HFE) Cryptosystems Using Grbner Bases. In Dan Boneh,
editor, Advances in Cryptology CRYPTO 2003, volume 2729 of Lecture
Notes in Computer Science, pages 4460. Springer, 2003. 83, 95, 111,
114, 115
Bibliographie 177
[FJ03b] J.-C. Faugre and A. Joux. Algebraic Cryptanalysis of Hidden Field
Equation (HFE) Cryptosystems Using Grbner Bases. In Advances
in Cryptology CRYPTO 2003, volume 2729 of LNCS, pages 4460.
Springer, 2003. 97
[FJPT10] J.-C. Faugre, A. Joux, L. Perret, and J. Treger. Cryptanalysis of the
Hidden Matrix Cryptosystems. In LATINCRYPT 2010, 2010. 77, 90,
97, 100, 138
[FMR10] P.-A. Fouque and G. Macariot-Rat. Pencils, Kernels and Dierentials :
Revisited Tools for Multivariate Cryptology, 2010. Unpublished Ma-
nuscript - Submitted to CRYPTO 2010. 95
[FMRS08] P.-A. Fouque, G. Macario-Rat, and J. Stern. Key Recovery on Hidden
Monomial Multivariate Schemes. In Nigel P. Smart, editor, Advances
in Cryptology EUROCRYPT 2008, volume 4965 of Lecture Notes in
Computer Science, pages 1930. Springer, 2008. 92
[FP06] J.-C. Faugre and L. Perret. Polynomial Equivalence Problems : Algo-
rithmic and Theoretical Aspects. In Vaudenay [Vau06], pages 3047.
93
[FY30] A. Fraenkel and Y. Yesha. Complexity of Problems in Games, Graphs
and Algebraic Equations. Discrete Appl. Maths, 1 :369380, 15-30. 79
[Gan59] F. G. Gantmacher. The Theory of Matrices, volume 1. Chelsea Publi-
shing Company, 1959. 98
[GJS06] L. Granboulan, A. Joux, and J. Stern. Inverting HFE Is Quasipoly-
nomial. In Advances in Cryptology CRYPTO 2006, pages 345356,
2006. 95, 97, 114, 115, 139
[GM01] H. Gilbert and M. Minier. New Results on the Pseudorandomness of
Some Blockcipher Constructions. In FSE 2001, volume 2355 of Lecture
Notes in Computer Science, pages 248266. Springer-Verlag, 2001. 7, 9,
27
[GM02] H. Gilbert and M. Minier. Cryptanalysis of SFLASH. In L. R. Knudsen,
editor, Advances in Cryptology EUROCRYPT 2002, volume 2332 of
Lecture Notes in Computer Science, pages 288298. Springer, 2002. 95,
112, 139
[Goz97] Y. Gozard. Thorie de Galois. Ellipses Marketing, 1997. 81, 82
[GP97] L. Goubin and J. Patarin. Assymetric Cryptography with S-Boxes. In
ICICS 1997, volume 1334, pages 369380. Lecture Notes in Computer
Science, 1997. 79
[Hir64] H. Hironaka. Resolution of Singularities of an Algebraic Variety over a
Field of Characteristic Zero. Ann. Math., 79 :109326, 1964. 84
[IM85] H. Imai and T. Matsumoto. Algebraic Methods for Constructing Asym-
metric Cryptosystems. In AAECC-3 1985, volume 229, pages 108119.
Lecture Notes in Computer Science, 1985. 98, 104, 138
178 Bibliographie
[Jou09] A. Joux. Algorithmic Cryptanalysis, volume 1 of 1. Chapman & Hall,
2009. 84, 88
[Jut98] C. S. Jutla. Generalised Birthday Attacks on Unbalanced Feistel Net-
works. In Advances in Cryptology CRYPTO 1998, volume 1462, pages
186199. Springer, 1998. 3, 9
[Ka] Specication of the 3GPP Condentiality and Integrity Algorithm KA-
SUMI. 7
[Knu98] L. R. Knudsen. DEAL - A 128-bit Block Cipher. Techni-
cal report, Technical report number 151, University of Ber-
gen, Norway NIST AES Proposal, 1998. Available at
http ://www2.mat.dtu.dk/people/Lars.R.Knudsen/newblock.html.
4
[Knu02] L. R. Knudsen. The Security of Feistel Ciphers with Six Rounds or
Less. Journal of Cryptology, 15 :207222, 2002. 4, 12, 17
[Kob98] N. Koblitz. Algebraic Aspects of Cryptography., volume 3 of Algorithms
and Computation in Mathematics. Springer-Verlag, 1998. 80
[KPG99] A. Kipnis, J. Patarin, and L. Goubin. Unbalanced Oil and Vinegar
Signature. In Advances in Cryptology EUROCRYPT 1999, volume
1592 of Lecture Notes in Computer Science, pages 206222. Springer-
Verlag, 1999. 96, 112, 140
[KS98] A. Kipnis and A. Shamir. Cryptanalysis of the Oil and Vinegar Signa-
ture Scheme. In CRYPTO 98, volume 1462, pages 257266. Springer,
1998. 96
[KS99] A. Kipnis and A. Shamir. Cryptanalysis of the HFE Public Key Cryp-
tosystem by Relinearization. In Michael J. Wiener, editor, Advances in
Cryptology CRYPTO 1999, volume 1666 of Lecture Notes in Computer
Science, pages 1930. Springer, 1999. 114
[KW02] L. Knudsen and D. Wagner. Integral Cryptanalysis. In FSE 2002,
volume 2365 of Lecture Notes in Computer Science, pages 112127.
Springer-Verlag, 2002. 7, 27
[Laz83] D. Lazard. Gaussian Elimination and Resolution of Systems of Alge-
braic Equations. EUROCAL 83, 162 :146157, 1983. 88
[LM91] Xuejia Lai and James. L Massey. A Proposal for a New Block En-
crytption Standard. In Advances in Cryptology EUROCRYPT 1990,
volume 473 of Lecture Notes in Computer Science, pages 389404.
Springer-Verlag, 1991. 6
[LN96] R. Lidl and H. Niederreiter. Finite Fields. Cambridge University Press,
1996. 81, 82
[LR88] M. Luby and C. Racko. How to Construct Pseudorandom Permuta-
tions from Pseudorandom Functions. SIAM Journal on Computing, 17
n.2 :373386, 1988. 3, 12, 16
Bibliographie 179
[Mac16] F. S. Macaulay. The Algebraic Theory of Modular Systems. In Cam-
bridge Mathematical Library. Cambridge University Press, 1916. 88
[Mat97] M. Matsui. New Block Encrytpion Algorithm MISTY. In FSE 1997, vo-
lume 1267 of Lecture Notes in Computer Science, pages 5468. Springer-
Verlag, 1997. 6, 7
[MI88] T. Matsumoto and H. Imai. Public Quadratic Polynomial-tuples for
Ecient Signature-Verication and Message-Encryption. In Advances
in Cryptology EUROCRYPT 1988, volume 330 of LNCS, pages 419
453. SpringerVerlag, 1988. 93, 94, 111, 139
[Nac01] David Naccache, editor. Topics in Cryptology - CT-RSA 2001, The
Cryptographers Track at RSA Conference 2001, San Francisco, CA,
USA, April 8-12, 2001, Proceedings, volume 2020 of Lecture Notes in
Computer Science. Springer, 2001. 180
[NPT09] V. Nachef, J. Patarin, and J. Treger. Generic Attacks on Misty Schemes,
Extended Version. Cryptology eprint Archive, Report 2009-405, 2009.
35
[NPT10] V. Nachef, J. Patarin, and J. Treger. Generic Attacks on Misty Schemes.
In LATINCRYPT 2010, 2010. 7, 9, 11, 19, 47, 138
[Nyb96] K. Nyberg. Linear Approximation of Block Ciphers. In Advances in
Cryptology EUROCRYPT 1994, volume 950, pages 439444. Springer,
1996. 4
[Pat91] J. Patarin. tude des Gnrateurs de Permutations Pseudo-Alatoires
Bass sur le Schma du DES. PhD thesis, Universit de Paris VI, 1991.
44, 137
[Pat95] J. Patarin. Cryptanalysis of the Matsumoto and Imai Public Key
Scheme of Eurocrypt88. Advances in Cryptology - CRYPTO95,
963 :248261, 1995. 94, 95, 99, 111, 116, 122, 139
[Pat96] J. Patarin. Hidden Fields Equations (HFE) and Isomorphisms of Poly-
nomials (IP) : Two new families of asymmetric algorithms. In Advances
in Cryptology EUROCRYPT 1996, volume 1070 of LNCS, pages 33
48. SpringerVerlag, 1996. 77, 84, 92, 94, 97, 111, 113, 114, 132, 133,
139
[Pat97] J. Patarin. The Oil and Vinegar Signature Scheme. presented at the
Dagstuhl Workshop on Cryptography, 1997. 80
[Pat01] J. Patarin. Generic Attacks on Feistel Schemes. In Advances in Cryp-
tology ASIACRYPT 2001, volume 2248 of Lecture Notes in Computer
Science, pages 222238. Springer-Verlag, 2001. 9, 12, 14, 15, 16, 19, 22,
59, 70
[PCG98a] J. Patarin, N. Courtois, and L. Goubin. C

+
and HM : Variations on
Two Schemes of T.Matsumoto and H.Imai. In Advances in Cryptology
ASIACRYPT 1998, volume 1514, pages 3550. Springer, 1998. 77,
95, 98, 99, 100, 103, 104, 138
180 Bibliographie
[PCG98b] J. Patarin, N. Courtois, and L. Goubin. C
+
and HM : Variations on
Two Schemes of T.Matsumoto and H.Imai, Extended Version. Available
From the Authors, 1998. 101, 104
[PCG01a] J. Patarin, N. Courtois, and L. Goubin. FLASH, a Fast Multivariate
Signature Algorithm. In Naccache [Nac01], pages 298307. 80, 115
[PCG01b] J. Patarin, N. Courtois, and L. Goubin. QUARTZ, 128-Bit Long Digital
Signatures. In Naccache [Nac01], pages 282297. 80, 113
[PGC98] J. Patarin, L. Goubin, and N. Courtois. Improved Algorithms for Iso-
morphisms of Polynomials. In Advances in Cryptology EUROCRYPT
1998, pages 184200, 1998. 92
[Pir06] G. Piret. Luby-Racko revisited : On the Use of Permutations as Inner
Functions of a Feistel Scheme. Designs, Codes and Cryptography, 39,
no.2 :233245, 2006. 4, 9
[PM06] J. Patarin and A. Montreuil. Benes and Buttery Schemes Revisited.
In ICISC 2006, volume 3935, pages 92116. Springer, 2006. 9
[PNB06a] J. Patarin, V. Nachef, and C. Berbain. Generic Attacks on Unbalanced
Feistel Schemes with Contracting Functions. In Advances in Cryptology
ASIACRYPT 2006, volume 4284, pages 396411. Springer, 2006. 4,
9, 31, 47
[PNB06b] J. Patarin, V. Nachef, and C. Berbain. Generic Attacks on Unbalanced
Feistel Schemes with Expanding Functions, Extended Version, 2006.
Available from the authors. 4, 9, 47
[PQ05] G. Piret and J.-J. Quisquater. Security of the MISTY Structure in the
Luby-Racko Model : Improved results. In SAC 2005, volume 3357
of Lecture Notes in Computer Science, pages 100115. Springer-Verlag,
2005. 7
[RPW97] R. Rijmen, B. Preneel, and E. De Win. On Weakness of Non-Surjective
Round Functions. Designs, Codes and Criptography, 12, no.3 :253266,
1997. 4, 137
[SFL] SFLASH, a Fast Asymetric Signature Scheme for Low Cost Smart
Cards. http://www.nessie.org. 95
[SK96] B. Schneier and J. Kelsey. Unbalanced Feistel Networks and Block
Cipher Design. In FSE 1996, volume 1039, pages 121144. Springer,
1996. 3
[Suga] M. Sugita. Pseudorandomness of a Block Cipher MISTY. Technical
report, Technical Report of IEIECE, ISEC 96-9. 7
[Sugb] M. Sugita. Pseudorandomness of a Block Cipher with Recursive Stric-
tures. Technical report, Technical Report of IEIECE, ISEC 97-9. 7
[SZ97] K. Sakurai and Y. Zheng. On Non-Pseudorandomness from Block Ci-
phers with Provable Immunity Against Linear Cryptanalysis. In IEICE
1997, volume E80-A,n.1, 1997. 7, 22, 24
Bibliographie 181
[TP09] J. Treger and J. Patarin. Generic Attacks on Feistel Networks with
Internal Permutations. In Progresses in Cryptology AFRICACRYPT
2009, Lecture Notes in Computer Science. Springer-Verlag, 2009. 4, 9,
11, 12, 19, 31, 47, 137, 138
[Vau06] Serge Vaudenay, editor. Advances in Cryptology - EUROCRYPT 2006,
25th Annual International Conference on the Theory and Applications
of Cryptographic Techniques, St. Petersburg, Russia, May 28 - June 1,
2006, Proceedings, volume 4004 of Lecture Notes in Computer Science.
Springer, 2006. 175, 177
[WDGY05] Z. Wu, J. Ding, J. E. Gower, and D. Ye. Perturbed Hidden Matrix
Cryptosystems. ICCSA, 1462 :595602, 2005. 138
[WP05a] C. Wolf and B. Preneel. Large Superuous Keys in Multivariate Qua-
dratic Asymmetric Systems. In Serge Vaudenay, editor, PKC 2005,
volume 3386 of Lecture Notes in Computer Science, pages 275287.
Springer, 2005. 113
[WP05b] C. Wolf and B. Preneel. Taxonomy of Public Key Schemes Based on
the Problem of Multivariate Quadratic Equations. Cryptology ePrint
Archive, Report 2005/077, 2005. http://eprint.iacr.org/. 80