Vous êtes sur la page 1sur 20

Prsentation personnelle

Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Cryptographie

Advanced Encryption System


-AES-

Olivier Frider
ETR6

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Cryptographie
Advanced Encryption System - AES :

1.
2.
3.
4.
5.

INTRODUCTION :.............................................................................................................................3
UN PEU D'HISTOIRE... :....................................................................................................................3
MOTIVATIONS :..............................................................................................................................3
LES LOIS DE MATRE SHANNON :......................................................................................................4
CRYPTOGRAPHIES SYMTRIQUE ET ASYMTRIQUE :................................................................................4
5.1) PRINCIPE DE LA CRYPTOGRAPHIE SYMTRIQUE :.......................................................................................4
5.2) PRINCIPE DE LA CRYPTOGRAPHIE ASYMTRIQUE :.....................................................................................5

6. ALGORITHMES DE BLOC ET DE FLOT :.................................................................................................6


7. DATA ENCRYPTION SYSTEM (DES) :................................................................................................6
8. VERS UN NOUVEAU STANDARD :........................................................................................................7
8.1) UN NOUVEL ALGORITHME POUR REMPLACER DES :.................................................................................7
8.2) LE CHOIX DU NIST :.........................................................................................................................7

9. ADVANCED ENCRYPTION SYSTEM (AES) :........................................................................................8


9.1)
9.2)
9.3)
9.4)
9.5)
9.6)

STRUCTURE DE L'ALGORITHME SCHMA BLOC :.....................................................................................8


MISE EN FORME DES ENTRES :............................................................................................................9
PREMIRE TAPE ROUND 0 :.............................................................................................................9
DEUXIME TAPE ROUNDS 1-9 :.......................................................................................................9
TROISIME TAPE ROUND 10 :........................................................................................................15
EXTENSION DE LA CL KEY EXPANSION :.........................................................................................15

10. DCHIFFRAGE :............................................................................................................................18


11. CONCLUSION :..............................................................................................................................19
12. SOURCES :...................................................................................................................................19

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

1. INTRODUCTION :
Ce document a pour but d'exposer les principes de base de la cryptographie. Il ne constitue nanmoins pas
une initiation complte et exhaustivement dtaille mais expose plutt les principales notions ncessaires
l'tude de l'algorithme AES. L'tude d'AES commencera par les motivations qui ont conduit son
laboration, puis les mcanismes successifs lis l'algorithme lui-mme seront prsents.

2. UN PEU D'HISTOIRE... :
Depuis fort longtemps, les activits de l'homme caractres religieux, guerrier et, plus rcemment,
commercial, ont conduit ce dernier chiffrer l'information. 2000 ans avant notre re, des scribes gyptiens
recouraient des hiroglyphes modifis pour masquer la signification de certains textes. En 1700 avant
Jsus-Christ, les Crtois utilisaient des disques de chiffrement (disques de Phastos) pour, semble-t-il,
dissimuler d'ventuels lecteurs non-initis des secrets destins aux membres de leur caste.
Les premires utilisations militaires connues datent de 400 avant notre re, par les Spartiates. Ainsi le
gnral spartiate Lysandre utilisait-il un bton appel scytale sur lequel s'enroulait un ruban en spirale.
Le ruban contenait le texte et, une fois enroul, il tait possible de lire le texte verticalement sur le bton.
Un bton de diamtre incorrect ne restituait pas le texte original, ce qui faisait du diamtre du bton la cl
du chiffrement.
Jules Csar recourait une substitution simple de lettres pour communiquer avec ses gnraux; la cl
constituait la distance de substitution. Ainsi, une cl de 3 le conduisait remplacer la lettre A par la
lettre D , la lettre B par la lettre E , etc.
Au Moyen Age, l'Eglise s'inquite de la circulation d'ides subversives et finit par imposer l'interdiction de
crypter l'information. Ceci freine l'volution de la cryptographie et il faudra attendre le XVme sicle et
l'invention de l'imprimerie pour que le dveloppement de cette science puisse se poursuivre.
L'apparition des communications radio dans le domaine militaire va ensuite rendre la cryptographie
incontournable. La guerre de 1914-1918 est l'un des premiers conflits utiliser systmatiquement la
cryptographie.
La guerre de 1939-1945 va ensuite introduire les machines chiffrer qui vont remplacer le chiffrement
jusqu'ici effectu la main. La plus clbre de ces machines est sans doute l'Enigma de l'arme allemande
dont l'tude mobilisa nombre de brillants mathmaticiens polonais (dont Marian Rejewski) dans un
premier temps, puis chez les Allis (parmi lesquels on peut citer Alan Turing).

3. MOTIVATIONS :
L'histoire a dmontr le besoin de la cryptographie et l're de l'conomie de march et de la concurrence
ne fait que le confirmer. Il est aujourd'hui vital, pour les entreprises, d'tre en mesure de garder une
certaine confidentialit dans leurs affaires.
On peut citer comme exemple l'anecdote du transporteur arien europen Airbus qui aurait perdu un juteux
contrat au profit de l'amricain Boeing. Tandis que l'affaire tait sur le point d'tre conclue, Boeing aurait
prsent une offre plus favorable et ainsi vol le contrat destin Airbus. Car c'est bien de vol qu'il
s'agit, le contrat ayant t obtenu par espionnage (Echelon au service de l'conomie...). Ceci n'est qu'une
anecdote, mais elle suffit dmontrer la ncessit de la confidentialit.

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Internet, lui aussi, ne sera pas ce qu'il est sans la cryptographie. Il serait en effet impensable de songer
une quelconque activit financire impliquant une monnaie lectronique sans chiffrage (achats online et
transactions en tout genre).
Plus rcemment, des expriences pilotes ont t mises sur pieds dans le but de proposer aux citoyens
concerns de voter par Internet. Ici aussi, la confidentialit doit tre assure afin de garantir le secret de
vote.

4. LES LOIS DE MATRE SHANNON :


Claude Elwood Shannon (1916-2001) est considr comme le
Pre de la thorie de l'information. Il a tabli le lien entre
l'algbre de Boole et la commutation lectronique, posant ainsi
les bases des systmes numriques actuels. C'est lui que l'on
doit la notion de bit . Il s'est illustr dans de nombreux
domaines, notamment la cryptographie.
Les principes fondamentaux d'un algorithme de cryptographie
sont bass sur deux notions essentielles nonces par Shannon :

La confusion vise rendre le texte aussi peu lisible que


possible. Ceci peut se faire par une substitution
systmatique de symboles ou par un algorithme de codage.
La diffusion vise rendre chaque lment d'information
du texte chiffr dpendant d'un nombre aussi grand que
possible d'lments d'information du texte clair.
figure 4, C. E. Shannon

5. CRYPTOGRAPHIES SYMTRIQUE ET ASYMTRIQUE :


En cryptographie, on distingue deux approches :

La cryptographie symtrique.
La cryptographie asymtrique.

Si les origines de la premire sont trs anciennes (2000 av. J.-C), le principe de la cryptographie
asymtrique n'apparat qu'en 1976.

5.1) Principe de la cryptographie symtrique :


On parle de cryptographie symtrique lorsque les cls de chiffrage et de dchiffrage sont les mmes (cl
secrte). Ceci implique que les deux parties se sont au pralable mises d'accord sur la cl utiliser dans
leur change d'information.

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Prenons l'exemple suivant :

L'metteur (Alice) et le destinataire (Bob) doivent se mettre d'accord pralablement sur la cl (k)
utiliser. Pour ceci, ils ne doivent pas utiliser le rseau de communication standard qui est susceptible
d'tre espionn (par Eve).
Chaque fois qu'Alice veux transmettre un message (m) Bob, elle utilise sa cl secrte pour chiffrer
(c=Ek(m)), et elle envoie le rsultat de ce chiffrage par l'intermdiaire du mme canal.
Bob utilise son tour la mme cl secrte et le mme algorithme public pour dchiffrer le message
cod qu'il a reu.
Les principaux problmes de cette mthode sont les suivants :

Si Eve parvient dcouvrir la cl, alors il pourra dchiffrer tous les messages encods avec cette
cl. Il peut mme se faire passer pour Alice ou Bob.
Il est impratif que la cl ne soit connue que par Alice et Bob. Or l'acheminement de la cl entre
Alice et Bob est un problme non trivial. On parle de canal sr pour dsigner le mdia qui
servira cet change. Dans la pratique, il est difficile de trouver un canal sr.
Pour garantir la scurit du chiffrage symtrique, il faut donc viter de transmettre la cl puisque le canal
de transmission n'est pas sr. Rsoudre ce problme revient trouver une solution au paradoxe suivant :
- Comment transmettre la cl au destinataire sans la transmettre ?
C'est en 1976 que ce problme apparemment insoluble fut rsolu par deux chercheurs amricains :
Whitfield Diffie et Martin Hellman (assists par Ralph Merkle). Ainsi naquit le principe de la
cryptographie asymtrique, considr comme la plus grande russite de la cryptographie moderne.

5.2) Principe de la cryptographie asymtrique :


Ce type de cryptographie est bas sur deux cls spares et distinctes, l'une publique, l'autre maintenue
secrte (prive). Et il est impossible de retrouver l'une partir de l'autre. La source utilise la cl publique
pour chiffrer le message alors que le destinataire utilise la cl prive pour dchiffrer le message.
Une des difficults principales de la mthode symtrique est que chaque couple potentiel d'utilisateurs doit
possder sa propre cl secrte, et se l'changer par un moyen scuris avant leur premier change
d'information, ce qui peut s'avrer difficile raliser dans la pratique. Le but d'un systme cl publique
est de rsoudre ce problme. La cl publique est gnralement publie dans un rpertoire. L'avantage est
donc qu'Alice peut envoyer un message Bob sans communication prive pralable (elle choisit sa cl
prive, et la cl publique de Bob). Bob est la seule personne pouvoir dchiffrer le message en appliquant
sa cl secrte et personnelle, et la cl publique d'Alice. On dit gnralement que chaque cl dverrouille le
code produit par l'autre. Il est intressant de remarquer qu'avec ce systme, mme Alice qui a chiffr un
message pour Bob, ne pourra dchiffrer le message ainsi cod.
Diffie et Hellman ne parvinrent pas mettre en pratique leur admirable trouvaille. C'est au MIT de Boston
que trois chercheurs, sans le savoir, allaient rsoudre le problme de Diffie et Hellman. C'est, en effet, en
tentant de prouver que tout systme cl publique possde une faille que Ronald Rivest, Adi Shamir et
Leonard Adelman aboutirent en 1977 l'algorithme cl publique qui porte dsormais leurs noms : RSA.
La scurit de RSA repose sur la difficult de factoriser des grands nombres entiers premiers.

Prsentation personnelle
Cryptographie
AES

figure 5.2.a, Merkle, Hellman et Diffie

Olivier Frider
ETR6
mai 2004

figure 5.2.b, Shamir, Rivest et Adelman

6. ALGORITHMES DE BLOC ET DE FLOT :


En cryptographie, on peut voir les donnes chiffrer de deux manires diffrentes :

Le texte clair est divis en blocs dont la taille est fixe et dpendante de la longueur de la cl.
Puis, l'algorithme est appliqu successivement chacun de ces blocs. Les algorithmes recourant
cette mthode sont dits de blocs .
Le texte clair est chiffr bit aprs bit en temps rel. Cette mthode est adapte au chiffrage
d'information de nature synchrone comme, par exemple, la parole avec GSM. Les algorithmes
recourant cette mthode sont dits de flot .

7. DATA ENCRYPTION SYSTEM (DES) :


En 1973, le National Institute of Standards and Technology (NIST, anciennement National Bureau of
Standards) fait un appel d'offre de systme cryptographique. Le seul algorithme satisfaisant les exigences
du NIST est propos par IBM. Il est donc choisi pour devenir le nouveau standard et prend le nom de
Data Encryption Standard (DES). Il s'agit d'un algorithme symtrique utilisant des cls de 56 bits (64 bits
moins 8 bits de parit). Il effectue 16 itrations car deux mathmaticiens israliens, Biham et Shamir
(encore lui !) ont mis au point une technique appele cryptanalyse diffrentielle permettant d'attaquer
DES plus efficacement que par recherche exhaustive de la cl secrte. Or il se trouve que cette mthode
n'est avantageuse que si le nombre d'itrations est infrieur 16...
Les annes passant, la NSA perd sa confiance en DES et dcide, en 1987, de ne pas reconduire ce
standard. DES tant trs rpandu, cette dcision suscite de nombreuses protestations, si bien que le
standard est maintenu. En 1998, pour combler le dfaut des cls 56 bits devenues trop courtes, une
nouvelle variante de DES voit le jour : Triple-DES. L'ide est de cascader 3 blocs DES standards et
d'utiliser 3 cls (quoique la mthode la plus populaire soit plutt celle de Tuchman qui n'utilise que 2
cls).

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

8. VERS UN NOUVEAU STANDARD :


8.1) Un nouvel algorithme pour remplacer DES :
En 1997, les faiblesses de DES deviennent rellement inquitantes, tel point que le NIST fait nouveau
un appel d'offre pour l'laboration d'un nouveau systme cryptographique. Le cahier des charges tabli par
le NIST comporte les points suivants :

Grande scurit (!).


Large portabilit. Puisque cet algorithme doit remplacer DES, il est destin des cartes puces,
des processeurs peu performants, des processeurs spcialiss, etc.
Rapidit.
Lecture aise de l'algorithme, puisque destin un usage publique.
Le chiffrement se fait par blocs de 128 bits. Les cls comportent 128, 192 ou 256 bits.
Au 15 juin 1998, date de la fin des candidatures, 15 projets sont retenus. Certains sont l'oeuvre
d'entreprises (IBM), d'autres regroupent des universitaires (CNRS), les derniers sont crits par quelques
personnes. Pendant deux ans, les algorithmes sont valus par des experts avec forum de discussion sur
internet et organisation de confrences.
Ceci conduit la dsignation, en aot 1999, de 5 finalistes :

MARS (IBM). Complexe, rapide, haute marge de scurit.


RC6 (RSA Laboratories). Trs simple, trs rapide, faible marge de scurit.
Rijndael (Joan Daemen, Vincent Rijmen). Propre, rapide, bonne scurit.
Serpent (Ross Anderson, Eli Biham, Lars Knudsen). Propre, lent, trs haute marge de scurit.
Twofish (Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Niels Ferguson, Chris
Hall). Complexe, trs rapide, haute marge de scurit.

8.2) Le choix du NIST :


Le 2 octobre 2000, le NIST donne sa rponse. L'algorithme retenu est Rijndael, contraction des noms des
deux inventeurs belges, Vincent Rijmen et Joan Daemen. Il est retenu pour son bon compromis entre
scurit, performance, efficacit, facilit d'implmentation et flexibilit.
Rijndael travaille par blocs de 128 bits et il est symtrique (Alice et Bob utilisent la mme cl qui doit
rester secrte). La taille de la cl est gnralement de 128 bits avec les variantes 192 et 256 bits.

figure 8.2, Vincent Rijmen et Joan Daemen

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

9. ADVANCED ENCRYPTION SYSTEM (AES) :


Pour comprendre le fonctionnement interne de Rijndael, il parat judicieux de commencer par l'envisager
dans son ensemble (schma bloc). Les diffrentes oprations seront dtailles successivement par la suite.
De plus, comme il existe trois variantes de cet algorithme (128, 192 et 256 bits), il convient de faire un
choix. Ainsi, tous les exemples venir et illustrant les mcanismes utiliseront une cl de 128 bits.

9.1) Structure de l'algorithme schma bloc :


L'algorithme est itratif. Il peut tre dcoup en 3 blocs :

Initial Round.

N Rounds.

Final Round.

C'est la premire et la plus simple des tapes. Elle ne compte qu'une seule
opration : Add Round Key.
N tant le nombre d'itrations. Ce nombre varie en fonction de la taille de la cl
utilise. 128 bits N=9, 192 bits N=11, 256 bits N=13. Cette deuxime
tape est constitue de N itrations comportant chacune les quatre oprations
suivantes : Sub Bytes, Shift Rows, Mix Columns, Add Round Key.
Cette tape est quasiment identique l'une des N itrations de la deuxime
tape. La seule diffrence est qu'elle ne comporte pas l'opration Shift Columns.

figure 9.1, schma bloc de l'algorithme, version 128 bits


Voyons maintenant ces diffrentes tapes et oprations de manire dtaille...

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

9.2) Mise en forme des entres :


Comme tout systme cryptographique symtrique, Rijndael dispose de deux entres, savoir le texte clair
chiffrer (plaintext) ainsi que la cl de cryptage (key).
Si la longueur de la cl est fixe (on considre la version 128 bits de l'algorithme), la longueur du texte clair
est variable d'une application l'autre. Or Rijndael tant un algorithme de bloc, il doit commencer par
dcouper le texte clair en blocs de 128 bits.
Ensuite, le bloc de texte clair en cours de chiffrage ainsi que la cl sont mis sous forme matricielle.
Comme il s'agit de la version 128 bits de l'algorithme, les matrices obtenues sont carres. Elles comptent
16 lments et chacun de ces lments contient 1 byte (168 = 128 bits). Pour d'videntes raisons de taille,
les valeurs binaires seront notes sous forme hexadcimale.
On considre les matrices suivantes, contenant des valeurs arbitraires :
Texte clair :
(State)

32

88

31

E0

43

5A

31

37

F6

30

98

A8

8D

A2

Cl :
(Key)

2B

28

AB

09

7E

AE

F7

CF

07

15

D2

15

4F

34

16

A6

88

3C

Les matrices tant formes, le processus de chiffrage peut commencer.

9.3) Premire tape Round 0 :


La premire tape consiste combiner la matrice State (le bloc de texte clair) avec la cl. Cette opration
s'appelle Add Round Key. Elle consiste additionner modulo 2 (OU-exclusif ou XOR) chaque byte de la
matrice State avec son homologue de la matrice Key (la cl originale). On obtient ainsi la nouvelle matrice
State (son nom indique qu'elle dsigne l'tat actuel du bloc en cours de chiffrage). Elle constitue la matrice
d'entre de l'tape suivante.

9.4) Deuxime tape Rounds 1-9 :


Cette partie du processus de chiffrage dpend de la taille de la cl utilise. Comme on envisage la version
128 bits de l'algorithme, cette deuxime tape compte 9 itrations. Chacune de ces 9 itrations effectue
successivement les quatre oprations dtailles ci-dessous :
I) Sub Bytes :
Cette opration consiste remplacer chaque byte de la matrice State par une autre valeur. La
substitution se fait l'aide d'une table appele S-Box et concrtise le principe de confusion de
Shannon. Les bytes que cette table contient sont les bytes de remplacement. Ils sont dfinis sur la
base mathmatique des champs finis (ou champs de Galois). Les valeurs de la S-Box sont
construites par deux fonctions dans deux champs finis diffrents (GF(28) et GF(2)).
Les mathmatiques des champs finis ne seront pas traits dans ce document. Pour en savoir plus,
consulter la littrature...

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

figure 9.4, S-Box

La substitution se fait de la manire suivante :


1. Prendre la matrice State :
19

A0

9A

E9

3D

F4

C6

F8

E3

E2

8D

48

BE

2B

2A

08

2. Pour chaque lment de cette matrice, procder comme suit :

Le premier caractre hexadcimal de l'lment indique une ligne de la S-Box tandis


que le deuxime indique une colonne.
Le byte se trouvant l'intersection ligne-colonne dans la S-Box est celui qui doit tre
substitu celui de la matrice State.
Ainsi, le premier byte de State (premier lment de la matrice, soit 19h) sera remplac par le byte
se trouvant l'intersection de la ligne 1 et de la colonne 9 de la S-Box, c'est--dire 8Eh.
Le deuxime byte de State (3Dh) sera remplac par le byte se trouvant l'intersection de la ligne 3
et de la colonne D de la S-Box, c'est--dire 8Bh.
Et ainsi de suite...
Aprs traitement des seize bytes, la matrice State devient :
D4

E0

B8

1E

27

BF

B4

41

11

98

5D

52

AE

F1

E5

30

10

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

II) Shift Rows :


Cette opration consiste dcaler des lignes dans la matrice State. En ce sens, elle garantit le
principe de diffusion de Shannon. De faibles changements dans le texte clair impliquent de grands
changements dans le texte chiffr. Les dcalages ne modifient pas les valeurs des bytes, mais
changent leur ordre.
Les dcalages se font comme suit :

La premire ligne n'est pas dcale.


La deuxime ligne est dcale de 1 byte vers la gauche.
La troisime ligne est dcale de 2 bytes vers la gauche.
La quatrime ligne est dcale de 3 bytes vers la gauche.

La matrice State issue de l'opration prcdente (Sub Bytes) est la suivante :


D4

E0

B8

1E

27

BF

B4

41

11

98

5D

52

AE

F1

E5

30

Aprs les dcalages, on obtient la nouvelle matrice State :


D4

E0

B8

1E

BF

B4

41

27

5D

52

11

98

30

AE

F1

E5

III) Mix Columns :


Cette opration participe galement au principe de diffusion de Shannon. Elle consiste multiplier
une matrice constante avec la matrice State :
02

03

01

01

D4

E0

B8

1E

01

02

03

01

BF

B4

41

27

01

01

02

03

5D

52

11

98

03

01

01

02

30

AE

F1

E5

matrice constante

matrice State

11

matrice Result

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Ainsi, pour obtenir le premier rsultat (ligne1, colonne1), on procde comme suit :
02

03

01

01

D4

E0

B8

1E

01

02

03

01

BF

B4

41

27

01

01

02

03

5D

52

11

98

03

01

01

02

30

AE

F1

E5

matrice constante

matrice State

matrice Result

Result[1,1] = 02D4 03BF 015D 0130


La particularit de ce calcul est que les oprations d'addition et de multiplication se font dans le
champ de Galois GF(28). Si les additions se ralisent par un simple OU-exclusif (XOR), les
multiplications sont plus problmatiques...

Multiplications dans le champ de Galois GF(28) :


Deux mthodes (peut-tre plus ?) permettent de calculer les produits dans GF(28).
1) Application mathmatique :
Considrons le premier produit, savoir 02D4. Il faut voir les deux bytes multiplier
comme deux polynmes du septime degr a(x), respectivement b(x) dont les coefficients
sont donns par les 8 bits composant le byte. Reprenons le calcul ci-dessus :
Result[1,1] = 02D4 03BF 015D 0130
02 = 00000010
D4 = 11010100

a(x)
b(x)

a(x) = 0x7+0x6+0x5+0x4+0x3+0x2+1x1+0x0 = x
b(x) = 1x7+1x6+0x5+1x4+0x3+1x2+0x1+0x0 = x7+x6+x4+x2
Maintenant que a(x) et b(x) sont connus, il reste les multiplier modulo le polynme de
degr 8 m(x) = x8+x4+x3+x+1. Ce polynme est irrductible dans GF(28), il ne peut tre
divis que par lui-mme et par 1 :
a(x)b(x) mod m(x) = x(x7+x6+x4+x2) mod
a(x)b(x) mod m(x) = x8+x7+x5+x3
mod

x8+x4+x3+x+1
x8+x4+x3+x+1

Le rsultat de cette expression est le polynme reprsentant le produit 02D4 dans le champ
de Galois GF(28).
Ce calcul ne sera men terme car l'objectif tait juste de montrer le lien entre Rijndael et
les champs de Galois. Il ne prsente pas de rel intrt dans la mesure o la deuxime
mthode est non seulement plus simple, mais aussi plus adapte l'implmentation dans des
circuits programmables.

12

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

2) Proprits du calcul binaire :


Dans le calcul binaire, certaines oprations sont particulirement simples. C'est notamment
le cas de la multiplication par 2 qu'on ralise par un simple dcalage des bits vers la gauche.
Soit N, un nombre binaire arbitraire et 2N, son double :
N = 10101110
2N = 101011100
Cette proprit simplifie considrablement les multiplications dans le champ de Galois. La
matrice constante ne compte que 3 valeurs diffrentes : 01, 02 et 03. Les valeurs de la
matrice State sont donc toutes multiplies par l'une de ces trois valeurs Elles sont toutes
faciles raliser en binaire, mais montrent tout de mme quelques particularits lies aux
champ de Galois :
Multiplication par 01 (00000001 en binaire) :
Le nombre reste inchang !

Multiplication par 02 (00000010 en binaire) :


Les bits du nombre sont dcals vers la gauche :
N = 10101110
2N = 101011100
Puisque les oprations se font dans un nombre fini des valeurs (champ de Galois GF(28)
de 256 valeurs), le MSB de 2N doit tre omis :
2N = 101011100
2N = 01011100
Si le MSB (que nous venons d'omettre) tait un '0', alors 2N est le rsultat final
de la multiplication :
2N = 01011100
Si par contre le MSB (que nous venons d'omettre) tait un '1', ce qui est le cas
dans cet exemple, alors il faut encore additionner (XOR) le nombre binaire
00011011 (1B) 2N afin de compenser la perte du MSB occasionne par le
dcalage :
2N 00011011 = 01011100 00011011 = 01000111
2N = 01000111

Multiplication par 03 (00000011 en binaire) :


La multiplication par 03 peut tre vue comme une multiplication par 02 suivie d'une
addition modulo 2 du nombre multipli. On peut illustrer ceci par un petit exemple en
notation dcimale (N=6) :
3N = 2N+N = 26+6 = 12+6 = 18

13

(=36)

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Voyons maintenant un exemple binaire :


N = 00101110
2N = 01011100
3N = 2N N = 01011100 00101110 = 01110010

Grce ces rgles de multiplication, nous pouvons reprendre l'expression permettant de


calculer le premier lment de la matrice Result :
Result[1,1] = 02D4 03BF 015D 0130
02D4 :
1D4 = 11010100, MSB=1
2D4 = 10101000 00011011 = 10110011
03BF :
1BF = 10111111, MSB=1
2BF = 01111110 00011011 = 01100101
3BF = 2BF BF = 01100101 10111111 = 11011010
015D :
15D = 01011101
0130 :
130 = 00110000

Il reste additionner modulo 2 les quatre rsultats des multiplications pour obtenir le
premier lment de la matrice Result :
Result[1,1] = 10110011 11011010 01011101 00110000
Result[1,1] = 00000100 = 04h
L'opration Mix Columns est particulirement laborieuse puisque les 15 autres lments de la matrice
doivent tous tre calculs de cette manire !
Ceci est bien trop long pour tre dtaill. Voici donc le rsultat final : la matrice Result (cette matrice
devient naturellement la matrice State de la prochaine opration) :
04

E0

48

28

66

CB

F8

06

81

19

D3

26

E5

9A

7A

4C

14

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

IV) Add Round Key :


Lors du processus de chiffrage, Rijndael transforme la cl (matrice Key). A chaque itration
(Round), une matrice Key diffrente est utilise (RoundN Key). Ceci permet d'liminer les attaques
lies la cl (Biham) en faisant disparatre la symtrie.
Pour obtenir les 10 nouvelles cls ncessaires (puisque la version 128 bits de l'algorithme compte
en tout 11 Rounds), Rijndael procde une opration appele Key Scheduling ou Key Expansion
(cette opration sera explique au point suivant).
Si la cl change chaque Round, l'opration Add Round Key, elle, reste simple. Elle consiste, tout
comme celle de la premire tape, additionner modulo 2 (XOR) la matrice State et la cl du
Round en cours (RoundN Key).

9.5) Troisime tape Round 10 :


Cette tape est quasiment identique l'un des neuf Rounds de la deuxime tape. La seule diffrence est
que, dans ce dernier Round, l'opration Mix Columns n'est pas effectue.

9.6) Extension de la cl Key Expansion :


Il s'agit ici de voir comment Rijndael opre pour dduire les 10 cls secondaires dont il a besoin pour
aboutir au texte chiffr.
On considre les deux matrices suivantes (Rcon est donne. Elle est constante) :
2B

28

AB

09

01

02

04

08

10

20

40

80

1B

36

7E

AE

F7

CF

00

00

00

00

00

00

00

00

00

00

15

D2

15

4F

00

00

00

00

00

00

00

00

00

00

16

A6

88

3C

00

00

00

00

00

00

00

00

00

00

Cl originale (Key)

Rcon (Round constant word array)

Les quatre vecteurs composant la matrice Key sont appels Words (ce sont des mots de 32 bits). On
commence par calculer le cinquime vecteur (Wi) :
Wi-4

Wi-1 Wi

2B

28

AB

09

7E

AE

F7

CF

15

D2

15

4F

16

A6

88

3C

15

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

On prend le vecteur Wi-1 auquel on applique une opration appele RotWord qui consiste en un simple
dcalage des quatre bytes du vecteur vers le haut. Au rsultat on applique encore l'opration Sub Bytes :
Wi-1

RotWord(Wi-1)

SubBytes{RotWord(Wi-1)}

09

CF

8A

CF

4F

84

4F

3C

EB

3C

09

01

Le vecteur obtenu (SubBytes{RotWord(Wi-1)}) doit encore tre additionn modulo 2 avec le vecteur Wi-4
ainsi que le premier vecteur de la matrice Rcon :
Wi-4

Rcon(colonne1)

2B

SubBytes{RotWord(Wi-1)}
8A

01

7E

84

00

XOR

15

XOR

00

16

01

00

Le vecteur rsultant de cette addition est Wi :


A0
FA
FE
17

Il constitue le premier des quatre vecteurs de la deuxime cl :


2B

28

AB

09

A0

7E

AE

F7

CF

FA

15

D2

15

4F

FE

16

A6

88

3C

17

EB

16

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Le deuxime vecteur de la deuxime cl s'obtient plus simplement que le premier. En effet, il est donn
par Wi = Wi-4 XOR Wi-1 :
Wi-4

Wi-1 Wi

2B

28

AB

09

A0

2B

28

AB

09

A0

88

7E

AE

F7

CF

FA

7E

AE

F7

CF

FA

54

15

D2

15

4F

FE

15

D2

15

4F

FE

2C

16

A6

88

3C

17

16

A6

88

3C

17

B1

Le troisime vecteur de la deuxime cl s'obtient de la mme manire que le deuxime. On a donc


nouveau Wi = Wi-4 XOR Wi-1 :
Wi-4

Wi-1 Wi

2B

28

AB

09

A0

88

2B

28

AB

09

A0

88

23

7E

AE

F7

CF

FA

54

7E

AE

F7

CF

FA

54

A3

15

D2

15

4F

FE

2C

15

D2

15

4F

FE

2C

39

16

A6

88

3C

17

B1

16

A6

88

3C

17

B1

39

Le quatrime et dernier vecteur de la deuxime cl s'obtient de la mme manire que les deuxime et
troisime (Wi = Wi-4 XOR Wi-1) :
Wi-4

Wi-1 Wi

2B

28

AB

09

A0

88

23

2B

28

AB

09

A0

88

23

2A

7E

AE

F7

CF

FA

54

A3

7E

AE

F7

CF

FA

54

A3

6C

15

D2

15

4F

FE

2C

39

15

D2

15

4F

FE

2C

39

76

16

A6

88

3C

17

B1

39

16

A6

88

3C

17

B1

39

05

Les quatre vecteurs de la deuxime cl sont maintenant dfinis. La matrice Key a doubl de taille. Elle
contient pour l'instant les cls des Rounds 0 et 1 :
2B

28

AB

09

A0

88

23

2A

7E

AE

F7

CF

FA

54

A3

6C

15

D2

15

4F

FE

2C

39

76

16

A6

88

3C

17

B1

39

05

Round0 Key

Round1 Key

17

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Il reste faire 9 fois l'intgralit de cette dmarche d'extension de la cl pour trouver les 9 autres cls
secondaires...
2B

28

AB

09

A0

88

23

2A

...

7E

AE

F7

CF

FA

54

A3

6C

...

15

D2

15

4F

FE

2C

39

76

...

16

A6

88

3C

17

B1

39

05

...

Round0 Key

Round1 Key

Round2 Key

Round10 Key

10. DCHIFFRAGE :
Toutes les oprations ralises lors du chiffrage sont rversibles, condition d'avoir la cl bien entendu :

figure 10, chiffrage et dchiffrage

18

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Bob procde l'extension de la cl de la mme manire qu'Alice l'a fait lors du chiffrage.
Les additions modulo 2 (XOR) effectues lors de l'opration Add Round Key sont rversibles (en
effet, (A XOR B) XOR B = A).
L'opration Sub Bytes est inverse en utilisant la table S inverse (Inverse S-Box). Si par exemple la
S-Box indique le byte F7 (ligne 2, colonne 6), alors la Inverse S-Box restituera le byte 26 (ligne F,
colonne 7).
Les dcalages de l'opration Shift Rows sont inverss, c'est--dire effectus vers la droite.
La multiplication matricielle de l'opration Mix Columns ncessite une inversion de la matrice. Une
fois la matrice inverse obtenue, la manipulation est la mme que pour l'opration Mix Columns faite
lors du chiffrage.
A cause du calcul de la matrice inverse, le dchiffrage est environ 30% plus lent que le chiffrage.

11. CONCLUSION :
Le principe de la thermodynamique suffit dmontrer que la recherche exhaustive de cls comportant 192
ou 256 bits est irralisable. D'autre part, l'utilisation de la S-Box constitue une relle difficult pour les
cryptanalystes. L'opration Mix Columns combine avec Shift Rows fait que, aprs les nombreux rounds,
tous les bits de sortie dpendent de tous les bits d'entre. Ceci aussi rend la cryptanalyse difficile.
L'utilisation des cls secondaires construites par extension de la cl originale, quant elle, complique les
attaques lies la cl en cassant les symtries.
Rijndael est un algorithme sr et va probablement le demeurer encore une vingtaine d'annes. Plus que
l'volution technologique, les progrs en mathmatiques sont de plus en plus la cause de vulnrabilit des
algorithmes de cryptographie modernes. Ceci s'explique d'une part par le fait que les attaques exhaustives
(force brute) deviennent irralisables (cls trop longues), mais aussi par les nombreuses thses de doctorat
que ce domaine de la technologie de l'information suscite.

12. SOURCES :
Introduction aux techniques de cryptographie Markus Jaton (octobre 2002)
Elments de cryptographie Stephan Robert ( mai 2003)
Specification for the Advanced Encryption Standard (AES) FIPS Publication 197 ( novembre 2001)
Cryptography and network security Williams Stallings chez Prentice Hall
Ars Cryptographica, un excellent site didactique sur la cryptographie en gnral :
http://www.apprendre-en-ligne.net/crypto/
Cryptographie en gnral :
http://www.securite.org/db/crypto/

19

Prsentation personnelle
Cryptographie
AES

Olivier Frider
ETR6
mai 2004

Rijndael :
http://www.nist.gov/public_affairs/releases/aesq&a.htm
http://security.ece.orst.edu/koc/ece478/ws/slides/ch05.pdf
http://ece.gmu.edu/reports/aes_power_analysis_report.pdf
http://www.computerworld.com/securitytopics/security/story/0,10801,45282,00.html
Rijndael et les champs de Galois :
http://www.math.umn.edu/~garrett/crypto/rijndael_intro/
http://www.ulb.ac.be/inforsciences/files/MathAES5posters.pdf
Divers :
http://www.chez.com/nopb/crypto2.html
http://www.di.ens.fr/~pointche/Documents/Slides/s2002_cachan.pdf

Un grand merci M. Gilles Primault pour sa prcieuse aide concernant les champs de Galois.

Few persons can be made to believe that it is not quite an easy thing
to invent a method of secret writing which shall baffle investigation.
Yet it may be roundly asserted that human ingenuity cannot concoct a
cipher which human ingenuity cannot resolve...
Edgar Allan Poe
A Few Words on Secret Writing, 1841.

20

Vous aimerez peut-être aussi