Vous êtes sur la page 1sur 24

Exercices et problmes

de cryptographie

Damien Vergnaud
Prface de Jacques Stern

Exercices
et problmes
de cryptographie

2e dition

Illustration de couverture :
Energy of fractal realms agsandrew-Fotolia.com

Dunod, 2012, 2015


5 rue Laromiguire, 75005 Paris
www.dunod.com
ISBN 978-2-10-072145-0

P RFACE

Dunod. Toute reproduction non autorise est un dlit.

Pour devenir habile en quelque profession que ce soit, il faut le concours de la


nature, de ltude et de lexercice . Cette maxime dAristote semble bien mal sappliquer la cryptologie tant lexercice y est absent. Il existe de multiples ouvrages
de rfrence de qualit mais, pour la plupart, ils sollicitent trs peu linitiative des
tudiants. Et mme ceux rares qui sont accompagns dun vritable choix de
problmes rsoudre, par exemple sous forme dun livre compagnon, ne couvrent
pas totalement une discipline qui connat une volution rapide. Cest donc un rel
manque que vient combler le recueil que propose Damien Vergnaud.
Le livre que jai le plaisir de prsenter est issu dun vrai travail de terrain puisquil
est le rsultat de plusieurs annes denseignement de la cryptologie lcole normale suprieure. lvidence, lauteur a beaucoup de talent pour veiller lintrt
des tudiants et les conduire, pas pas, sapproprier les concepts et les mthodes de
la science du secret. Beaucoup de culture galement, puisque les sujets choisis sont
extrmement varis limage dune science qui emprunte lalgbre, la thorie des
probabilits, lalgorithmique, la thorie de linformation. Dailleurs, ils dbordent
largement le cadre strict de la cryptographie. Ce talent et cette culture conduisent un
choix dexercices qui ne demandent pas simplement ltudiant de faire des gammes
mais lui proposent de sattaquer de vritables compositions : ici un eort raisonnable de programmation illustre des cryptanalyses clbres comme celle de lEnigma
ou celle du programme Venona qui a permis linterception de communications o les
services russes mettaient incorrectement en uvre le chirement jetable ; l une invitation mettre la main la pte permet dentrer de plain-pied dans les mthodes
modernes de cryptanalyse direntielle et linaire des algorithmes conventionnels tels que le DES ou lAES ; l encore, une initiation progressive aux mthodes de
factorisation dentiers, intimement lies la scurit du RSA est propose.
Prsenter un tel ouvrage comme un simple livre dexercices est le reet de la modestie de son auteur. Certes, il permet la pratique ncessaire lacquisition des lments essentiels de la cryptologie. Mais il va au-del de cet objectif : chaque chapitre
inclut une prsentation qui est un vritable cours dintroduction et lensemble constitue de fait une forme douvrage denseignement avanc fond sur la pratique. En
dautres termes, le lecteur qui va au terme de tous les exercices proposs est dj un
V

Exercices et problmes de cryptographie

vritable spcialiste, capable de se confronter aux multiples concepts que la cryptologie moderne a dvelopps ces trente dernires annes. un moment o la cryptologie
est au cur de la socit de linformation, de linternet aux moyens de paiement en
passant par les tlphones portables, une telle expertise est indispensable et il faut
souhaiter au livre de Damien Vergnaud des lecteurs la fois nombreux et actifs.
Jacques Stern
Professeur lcole normale suprieure

VI

T ABLE

DES MATIRES

Prface
Avant-propos

XIII

Notations

XV

Chapitre 1. Cryptographie classique

1.1 Chiffrement par substitution mono-alphabtique

1
3
4

Exercice 1.1 (avec programmation). Chiffrement de Csar


Exercice 1.2 (avec programmation). Chirement ane
Exercice 1.3 (avec programmation).
Chirement par substitution mono-alphabtique

1.2 Chiffrement par substitution poly-alphabtique


Exercice 1.4 (avec programmation).
Chirement de Vigenre test de Kasiski
Exercice 1.5 (avec programmation).
Chirement de Vigenre indice de concidence
Exercice 1.6. Chirement de Hill nombre de cls
Exercice 1.7. Chirement de Hill attaque clair connu

1.3 Chiffrement par transposition


Exercice 1.8 (avec programmation). Scytale
Exercice 1.9 (avec programmation).
Chirement par transposition par colonnes

1.4 Chiffrement parfait


Exercice 1.10. Carr latin
Exercice 1.11 (avec programmation).
Mauvaise utilisation du chirement jetable
Problme 1.12. Algorithme de Viterbi

1.5 La machine Enigma


Dunod. Toute reproduction non autorise est un dlit.

Exercice 1.13. Enigma Nombre de cls


Exercice 1.14 (avec programmation). Enigma Tableau de connexions
Problme 1.15. Enigma Indice de concidence

5
8
9
11
12
13
14
15
16
17
18
20
20
22
24
25
27

Chapitre 2. Chiffrement par bloc

31

2.1 Modes opratoires

32
34
36
38

Exercice 2.1. Modes opratoires et proprits de scurit


Exercice 2.2. Mode opratoire CBC *
Problme 2.3. Attaque sur le mode CBC avec le processus de bourrage RFC2040

2.2 Schmas de Feistel


Exercice 2.4. Schma de F EISTEL un ou deux tours
Exercice 2.5. Scurit du schma de F EISTEL trois tours
Exercice 2.6. Distingueur pour le schma de F EISTEL trois tours

39
40
42
43

VII

Exercices et problmes de cryptographie

2.3 Chiffrement DES

46

Exercice 2.8. Proprit de complmentation du chirement DES

48

Exercice 2.9. Chirement DES avec blanchiment

49

Exercice 2.10. Construction de Even-Mansour

50

Exercice 2.11. Double chirement

51

Exercice 2.12. Chirement Triple-DES avec deux cls indpendantes

52

Exercice 2.13. Mode opratoire CBC-CBC-ECB

53

2.4 Chiffrement AES


Exercice 2.14 (avec programmation). S-Bote de l AES

55
57

Exercice 2.15 (avec programmation). Opration MixColumns

59

Exercice 2.16. Proprits de lopration MixColumns

61

Exercice 2.17 (avec programmation). Diversication de cl de l AES

63

Chapitre 3. Fonctions de hachage Techniques avances de cryptanalyse


3.1 Gnralits sur les fonctions de hachage

65
66

Exercice 3.1. Rsistance la pr-image et aux collisions

66

Exercice 3.2. Construction de Merkle-Damgard

67

Exercice 3.3 (avec programmation).


Collisions sur la fonction MD5 tronque

71

3.2 Chiffrement par bloc et fonction de compression

72

Exercice 3.4. Chirement par bloc et fonction de compression

72

Exercice 3.5. Scurit de la construction de Matyas-Meyer-Oseas avec le DES

73

Exercice 3.6. Attaque en pr-image pour la construction de M. O. R ABIN

74

3.3 Attaques gnriques sur les fonctions de hachage itres

76

Exercice 3.7. Multi-collisions pour les fonctions de hachage itres

76

Exercice 3.8. Attaque en collision contre fonctions de hachage concatnes

78

Problme 3.9. Attaque de Kelsey-Schneier

79

3.4 Cryptanalyse diffrentielle

82

Exercice 3.10 (avec programmation). Table des dirences du DES

83

Problme 3.11. Cryptanalyse direntielle de FEAL-4

85

3.5 Cryptanalyse diffrentielle impossible

89

Exercice 3.12. Attaque par direntielle impossible contre DEAL

89

Problme 3.13. Attaque par direntielle impossible contre l AES

92

3.6 Cryptanalyse linaire

96

Exercice 3.14 (avec programmation). Table dapproximation linaire du DES

96

Exercice 3.15. Approximation linaire de laddition

98

Problme 3.16. Cryptanalyse linaire de SAFER

100

Exercice 3.17. Biais de la parit dune permutation

102

3.7 Attaques par saturation

VIII

45

Exercice 2.7. Cls faibles et semi-faibles du chirement DES

104

Problme 3.18. Attaque par saturation contre l AES

104

Exercice 3.19. Attaque par distingueur sur Ladder-DES

108

Table des matires

Chapitre 4. Chiffrement par ot

111

4.1 Registres dcalage rtroaction linaire

111
113
115
115

Exercice 4.1. LFSR et polynmes de rtroaction


Exercice 4.2. Proprits statistiques dune suite produite par un LFSR
Exercice 4.3. Reconstruction du polynme de rtroaction minimal

4.2 Chiffrement par ot par registres dcalage irrgulier


Exercice 4.4 (avec programmation). Distingueur sur le gnrateur signal darrt
Problme 4.5. Proprits du gnrateur par auto-rtrcissement

4.3 Chiffrement par ot par registre ltr


Exercice 4.6. Attaque deviner et dterminer sur Toyocrypt
Exercice 4.7. Attaque algbrique sur Toyocrypt *

4.4 Chiffrement par ot par registres combins


Exercice 4.8. Attaque par corrlation sur le gnrateur de Gee
Exercice 4.9. Attaque deviner et dterminer sur le gnrateur de Gee
Exercice 4.10. Attaque algbrique sur le gnrateur de Gee

4.5 Le chiffrement par ot A5/1


Exercice 4.11. tats internes de A5/1
Exercice 4.12. Attaque par compromis temps-mmoire sur A5/1
Problme 4.13. Attaque deviner et dterminer sur A5/1

4.6 Le chiffrement par ot RC4

Dunod. Toute reproduction non autorise est un dlit.

Exercice 4.14. Cryptanalyse de RC4 sans opration dchange *


Exercice 4.15. Biais de la suite chirante produite par RC4
Problme 4.16. Attaque par recouvrement de cl sur RC4

116
117
119
120
121
122
124
125
127
127
128
129
131
132
135
136
137
139

Chapitre 5. Problme du logarithme discret

143

5.1 Logarithme discret dans un groupe gnrique

143
145
146
148
151

Exercice 5.1. Multi-exponentiation


Exercice 5.2. Algorithme de Shanks
Exercice 5.3. Algorithme de Pollard
Exercice 5.4. Algorithme de Pohlig-Hellman
Exercice 5.5 (avec programmation).
Application de lalgorithme de Pohlig-Hellman

5.2 Problme du logarithme discret dans (Z/pZ)


Exercice 5.6. Entiers friables
Problme 5.7. Mthode de Kraitchik Calcul dindice *

5.3 Problmes algorithmiques lis au logarithme discret


Exercice 5.8. Auto-rductibilit du problme du logarithme discret
Exercice 5.9. Algorithme de Pollard
Problme 5.10. Logarithme discret de petit poids de Hamming

5.4 Interpolation polynomiale de logarithme discret


Exercice 5.11. Polynme dinterpolation du logarithme discret
Exercice 5.12. Interpolation polynomiale de logarithme discret
Borne infrieure

153
154
155
157
161
161
163
166
169
169
170

IX

Exercices et problmes de cryptographie

Chapitre 6. Factorisation des entiers et primalit

173

6.1 Tests de primalit

173
174
175
176
178
181
183
185
186

Exercice 6.1. Certicats de primalit de Pratt


Exercice 6.2. Nombres pseudo-premiers de Fermat en base a
Problme 6.3. Nombres de Carmichael Critre de Korselt
Exercice 6.4 (avec programmation). Recherche de nombres de Carmichael
Exercice 6.5. Test de primalit de Solovay-Strassen
Problme 6.6. Test de primalit de Miller-Rabin
Exercice 6.7. Identit de Agrawal-Kayal-Saxena
Exercice 6.8. Nombres de Fermat et test de primalit de Ppin

6.2 Mthodes exponentielles de factorisation


Exercice
Exercice
Exercice
Exercice
Exercice
Exercice

6.9 (avec programmation). Factorisation par divisions successives


6.10 (avec programmation). Factorisation par la mthode Fermat
6.11. Algorithme de Lehman *
6.12. Mthode p 1 de Pollard
6.13 (avec programmation). Factorisation par la mthode p 1 de Pollard
6.14. Algorithme de Pollard

6.3 Multi-valuation de polynmes et algorithme de Pollard-Strassen


Exercice 6.15. Division euclidienne rapide par la mthode de Newton
Exercice 6.16. Multi-valuation dun polynme univari
Exercice 6.17. Algorithme de Pollard-Strassen

6.4 Racine carre modulaire et factorisation


Exercice 6.18. Extraction de racine carre modulo p
Exercice 6.19. Extraction de racine carre modulo p
Exercice 6.20. Extraction de racine carre modulo N
Problme 6.21. Carrs modulaires friables
Exercice 6.22. Factorisation et logarithme discret

195
196
198
200
202
202
204
205
207
211

Chapitre 7. Chiffrement cl publique

213

7.1 Fonction RSA

213
214
215
217

Exercice 7.1. Fonction RSA et factorisation


Exercice 7.2. Auto-rducibilit du problme RSA
Problme 7.3. Scurit des bits de la fonction RSA

7.2 Chiffrement RSA


Exercice 7.4. Scurit du protocole de chirement RSA naf
Exercice 7.5. RSA avec module commun
Exercice 7.6 (avec programmation).
Diusion de donnes chires avec RSA
Exercice 7.7. Attaque de Wiener
Exercice 7.8 (avec programmation). Attaque de Wiener
Exercice 7.9 (avec programmation). RSA et clairs lis
Exercice 7.10. RSA et petits textes clairs
Problme 7.11. Implantation du chirement RSA et thorme chinois des restes

7.3 Mise en accord de cl de Diffie-Hellman


Exercice 7.12. Attaque par le milieu
Problme 7.13. Logarithme discret et Die-Hellman *

188
188
189
189
192
193
194

219
220
220
221
223
224
226
227
228
230
231
232

Table des matires

7.4 Chiffrement dElGamal et variantes


Exercice 7.14. Scurit du chiffrement dElGamal naf
Exercice 7.15. Scurit des bits du logarithme discret
Exercice 7.16. Attaque sur le chiffrement dElGamal par petit sous-groupe

235
235
237
239

Chapitre 8. Signatures numriques

241

8.1 Signatures bases sur la primitive RSA

241
242
243
245
247
249
252
253
254

Exercice 8.1. Scurit du protocole de signature RSA naf


Exercice 8.2. Scurit des protocoles de signature de De Jonge et Chaum
Exercice 8.3. Scurit de F -RSA et proprits de F
Exercice 8.4. Scurit de F -RSA pour la recommandation CCITT
Exercice 8.5. Scurit de F -RSA avec encodage PKCS #1 v1.5
Exercice 8.6. Contrefaon existentielle de F -RSA avec redondance linaire
Exercice 8.7. Contrefaon universelle de F -RSA avec redondance linaire *
Problme 8.8. Scurit du protocole de signature de Boyd

8.2 Signatures dElGamal et variantes


Exercice
Exercice
Exercice
Exercice
Exercice
Exercice

8.9. Contrefaon existentielle du schma de signature dElGamal naf


8.10. Contrefaon universelle du schma de signature dElGamal naf
8.11. Vrication des signatures dElGamal
8.12. Fonction de hachage et scurit des signatures de Schnorr
8.13 (avec programmation). Paramtres publics dans le protocole DSA
8.14. Cl temporaire et scurit des signatures dElGamal

8.3 Signatures de Lamport et variantes


Exercice 8.15. Scurit et ecacit des signatures de Lamport
Exercice 8.16. Espace de message de la signature de Lamport
Exercice 8.17. Extension de lespace des messages des signatures
de Lamport *
Exercice 8.18. Arbres de Merkle
Problme 8.19. Scurit du protocole de signature de Groth

258
258
259
260
261
262
263
265
265
266
267
269
271

275

Index

281

Dunod. Toute reproduction non autorise est un dlit.

Bibliographie

XI

A VANT - PROPOS

La cryptologie est un ensemble de techniques permettant dassurer la scurit des systmes dinformation. Cette discipline permet notamment de conserver aux donnes
leur caractre de condentialit, de contrler leur accs ou dauthentier des documents. Lutilisation de la cryptographie est de plus en plus rpandue et les utilisateurs
des systmes cryptographiques doivent tre en mesure non seulement de comprendre
leur fonctionnement mais aussi den estimer la scurit.

Dunod. Toute reproduction non autorise est un dlit.

Cet ouvrage sadresse aux tudiants de second cycle dinformatique ou de mathmatiques. Il sest dvelopp partir de textes de travaux dirigs et de travaux
pratiques proposs des tudiants du Master parisien de recherche en informatique
(MPRI) et aux lves de premire anne de lcole normale suprieure. Il a t conu
pour aider assimiler les connaissances dun cours dintroduction la cryptologie et
se prparer aux examens. Il prsente les outils mathmatiques et algorithmiques
utiles en cryptographie et les fonctionnalits cryptographiques de base dans le cadre
de la cryptographie symtrique et asymtrique.
Les exercices destins aux tudiants de master 1 pourront cependant tre abords par un tudiant motiv de licence ayant un got pour lalgorithmique dans ses
aspects mathmatiques et pratiques. lintention des tudiants plus avancs, nous
avons inclus des noncs plus diciles qui sont alors signals par un astrisque. Enn, louvrage sera utile aux enseignants de cryptologie qui y trouveront un support
pour leurs travaux dirigs.
La cryptologie est lie dautres disciplines mathmatiques et informatiques
comme larithmtique, lalgbre, lalgorithmique, ou la thorie de la complexit. Le
bagage informatique et mathmatique requis pour aborder ce livre est celui que lon
acquiert lors des deux premires annes de licence ou en classes prparatoires scientiques augment de quelques notions de thorie des nombres de niveau troisime
anne. Ces notions plus avances font lobjet de brefs rappels qui nont cependant
pas pour ambition de remplacer un livre de cours.
Le but de cet ouvrage est de permettre ceux qui le souhaitent de sinitier la
cryptographie par lexemple. Il propose plus dune centaine dexercices et problmes
entirement utiliss dans le cadre de travaux dirigs, de travaux pratiques ou dexamens. Ces exercices sont entirement corrigs mais le lecteur ne tirera prot de ce
livre que sil cherche des solutions personnelles avant den tudier les corrections.
Ltude de la cryptologie moderne ne peut se concevoir sans un ordinateur porte
XIII

Exercices et problmes de cryptographie

de main et le livre propose de nombreux exercices de programmation qui ont pour


but notamment dacqurir une pratique de la cryptanalyse. Les donnes numriques
de ces exercices sont disponibles en ligne sur :
www.dunod.com/contenus-complementaires/9782100721450
Le lecteur pourra recopier les noncs des exercices avant de les traiter. Il trouvera
galement une vingtaine dexercices supplmentaires et des rfrences complmentaires.
Cette deuxime dition a t inspire par les nombreuses demandes et remarques
que mont envoyes des tudiants et collgues, utilisateurs de la premire dition.
Cette nouvelle dition ma donn loccasion de modier et rcrire des parties importantes du texte en suivant ces remarques sur le contenu, le style et lorganisation
de louvrage. En plus dpurer le texte de ses invitables erreurs typographiques et
coquilles, jai simpli et clari une grande partie des noncs des exercices et de
leurs solutions. Jai notamment ajout des questions intermdiaires pour simplier
la rsolution de certains exercices et dtaill certains points techniques dans des solutions dexercices complexes. Jai supprim certains exercices jugs trop diciles
et jen ai galement ajout de nouveaux. Enn, les complments en ligne qui accompagnent louvrage ont t enrichis dune vingtaine dexercices supplmentaires
(avec leurs solutions compltes) et dautres exercices et complments de cours seront
ajouts progressivement.

Remerciements
Jadresse un chaleureux merci David Naccache et Jacques Stern avec qui jai eu
le plaisir denseigner le cours dIntroduction la cryptologie. Ma gratitude va galement aux tudiants du MPRI et aux lves normaliens de ces dernires annes qui ont
test, malgr eux, la majorit des exercices prsents dans ce livre. Ce texte doit beaucoup des conversations de couloirs et je tiens galement remercier les doctorants,
post-doctorants et membres permanents de lquipe Cryptographie de lENS et
particulirement Pierre-Alain Fouque pour toutes les discussions que nous avons
pu avoir. Pour terminer, je voudrais remercier Aurelie Bauer, Guilhem Castagnos,
Celine Chevalier, Aurore Guillevic, Pierre-Alain Fouque, Fabien Laguillaumie,
Roch Lescuyer et Juliette Vergnaud-Gauduchon pour la rigueur et la pertinence
de leurs nombreux commentaires.

XIV

N OTATIONS

Les conventions et notations suivantes sont utilises dans cet ouvrage :

a) Ensembles
Nous utilisons les notations ensemblistes classiques : dsigne lensemble vide ;
x A signie que x est un lment de lensemble A. Pour deux ensembles A et B,
A B indique que A est un sous-ensemble de B (alors que A B indique que A est
un sous-ensemble strict de B). De plus, A B dsigne la runion de A et B, A B
dsigne lintersection de A et B, A \ B lensemble des lments de A qui ne sont pas
dans B et A B le produit cartsien des ensembles A et B. Le cardinal dun ensemble
A est not #A. Nous utilisons les notations classiques suivantes pour dsigner certains
ensembles :

Dunod. Toute reproduction non autorise est un dlit.

N
P
Z
Q
R
C
(Z/NZ)
Fq
SA
A
M (A)
A[X]

ensemble des entiers naturels


ensemble des nombres premiers
anneau des entiers relatifs
corps des nombres rationnels
corps des nombres rels
corps des nombres complexes
anneau des rsidus modulo un entier N  1
corps ni q lments
groupe de permutations de lensemble A
groupe des lments inversibles dun anneau A
anneau des matrices carres   coecients dans un anneau A
anneau des polynmes une indtermine X coecients dans
un anneau A

La lettre p dsigne le plus souvent un nombre premier p P et nous notons (pn )n1
la suite croissante des nombres premiers (avec p1 = 2, p2 = 3, . . .). Pour un polynme
P A[X], nous notons deg P le degr de P. La notation G dsigne un groupe dont la
loi est note multiplicativement. Llment neutre pour la multiplication dans G est
not 1G . Lordre dun groupe G est not |G| = #G et g
dsigne le sous-groupe de G
engendr par g G.

b) Fonctions
Nous notons f : A B pour indiquer que f est une fonction dun ensemble A dans
un ensemble B. Pour un sous-ensemble A A, nous notons f (A ) = { f (a), a A }
XV

Exercices et problmes de cryptographie

B. Pour un sous-ensemble B B, nous notons f 1 (B ) = {a A, f (a) B } A. La


composition de fonctions est note . Nous utilisons les notations classiques suivantes
pour dsigner certaines fonctions :
x
x
ln(x)
log(x)
logg (h)
(x)
(x, y)

partie entire par dfaut de x R (x x < x + 1)


partie entire par excs de x R (x 1 < x x)
logarithme nprien de x R (x > 0)
logarithme en base 2 de x R (x > 0)
logarithme discret de h g
en base g G
nombre de nombres premiers infrieurs ou gaux x
(#{p P, p  x})
fonction de Dickman-De Bruijn
(#{n N, n  x et n est
 y-friable})
n
n!
pour 0  m  n
coecient binomial
=
m!(n m)!
p
symbole de Jacobi

 
n
mx 
m
pgcd(a, b) plus grand commun diviseur de a, b Z
ppcm(a, b) plus petit commun multiple de a, b Z
probabilit dun vnement E
Pr(E)

c) Chanes binaires
Nous utilisons les notations classiques suivantes sur les chanes binaires :
{0, 1}n
{0, 1}

|x|
x
xy
xn
i
XVI

ensemble des chanes binaires de longueur n


ensemble des chanes binaires de longueur nie
ET logique (bit bit pour deux chanes de mme longueur)
OU logique (bit bit pour deux chanes de mme longueur)
NON logique (bit bit pour deux chanes de mme longueur)
OU exclusif (bit bit pour deux chanes de mme longueur)
longueur binaire dune chane x {0, 1}
chane binaire complmentaire de x
(x = x = x 1n avec n = |x|)
concatnation des chanes x et y
concatnation de la chane x n fois (x . . . x)

nfois

rotation gauche dune chane de bits de i positions

Notations

Dans les chapitres 2, 3 et 4, nous utilisons une fonte de type machine crire pour
reprsenter la valeur dun octet avec deux chires hexadcimaux : 00 = 0, 01 = 1,
. . ., 0A = 10, . . ., 10 = 16, . . ., FF = 255.

d) Notations algorithmiques

Dunod. Toute reproduction non autorise est un dlit.

Les algorithmes sont prsents sous forme de pseudo-code simple (notamment en


saranchissant des problmes de mmoire). Les entres et les sorties sont toujours
prcises. Les structures de contrle classiques sont notes en gras (tant que condition faire instructions n tant que, si condition alors instructions sinon instructions
n si, . . .). Les commentaires dans les algorithmes sont signals par le symbole .
Le symbole a b indique lassignation algorithmique (i.e. a prend la valeur de b)
u.a.
et le symbole a A lassignation dun lment tir uniformment alatoirement
(i.e. un lment est tir uniformment alatoirement dans lensemble A et la valeur
obtenue est enregistre dans a).

XVII

C RYPTOGRAPHIE
CLASSIQUE

La cryptologie est une science trs ancienne : les hommes ont toujours eu besoin
de dissimuler des informations et de transmettre des messages en toute condentialit. Le terme cryptologie vient du grec kruptos signiant secret, cach et de logos
signiant discours. La cryptologie est donc la science du secret. Elle regroupe la
cryptographie et la cryptanalyse : la premire a pour but de concevoir des systmes
visant assurer la scurit des communications sur un canal public et la seconde vise
trouver des failles dans ces systmes.
La cryptographie est traditionnellement utilise pour dissimuler des messages aux
yeux de certains utilisateurs et le chirement des communications militaires a depuis
lAntiquit t une proccupation majeure des diverses forces armes. Le chirement
regroupe les techniques mises en uvre pour brouiller la signication dun message
qui est matriellement visible. Le contenu du message ne doit alors tre retrouv que
par les personnes auxquelles le message est adress. Le chirement fait appel deux
processus lmentaires impliquant la transformation des lettres dun message pour
satisfaire ces proprits : la substitution qui consiste remplacer, sans en bouleverser
lordre, les symboles dun texte clair par dautres symboles et la transposition qui
repose sur le bouleversement de lordre des symboles (mais pas leur identit).
Dans ce chapitre, nous allons tudier des systmes de chirement relativement
simples qui ont t utiliss de lAntiquit (chirement de Csar ou scytale) jusquau
dbut du XXe sicle (chirement de Vernam, chirement de Hill, machine Enigma).

Dunod. Toute reproduction non autorise est un dlit.

1.1 C HIFFREMENT PAR SUBSTITUTION


MONO - ALPHABTIQUE
Le chirement par substitution consiste remplacer dans un message un ou plusieurs
symboles par un ou plusieurs symboles (gnralement du mme alphabet) tout en
conservant lordre de succession des symboles du message. Dans cette section, nous
considrons le chirement par substitution mono-alphabtique qui consiste remplacer chaque symbole individuel du message par un autre symbole de lalphabet. Nous
allons tudier les techniques de cryptanalyse permettant dattaquer un tel systme.
Elles reposent sur lanalyse des frquences des symboles utiliss dans le texte chiffr et utilisent le fait que, dans chaque langue, certains symboles ou combinaisons
de symboles apparaissent plus frquemment que dautres. Les systmes de chirement par substitution mono-alphabtique conservent la rpartition des frquences et
1

Chapitre 1

Cryptographie classique

si le message chir est susamment long, la recherche dun symbole ayant une frquence leve permettra parfois de retrouver tout ou partie du message clair associ.
La frquence dapparition des lettres varie bien videmment en fonction de la
langue et du type de texte considrs. Pour un texte rdig en franais, nous obtenons gnralement les frquences dapparition (en pourcentage) proches des valeurs
suivantes1 (cf. Figure 1.1) :

Frquence dapparition (en %)

a
8,46
n
6,38

b
1,02
o
5,19

c
3,21
p
2,68

d
3,78
q
1,21

e
17,60
r
6,56

f
1,11
s
7,56

g
1,12
t
7,26

h
1,07
u
6,63

i
7,40
v
1,65

j
0,48
w
0

k
0
x
0,03

l
6,05
y
0,03

m
2,70
z
0,01

15

10

0
A B C D E F G H I J K L MN O P Q R S T U VWX Y Z
Figure 1.1 Frquence dapparition des lettres en franais

De mme, certains couples de lettres (ou bigrammes) apparaissent plus souvent


que dautres dans une langue donne. Les vingt bigrammes les plus frquents de la
langue franaise sont (du plus frquent au moins frquent) : es, de, le, en, re, nt, on,
er, te, el, an, se, et, la, ai, it, me, ou, em et ie.
Le chirement par substitution mono-alphabtique le plus simple est le chirement
par dcalage, aussi connu sous le nom de chirement de Csar. Il consiste simplement dcaler les lettres de lalphabet dun nombre de positions constant vers la
1. Ces valeurs correspondent aux frquences dapparition des lettres dans le roman Notre-Dame de
Paris de V. Hugo (en identiant les lettres accentues et les lettres non accentues).
2

1.1. Chiffrement par substitution mono-alphabtique

droite ou la gauche. Par exemple, en dcalant les lettres de trois rangs vers la gauche
(comme le faisait J. Cesar), le texte clair veni vidi vici devient yhql ylgl yl.

Exercice 1.1 (avec programmation). Chiffrement de Csar

Dcrypter le texte suivant qui a t obtenu en appliquant le chirement de Csar sur


un texte en langue franaise dans lequel les espaces ont t supprimes :
vcfgrwqwfsbhfsntowbsobgfsbhfsnqvsnjcigsghqsoixcif
rviwtshseicwbsgojsnjcigdogeisjcigoihfsgofhwgobgjc
igbsrsjsnqwfqizsfrobgzsgfisgzsgxcifgcijfopzsgeioj
sqzsggwubsgrsjchfsdfctsggwcbdofzseiszsghhcbashwsf
Solution
Le chirement de Csar est un mode de chirement par substitution, il ne modie donc
pas la frquence dapparition des lettres. La lettre la plus frquente dans un texte franais
tant le e , le dcalage entre la lettre la plus frquente dans ce texte chir et la lettre
e doit donc nous rvler la cl utilise pour le chirement. La lettre qui apparat le
plus souvent dans le texte chir est le s avec 33 occurrences (puis vient la lettre g
avec seulement 24 occurrences). Le dcalage utilis est donc vraisemblablement de 14
lettres vers la gauche et lon obtient le message clair suivant :
horsdicirentrezfaineansrentrezchezvousestceaujour
dhuifetequoinesavezvouspasquevousautresartisansvo
usnedevezcirculerdanslesrueslesjoursouvrablesquav
eclessignesdevotreprofessionparlequelesttonmetier

Dunod. Toute reproduction non autorise est un dlit.

En ajoutant les espaces et la ponctuation, nous reconnaissons la premire rplique de la


pice Jules Csar crit par W. Shakespeare en 1599 (dans la traduction de M. Guizot) :
Hors dici, rentrez, fainans ; rentrez chez vous. Est-ce aujourdhui fte ? Quoi ! Ne
savez-vous pas que vous autres artisans vous ne devez circuler dans les rues les jours
ouvrables quavec les signes de votre profession ? Parle, quel est ton mtier ?

Le chirement ane est un systme de chirement par substitution mono-alphabtique. La cl consiste en un couple dentiers (a, b) (Z/26Z) (Z/26Z). En remplaant chaque lettre de lalphabet par son rang (la lettre a est remplace par 0, la
lettre b est remplace par 1, . . . et la lettre z est remplace par 25), une lettre
du texte clair de rang i {0, . . . , 25} est remplace dans le chir par la lettre de rang
a i + b mod 26. Puisque a est inversible dans (Z/26Z), cette transformation est bien
une permutation de (Z/26Z).
3

Chapitre 1

Cryptographie classique

Exercice 1.2 (avec programmation). Chirement ane

Dcrypter le texte suivant qui a t obtenu en appliquant le chirement ane sur un


texte en langue franaise dans lequel les espaces ont t supprimes :
ntjmpumgxpqtstgqpgtxpnchumtputgfsftgthnngxnchumwx
ootrtumhpyctgktjqtjchfooxujqhgztumxpotjxotfoqtohr
xumhzutwftgtopfmntjmpuatmfmshodpfrxpjjtqtghbxuj
Solution
Comme le chirement de Csar, le chirement ane ne modie pas la frquence dapparition des lettres. La lettre la plus frquente dans un texte franais est le e et les lettres
suivantes sont par ordre de frquence le a , le i , le n , le s et le t (avec des
frquences trs variables dun texte lautre). La lettre qui apparat le plus souvent dans le
texte chir est le t avec 19 occurrences puis vient la lettre m avec 12 occurrences.
En supposons que la lettre t correspond la lettre e et que la lettre m correspond
lune des lettres a , i , n , s ou t , nous devons rsoudre pour chaque choix
un systme linaire deux quations et deux inconnues dans (Z/26Z) de la forme

a 19 + b = 4
a 12 + b = 
o  est lentier 0, 8, 13, 18 ou 19 selon que la lettre teste pour m est a , i ,
n , s ou t (respectivement). Le couple (a, b) obtenu est test en dchirant les
premiers caractres du chir et nous obtenons les rsultats suivants :
Lettre teste

(a, b)
Dbut du clair associ

a
0
(8, 8)
iecaym

i
8
(18, 0)
aegikw

n
13
(21, 21)
iecnyz

s
18
(24, 16)
qeysmc

t
19
(9, 15)
cestun

La cl utiliser pour le dchirement est donc vraisemblablement le couple (9, 15) et


nous obtenons le message clair suivant :
cestuntroudeverdureouchanteuneriviereaccrochantfol
lementauxherbesdeshaillonsdargentoulesoleildelamon
tagnefiereluitcestunpetitvalquimoussederayons
Il sagit bien sr du premier quatrain du sonnet Le Dormeur du val crit par A. Rimbaud
en 1870.

Les systmes de chirement par substitution mono-alphabtique les plus gnraux utilisent une permutation alatoire des symboles de lalphabet utilis. Pour
lalphabet latin form de 26 lettres, le nombre de cls possibles est donc gal
26!  4 1026  288 . Cependant mme si le nombre de cls rend toute recherche
4

1.1. Chiffrement par substitution mono-alphabtique

exhaustive impossible, les techniques danalyse frquentielle permettent de dcrypter facilement un chir susamment long.

Exercice 1.3 (avec programmation).


Chirement par substitution mono-alphabtique

Le texte suivant rsulte du chirement dun texte franais par une substitution monoalphabtique.
v ubcfb osu ymoqsuu n cxqfj dqmfnu ub vjcfqu juz amqjmruz zmsscfusb bquflu
auoquz hfszbms zwfba ju wusbms qusbqu ncsz ju vmo z uddmqvcfb n uxfbuq ju
xusb wcoxcfz fj eczzc qcefnuwusb jc emqbu xfbquu no ijmv nuz wcfzmsz nu jc
xfvbmfqu ecz czzul qcefnuwusb vueusncsb emoq uweuvauq kou z usrmoddqu us
wuwu buwez kou jof os bmoqifjjms nu emozzfuqu ub nu zciju
ju acjj zusbcfb ju vamo vofb ub ju xfuog bcefz c j osu nu zuz ugbquwfbuz
osu cddfvau nu vmojuoq bqme xczbu emoq vu nuejmfuwusb fsbuqfuoq ubcfb
vjmouu co woq ujju quequzusbcfb zfwejuwusb os usmqwu xfzcru jcqru nu ejoz
n os wubqu ju xfzcru n os amwwu n usxfqms kocqcsbu vfsk csz c j uecfzzu
wmozbcvau smfqu cog bqcfbz cvvusbouz ub iucog

Dunod. Toute reproduction non autorise est un dlit.

hfszbms zu nfqfruc xuqz j uzvcjfuq fj ubcfb fsobfju n uzzcpuq nu


equsnqu j czvuszuoq wuwu cox wufjjuoquz uemkouz fj dmsvbfmsscfb qcquwusb
cvboujjuwusb n cfjjuoqz ju vmoqcsb ujuvbqfkou ubcfb vmoeu ncsz jc ymoqsuu
v ubcfb osu nuz wuzoquz n uvmsmwfu eqfzuz us xou nu jc zuwcfsu nu jc acfsu
zms ceecqbuwusb ubcfb co zuebfuwu hfszbms kof cxcfb bqusbu suod csz ub
zmoddqcfb n os ojvuqu xcqfkouog co nuzzoz nu jc vauxfjju nqmfbu wmsbcfb
jusbuwusb fj z cqqubc ejozfuoqz dmfz us vauwfs emoq zu quemzuq c vackou
ecjfuq zoq osu cddfvau vmjjuu co woq dcvu c jc vcru nu j czvuszuoq j
usmqwu xfzcru xmoz dfgcfb no qurcqn v ubcfb os nu vuz emqbqcfbz cqqcsruz
nu bujju zmqbu kou juz puog zuwijusb zofxqu vujof kof eczzu osu jurusnu
zmoz ju emqbqcfb nfzcfb ifr iqmbauq xmoz qurcqnu
c j fsbuqfuoq nu j ceecqbuwusb nu hfszbms osu xmfg zovquu dcfzcfb usbusnqu
osu zuqfu nu smwiquz kof cxcfusb bqcfb c jc eqmnovbfms nu jc dmsbu jc xmfg
eqmxuscfb n osu ejckou nu wubcj mijmsrou wfqmfq buqsu usvczbqu ncsz ju woq
nu nqmfbu hfszbms bmoqsc os imobms ub jc xmfg nfwfsoc nu xmjowu wcfz juz
wmbz ubcfusb usvmqu nfzbfsvbz ju zms nu j ceecqufj no bujuvqcs vmwwu ms
nfzcfb emoxcfb ubqu czzmoqnf wcfz fj s p cxcfb covos wmpus nu j ubufsnqu
vmwejubuwusb hfszbms zu nfqfruc xuqz jc dusubqu fj ubcfb nu zbcboqu dquju
ejobmb eubfbu ub zc wcfrquoq ubcfb zmojfrsuu ecq jc vmwifscfzms ijuou
osfdmqwu no ecqbf fj cxcfb juz vauxuog bquz ijmsnz ju xfzcru scboqujjuwusb
zcsrofs jc euco noqvfu ecq ju zcxms rqmzzfuq juz jcwuz nu qczmfq uwmozzuuz
ub ju dqmfn nu j afxuq kof xuscfb nu equsnqu dfs

Dcrypter ce texte.

Chapitre 1

Cryptographie classique

Solution
Le nombre doccurrences de chaque caractre du texte chir est donn dans le tableau
suivant :
a b c d e f g h i j k l m
17 141 150 23 48 146 11 6 13 106 14 2 95
n o p q r s t u v w x y z
71 113 4 129 20 129 0 329 51 57 35 2 128
Il est vraisemblable que le caractre u reprsente le caractre e dans le texte clair
(nous utiliserons une fonte grasse pour indiquer les lettres appartenant au texte clair). Les
autres lettres les plus frquentes sont le c et le f mais leurs frquences sont trop
proches pour dcider quels caractres elles reprsentent.
Les bigrammes les plus frquents de la langue franaise sont es , de , le , en ,
re nt , et on . Les bigrammes commenant par u dans le texte chir ne sont
pas assez frquents pour dcider quel caractre correspond la lettre s dans le texte
clair. Les bigrammes les plus frquents du texte chir nissant par u sont ju
(39 occurrences) et nu (35 occurrences) ce qui suggre que j reprsente l et
n reprsente d . Ces trois substitutions donnent, pour le premier paragraphe, le texte
suivant :
v ebcfb ose ymoqsee d cxqfl dqmfde eb vlcfqe lez amqlmrez zmsscfesb
bqefle aeoqez hfszbms zwfba le wesbms qesbqe dcsz le vmo z eddmqvcfb
d exfbeq le xesb wcoxcfz fl eczzc qcefdewesb lc emqbe xfbqee do ilmv
dez wcfzmsz de lc xfvbmfqe ecz czzel qcefdewesb veeesdcsb emoq eweevaeq
koe z esrmoddqe es wewe bewez koe lof os bmoqifllms de emozzfeqe eb de
zcile

Le mot do suggre que le caractre o reprsente u . Avec cette dduction, le mot


ose devient use qui suggre que le caractre s reprsente n . Le premier
paragraphe du texte devient alors :
v ebcfb une ymuqnee d cxqfl dqmfde eb vlcfqe lez amqlmrez zmnncfenb
bqefle aeuqez hfnzbmn zwfba le wenbmn qenbqe dcnz le vmu z eddmqvcfb
d exfbeq le xenb wcuxcfz fl eczzc qcefdewenb lc emqbe xfbqee du ilmv
dez wcfzmnz de lc xfvbmfqe ecz czzel qcefdewenb veeendcnb emuq eweevaeq
kue z enrmuddqe en wewe bewez kue luf un bmuqifllmn de emuzzfeqe eb de
zcile

Le mot kue qui apparat deux fois suggre que la lettre k reprsente q . Les mots
qcefdewenb et eb suggrent que la lettre b reprsente t . Les mots luf
et fl suggrent que la lettre f reprsente i et nous obtenons :
v etcit une ymuqnee d cxqil dqmide et vlciqe lez amqlmrez zmnncient
tqeile aeuqez hinztmn zwita le wentmn qentqe dcnz le vmu z eddmqvcit
6

Vous aimerez peut-être aussi