Vous êtes sur la page 1sur 38

Panorama des algorithmes de Cryptographie

Alice Lan

Benoit Vandevelde
13 mars 2011

Table des matires


I
II

Introduction

Fondamentaux de la cryptographie

1 Histoire de la cryptographie
1.1 Un petit voyage dans le temps . . .
1.2 Quelques cryptosystmes simples . .
1.2.1 Chiffrement par dcalage . .
1.2.2 Chiffrement par substitution
1.2.3 Le code de Vigenre . . . . .
1.2.4 Chiffrement de Vernam . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

6
6
7
7
8
8
9

2 Cryptographie moderne
2.1 La cryptographie symtrique . . . . .
2.1.1 Principe gnral . . . . . . . .
2.1.2 Chiffrement par bloc . . . . . .
2.1.3 Chiffrement par flot ou par flux
2.2 La cryptographie asymtrique . . . . .
2.2.1 Principe gnral . . . . . . . .
2.2.2 Fonctions de condensation . . .
2.3 La cryptographie hybride . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

10
10
10
11
13
14
14
15
15

III

Mesure de lefficacit dun cryptosystme

3 Probabilits et thorie de linformation


3.1 Rappels de probabilits . . . . . . . . . . . .
3.1.1 Univers . . . . . . . . . . . . . . . . .
3.1.2 Mesure de probabilit . . . . . . . . .
3.1.3 Probabilits conditionnelles . . . . . .
3.1.4 Indpendance . . . . . . . . . . . . . .
3.1.5 Variables alatoires relles . . . . . . .
3.2 Thorie de lInformation . . . . . . . . . . . .
3.2.1 Information au sens de Fisher . . . . .
3.2.2 Information dun ensemble : la formule
3.2.3 Information de Shannon . . . . . . . .
3.3 Entropie . . . . . . . . . . . . . . . . . . . . .
3.3.1 Entropie au sens physique . . . . . . .

. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
de Hartley (1928)
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .

16
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

17
17
17
17
17
17
18
18
18
19
19
19
19

Panorama des algorithmes de cryptographie

3.4

IV

3.3.2 Entropie dune variable alatoire X . . . . . .


3.3.3 Entropie conditionnelle de X par rapport Y
3.3.4 Entropie du couple (X,Y) . . . . . . . . . . .
Application la cryptographie . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Nouveaux protocoles dchange de cls

4 La cryptographie quantique
4.1 Quelques lments de physique quantique
4.1.1 Notations de Dirac . . . . . . . . .
4.1.2 Qubit . . . . . . . . . . . . . . . .
4.1.3 Thorme de non-clonage . . . . .
4.1.4 Rduction du paquet donde . . . .
4.2 Le protocole BB84 . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

20
21
21
22

24
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

5 Algorithmes discrets
5.1 Quelques structures algbriques . . . . . . . . . . . . . . . . .
5.1.1 Groupe . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Anneau . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3 Corps . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Algorithme RSA . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Logarithme discret . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Courbes elliptiques . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Dfinition . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.2 Structure de groupe commutatif (C,+) . . . . . . . . .
5.4.3 Protocole dchange de cl publique et transmission de
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

25
25
25
26
26
27
27

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
messages
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

30
30
30
30
30
31
31
32
32
33
35
36
37

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Premire partie

Introduction

Panorama des algorithmes de cryptographie

Il tait une fois deux ingnieurs, Alice et Ben, qui reurent un jour, par un homme portant
un chapeau, un message totalement incomprhensible ! ! Cet homme sest prsent eux en leur
disant :
"Jules Csar aimait le chiffre 3. Selon lui, je mappelle MVOE ! Je vous charge de rflchir
ce message. Ils vous apportera la connaissance et la sagesse."
Ils ne savent pas pourquoi, mais ils ont la vive intuition que ce message est confidentiel,
important et quil doit signifier quelque chose de comprhensible. Alice et Ben ont donc dcider
de mener lenqute afin de trouver un moyen de rsoudre ce mystre.

Deuxime partie

Fondamentaux de la cryptographie

Chapitre 1

Histoire de la cryptographie
1.1

Un petit voyage dans le temps

Avant toute chose, Alice et Ben dcident de se renseigner sur les origines de la cryptographie.
Suivons avec eux leur petit priple dans le pass...
Les premiers signes dune cryptographie semblent remonter prs de 4000 ans : les inscriptions de hiroglyphes retrouvs sur des tombes gyptiennes ont t apparemment modifis pour
en obscurcir le sens.
Quoique quil en soit, les recherches archologiques semblent montrer que les critures "secrtes" sont apparues en mme temps que linvention de lcriture elle-mme.
Mais les faits les plus tangibles sont apparus au 5e sicle avant notre re. En effet, on apprend que les Spartiates utilisaient des scytales, batnnets autour desquels ils enroulaient une
bandelette de parchemin. Puis ils crivaient le long de la scytale. Une fois droule, le message
inscrit sur la bandelette devenait incomprhensible. Le rcepteur du message devait utiliser une
scytale identique celle de lmetteur pour dchiffrer le message. Bien sr, cette mthode tant
trs simple, elle devait tre garde secrte.

Figure 1.1 Scytale

Aprs ces premires bribes de cryptographie, Alice et Ben sintressent des choses un peu
plus srieuses... Les premiers systmes cryptographiques simples font leur apparition au 1er sicle

Panorama des algorithmes de cryptographie

avant JC, avec le code de Csar. Lempereur romain utilisait un moyen de communication secret
avec ses gnraux, qui consiste en une simple substitution de lettres. On obtient le message cod
en dplaant chaque lettre du message initial dun nombre constant de positions.
Toutefois, un message cod par cette mthode reste encore peu fiable car il est facilement
"cassable", cest--dire dcodable.
La science qui tudie le dchiffrement des messages secrets sappelle la cryptanalyse. Ce sont
probablement les Arabes qui ont russi les premiers comprendre les principes de la cryptographie et donc dvelopper la cryptanalyse, en utilisant des mthodes statistiques simples fondes
principalement sur la frquence des lettres ou des suites de deux lettres dans un texte.
Rapprochons-nous encore un peu dans le temps. Alice et Ben se retrouvent au Moyen-Age,
Une mthode, dite de transposition, a t mise en place. Elle consiste changer lordre des
lettres.
Au 20e sicle, lexemple le plus connu est celui du dcryptage de lappareil Enigma, utilis
par les allemands et les japonais. Ce dcryptage a fortement jou dans la victoire des allis lors
de la seconde guerre mondiale.
Au 21e sicle, avec lre dinternet, la cryptologie est fonde sur les codes cls publiques,
bases sur diverses notions mathmatiques. La tendance venir, et donc observer de plus prs,
est la cryptologie quantique , base sur les principes de la thorie des quanta, et notamment sur
les proprits quantiques des photons polariss.

1.2

Quelques cryptosystmes simples

Aprs un bref synopsis de lhistoire de la cryptographie, Alice et Ben dcident de tester


quelques cryptosystmes simples.
Alice souhaite envoyer un message secret Ben. Elle joue le rle de lmettrice et Ben sera
le rcepteur. Ils se mettent daccord sur le systme cryptographique utiliser, et choisissent une
cl secrte connue de eux seuls, qui dtermine la manire dont le codage sera effectu. Leur but
est de schanger des informations secrtes sans que personne ne les intercepte. Plus un espion
aura du mal dcoder le message cod, plus le systme cryptographique sera considr comme
sr.

1.2.1

Chiffrement par dcalage

Un des systmes les plus anciens et simples est le chiffrement par dcalage. Il est aussi appel
code de Csar, que Alice et Ben ont dcouvert dans leurs recherches. La cl secrte de codage
est le nombre d de dcalage circulaire que lon applique chaque lettre de lalphabet.
Si ce codage est trs simple mettre en place, il est aussi ais de le casser. En effet, on peut
utiliser une mthode exhaustive qui consiste tester une une les 25 valeurs possibles de la
cl d. Sinon, on peut se baser sur une analyse des frquences dapparition des lettres dans le
message cod, et les comparer celles usuelles dans un texte franais par exemple. La lettre la

Panorama des algorithmes de cryptographie

Figure 1.2 Code de Csar

plus rcurrente dans la langue franaise tant "e", on peut facilement la lier la lettre la plus
prsente dans le message cod. On peut ainsi trouver la valeur de d.
Bref, cette mthode na gure convaincu Alice et Ben, qui ne lutiliseront pas pour des messages srieux !

1.2.2

Chiffrement par substitution

Il sagit dune mthode plus gnrale qui englobe le chiffrement par dcalage. En effet,
chaque lettre de lalphabet on fait correspondre une autre, cest--dire que lon effectue une permutation de lensemble des lettres.
Pour la premire lettre a, on a 26 possibilit de substitutions. Pour la lettre b, on nen a plus
que 25 et ainsi de suite. Ainsi, il y a :
26*25*24*...*1 = 26 ! = 403 291 461 126 605 635 584 000 000 permutations possibles de lalphabet
franais.
Ce chiffrement est beaucoup plus complexe et volu que le chiffrement par dcalage, mais
reste namoins cassable.

1.2.3

Le code de Vigenre

Le chiffrement de Vigenre est une amlioration dcisive du chiffre de Csar. Il a t labor


par Blaise de Vigenre (1523-1596), diplomate franais du XVIe sicle.
Sa force rside dans lutilisation non pas dun, mais de 26 alphabets dcals pour chiffrer un
message.
Ce chiffrement utilise une clef qui dfinit le dcalage pour chaque lettre du message (A :
dcalage de 0 cran, B : 1 cran, C : 2 crans, ..., Z : 25 crans).
Par exemple, Alice veut envoyer un message cod grce la cl "alice" :
Message clair
Cl
Dcalage
Message cod

M
A
0
M

E
L
11
P

S
I
8
A

S
C
2
U

A
E
4
E

G
A
0
G

E
L
11
P

C
I
8
K

O
C
2
Q

D
E
4
H

E
A
0
E

Panorama des algorithmes de cryptographie

La grande force du chiffrement de Vigenre rside en le multicodage dune mme lettre de


lalphabet. On ne peut donc plus utiliser lanalyse des frquences classques pour la cryptanalyse.

1.2.4

Chiffrement de Vernam

Le chiffrement de Vernam a t mis au point lors de la Premire Guerre Mondiale, en 1917.


Son but tait dtre incassable lorsque correctement utilis, mais ce ne fut quun an plus tard
que lobjectif fut rellement atteint. Ce chiffrement a notamment t utilis pendant lpisode du
Tlphone Rouge entre Moscou et Washington.
Il sagit en ralit dun chiffrement de Vigenre dont la cl de codage a la mme longueur
que le message clair. Une cl est constitue de caractres choisis alatoirement et nest utilise
quune seule fois.
Lorsquon examine la cl secrte, on ne peut en dduire aucune information sur le message
clair ( part peut-tre sa longueur). Cest ce quon appelle un code parfait.

Chapitre 2

Cryptographie moderne
Dans la socit de linformation daujourdhui, lusage de la cryptologie sest banalis. On le
retrouve quotidiennement avec les cartes bleues, tlphones portables, Internet ou encore les titres
de transport. La cryptologie moderne a pour lobjet ltude des mthodes qui permettent dassurer les services dintgrit, dauthenticit et de confidentialit dans les systmes dinformation et
de communication. Elle recouvre aujourdhui galement lensemble des procds informatiques
devant rsister des adversaires.
La cryptologie se partage en deux sous-disciplines :
La cryptographie qui propose des mthodes pour assurer ces services.
La cryptanalyse qui recherche des failles dans les mcanismes proposs.
Alice et Ben vont tudier les grandes lignes des principes de la cryptographie moderne. La
principale distinction se fera entre les chiffrements de type symtrique et ceux de type asymtrique.

2.1
2.1.1

La cryptographie symtrique
Principe gnral

La cryptographie symtrique, aussi connue sous le nom de cryptographie cl secrte ou cryptographie conventionnelle, est la plus ancienne historiquement. Elle est extrmement rpandue
cause de ses performances remarquables. Elle suppose quau moins deux personnes partagent la
connaissance de la mme cl secrte, ce qui leur confre donc un rle symtrique. Elle sappuie
principalement sur les fonctions boolennes et les statistiques.
Avec le passage lre numrique, ce sont dsormais des suites de bits qui sont chiffrs.
distingue deux types dalgorithmes de chiffrement :
Chiffrement par bloc : le message clair est dcoup en une multitude de blocs relativement
grands (par exemple 128 bits) et on opre des oprations bien choisies sur les blocs.
Chiffrement par flot : le message clair est considr comme un flot de bits (ou doctets), et
il est combin avec un autre flot de bits (ou doctets) gnr de faon pseudo-alatoire.

Panorama des algorithmes de cryptographie

11

Figure 2.1 Cryptographie symtrique

2.1.2

Chiffrement par bloc

Lalgorithme dun chiffrement par bloc est gnralement bas sur une modle itratif. Il utilise
une fonction F qui prend une cl secrte k et un message M de n bits. La fonction F est itre
un certain nombre de fois (nombre de tours). Lors de chaque tout, la cl k est diffrente et on
chiffre le message qui vient dtre obtenu de litration prcdente. Les diffrentes cls k(i) qui
sont utilises sont dduites de la cl secrte k.

DES : Data Encryption Standard


Lalgorithme le plus connu est le DES (Data Encryption Standard). Il sagit dune version
remanie par la NSA dun algorithme initialement conu par IBM dans les annes 1970 : ses
spcifications sont publiques, mais sa conception est longtemps reste secrte. Sa version la plus
rcente date de 1994. Il opre gnralement sur des blocs de 64 bits et utilise une cl de 56 bits
qui sera transforme en 16 sous-cls de 48 bits chacune. Le chiffrement se droule en 16 tours.

IDEA : International Data Encryption Algorithm


Lalgorithme IDEA, plus rcent que le DES, a t brevet par la socit suisse Ascom.
LIDEA opre sur des blocs de 64 bits et utilise gnralement une cl de 128 bits qui sera
transforme en 52 blocs de 16 bits. Les algorithmes de cryptage et de dcryptage sont identiques.
Principe :
Le bloc dentre de 64 bits est divis en 4 blocs de 16 bits A, B, C et D. Les 8 premires
sous-cls sont directement tires de la cl principale. Les 8 cls suivantes sont obtenues de la
mme faon, aprs une permutation gauche de 25 bits, et ainsi de suite.

Panorama des algorithmes de cryptographie

12

Figure 2.2 Algorithme DES

Les 3 oprations utilises sont :


L
OU exclusif (reprsent par un )
1
addition modulo 2 6 (reprsent par un )
J
multiplication modulo 21 6 + 1 (reprsent par un )

Figure 2.3 Algorithme IDEA


Cet algorithme est considr suprieur au DES en terme de scurit. Cependant, sa vitesse
dexcution reste comparable avec le DES.

Panorama des algorithmes de cryptographie

13

Blowfish
Lalgorithme Blowfish a t cr en 1904. Il est bas sur le DES mais utilise des cls plus
longues. De plus, les tables fixes par la NASA ne sont plus utilises, mais des tables diffrentes
chaque fois, dtermines par mot de passe.
Principe :
Lalgorithme Blowfish effectue un codage par blocs de 64 bits, et utilise une cl de longueur
variable. Il est dcoup en 2 parties :
une partie expansion de la cl
une partie encodage des donnes
La premire partie consiste convertir la cl de dpart (maximum 448 bits) en plusieurs
sous-cls.
Le chiffrement des donnes seffectue au cours des 16 itrations. Chaque itration est constitue dune permutation dpendante de la cl, et dune substitution dpendante de la cl et des
donnes. Toutes les oprations sont des Xor et des additions sur des mots de 32 bits.
Blowfish semble tre un algorithme trs performant en terme de scurit et trs rapide. Cest
un algorithme relativement rcent et pas trs rpandu, donc on ne peut pas encore mettre de
jugement sur sa performance.
AES : Advanced Encryption Standard
LAES a t cre en 1997 sur la demande du National Institute of Standards and Technology
aux Etats-Unis, dans le but de remplacer le DES.
LAES est un standard, il est donc libre dutilisation, sans restriction dusage ni de brevet.
Principe :
LAES opre sur des blocs rectangulaires de 4 lignes et N colonnes, dont chaque terme xi , j
(appel octet) est compos de 8 bits. La cl peut tre dune longueur de 128, 156 ou 256 bits.
LAES est sr et oprationnel. Il est trs efficace en terme de rapidit (beaucoup plus que le
DES).

2.1.3

Chiffrement par flot ou par flux

Dans les algorithmes de chiffrement par flot, une suite doctets ou de bits ri est produite
partir de la cl. Cette suite est combine aux octets ou aux bits du message clair mi pour donner
les octets ou les bits du message chiffr ci .
Lexemple le plus rpandu du chiffrement par flot est celui du RC4. Il a t dvelopp en 1987
par Ron Rivest pour RSA. Il est longtemps rest secret avant dtre publi, et il est aujourdhui
beaucoup utilis, en particulier dans le protocole SSL.
La structure du RC4 se compose de deux parties distinctes. La premire gnre une table
dtat S partir de donnes secrtes. La deuxime partie de lalgorithme est le gnrateur de

Panorama des algorithmes de cryptographie

14

donnes en sortie, qui utilise la table S et deux compteurs.


A partir de la cl de longueur variable, par exemple 128 bits, un tableau S de 256 octets est
initialis et deux compteurs i et j sont mis zro. Pour gnrer un nouvel octet alatoire, on
applique les oprations suivantes :

i = (i + 1) mod 256
j = j + S[i] mod 256
changer S[i] et S[j]
t = S[i] + S[j] mod 256
retourner S[t]

2.2
2.2.1

La cryptographie asymtrique
Principe gnral

Le principe dun code asymtrique (aussi appel cl publique) est que, contrairement au
code symtrique, les deux interlocuteurs ne partagent pas la mme cl. En effet, la personne qui
veut envoyer un message utilise la cl publique de son correspondant. Celui-ci dchiffrera alors ce
message partir de sa cl prive que lui seul connait. On voit ici que contrairement un codage
symtrique, le chiffrement et le dchiffrement se font par des oprations compltement diffrentes.

Figure 2.4 Cryptographie asymtrique

Cette technique permet de rpondre la problmatique du partage scuris des cls publiques
entre des correspondants. En effet, en cas dinterception de la cl (publique) et dun message cod
par cette cl, lintercepteur ne pourra pas retrouver le message dorigine, car il lui manque la cl
prive possde par le vrai destinataire du message cod. Lexemple le plus connu de systme
cryptographique asymtrique est le systme RSA.
Mais la cl prive ne sert pas qu assurer la scurit de la transmission des messages. En
effet, si notre intercepteur, qui possde la cl publique, veut envoyer un message au vrai destinataire avec des intentions douteuses, comment le destinataire pourrait-il se rendre compte que

Panorama des algorithmes de cryptographie

15

lexpditeur nest pas lun de ses amis ? La cl prive sert donc aussi vrifier lauthenticit de
lidentification de lexpditeur dun message cod par cl publique.
1. Soit A (Alice) lexpditeur et B (Benoit) le destinataire dun message M.
2. A possde sa cl prive prK(A) et une cl publique puK(A) quelle diffuse B.
3. B possde sa cl prive prK(B) et une cl publique puK(B) quil diffuse A.
4. M est cod par cl publique PuK(B), mais ce message est distribu avec un condenst du
message, S, cod par la cl prive prK(A).
5. M est dchiffr par la cl prive de B. Le rsultat est lisible mais il manque lauthentification
de lexpditeur.
6. S correspond donc en fait la signature ou empreinte du message original, et donc de
lidentifiant A.
7. S doit tre dchiffr par la cl publique de A. Si le rsultat obtenu est le mme que le
condenst obtenu par la fonction de hachage sur le texte en clair, calcul par B, alors B est
assur de lauthenticit du message et de lexpditeur.
Cette mthode dauthentification utilise donc la proprit des paires de cls asymtriques.
Un message cod par cl publique peut tre dchiffr par une cl prive et un message cod par
une cl prive (ici le condenst) peut tre dcod par une cl publique. Maintenant, on peut se
demander ce quest un condenst, qui est le rsultat dune fonction de hachage sur un texte.

2.2.2

Fonctions de condensation

Il sagit de fonctions mathmatiques dont le paramtre dentre est de grande taille, comme
un fichier ou un paquet, mais avec un rsultat trs rduit en taille. La principale caractristique
de ces fonctions est quelle sont difficilement inversibles, cest dire quen cas dinterception du
rsultat appel condensat, il est extrmement difficile de retrouver le message dorigine.
On peut en citer deux des plus utilises :
MD5 (Message Digest Algorithm 5) qui permet de hacher les donnes dentre en renvoyant
une chane de 128 bits. Mais quelques faiblesses ont t dcouvertes. Son utilisation se
rarfie.
SHA-1 (Secure Hash Algorithm) publi par le gouvernement Amricain, et qui renvoie une
valeur de 160 bits. Il est relativement jeune, et il ny a pas de faiblesse connue.

2.3

La cryptographie hybride

Cette technique a t introduite afin de profiter des avantages des deux techniques prcdemment cites, cest dire la rapidit de traitement des messages cods par cryptographie
symtrique et la puissance du chiffrement des messages par cryptographie asymtrique.
Le principe est assez simple. La communication entre A et B se fait par systme cryptographique symtrique, ce qui rend rend la communication assez rapide chiffrer et dchiffrer. Mais
la lacune de la scurit de transmission de la cl symtrique de chiffrement/dchiffrement est
pallie par un chiffrement de cette cl, qui lui est asymtrique.

Troisime partie

Mesure de lefficacit dun


cryptosystme

Chapitre 3

Probabilits et thorie de
linformation
3.1
3.1.1

Rappels de probabilits
Univers

On dfinit lunivers, cest dire lensemble de tous les rsultats possibles dune exprience
alatoire. Tout lment de cette ensemble est appel vnement lmentaire.
Un vnement correspond une partie de .

3.1.2

Mesure de probabilit

Une mesure de probabilit sur est une application P : R qui vrifie :


P () = 1
P (A)
[ 0 pour
Xtout vnement A
P ( Ai ) =
P (Ai ) avec I N et les Ai 2 2 disjoints.
iI

3.1.3

iI

Probabilits conditionnelles

Si on considre deux vnements A et B tels que B a une probabilit non nulle de ralisation,
alors on dfinit la probabilit conditionnelle de A sachant B la quantit :
P (A/B) =

3.1.4

P (A B)
P (B)

Indpendance

Deux vnements A et B sont indpendants si et seulement si :


P (A B) = P (A) P (B)

(3.1)

Panorama des algorithmes de cryptographie

3.1.5

18

Variables alatoires relles

Une variable alatoire relle est une application X : R telle que, pour tout sousensemble borlien B de R (union ou intersection dnombrable dintervalles de R), X 1 (B) =
{ ; X() B} est un vnement.

3.2

Thorie de lInformation

Il sagit dune thorie probabiliste qui permet de quantifier le contenu moyen en information
dun ensemble de messages qui, en informatique, sera confondu avec la source dun codage. Cette
thorie a pour prcurseur Claude Shannon, qui la fonde en 1948 dans son article A Mathematical
Theory of Communications.
La notion dinformation est ici purement mathmatique. Elle prsente un caractre alatoire,
donc incertain. Cette incertitude est donc prise comme mesure de linformation. Plus lvnement
associ une information est rare, cest dire de faible probabilit, plus celui-ci sera intressant,
et donc plus linformation sera leve. Une information est donc de mesure nulle si lvnement
associ est certain. En effet, linformation "Demain est un autre jour" napporte rien dintressant,
elle est donc de mesure nulle.
Linformation se mesure en bits. Un bit est quivalent un vnement parmi deux alternatives :
{0, 1}, ou {True, False }, . . .

3.2.1

Information au sens de Fisher

On suppose quon travaille avec une variable alatoire X dont la loi (ou densit) de probabilit
dpend de s paramtres reprsents par le vecteur Rs . On dfinit alors la quantit
dinformation de Fisher fournie par X sur le paramtre par :
I() = E[(

ln L( X , )2 ]

(3.2)

o L est la fonction de vraisemblance dun chantillon connu de X, {X1 , X2 , . . . , Xn }, qui on le

rappelle, est dfinie, pour tout vecteur observ de lchantillon


x = {x1 , x2 , . . . , xn } par :

L(
x , ) = P (X1 = x1 ) P (X2 = x2 ) P (Xn = xn )

(3.3)

dans le cas dune loi discrte.

L(
x , ) = f (x1 ) f (x2 ) f (xn )

(3.4)

dans le cas dune loi continue.


On voit bien quil sagit dune quantit dinformation utilise pour mesurer lefficacit dun
estimateur sans biais de . En effet, tout estimateur sans biais a une variance dont la borne
infrieure sera linverse de cette quantit dinformation (ingalit de Cramer-Rao) :
estimateur sans biais de
Pour tout ,

V ()

1
I()

(3.5)

Donc, intuitivement, lorsque lon est en possession dun chantillon X de X, et que lon cherche
estimer un paramtre , plus la quantit dinformation au sens de Fisher sera leve, plus un
estimateur sans biais efficace de aura une variance faible.

Panorama des algorithmes de cryptographie

3.2.2

19

Information dun ensemble : la formule de Hartley (1928)

On suppose que lon dispose dun ensemble de K lments.


La quantit dinformation de cet ensemble vaut, selon Hartley :
I() = log2 (K)

(3.6)

Intuitivement, si possde 2n lments, on peut coder chaque lment de par un nombre crit
en base 2 et compos de n bits (ou digits). Cest la raison pour laquelle la quantit dinformation
ncessaire pour reprer nimporte quel lment de est :
I() = log2 (2n ) = n
, ce qui correspond au nombre de bits contenus dans la reprsentation en base 2 de llment.
Cette dfinition de la quantit dinformation a du tre adapte, car elle ne prenait pas en
compte le caractre probabiliste de la ralisation des vnements de lensemble , mais juste le
nombre dlments.
Par contre, en cas dquiprobabilit, cette formule trouve tout son sens. Le nombre dlments
de lensemble caractrise ainsi lensemble, et donc la formule de Hartley peut tre applique : ce
nest ni plus ni moins que la thorie du codage que lon voque ici.
Pour remdier la prise en compte du caractre probabiliste, dans le cas de non quiprobabilit des vnements lmentaires, Shannon a apport en 1948 une solution pour mesurer
linformation.

3.2.3

Information de Shannon

En fait, Shannon sest inspir des travaux de Wiener.


On travaille encore avec un ensemble , mais muni dune loi de probabilit P. On cherche
munir dune mesure H sur lensemble des vnements E, qui, pour tout vnement A de E,
mesure linformation apporte par A.
Les caractristiques dune telle mesure sont :
H est une fonction positive : un vnement apporte toujours de linformation.
Si A est un vnement certain (A = ) alors H(A) = 0
H est une fonction additive : la quantit dinformation apporte par A B, dans le cas o
A et B sont indpendants, est gale la somme des quantits dinformations apportes par
A et B :
H(A B) = H(A) + H(B)
On en dduit que la formule de la quantit dinformation qui corrobore ces proprits est :
A ,

H(A) = log2 (P (A))

(3.7)

Dsormais, on peut faire place la notion dentropie de Shannon, qui est une mesure de la
quantit dinformation moyenne contenue dans un espace probabilis (, E, P).

3.3
3.3.1

Entropie
Entropie au sens physique

La notion dentropie vient de la thermodynamique, discipline de la physique. En physique, elle


consiste en une mesure de ltat de dsordre dun systme datomes ou de molcules. Lentropie
augmente lorsque le systme volue vers un tat de plus grand dsordre, et inversement.

Panorama des algorithmes de cryptographie

20

Mais alors, quoi correspond lentropie dans le cadre de la cryptographie ?


Nous allons dfinir lentropie au sens probabiliste, puis voir en quoi cela mesure la scurit dun
cryptosystme.

3.3.2

Entropie dune variable alatoire X

Soit (, E, P) un espace probabilis, et X une variable alatoire qui prend ses valeurs dans
.
= {1 , 2 , . . . , n }
o n est le nombre de valeurs possibles pour X.
Donc lentropie de X est cense tre une fonction qui reprsente un dsordre mathmatique ,
cest dire une quantit qui caractrise lincertitude du rsultat.
Lentropie mathmatique de X possde donc les proprits suivantes :
Lentropie est nulle si on est certain de lvnement (cas o n=1 ou un seul vnement
lmentaire ralisable).
Lentropie, sur des ensembles de ralisation quiprobable, est une fonction croissante de n.
A n fix, lentropie de X sera maximale pour une distribution de probabilit P quiprobable.
On retrouve exactement la notion dinformation au sens de Shannon, mais au lieu de sappliquer
un vnement A E, il sapplique une variable alatoire, donc doit prendre en compte tous
les vnements possibles.
Cest pourquoi lentropie H de X est la quantit moyenne dinformation contenue dans (, E,
P).
H(X) = E[ log2 (P (X))]
(3.8)
Exemple (cas quiprobable) :
On considre = {1 , 2 , . . . , 1 6, } o i est une boule numrote i, et Alice tire une boule.
Ben doit dterminer le numro de la boule par un systme de questions-rponses dont la rponse
est binaire (oui ou non) :
Ben : Le numro est-il infrieur 8 ?
Alice : Oui.
Ben : Le numro est-il infrieur 4 ?
Alice : Non.
Ben : Le numro est-il infrieur 6 ?
Alice : Non.
Ben : Le numro est-il gal 6 ?
Alice : Non.
Ben : Donc cest le 7.
Alice : Bravo, tu as devin en 4 tapes.
Ici, il tait ncessaire davoir 4 informations "binaires" pour accder la valeur observe de la
variable alatoire. Or on a bien (cas quiprobable ) :
H(X) = log2 (16) = log2 (24 ) = 4

Panorama des algorithmes de cryptographie

21

Theoreme 3.3.1. tant donne une variable alatoire discrte X, lentropie de X est dfinie
par :

H(X) =

P (X = x) log2 (P (X = x))

Theoreme 3.3.2. Si la variable alatoire discrte X est uniformment distribue et pouvant


prendre N valeurs , lentropie de X scrit :

H(X) = log2 (N )
Maintenant, intressons-nous au cas de deux variables alatoires.

3.3.3

Entropie conditionnelle de X par rapport Y

Theoreme 3.3.3. Lentropie conditionnelle de la variable alatoire discrte X sachant Y scrit :

H(X | Y ) =

P (X = x, Y = y) log2 (P (X = x | Y = y))

x,y

La formule suivante pour le cas de deux variables indpendantes en dcoule :


Theoreme 3.3.4. Dans le cas o X et Y sont indpendantes, lentropie conditionnelle de X
sachant Y, scrit :

H(X | Y ) = H(X)

3.3.4

Entropie du couple (X,Y)

Theoreme 3.3.5. , Lentropie du couple (X,Y), scrit :

H(X, Y ) = H(X) + H(Y |X)


ou
H(X, Y ) = H(Y ) + H(X|Y )
Theoreme 3.3.6. Dans le cas o X et Y sont indpendantes, lentropie du couple (X,Y), scrit :

H(X, Y ) = H(X) + H(Y )

Panorama des algorithmes de cryptographie

3.4

22

Application la cryptographie

Pour mesurer la scurit dun systme cryptographique, on fait appel la thorie de linformation.
La problmatique est celle de la cryptanalyse : dans quelle mesure la connaissance dun message
chiffr donne de linformation sur le message clair, en supposant que le systme utilis est connu.
On a compris que plus lentropie dun systme est leve, plus celui-ci est difficile briser.
Afin de ramener le problme un modle mathmatique et probabiliste plus simple, on suppose que lon tudie un systme cryptographique comme un ensemble de messages clairs, un
ensemble de messages cods, et un ensemble de cls tels que chaque message cod soit fonction
dun message clair et dune cl.
Mais cette relation nest pas injective : plusieurs couples de message clair et de cl peuvent donner un mme message cod. On considre un ensemble de messages clairs, un ensemble de
messages cods et un ensemble de cls.

= {m1 , m2 , . . . , mn }

= {c1 , c2 , . . . , cn }

= {k1 , k2 , . . . , kp }
On dfinit donc des variables alatoires M, C et K, respectivement valeurs dans ces ensembles.
On rappelle dailleurs que C est une fonction de M et de K :

C = f (M, K)
et que cette relation nest pas injective.
On suppose que le choix de la cl se fait indpendamment du message coder, ce qui implique
la formule suivante :

H(K | M ) = H(K)
et donc
H(M, K) = H(M ) + H(K)
Puisqu partir du message cod et de la cl, on arrive au message dorigine, et bien sur qu
partir du message clair et de la cl, on arrive au message cod, il y a galit des entropies des
paires de variables alatoires (M,K) et (K,C) :

Panorama des algorithmes de cryptographie

23

H(M, K) = H(K, C)
Ce qui donne une relation intressante :

H(M ) + H(K) = H(C) + H(K | C)


Theoreme 3.4.1. Un systme cryptographique est dit parfait si :

H(M | C) = H(M )
et une dernire relation donne, pour le cas dun cryptosystme parfait :
Theoreme 3.4.2. Si un cryptosystme est parfait, alors :

H(K) H(M )
En dautres termes, cela montre que linformation contenue dans la cl est (au moins) aussi
grande que celle contenue dans le message clair lui-mme.

Quatrime partie

Nouveaux protocoles dchange de


cls

Chapitre 4

La cryptographie quantique
4.1

Quelques lments de physique quantique

la physique quantique est la partie de la physique qui sintresse aux phnomnes qui ont
cours lchelle microscopique des particules. Le mot quantique vient du latin quantum qui
signifie quantit.
En effet, au dbut du XX me sicle, Max Planck postule lide originale selon laquelle les changes
dnergie entre la lumire et la matire ne peuvent se faire que par paquets discontinus, appels
par la suite quanta. Cest une ide originale au sens o on observe de la discrtisation, alors que
la physique classique est clairement continue.
James Maxwell avait dfini la lumire comme un faisceau dondes lectromagntiques se
dplaant la fameuse vitesse de 300.000 km/s. Albert Einstein a donc mis en commun ces deux
ides en dclarant que lnergie de la lumire est granuleuse . Ce grain dnergie sappelle
photon. Il sagit dune particule immatrielle et sans masse, porteur dun quantum dnergie
caractristique de la frquence de londe associe :
E=h

(4.1)

o h est la constante de Planck (h = 6, 62x1034 J.s) et la frquence de londe.


On peut donc sintresser la thorie de linformation quantique, qui est en fait un dveloppement de la thorie de linformation de Claude Shannon, exploitant quelques proprits
de la mcanique quantique : le thorme de non-clonage et le postulat de rduction du
paquet dondes. Une information quantique aura pour unit le qubit.

4.1.1

Notations de Dirac

En physique ondulatoire, ltat dune particule ponctuelle est donne par une fonction , dite
fonction donde quantique qui prend en paramtres le temps , les coordonnes spatiales, voire
dautres paramtres tels le spin ou moment magntique :

(
r , t)
o est continue et L2 , lespace des fonctions de carr sommable. On a la relation :
Z

|(
r , t)|2 d3 r = 1
(4.2)

Panorama des algorithmes de cryptographie

26

Cette quation est due au fait que le terme |(


r , t)|2 reprsente une densit de probabilit de
position. Donc lintgration sur lespace dune densit de probabilit vaut 1.
On dfinit, par isomorphisme despaces vectoriels, lespace vectoriel des tats E, tel que :
L2 E
7 | >
Le vecteur | > sappelle un ket (en anglais, signifie crochet fermant).
On peut aussi dfinir, par isomorphisme entre un espace de dimension finie et son espace dual,
le vecteur < | E , et le produit scalaire :
Z
< | >= (r)(r) d3 r
(4.3)
Lespace E est donc un espace euclidien (car muni dun produit scalaire et de dimension fini).
Cest aussi ce quon appelle un espace de Hilbert.

4.1.2

Qubit

Un qubit est un tat quantique dont la reprsentation la plus lmentaire (cest dire en ne
prenant en compte que la position) scrit :
| > = |0 > + |1 > E

(4.4)

avec ||2 + ||2 = 1




 
1
0
|0 >=
et |1 >=
0
1
On peut assimiler lespace E C2 , dont |0 > et |1 > forment une base orthonorme.

4.1.3

Thorme de non-clonage

Ce thorme est fondamental : il stipule quil est impossible de dupliquer un tat quantique
alatoire (ou non connu).
Dmonstration :
On suppose que lon connait un oprateur qui permet de dupliquer nimporte quel vecteur de
E. Un oprateur est reprsent par une matrice qui, par la donne de deux vecteurs, un que
lon veut copier, et un arbitraire qui sera transform en la copie, donnera la donne de deux
mmes vecteurs, qui est le copi. Mathmatiquement, la donne de deux vecteurs est un produit
tensoriel. Appliquons cet oprateur sur deux vecteurs et arbitraires, et prenons, par exemple
|0 > comme feuille vierge de notre photocopieuse U.

U ( |0 >) =
(4.5)
U ( |0 >) =
Appliquons cette opration la somme des deux vecteurs :
U (( + ) |0 >) = ( + ) ( + )

(4.6)

Panorama des algorithmes de cryptographie

27

Or, par linarit de loprateur U et du produit tensoriel :


U (( + ) |0 >) = U ( |0 >) + U ( |0 >)

(4.7)

( + ) ( + ) = +

(4.8)

Ce qui donne :
2

do, pour tout (, ) E ,


+=0
ce qui est absurde.
CQFD.

4.1.4

Rduction du paquet donde

Cette proprit est intressante car mme si on ne peut pas cloner un tat quantique, on peut
nanmoins le mesurer. Oui, mais cette mesure nest pas gratuite : en effet, daprs le concept
de rduction du paquet donde, aprs une mesure, un systme physique voit son tat rduit (ou
projet) celui qui a t mesur.
Quest-ce que toute cette thorie et ces postulats nous ont appris ?
Dabord, que lon peut quantifier linformation par des tats quantiques (ce seront les tats de
polarisation dans le cas du protocole BB84), puis quil est impossible, pour un espion, de cloner
un tat quantique afin de pouvoir accder linformation, ou de mesurer cet tat sans provoquer
derreurs qui seront srement visibles.

4.2

Le protocole BB84

Ce protocole vise cre une cl secrte base sur la transmission et dtection dtats de
polarisation dun photon. Le principe est assez simple :
Dans un premier temps, la communication se fait travers un canal quantique.
Alice doit envoyer une srie de bits alatoires et pour chaque bit envoy, elle choisit alatoirement une base (rectilinaire ou diagonale).
Chaque base, associe chaque bit, donne un tat de polarisation parmi quatre (0, 45,
90, 135) avec lequel Alice va transmettre le photon.

Chaque photon est mesur par Ben laide dune base alatoire.
Ainsi, si cette base est la mme que celle dAlice, alors il mesurera la mme polarisation et
mesurera donc le bit que Alice voulait lui transmettre. Mais si la base nest pas la mme,
alors le rsultat envoy sera alatoire.

Panorama des algorithmes de cryptographie

28

Comment Ben peut-il donc savoir ce qui est vrai ou faux, parmi le flot de bits reus ?
Dans un second temps, la communication se fait publiquement, dans un canal classique (donc
non scuris).
Ben communique publiquement Alice la squence de bases utilises pour les mesures de
polarisation de photon.
Alice envoie alors Ben si, pour chaque photon mesur, la base de Ben correspond ou non.
Alice et Ben enlvent alors de leurs sries de bits ceux dont les bases sont diffrentes, et se
retrouvent donc avec, thoriquement, une mme srie de bits.

Mais comment sassurer alors que la transmission des bits sest bien effectue ?
Alice et Ben se mettent daccord sur lextraction dune sous-suite alatoire de ce flot de
bits commun, quils communiquent.
Sils correspondent, alors ils sont, bien entendus, supprims (car communiqus publiquement) et indiquent, de manire probabiliste, quil ny a pas eu derreurs ni de tentative

Panorama des algorithmes de cryptographie

29

dinterception.
Dans le cas contraire, il faudrait recommencer tout le processus depuis le dbut, dans un
autre canal quantique.
Dans le cas o Ben et Alice sont assurs de la qualit de transmission, le flot de bits restant,
rest secret, sera donc la fameuse cl quantique, dont la scurit de transmission est garantie.

Chapitre 5

Algorithmes discrets
5.1
5.1.1

Quelques structures algbriques


Groupe

Un groupe en mathmatiques est un ensemble G tel que :


G est muni dune loi de composition interne associative :
(x, y, z) G3 ,

(x y) z = x (y z) = x y z

(5.1)

G admet un lment neutre g :


x G,

gx=xg =x

(5.2)

Pour tout lment x de G, x admet un lment symtrique :


x G,

y G,

xy =yx=g

(5.3)

On dit que (G,) est un groupe commutatif (ou ablien) si la loi est commutative :
(x, y) G2 ,

5.1.2

xy =yx

(5.4)

Anneau

Un anneau est un ensemble A muni de deux oprations, une additive (+), et une multiplicative (*), tel que :
(A,+) est un groupe commutatif
La multiplication est associative, distributive par rapport laddition +, et possde un
neutre 1A
Un anneau est commutatif lorsque la loi multiplicative est elle-mme commutative.

5.1.3

Corps

Un corps K est un anneau commutatif (K,+,) tel que :

Panorama des algorithmes de cryptographie

31

Llment neutre pour +, 0K et llment neutre pour , 1K sont distincts


Tout lment non nul de K est inversible (pour la loi )
On dfinit la caractristique de K (en fait caractristique de lanneau K) comme le plus petit
entier naturel (sil existe) non nul, n, tel que :
n 1K = 1K + 1K + + 1K = 0K

(5.5)

Si cet entier nexiste pas, on dit que le corps est de caractristique nulle.

5.2

Algorithme RSA

Le cryptage RSA a t invent par Ron Rivest, Adi Shamir et Leonard Adleman en 1977. Il
repose sur la factorisation en nombres premiers dun entier.
Rappelons comment crer une cl :
Choisir 2 entiers p et q premiers, distincts et suffisamment grands (au moins 100 chiffres
chacun) et calculer n = p q.
On a (n) = (p 1) (q 1) o est la fonction indicatrice dEuler.
Choisir un entier e compris entre 1 et (n) tel que e et (n) soient premiers entre eux.
Calculer d tel que d e = 1 [(n)]
On obtient ainsi la cl publique qui est le couple (n, e) et la cl prive est d.
Si Alice veut coder un message lintention de Ben, il suffit quelle connaisse la cl publique de
Ben. Elle commence par dcouper le message envoyer, en morceaux de longueur plus petite
que la moiti du nombre de chiffres qui composent n. Puis elle numrise un de ces morceaux en
remplaant chaque lettre par deux chiffres. Ainsi, les morceaux deviennent des grands entiers
modulo n puisque leur longueur est infrieure celle de n.
Lencodage dun morceau m se fait en calculant b = me [n].
Pour dcoder ce message, Benot cherche rcuprer m partir de b. Il lui suffit de calculer :
bd [n] = (me )d [n] = m
car e d = 1 [(n)]
Un espion qui voudrait dchiffrer un message crypt ne peut le faire sans possder la cl secrte d. Il faudrait alors retrouver (n) et donc dcomposer n en facteurs premiers, qui savre
tre trs difficile pour un trs grand nombre.
Tout le problme du cryptage RSA revient donc trouver 2 entiers p et q premiers suffisamment
grands.

5.3

Logarithme discret

Un autre systme cryptographique cl publique est bas sur le logarithme discret.


Il sagit de lalgorithme dElgamal :
Le bloc de message clair est tout dabord numris grce des entiers modulo p.

Panorama des algorithmes de cryptographie

32

Alice choisit un grand nombre a [p 1] qui sera sa cl secrte de dcodage. Sa cl publique sera
g a [p]. Pour envoyer un message m, Ben choisit k [p] et envoie le couple (K,M) Alice, avec :
K = g k [p]
M = m g (ak) [p]
Lorsque Alice reoit le message cod de la part de Ben, elle le dchiffre de la manire suivante :
Elle calcule dabord K (a) [p] = g (ak) [p]
Elle calcule ensuite M.g (ak) = m.g (ak) g (ak) [p] qui est congru m modulo p.
Ainsi, si une tierce personne souhaite cryptanalyser ce systme, elle doit retrouver la cl a
partir de la cl publique g a . Ce qui lamne rsoudre un problme de logarithme discret de
type y = ax pour y et a donns, ce qui correspond trouver le logarithme loga (y). Comme
nous sommes dans le cas des entiers modulo un nombre premier (ici p), lorsque les puissances
successives ax parcourent tous les entiers modulo p, x parcourent tous les entiers modulo p-1
(cela dcoule du thorme dEuler-Fermat).

5.4
5.4.1

Courbes elliptiques
Dfinition

Une courbe elliptique est un objet gomtrique du plan cartsien R2 . Il sagit dun ensemble
de points (x,y) de R2 vrifiant :
 2
y = x3 + a x + b
(5.6)
4 a3 + 27 b2 6= 0
Voyons la reprsentation que cela peut donner :

Ces courbes ont des proprits gomtriques assez intressantes :


Elles sont symtriques par rapport laxe des abscisses.
Toute droite coupe une courbe elliptique en trois points au maximum.

Panorama des algorithmes de cryptographie

5.4.2

33

Structure de groupe commutatif (C,+)

Comme nous venons de le voir, une courbe elliptique C est entirement dtermine par le
choix des paramtres a et b de lquation vrifie par les points de cette courbe.
Il savre quon peut munir C dun oprateur daddition commutatif + .
tant donns deux points P et Q de la courbe C, la somme P + Q correspond au point R, dfinit
comme suit :
On considre la droite D = (P Q)
Si D coupe C en un troisime point K, alors R est dfini comme le symtrique de K par
rapport laxe des abscisses.

Si les points P et Q sont confondus, alors le point rsultant sappelle le double de P, et se


localise comme le symtrique du point dintersection de la courbe et de la tangente la
courbe en P.

Si elle ne coupe pas la courbe en un troisime point (cest dire que la droite (PQ) est
parallle laxe des ordonnes), alors on dfinit un point O, dit linfini, comme tant le
rsultat de cette somme.
On obtient ainsi pour (C,+) une structure de groupe commutatif dont le le point O correspond
llment neutre.

Panorama des algorithmes de cryptographie

34

videmment, dans ce cas, il est facile de calculer les coordonnes de la somme de deux points,
connaissant les coordonnes des deux points en question. Il suffit de calculer les coordonnes de
lintersection de la droite passant par les deux points et de la courbe. Puis en prenant loppos
de lordonne obtenue, on obtient les coordonnes de la somme des deux points :
Soient (xP , yP ) et (xQ , yQ ) les coordonnes cartsiennes de deux points distincts P et Q.
y yP
.
La droite D a alors comme coefficient directeur mD = xQ
Q xP
La tangente T la courbe C en P a comme coefficient directeur : mT = lim mD , ce qui donne,
QP

en multipliant en haut et bas par yQ + yP :


2
2
yQ
yP
(y
+y
)(x
xP )
Q
P
Q
QP

mT = lim

2
or yQ
yP2 = x3Q x3P + a (xQ xP )

et

x3Q x3P
xQ xP

= x2Q + xQ xP + x2P

do finalement : mT =

3 x2P +a
2 yP

On en dduit les coordonnes de R, la somme de P et Q, puis de 2 P , le double de P.



xR = m2D (xP + xQ )
(5.7)
yR = yP + mD (xP xR )


x2P = m2T (xP + xQ )


y2P = yP + mT (xP x2P )

(5.8)

Tous ces calculs de coordonnes se sont faits dans R, mais il est possible de gnraliser ces
calculs des corps quelconques. Pour nimporte quel corps K (inclus dans R, afin davoir une
reprsentation graphique simple), on peut dfinir une courbe elliptique qui sera donc un ensemble
de points (x,y) de K 2 possdant les mmes quations que dans la dfinition concernant le corps
des rels. Il sagit donc dun sous-ensemble de la courbe elliptique sur R quivalente, et on peut
montrer que ce sous-ensemble possde galement une structure de groupe.
Le sous-ensemble CK ainsi obtenu est un sous-groupe de (C,+).
Pour la dmonstration, il suffit de regarder les coordonnes de la somme et du double pour
se rendre compte quils sobtiennent par oprations algbriques valables dans tout corps.
Bien entendu, pour faire lanalogie avec les nombres premiers vus dans les algorithmes discrets
prcdents, on va choisir comme corps K le corps (Z/pZ , +, ) avec p un nombre premier (on
rappelle que la caractristique dun corps est soit nulle, soit un nombre premier).
Voyons quoi ressemble une courbe elliptique discrte :

Panorama des algorithmes de cryptographie

5.4.3

35

Protocole dchange de cl publique et transmission de messages

Nous travaillerons dsormais avec :


un nombre p premier
des paramtres a et b tels que 4 a3 + 27 b2 6= 0
On a alors un corps (K, +, ) = (Z/pZ , +, ) sur lequel on dfinit une courbe elliptique C.
C est donc lensemble des points (x, y) [[0, p 1]]2 tels que :
y 2 x3 + a x + b [p]

(5.9)

Comme nous lavons dit prcdemment, C est muni dune structure de groupe commutatif fini.
On peut donc dfinir la somme de deux points :

On peut aussi dfinir le double dun point, et par associativit de la loi +, on peut dfinir le
multiple dun point, pour nimporte quel entier naturel n : n P = P + P + + P .
Comment font alors nos chers Alice et Ben pour schanger les cls ?
Ils utilisent un procd dit de Diffie et Hellman, cest dire quils ne se les communiquent pas
directement.

Panorama des algorithmes de cryptographie

36

Alice et Ben se mettent daccord publiquement sur une courbe elliptique discrte, cest
dire par la donne de a, b et le nombre premier p qui dfinira la courbe elliptique sur le
corps fini Z/pZ.
Ils se mettent daccord galement sur le choix dun point P sur cette courbe.
Alice choisit, secrtement, un entier kA , et Ben un entier kB .
Alice envoie donc Ben le point kA P , et Ben envoie Alice le point kB P . Ils peuvent
donc tous les deux calculer le point kA kB P , par commutativit du groupe (C,+). Il sagit
dun point de la courbe, qui sera leur cl secrte.
En quoi cette mthode est-elle sre ?
En effet, si quelquun a intercept la partie publique du protocole, alors cet espion aura accs
la courbe elliptique discrte, au point P, ainsi quaux points kA P et kB P . Mais cest l que
lutilisation des courbes elliptiques montre sa puissance, car pour trouver le point kA kB P , il
suffit apparemment de calculer kA (ou kB ).
Mais calculer kA , connaissant P et kA P , sappelle rsoudre le logarithme discret sur la courbe
elliptique discrte, qui est plus complexe que rsoudre le logarithme discret dans (Z/pZ) {0},
vu la structure complique des courbes elliptiques.
Daccord, mais comment font Alice et Ben pour communiquer dsormais ?
Le message transmettre doit tre cod par une suite de points de la courbe elliptique. On
suppose que ceci a t fait en amont du protocole dchange de cls. Une fois ceci fait, voil
comment se fait la communication :
On suppose quAlice veuille envoyer le point M Ben.
Alice choisit alors secrtement un nombre d , et envoie Ben le couple de points (d P ,
M + d kB P )
Ben, qui ne connait ni d, ni M, multiplie d P par kB , et retranche ce rsultat M + d kB P ,
ce qui donne M.
Encore une fois, si notre espion a intercept le couple de points, il lui faut connaitre kB pour
rcuprer M, ce qui revient rsoudre le logarithme discret.

5.5

Conclusion

Alice et Ben ont beaucoup apprci de pouvoir travailler sur ce sujet passionnant quest la
cryptographie.
Ils ont pu explorer le temps, aborder la cryptographie moderne sous un angle ludique, puis sattaquer aux notions intuitives et mathmatiques dinformation, dentropie, pour enfin sintresser
des protocoles dchanges de cls assez novateurs en la matire, dont les principales caractristiques sont quils font appel des sciences difficiles comme la mcanique quantique, ou ltude des
structures algbriques de groupes finis, ou encore les rsolutions dquations du type logarithme

Panorama des algorithmes de cryptographie

37

discret, . . ..
Ils esprent que ce rapport plaira MVOE, qui est en fait JSLB.
Cet nigme tait lmentaire, puisquil fait appel au chiffre de Csar (ici la permutation se faisait
en dcalant les lettres de 3), mais comme dans toute discipline, il faut bien savoir faire une
tincelle avant dallumer un feu de fort.