Vous êtes sur la page 1sur 737

Bruce Schneier

Cryptographie applique
Deuxime dition
Protocoles, algorithmes
et codes cource en C

Traduction de Laurent Viennot

Table des matires


P r fa ce
Comment lire ce livre ...........................................................................................
R em erciem ents.......................................................................................................

xiii
xiv
xvii

p ro p o s de l au teu r

x ix

P rin cip e s d e base


1.1 Terminologie ................................................................................................
1.2 Steganographie.............................................................................................
1.3 Substitution et transposition.......................................................................
1.4
Ou exclusif s i m p l e .....................................................................................
1.5 Masque j e t a b l e .................
1.6 Algorithmes inform atiques..........................................................................
1.7 Grands nom bres.............................................................................................

Protocoles cryptographiques

1
1
9
10
14
15
18
18

21

B riqu es lm en taires
2.1
Introduction aux p r o t o c o le s ......................................................................
2.2
Communications laide d un cryptosystme clef s e cr te...................
2.3
Fonctions sens unique ............................................................................
2.4
Fonctions de hachage sens u n iqu e..........................................................
2.5
Communications laide d un cryptosystme clef p u b liq u e...............
2.6
Signatures num riques................................................................................
2.7
Signatures numriques avec chiffrement................................................
2.8
Gnrateurs alatoires et pseudo-alatoires.............................................

23
23
30
31
32
33
37
44
47

P r o to c o le s lm en taires
3.1
change de clefs .........................................................................................
3.2
Authentification............................................................................................
3.3
Authentification et change de c le fs .........................................................
3.4
Analyse formelle des protocoles d authentification et d change de clefs
3.5
Cryptographie clef publique clefs multiples.......................................
3.6
Secret m orcel...............................................................................................
3.7
Secret r p a r t i...............................................................................................

51
51
56
61
70
74
75
77

TABLE DES MATIRES


3.8

Protection cryptographique de bases dedonnes....................................

80

P r o to c o le s in term diaires
4.1
Services de datation
................................................................................
4.2
Canal su b lim in a l.........................................................................................
4.3
Signatures numriques incontestables.......................................................
4.4
Signatures numriques vrificateurd d i ...............................................
4.5
Signatures par procuration.........................................................................
4.6
Signatures collectives...................................................................................
4.7
Signatures numriques Fail-Stop ..... .....................................................
4.8
Calcul avec donnes chiffres......................................................................
4.9
Mise en gage ...............................................................................................
4.10 Jouer pile ou f a c e ......................................................................................
4.11 Poker la v e u g le .........................................................................................
4.12 Accumulateurs sens unique ...................................................................
4.13 Divulgation tout ou rien de s e c r e t s ..........................................................
4.14 Dpt de c le f s ...............................................................................................

81
81
85
87
88
89
90
91
92
92
95
99
102
103
103

P r o to c o le s avancs
5.1
Preuves divulgation nulle ......................................................................
5.2
Identification par preuve divulgation n u lle ..........................................
5.3
Signatures en aveugle ................................................................................
5.4
Cryptographie clef publique based identification . . . . . . . . .
5.5
Transfert in con scien t..................................................................................
5.6
Signatures in conscien tes............................................................................
5.7
Signature simultane de co n tr a t................................................................
5.8
Courrier lectronique certifi......................................................................
5.9
Echange simultan de s e c r e t s ...................................................................

109
109
117
120
123
124
126
127
131
132

P r o to c o le s sotriq u es
6.1
Elections sres ............................................................................................
6.2
Calcul rparti s r .........................................................................................
6.3
Diffusion de messages anonymes
.
6.4
Argent lectronique .
. . . . . .

135
135
144
148
150

II
7

Techniques cryptographiques

161

L on g u eu r des clefs
163
7.1
Longueur des clefs secrtes.........................................
............
163
7.2
Longueur des clefs publiques......................................................................
170
7.3
Comparaison de la longueur des clefssecrtes et des clefs publiques .
178
7.4
Attaques des anniversaires contre unefonction de hachage sens unique 178
.....................................................
179
7.5
Quelle doit tre la longueur de clef?
7.6
Avertissement...............................................................................................
180

TABLE DES MATIRES

vii

G e stio n des clefs


181
8.1
Gnration de c l e f s .........................................................................................
182
8.2
Espaces des clefs non linaires......................................................................
188
188
8.3
Transfert de c l e f s ............................................................................................
8.4
Vrification de clefs ......................................................................................
190
8.5
Utilisation des c le fs .........................................................................................
192
8.6
Mise jour des c l e f s ......................................................................................
193
87
Stockage des c le f s ............................................................................................
193
8.8
Duplicata des c l e f s .........................................................................................
194
195
8.9
Clefs co m p ro m ise s.........................................................................................
8.10 Longvit des c l e f s .........................................................................................
196
8.11 Destruction des c l e f s ......................................................................................
197
198
8.12 Gestion des clefs pour la cryptographie clef p u b liq u e ..........................

T y p e s et m o d e s d a lgorith m es
9.1 Carnet de codage lectronique....................................................................
9.2 Bloc rejou ...................................................................................................
9.3 Mode de chiffrement avec chanage de b l o c s ...........................................
9.4 Algorithmes de chiffrement en c o n t in u ....................................................
9.5 Chiffrement autosynchrone en c o n t i n u .......................................................
9.6 Chiffrement rtroaction .............................................................................
9.7 Chiffrement synchrone en co n tin u ................................................................
9.8 Mode de rtroaction de s o r t i e ................................................
9.9 Mode compteur .........................................................................................
9.10 Autres m o d e s ..................................................................................................
9.11 Choix dun mode opratoire de chiffrement..................................
9.12 Intercalation.....................................................................................................
9.13 Chiffrement par blocs vs chiffrement en co n tin u .......................................

201
202
203
205
209
211
212
214
216
219
220
222
223
225

10 U tilisa tion des a lgorith m es


227
10.1 Choix dun a lgorith m e...................................................................................
228
10.2 La cryptographie clef publique vs la cryptographie clef secrte . .
230
10.3 Chiffrement des canaux de com m unication................................................
230
10.4 Chiffrement des donnes des fins de stockage ......................................
235
10.5 Chiffrement matriel vs chiffrement logiciel .............................................
237
10.6 Compression, codage et chiffrem ent.............................................................
240
10.7 Dtection du chiffrem ent...............................................................................
241
10.8 Cacher du texte chiffr dans du texte c h iffr .............................................
242
10.9 Destruction din fo rm a tio n ............................................................................
243

III

Algorithmes cryptographiques

245

11 R u d im en ts m ath m a tiqu es
247
11.1 Thorie de lin form a tion ...............................................................................
247
11.2 Thorie de la com p lex it...............................................................................
251
11.3 Thorie des n o m b r e s .....................................................................................
256
11.4 Factorisation .................................................................................................. 271

TABLE DES MATIRES


11.5
11.6

Gnration de nombres premiers ............................................................


Logarithmes discrets dans un corps fini .
. .

274
278

12 Le D E S
12.1 H istoriqu e......................................................................................................
12.2 Description du DES.......................................................................................
12.3 Niveau de scurit du D E S

12.4 Cryptanalyse diffrentielle et linaire


............
.
. .
12.5 Les critres rels de conception
. . . . . .
12.6 Variantes du DES ........................
12.7 A quel point le DES est-il sr de nos j o u r s ?
. .

281
281
286
296
302
. . 311
312
318

13 A u tres a lgorith m es d e ch iffrem en t par b lo cs


13.1 L ucifer .
.................................................................
13.2 M a d r y g a ........
13.3 N e w D E S .....................................................................................................
13.4 F E A L ............................................................................................................
13.5 R E D O C .........................................................................................................
13.6 L O K I ............................................................................................................
13.7 K hufu et K hafre ........................................................................................
13.8 R C 2 ...............................................................................................................
13.9 I D E A ............................................................................................................
13.10 M M B ...............................
.............................................................
13.11 C A - 1 . 1 .........................................................................................................
13.12 S k i p j a c k .....................................................................................................

321
321
322
325
325
331
332
335
337
338
345
346
347

14 E n co re d au tres algorith m es de ch iffrem ent par b lo c s


14.1 G O S T ...........................................................................................................
14.2 C A S T ............................................................................................................
14.3 B l o w f is h .....................................................................................................
14.4 S A F E R ....................................... ................................................................
14.5 3 - W A Y ................................
..................................................................
14.6 C R A B ...........................................................................................................
14.7 SX A L 8 et M B A L .....................................................................................
14.8 R C 5 ..............................................................................................................
14.9 Autres algorithmes dechiffrementpar blocs . .
14.10 Thorie des algorithmes dechiffrement par blocs .
14.11 Utilisation de fonction dehachage sens unique......................................
14.12 Choisir un algorithme de chiffrement par blocs
.

351
351
354
355
359
361
362
364
364
366
366
372
375

15 C o m b in a iso n d algorith m es de ch iffrem ent par b lo cs


15.1 Surchiffrement double
.....................................................................
15.2 Surchiffrement t r i p l e ............................................
15.3 Doublement de la longueur deb l o c ...........................................................
15.4 Autres schmas de surchiffrement .
15.5 Troncature de clef (dans C D M F )
.
15.6 Blanchim ent..................................................................................................
15.7 Mise en cascade de plusieursalgorithm es.................................................

377
377
379
384
384
387
387
388

TABLE DES MATIRES


15.8

IX

Combiner plusieurs algorithmes de chiffrement par b l o c s ...................

389

16 G n rateu rs de su ites ala toires et ch iffrem ent en con tin u


16.1 Gnrateurs pseudo-alatoires de suites...................................................
16.2 Registres dcalage rtroaction lin a ir e .............................................
16.3 Conception et analyse dalgorithmes de chiffrement en continu . . . .
16.4 Chiffrement en continu base de R D R L ................................................
16.5
A 5 ................................................................................................................
16.6
H ugues X P D / K P D ................................................................................
16.7
N a n o t e q ...................................................................................................
16.8
R a m b u t a n ................................................................................................
16.9
Gnrateurs a d d i t if s ................................................................................
16.10 G ifford ...................................................................................................
16.11 A lgorithm e M ......................................................................................
16.12 P K Z IP ......................................................................................................

391
391
395
402
403
412
413
413
414
414
416
417
417

17 A u tre s algorith m es d e ch iffrem en t e n con tin u et gnrateurs


d e suites v raim en t alatoires
17.1
R C 4 .............................................................................................................
17.2
S E A L ..........................................................................................................
17.3
W A K E .......................................................................................................
17.4
Registres dcalage rtroaction avec r e t e n u e ..................................
17.5
Chiffrement en continu base de R D R R ..............................................
17.6
Registres dcalage rtroaction non linaire.....................................
17.7
Autres algorithmes de chiffrement en c o n t i n u .....................................
17.8
Approche par la thorie des systm es....................................................
17.9
Approche par la thorie de la com plexit..............................................
17.10 Autres approches la conception d algorithmes de chiffrement en conti
nu .................................................................................................................
17.11 Chiffrement en continu en cascade ........................................................
17.12 Choisir un algorithme de chiffrement en con tin u ..................................
17.13 Gnration de plusieurs flux partir dun seul gnrateur pseudo
alatoire de suites........................................................................................
17.14 Gnrateurs de suites vraiment alatoires ...........................................
18 F on ction s d e hachage sens u n iqu e
18.1
Introduction................................................................................................
18.2
Snefru
...................................................................................................
18.3
N -H a s h ......................................................................................................
18.4
M D 4 .............................................................................................................
18.5
M D 5 ............................................................................................................
18.6
M D 2 ............................................................................................................
18.7
Algorithme sr de hachage SHA ..........................................................
18.8
R I P E - M D ................................................................................................
18.9
H A V A L ......................................................................................................
18.10 Autres fonctions de hachage sens u n iq u e ...........................................
18.11 Utilisation d algorithmes de chiffrement par b l o c s ..............................
18.12 Utilisation d algorithmes clef p u b liq u e ..............................................

419
419
420
423
424
427
433
435
436
437
439
441
442
442
444
453
453
455
457
458
460
465
465
469
469
470
471
479

TABLE DES MATIRES


18.13 Choix dune fonction de hachage sensu n i q u e ....................................
18.14 Codes d authentification de m essages.....................................................

479
479

19 A lg o rith m e s c le f p u b liq u e
19.1 Introduction................................................................................................
19.2 Algorithmes em pilem ent........................................................................
19.3 R S A .............................................................................................................
19.4 P ohlig - H ellman
.................................................................................
19.5 R a b i n ..........................................................................................................
19.6
E l G a m a l ...................................................................................................
19.7 M c E liece .................................................
19.8 Cryptosystmes courbes elliptiqu es.....................................................
19.9
L U C .............................................................................................................
19.10 Automates fin is ..........................................................................................

485
485
486
491
499
500
501
504
505
506
507

20 A lg o rith m e s d e sign atu re n u m riqu e c le f p u b liq u e


20.1
Algorithme de signature numrique D SA
............
20.2
Variantes de D SA ....................................................................................
20.3 Algorithme de signature numrique G O S T
.
20.4
Schmas de signature numrique basede logarithmes discrets .
.
20.5 O ng Schnork S h a m ir
. .
20.6
E S I G N ......................................................................................................
20.7
Automates cellulaires.................................................................................
20.8
Les autres algorithmes clef publique ................................................

509
509
520
522
523
525
526
527
527

21 Schm as d id en tifica tion


531
531
21.1
F eige - F iat - S hamir ..............................................................................
21.2
G uillou - Q u i s q u a t e r ...........................................................................
536
21.3
Sc h n o r r ....................................................................................................
538
21.4
Convertir un schma d identification en un schma de signature num
rique ..............................................................................................................
540
22 A lg o rith m e s d ch an ge d e clefs
22.1
D iffie - H ellman ....................................................................................
22.2
Protocole point p o in t.............................................................................
22.3
Protocole trois passes de Sh a m i r .......................................................
22.4
C O M S E T ....................................................................................................
22.5
change de clefs chiffr.............................................................................
22.6
Ngociation de clef fortifie ....................................................................
22.7
Distribution de clef de confrence et diffusion de s e c r e t.....................

541
541
544
544
545
546
550
551

23 A lg o rith m e s sp ciau x p o u r p r o to c o le s
23.1
Cryptographie clef publique clefs multiples....................................
23.2
Algorithmes de partage de s e c r e t ..........................................................
23.3
Canal s u b lim in a l.......................................................................................
23.4
Signatures numriques incontestables....................................................
23.5
Signatures numriques vrificateur d d i ...........................................
23.6
Calcul avec donnes chiffres....................................................................

555
555
556
560
565
567
569

TABLE DES MATIRES


23.7
23.8
23.9
23.10
23.11
23.12
23.13
23.14
23.15
23.16

IV

Pile ou face quitable.................................................................................


Accumulateurs sens unique .................................................................
Divulgation tout ou rien de s e c r e t s ........................................................
Cryptosystmes quitables et sret intgre . . .
.
Preuves divulgation nulle ....................................................................
Signatures en aveugle.................................................................................
Transfert in con scien t.................................................................................
Calcul rparti s r .......................................................................................
Chiffrement prob a b iliste..........................................................................
Cryptographie quantique..........................................................................

Le monde rel

24 E x em p les d e ra lisation
24.1 Protocole IBM de gestion de clefs secrtes...........................................
24.2 M I T R E N E T ..............................................................................................
24.3
RNIS ..........................................................................................................
24.4 S T U - I I I .......................................................................................................
24.5
K e r b e r o s ....................................................................................................
24.6 K r y p t o K n i g h t .......................................................................................
24.7
SESAME ....................................................................................................
24.8
Architecture cryptographique commune dI B M ..................................
24.9
Environnement dauthentification I S O ..................................................
24.10 Privacy-Enhanced Mail ( P E M ) ..........................................................
24.11 Message Security Protocol (M SP ) ....................................................
24.12 Pretty G ood Privacy (P G P ) ...........................................................
24.13 Cartes p u c e ..............................................................................................
24.14 Public-Key Cryptography Stan
dards (P K C S) ........................................................................................
24.15 Systme de paiement lectronique u n iv e r s e l........................................
24.16 C l i p p e r .......................................................................................................
24.17 C a p s t o n e ....................................................................................................
24.18 Modle 3600 du dispositif de scurit du tlphone d A T & T . . . .

xi
570
572
572
575
577
579
579
580
582
584

587
589
589
590
591
593
594
600
600
601
602
606
612
613
615
616
618
620
622
623

25 P o litiq u e
625
625
25.1 National Security Agency ( N S A ) ......................................................
25.2 National Computer Security Center (N C SC )....................................
627
25.3 National Institute of Standards and Technology ( N I S T ) ..............
628
25.4
R SA D ata Se c u r it y , In c ....................................................................... 632
25.5 Public Key Partners ( P K P ) ...............................................................
632
25.6 International Association for Cryptologie Research (IACR) . . .
634
25.7 R A C E Integrity Primitives Evaluation (R IP E ) . . .
. . 634
25.8 Conditional Access for Europe ( C A F E ) ..........................................
635
25.9 ISO/IEC 9979 .........................................................................................
636
25.10 Groupes industriels, de dfense des liberts civiles, et professionnelles 637
25.11 S c i .c r y p t ...................................................................................................
638
25.12 C y p h e r p u n k s ..........................................................................................
638

xii

TABLE DES MATIRES


25.13
25.14
25.15
25.16

Brevets.........................................................................................................
Rglementation amricaine
lexportation ..................................
Importation et exportation
decryptographie...............................
L g a lit ......................................................................................................

P o stfa ce de M a tt B la ze

Code source

639
639
647
648
651

655

D E S ..........................................................................................................................
657
L O K I 9 1 .................................................................................................................
675
I D E A .......................................................................................................................
685
G O S T ....................................................................................................................... N701
B l o w f i s h ................................................................................................................
711
3-W a y .......................................................................................................................
721
R C 5 ..........................................................................................................................
727
A 5 .............................................................................................................................
729
S E A L .......................................................................................................................
735
L ex iq u e anglaisfranais

741

B ib lio g ra p h ie

747

In d ex

827

Prface
Il existe deux types de cryptographie dans le monde: la cryptographie qui empche
votre petite sur de lire vos fichiers, et la cryptographie qui empche les principaux
gouvernements de lire vos fichiers. Ce livre traite de la deuxime.
Je prends une lettre, lenferme dans un coffre et cache ce coffre quelque part dans New
York... si je vous demande ensuite de lire la lettre, il nest pas question de scurit:
cest de lobscurit. Autre exemple : je prends une lettre, lenferme dans un coffre et
vous donne le coffre avec ses spcifications de conception et une centaine dautres
coffres identiques avec leurs combinaisons, de telle manire que vous et les meilleurs
perceurs de coffres-forts puissiez tudier le mcanisme de verrouillage... si vous ne
pouvez toujours pas ouvrir le coffre contenant la lettre, il est alors question de scurit.
Pendant de nombreuses annes, ce type de cryptographie tait le domaine exclusif des
militaires. La National Security Agency amricaine et ses contreparties en ex-Union
sovitique, au Royaume-Uni, en France, en Isral, et partout ailleurs, ont dpens des
milliards de dollars au jeu trs srieux de la protection de leurs propres communications,
tout en essayant de casser toutes celles des autres. Le particulier, avec nettement moins
d expertise et de budget, tait impuissant protger sa propre vie prive vis--vis de
ces gouvernements.
Durant ces vingt dernires annes, il y a eu une explosion de recherche acadmique
publique en cryptographie. Alors que la cryptographie classique est utilise depuis
longtemps par des citoyens ordinaires, la cryptographie par ordinateur tait le domaine
rserv des militaires depuis la Seconde Guerre mondiale. De nos jours, la cryptographie
la pointe de lart est pratique en dehors de la protection des murs des agences
militaires. Le profane peut maintenant employer des techniques cryptographiques qui
le protgent contre les adversaires les plus puissants un niveau de scurit qui
pourrait mme le protger des agences militaires pour plusieurs annes venir.
Est-ce que lindividu moyen a besoin de ce type de scurit? Je laffirme. Il peut prpa
rer une campagne politique, il peut discuter de ses impts, ou avoir une liaison illicite.
Il peut concevoir un nouveau produit, discuter dune stratgie de commercialisation,
ou prparer une prise de pouvoir commerciale agressive. Il peut vivre dans un pays
qui ne respecte pas le droit la vie prive de ses citoyens. Il peut faire quelque chose
quil estime ne pas tre illgal mais qui lest. Peu importe les raisons, ses donnes et
ses communications sont personnelles, prives et ce nest laffaire de personne dautre
part lui.
Ce livre est publi en des temps troubles. Ladministration C l i n t o n a adopt le pro
gramme Escrowed Encryption Standard (qui repose sur la puce CLlPPERet la carte
F o r t e z z a ) et le projet de loi Digital Telephony . Ces deux initiatives tendent

xiv

Prface

donner au gouvernement la possibilit de mener des surveillances lectroniques.


Cela repose sur la dangeureuse hypothse orwelienne que le gouvernement a le droit
d couter les communications prives, et quil y a anguille sous roche si un citoyen tente
de dissimuler un secret au gouvernement. Les lois ont toujours permis de mener une
ventuelle surveillance avec lautorisation des tribunaux. Mais c est la premire fois
que chacun est contreint de participer activement pour rendre sa surveillance possible.
Ces initiatives ne sont pas seulement des propositions gouvernementales concernant
un domaine obscur, elles sont une tentative prventive et unilatrale dusurper des
pouvoirs qui relevaient de chacun.
C l ip p e r et la loi Digital Telephony ne protgent pas la vie prive : elles obligent
les individus avoir confiance inconditionnellement dans le Gouvernement quant au
respect de leur vie prive. Elle met lhypothse que le Gouvernement fait partie des
bons et que tous les citoyens font partie des mchants. Les mmes autorits lgales qui
ont plac des coutes illgales sur les lignes tlphoniques de Martin Luther King Jr.
peuvent facilement espionner un tlphone protg par une puce C l ip p e r . Durant ces
cinq dernires annes, les autorits de police locales ont t poursuivies pnalement ou
civilement dans de nombreuses juridictions y compris le Maiyland, le Connecticut, le
Vermont, la Gorgie, le Missouri et le Nevada pour avoir plac des coutes illgales.
C est une mauvaise ide de dployer une technologie qui pourrait un jour aider un tat
policier.
On peut en tirer la leon quil est insuffisant de se protger avec des lois, il faut se
protger avec les Mathmatiques. Le chiffrement est trop important pour tre laiss au
gouvernement.
Ce livre vous donne les moyens de prserver votre vie prive ; les appareils de chiffrement
peuvent tre dclars illgaux, mais linformation ne le sera jamais.

Comment lire ce livre


Jai crit Applied Cryptography comme un ouvrage de rfrence exhaustif sur la cryp
tographie moderne. Jai privilgi la lisibit du texte sans pour autant sacrifier lexac
titude et la prcision. Ce livre ne se veut pas un trait mathmatique. Bien que je
naie pas donn dlibrment de fausses informations, j ai t cavalier avec la tho
rie. Pour ceux qui sont intresss par le ct formel, il y a de nombreuses rfrences
bibliographiques de la littrature acadmique.
Le premier chapitre introduit la cryptographie, dfinit de nombreux termes et prsente
brivement la cryptographie avant lre informatique.
Les chapitres 2 6 (premire partie) prsentent les protocoles cryptographiques. Les
protocoles vont du plus simple (envoyer un message chiffr d une personne lautre) au
plus complexe (jouer pile ou face par tlphone) et lsotrique (lchange d argent
lectronique sr et anonyme). Certains de ces protocoles sont vidents, dautres sont
presque ahurissants. La cryptographie permet de rsoudre de nombreux problmes que
la plupart des gens nont jamais ralis quil soit possible de les rsoudre.
Les chapitres 7 10 (deuxime partie) prsentent les techniques cryptographiques.
Les quatre chapitres de cette partie sont tous importants mme pour lutilisation la
plus lmentaire de la cryptographie. Les chapitres 7 et 8 traitent des clefs : quelle
doit tre la longueur dune clef pour quelle soit sre, comment engendrer les clefs,
comment stocker les clefs, comment dtruire les clefs, etc. La gestion des clefs est la

Prface

xv

partie la plus difficile de la cryptographie, et est souvent le tendon dAchille de systmes


cryptographiques qui seraient sinon trs srs. Le chapitre 9 prsente diffrents moyens
dutiliser les algorithmes cryptographiques, et le chapitre 10 donne les tenants et les
aboutissements des algorithmes : comment choisir, raliser, et utiliser des algorithmes.
Les chapitres 11 23 (troisime partie) fournissent une liste d algorithmes, le livre d
crit finalement les algorithmes. Le chapitre 11 donne des fondements mathmatiques.
Ce chapitre nest obligatoire que si vous tes intress par les algorithmes clef pu
blique. Si vous voulez seulement raliser le DES (ou quelque chose de similaire), vous
pouvez passer ce chapitre. Le chapitre 12 dcrit le D E S : lalgorithme, son histoire,
sa scurit, et quelques variantes. Le chapitre 13, 14 et 15 dcrivent dautres algo
rithmes clef secrte. Si vous voulez quelque chose de plus sr que le DES, lisez la
section sur ID E A ou sur le DES triple. Si vous voulez prendre connaissance de plu
sieurs algorithmes, dont certains pourraient tre plus srs que le DES, lisez les trois
chapitres. Les algorithmes 16 et 17 traitent des algorithmes de chiffrement en continu.
Le chapitre 18 concerne les fonctions de hachage sens unique: M D5 et SHA sont
les plus communes bien que j en dcrive beaucoup d autres. Le chapitres 19 dcrit les
algorithmes clef publique, le chapitre 20 concerne les algorithmes de signature nu
mrique clef publique. Les algorithmes importants sont R SA , D SA , F ia t - S h a m ir
et D if f ie H e l l m a n respectivement. Le chapitre 23 contient des algorithmes clef
publique et des protocoles plus sotriques ; les mathmatiques peuvent se compliquer :
attachez votre ceinture.
Les chapitres 24 et 25 (quatrime partie) se tournent vers le monde rel de la cryp
tographie. Le chapitre 24 dcrit quelques ralisations concrtes de ces algorithmes et
de ces protocoles, tandis que chapitre 25 aborde le contexte politique qui entoure la
cryptographie. Ceux-ci nont aucunement la prtention dtre exhaustifs.
Enfin, ce livre contient les codes sources de dix des algorithmes de la troisime partie.
Je nai pas pu inclure autant de codes que je laurait souhait pour des raisons de
limitation en place, et sans quoi les codes sources cryptographiques nauraient pas pu
tre exports. (Aussi surprenant que cela puisse paratre, le Dpartement dEtat am
ricain a autoris lexportation de la premire dition ce livre avec les codes sources quil
contenait, mais a refus lexportation dune disquette de codes sources contenant exac
tement les mmes codes sources. Allez savoir.) Un jeu de disquettes inclus bien plus de
codes sources que je ne pouvais en donner dans ce livre ; cela constitue probablement la
plus grande bibliothque de codes sources cryptographiques hors des institutions mili
taires. Je ne peux envoyer des disquettes de codes sources quaux citoyens amricains
ou canadiens vivant aux Etats-Unis ou au Canada, mais cela devrait heureusement
changer un jour.
Sil y avait une critique faire de ce livre, cest que sa nature encyclopdique le rend
moins lisible. C est vrai, mais je voulais offrir une seule rfrence pour ceux qui pour
raient rencontrer un algorithme dans la littrature acadmique ou dans un produit.
ceux qui sintressent plus un cours dintroduction, je prsente mes excuses. Beaucoup
est fait dans ce domaine. C est la premire fois que tant de choses ont t rassembles
sous un mme chapeau. Mme ainsi, il y a de nombreuses choses que le manque de
place ma oblig laisser de ct. Jai essay de couvrir les sujets que je trouvais soit
importants, d intrt pratique, ou intressants. Quand je nai pu traiter un sujet en
profondeur, j ai donn les rfrences des publications qui le font.
Jai fait la chasse aux erreurs du mieux que j ai pu, mais de lavis gnral c est quasi

xvi

Prface

impossible de nen laisser aucune. La seconde dition contient srement moins derreurs
que la premire. Je tiens votre disposition une liste des errata qui est priodiquement
poste au group USENET s c i . c r y p t . Si quelquun trouve une erreur, sil vous plat,
avertissez-moi. Pour chaque erreur, la premire personne qui me la signale recevra une
copie gratuite de la disquette1.

1. N ote du traducteur : cette offre n est valable que pou r ldition am ricaine de louvrage.

Prface

xvii

Remerciements
La liste des gens qui ont contribu la ralisation de ce livre semble infinie mais ils
mritent tous d tre mentionns. Je tiens remercier Don A l v a r e z , R oss A n d e r s s o n ,
Dave B a l e n s o n , Karl B a r r u s , Steve B e l l o v i n , Dan B e r n s t e i n , Eli B i h a m , Joan
B o y a r , Karen C o o p e r , W hit D if f ie , Joan F e i g e n b a u m , Phil K a r n , Neal K o b l i t z ,
Xuejia L a i , Tom L e r a n t h , Mike M a r k o w i t z , Ralph M e r k l e , Bill P a t t o n , Peter
P e a r s o n , Charles P f l e e g e r , Ken P iz z i n i , Bart P r e n e e l , Mark R io r d a n , Joachim
S c h u r m a n , et Marc S c h w a r t z pour avoir lu et corrig tout ou partie du ma
nuscrit de la premire dition; Marc VUCLAIR pour avoir traduit la premire di
tion en franais ; Abe A b r a h a m , Ross A n d e r s o n , Dave B a n i s a r , Steve B e l l o v i n ,
Edi B i h a m , Matt B is h o p , Matt B l a z e , Gary C a r t e r , Jan C o m e n is c h , Claude
C r p a u , Joan D a e m e n , Jorge D a v i l a , Ed D a w s o n , Whit D if f ie , Cari E l l is o n ,
Joan F e i g e n b a u m , Niels F e r g u s o n , Matt F r a n k l i n , Rosario G e n n a r o , Dieter
G ollm ' a n n , Mark G o r e s k y , Richard G r a v e m a n , Stuart H a b e r , Jingman H e , bob
H o g u e , Kenneth I v e r s e n , Markus J a k o b s s o n , Burt K a l i s k i , Phil K a r n , John
K e l s e y , John K e n n e d y , Lars K n u d s e n , Paul K o c h e r , John L a d w i g , Xuejia L a i ,
Arjen L e n s t r a , Paul L e y l a n d , Mike M a r k o w i t z , Jim M a s s e y , Bruce M c N a i r ,
William H u g h M u r r a y , Roger N e e d h a m , Clif N e u m a n , Kaisa N y b e r g , Luke
O C o n n o r , Peter P e a r s o n , Ren P e r a l t a , Bart P r e n e e l , Yisrael R a d a i , Matt
R o b s h a w , Michael R o e , Phil R o g a w a y , Avi R u b i n , Paul R u b i n , Selwyn R u s s e l l ,
Kazue S a k o , Mahmoud S a l m a s i z a d e h , Markus S t a d l e r , Dmitry T i t o v , Jimmy
U p t o n , Marc V a u c l a i r , Serge V a u d e n a y , Gideon Y u v a l , Glen Z o r n , et plusieurs
employ anonymes du gouvernement amricain pour avoir lu et dit plusieurs parties
de la seconde dition ; Lawrie B r o w n , Leisa C o n d i e , Joan D a e m e n , Peter G u t m a n n ,
Alan I n s l e y , Chris J o h n s t o n , John K e l s e y , Xuejia L a i , Bill L e i n i n g e r , Mark
M a r k o w i t z , Richard O u t e r b r i d g e , Peter P e a r s o n , Ken P iz z i n i , Colin P l u m b ,
Steph R a v a n o n a , R S A D a t a S e c u r i t y , I n c ., Michael R o e , Michael W o o d , et
Phil Z i m m e r m a n n pour mavoir fourni des codes sources ; Paul M a c N e r l a n d pour
avoir ralis les figures de la premire dition; Karen C o o p e r pour son travail de
secrtaire de rdaction pour la seconde dition ; Beth F r i e d m a n pour avoir revu et
corrig la seconde dition ; Carol K e n n e d y pour avoir fait lindex de la seconde di
tion; les lecteurs de s c i .c r y p t et de la liste de courrier lectronique Cypherpunks
pour avoir comment des ides, avoir rpondu des questions et avoir corrig des er
reurs dans la premire dition ; Randy S e u s s pour avoir fourni un accs liNTERNET ;
Jeff D u n t e m a n n et Jon E r ic k s o n pour m avoir aid commencer ; la famille I n s l e y
pour avoir donn limpulsion, les encouragements, le soutien, les conversations, lamiti
et les dners ; et A T & T B e l l L a b s pour m avoir licenci et pour avoir rendu tout cela
possible. Ces personnes mont aid crer un livre bien meilleur que ce que j aurais pu
faire tout seul.
Bruce S c h n e ie r
Oak Park, 111.
schneier@couterpane.coin

A propos de lauteur
Bruce S c h n e ie r est le prsident de C o u n t e r p a n e S y s t e m s , une entreprise de conseil
en cryptographie et scurit en informatique, situe Oak Park dans lIllinois aux
tats-Unis. Bruce S c h n e ie r est aussi lauteur de E-Mail Security (J o h n W il e y &
F il s , 1995) et Protect Your Macintosh (P e a c h p i t P r e s s , 1994) ; et a crit des dou
zaines douzaines d articles dans les principales revues. Il est lun des diteurs associ
de Dr. Dobbs Journal o il gre la colonne Algorithms Alley , il est aussi diteur
associ de Computer and Communication Security Reviews. Bruce S c h n e ie r officie
dans le conseil de direction de VInternational Association for Cryptologie Research,
il est membre du conseil consultatif du Electronic Privacy Information Center, et il
fait parti du comit de programme du New Security Paradigms Workshop. En plus de
tout cela, il trouve du temps pour donner de frquents exposs sur la cryptographie,
la scurit en informatique, et la confidentialit.

Chapitre 1

Principes de base
1.1

Terminologie

Expditeur et destinataire
Supposons quun expditeur veut envoyer un message un destinataire. Cet expditeur
veut envoyer le message de manire sre: il veut sassurer quaucune oreille indiscrte
ne puisse sinformer du message.

Messages et chiffrement
Un message est appel te x te en clair. Le processus de transformation d un message de
telle manire le rendre incomprhensible est appel chiffrem ent (ou en cry p tion ).
Le rsultat de ce processus de chiffrement est appel te x te chiffr (ou encore c r y p to
gram m e). Le processus de reconstruction du texte en clair partir du texte chiffr est
appel dch iffrem en t (ou d cry p ta g e ). Ces diffrents processus sont illustrs par la
figure 1.1.

FlG. 1.1 Chiffrement et dchiffrement


Lart et la science de garder le secret de messages est appel cry p to g ra p h ie pratique
par des cry p to g ra p h e s. Les cry p ta n a lystes pratiquent la cry p ta n a lyse qui est lart
de dcrypter des messages chiffrs. La branche des mathmatiques qui traite de la cryp
tographie et de la cryptanalyse sappelle la cr y p to lo g ie et ses pratiquants sont appels
cryp tologu es. De nos jours, presque tous les cryptologues sont des mathmaticiens
thoriciens par la force des choses.
Le texte en clair est not A L Ce peut tre une suite de bits, un fichier de texte, un
enregistrement de voix numris, ou une image vido numrique. Du point de vue de

Chapitre 1

Principes de base

lordinateur, A i nest rien dautre que de linformation binaire1. Le texte en clair peut
tre transmis ou stock. Dans tous les cas, A i est le message chiffrer.
Le texte chiffr est not C. C est aussi de linformation binaire, parfois de la mme
taille que A i, parfois plus grand2. La fonction de chiffrement, note E , transforme A i
en C. Ce qui en notation mathmatique scrit :
E ( M ) = C.

La fonction inverse, note D, de dchiffrement transforme C en A i :


D{C) = A i.

Comme le but de toutes ces oprations nest rien dautre que de retrouver le message
en clair partir de la version chiffre de ce mme message, lidentit suivante doit tre
vrifie :
D ( E ( M ) ) = A i.

Authentification, intgrit, non dsaveu


En plus de la confidentialit, on attend souvent de la cryptographie daccomplir d autres
tches:
1. A u th e n tifica tio n . Le destinataire d un message doit pouvoir sassurer de son
origine. Un intrus ne doit pas tre capable de se faire passer pour quelquun
d autre.
2. In tg rit. Le destinataire d un message doit pouvoir vrifier que celui-ci na
pas t modifi en chemin. Un intrus doit tre incapable de faire passer un faux
message pour un lgitime.
3. N o n dsaveu. Un expditeur ne doit pas pouvoir, par la suite, nier tort avoir
envoy un message.
Ce sont des exigences vitales en matire d interactions sociales par ordinateur; elles
sont lanalogue des rencontres face face. Quelquun est-il celui quil prtend tre? La
pice didentit, le permis de conduire, le diplme de mdecin, ou le passeport dune
personne sont-ils valides? Ce sont les questions auxquelles lauthentification, lintgrit,
et le non dsaveu rpondent.

Algorithmes cryptographiques
Un a lgorith m e cry p to g ra p h iq u e est une fonction mathmatique utilise pour le
chiffrement et le dchiffrement3.
1. A partir du chapitre suivant, ce livre ne traite que de cryptographie applique de linform ation
binaire.
2. En com binant com pression et chiffrement, C peut tre plus petit que A 4. Toutefois, en gnral,
le chiffrement lui seul ne fait pas lopration de com pression.
3. Gnralement, un algorithm e cryptographique com prend deux fonctions: une pour chiffrer et
lautre pou r dchiffrer.

1.1

Terminologie

Si la scurit dun algorithme est base sur le fait que celui-ci est tenu secret, on parlera
alors d algorithme restreint. De tels algorithmes ne prsentent plus quun intrt
historique car de nos jours ils sont inadquats pour les besoins actuels de scurit.
Un groupe d utilisateurs important ou variable ne peut utiliser de tels algorithmes
car chaque fois quun membre quitte le groupe, tous les autres doivent se mettre
utiliser un autre algorithme. Si quelquun rvle accidentellement le secret, tout le
mende doit changer dalgorithme. Encore plus accablant, les algorithmes restreints
ne permettent aucun contrle de qualit et aucune standardisation. Chaque groupe
dutilisateurs doit avoir son propre algorithme. Un tel groupe ne peut pas utiliser de
produits tout faits, matriels ou logiciels, vendus dans le commerce; un espion peut
acheter le mme produit et apprendre lalgorithme. Ils leur faut crire leur propres
algorithmes et les programmer eux mme. Sil ny a pas de bon cryptographe dans le
groupe, ils ne sauront pas sils ont un algorithme sr.
Malgr cela, les algorithmes restreints sont trs populaires pour les applications bas
niveau de scurit. Les utilisateurs ne ralisent pas, ou bien ne se soucient pas des
problmes de scurit inhrents leur systme.
La cryptographie moderne rsoud ce problme avec une clef, note k. Cette clef peut
prendre une des valeurs parmi un grand nombre de valeurs possibles. L ensemble des
valeurs possibles d une clef est appel esp ace d es clefs. Les oprations de chiffrement
et de dchiffrement utilisent toutes les deux cette clef (i.e., elles dpendent de la clef
et ceci est dnot par lindice k), aussi les fonctions scrivent de la manire suivante:
E k{ M ) = C
D k(C) = M .

Ces fonctions vrifient la proprit suivante (voir la figure 1.2): :


D k(Ek( M ) ) = M .

FlG. 1.2 - Chiffrement et dchiffrement avec une clef


Certains algorithme utilisent des clefs diffrentes pour le chiffrement et le dchiffrement(voir la figure 1.3). Dans ce cas, la clef de chiffrement, note ki, est diffrente de
la clef de dchiffrement, note k,2 - Les relations suivantes dcrivent un tel cryptosys
tme:
E kl( M ) = C
D k2(C) - M
D k2(Ekl( M ) ) = M .
Avec ces algorihtmes, toute la scurit rside dans la (ou les) clef(s), et non dans
les dtails de lalgorithme. Ceci implique que lalgorithme peut tre publi et anlys.

Chapitre 1

4
Clef de
chiffrement

Texte en clair

Principes de base

Clef de
dchiffrement

Texte chiffr

Chiffrement

Texte en clair
original

Dchiffrement

F ig. 1.3 - Chiffrement et dchiffrement avec deux clefs

On peut fabriquer en masse un produit utilisant cet algorithme. Peu importe quune
espionne connaisse votre algorihtme; si elle ignore votre clef, elle ne pourra pas lire vos
messages.
Un cryptosystme est compos d un algorithme, et de tous les textes en clairs, textes
chiffrs, et clefs possibles.

Algorithmes clef secrte


Il y a deux types principaux d algorithmes base de clefs : clef secrte ou clef pu
blique. Les algorith m es c le f secrte sont des algorithmes o la clef de chiffrement
peut tre calcule partir de la clef de dchiffrement ou vice versa. Dans la plupart
des cas, la clef de chiffrement et la clef de dchiffrement sont identiques. Pour de tels
algorithmes, lmetteur et le destinataire doivent se mettre d accord sur une clef
utiliser avant dchanger des messages. Cette clef doit tre garde secrte. La scurit
d un algorithme clef secrte repose sur la clef : si celle-ci est dvoile, alors nimporte
qui peut chiffrer ou dchiffrer des messages dans ce cryptosystme.
Le chiffrement et le dchiffrement dans un algorithme clef secrte sont nots :
E k{ M ) = C
D k(C) = M .

Les algorithmes clef secrte peuvent tre classs en deux catgories. Certains oprent
sur le message en clair un bit la fois. Ceux-ci sont appels algorith m es de chif
frem ent en continu. D autres oprent sur le message en clair par groupes de bits.
Ces groupes de bits sont appels b lo cs, et les algorithmes correspondants sont appels
a lgorith m es d e ch iffrem en t par b lo cs. Pour des algorithmes raliss sur ordina
teur, la taille typique des blocs est de 64 bits ce qui est assez grand pour interdire
lanalyse et assez petit pour tre pratique4.

Algorithmes clef publique


Les algorith m es c le f p u b liq u e sont diffrents. Ils sont conus de telle manire
que la clef de chiffrement soit diffrente de la clef de dchiffrement. De plus, la clef de
dchiffrement ne peut pas tre calcule (du moins en un temps raisonnable) partir
de la clef de chiffrement. De tels algorithmes sont appels clef publique parce que
la clef de chiffrement peut tre rendue publique : n importe qui peut utiliser la clef de
4.
Autrefois, avant lutilisation de lou til inform atique, les algorithm es manipulaient gnralement le
texte en clair caractre par caractre. Vous pouvez considrer de tels algorithm es com m e un chiffrement
en continu d un caractre la fois.

1.1

Terminologie

chiffrement pour chiffrer un message mais seul celui qui possde la clef de dchiffrement
peut dchiffrer le message chiffr rsultant. Dans de tels systmes, la clef de chiffrement
est appele c le f p u b liq u e et la clef de dchiffrement est appele c le f prive. La clef
prive est aussi parfois appele c le f secrte mais pour viter toute confusion avec les
algorithmes clef secrte, ce terme ne sera pas utilis ici.
Le chiffrement en utilisant la clef publique k est not :
E k( M ) = C .

Bien que les clefs publique et prive soient diffrentes, le dchiffrement avec la clef
prive correspondante est not :
D k(C) = M .
Parfois, les messages seront chiffrs avec la clef prive et dchiffrs avec la clef publique ;
une telle technique est utilise pour les signatures numriques (voir 2.6). Malgr le
risque de confusion possible, ces oprations seront notes :
E k{ M ) = C
D k(C) = M .

Cryptanalyse
Le but principal de la cryptographie est de prserver le texte en clair de lindiscr
tion des espions (aussi appels adversaires, attaquants, intercepteurs, intrus, oppo
sants, oreilles indiscrtes, cryptanalystes, dcrypteurs, ou tout simplement ennemis).
On suppose que les espions ont plein accs aux communications entre lexpditeur et
le destinataire.
La cryptanalyse est la science de la reconstitution du texte en clair sans connatre
la clef. Une cryptanalyse russie peut fournir soit le texte en clair, soit la clef. La
cryptanalyse peut galement mettre en vidence les faiblesses dun cryptosystme qui
peuvent ventuellement faciliter les attaques contre celui-ci5.
Une tentative de cryptanalyse est appele attaque. Un des axiomes fondamentaux
de la cryptographie, nnonc pour la premire fois par lhollandais A. Kerckhoffs au
dixneuvime sicle, est que lennemi possde tous les dtails de lalgorithme et quil ne
lui manque que la clef spcifique utilise pour le chiffrement [795]6. Bien que cela ne
soit pas toujours le cas dans le monde rel de la cryptanalyse, c est toujours vrai dans
le monde acadmique de la cryptanalyse, et c est de toute faon une bonne assertion
dans le monde rel de la cryptanalyse. Si lon ne sait pas casser un algorithme mme
en sachant comment il fonctionne, on ne sait certainement pas le casser sans cette
connaissance.
Il y a quatre types gnriques dattaques cryptanalytiques. Il va de soi que chacune
dentre elles repose sur lhypothse que le cryptanalyste dispose de la connaissance
complte de lalgorithme de chiffrement :
1. L a ttaq u e te x te ch iffr seu lem en t. Le cryptanalyste dispose du texte chif
fr de plusieurs messages, tous ayant t chiffrs avec le mme algorithme. La
5. La perte d une clef par des moyens autres que la cryptanalyse est appele com prom ission.
6. Bien sr, on peut supposer que la C IA n a pas lhabitude de com m uniquer au M ossad quoique
ce soit au sujet de ses algorithm es. Bien que le M ossad le dcouvre de toute faon...

Chapitre 1

Principes de base

tche du cryptanalyste est de retrouver le texte en clair du plus grand nombre


de messages possible ou mieux encore de trouver la ou les clefs qui ont t utili
ses pour chiffrer les messages ce qui permettrait de dchiffrer dautres messages
chiffrs avec ces mmes clefs.
Donnes: Ci = E k ( M i ) , C 2 = E k ( M 2),...,C i = E k ( M t ).
Requis: Soit A i i , M 2, - . , M i , soit k, soit un algorithme permettant de dduire
partir de Ci+i = E k { M i + 1 ).

M i+ 1

2. L a tta q u e te x te en cla ir con n u . Le cryptanalyste a non seulement accs aux


textes chiffrs de plusieurs messages mais aussi aux textes en clair correspondants.
La tche est de retrouver la ou les clef(s) utilises pour chiffrer ces messages ou
un algorithme qui permet de dchiffrer nimporte quel nouveau message chiffr
avec la mme clef.
D o n n e s: M k,C i

E k { M i ) , M 2,C2 = E k ( M 2) , . . . , M t ,Ct E k { M r).

R eq u is : Soit k, soit un algorithme permettant de dduire A f,+ i partir de


C i+ i = Ek{M.r+ 1).
3. L a ttaq u e te x te en cla ir c h o is i7. Non seulement le cryptanalyste a accs
aux textes chiffrs et aux textes en clair mais de plus il peut choisir les textes en
clair chiffrer. Cette attaque est plus efficace que lattaque texte en clair connu
car le cryptanalyste peut choisir des textes en clair spcifiques qui donneront plus
d informations sur la clef. La tche consiste retrouver la ou les clefs utilises
pour chiffrer ces messages ou un algorithme qiii permette de dchiffrer nimporte
quel nouveau message chiffr avec la mme clef.
D o n n e s: M i , C i = E k ( M \ ) , M 2,C2 = E k ( M 2) , . . . , M i , C t = E k ( M %), o le
cryptanalyste choisit A 4 i , A 4 2,...,A 4 i.
R e q u is : Soit k , soit un algorithme permettant de dduire JAt+i partir de
f'+l -4. L attaq u e te x te en clair ch oisi a d a p ta tiv e 8. C est un cas particulier de
lattaque texte en clair choisi. Non seulement le cryptanalyste peut choisir les
textes en clair mais il peut galement adapter ses choix en fonction des textes
chiffrs prcdents. Dans une attaque texte en clair choisi, le cryptanalyste est
juste autoris choisir un grand bloc de texte en clair au dpart tandis que dans
une attaque texte en clair adaptative, il choisit un bloc initial plus petit et
ensuite il peut choisir un autre bloc en fonction du rsultat pour le premier et
ainsi de suite.
Il y a au moins trois autres types dattaques cryptanalytiques.
1. L atta qu e te x te ch iffr choisi. Le cryptanalyste peut choisir diffrents textes
chiffrs dchiffrer. Les textes dchiffrs lui sont alors fournis. Par exemple, le
cryptanalyste a un dispositif qui ne peut tre dsassembl et qui fait du dchif
frement automatique, sa tche est de retrouver la clef.
7. Parfois appele
au point suivant.
8. Parfois appele

attaque texte en clair choisi statique

attaque texte en clair choisi dynamique

par opp osition la m thode dcrite


.

1.1

Terminologie
D o n n e s: C i,A li

>a..(Ci),C2,A12

D k (C 2) , , C i , M t = D k (C i).

R e q u is : k.
Ce type d attaque est principalement applicable aux cryptosystmes clef pu
blique et sera illustre dans le paragraphe 19.3. Une attaque texte chiffr choisi
fonctionne parfois pour les cryptosystmes clef secrte9.
2. L a ttaq u e c le f ch oisie. Cela nest pas une attaque o le cryptanalyste peut
choisir la clef; il est seulement au courant de quelques relations entre diffrentes
clefs. C est trange et obscur. Ce nest pas trs pratique. Nous y reviendrons au
paragraphe 12.4.
Les attaques texte en clair connu et les attaques texte en clair choisi sont plus
courantes que vous ne pourriez limaginer. Il arrive quun cryptanalyste dispose du
texte en clair d un message ou quil soudoie quelquun pour chiffrer un message choisi.
Parfois, vous navez mme pas besoin de soudoyer quelquun : si vous donnez un mes
sage un ambassadeur, il y a de fortes chances pour que ce message soit chiffr et
envoy son pays d origine pour valuation. Beaucoup de messages ont des en-ttes
et des conclusions qui peuvent tre connues ou devines par le cryptanalyste. Le code
source chiffr est particulirement vulnrable cause de lapparition frquente des mots
clefs: # d efin e, s tr u c t, e ls e , return. Le code excutable chiffr souffre de la mme
vulnrabilit : dans ce cas ce sont les fonctions, les structures de boucles, etc. qui sont
en cause. Il est connu que des attaques texte en clair connu (et mme texte en
clair choisi) ont t menes avec succs durant la Seconde Guerre mondiale. Le livre de
David K a h n [468, 469, 470] donne quelques exemples historiques de ce type dattaques.
Et noubliez pas laxiome de Kerckhoffs: ne comptez pas sur un cryptosystme dont
la rsistence rside dans le fait que lennemi ne sait pas comment fonctionne votre
algorithme. Vous vous trompez si vous croyez quil vaut mieux garder secret les dtails
de votre algorithme plutt que de laisser la communaut scientifique lanalyser. De
plus, il serait naf de penser que personne ne dsassemblera votre code excutable pour
reconstruire votre algorithme10. Les meilleurs algorithmes dont nous disposions sont
ceux qui ont ts rendus publics et attaqus par les meilleurs cryptographes au monde,
et qui ne sont toujours pas casss11.
Les cryptanalystes nont pas toujours accs lalgorithme c tait le cas quand les
Etats-Unis ont cass le code diplomatique japonais, P U R P L E , pendant la Seconde
Guerre mondiale [795]
mais la plupart du temps ils y ont accs. Si lalgorithme
est utilis dans un programme commercial de scurit, c est seulement une question
de temps et d argent pour dsassembler le programme et retrouver lalgorithme. Si
lalgorithme est utilis dans un systme militaire de communication, cest aussi une
question de temps et d argent pour acheter (ou voler) lquipement et reconstruire
lalgorithme. Il y a beaucoup de cas historiques o les cryptanalystes ne connaissaient
pas lalgorithme ; parfois ils lont cass, parfois ils ont chou. Dans tous les cas il est
irraliste de compter sur la confidentialit de lalgorithme.
9.
Une attaque texte en clair choisi mene de front avec une attaque texte chiffr choisi est
parfois appele a tta q u e te x te choisi.
10. C eci est arriv en 1994 avec lalgorithm e R C 4 voir la section 17.1
11. La N ational Security A gen cy garde ses algorithm es secrets, mais les meilleurs cryptographes
travaillent dans ses murs. D e plus, ils schangent leurs algorithm es les uns les autres, s appuyant sur
leurs pairs pour dceler toute faiblesse dans leurs travaux.

Chapitre 1

Principes de base

Ceux qui clament avoir un systme inviolable seulement parce quils ne peuvent pas
eux-mmes le casser sont soit des gnies, soit des fous. Malheureusement, il y en a plus
de la seconde espce de par le monde. Attention ceux qui vantent les vertus de leur
algorithme mais qui refusent de le rendre public : avoir confiance en leur algorithme est
comme faire confiance un remde de charlatan.
Pour diffrencier les bons algorithmes des mauvais, les bons cryptographes acceptent
le regard critique de leurs pairs.

Scurit des cryptosystmes


Les diffrents algorithmes ont des niveaux de scurit divers, plus ou moins difficiles
casser. Si le cot ncessaire pour casser un algorithme dpasse la valeur de linformation
chiffre, alors cet algorithme est probablement sr. Si le temps ncessaire pour casser
un algorithme est plus long que le temps durant lequel linformation chifre doit rester
secrte, alors cet algorithme est probablement sr. Sil faut plus dinformation pour
casser lalgorithme quil nen a t chiffr avec la mme clef, alors votre algorithme est
probablement sr.
Je dis probablement car il est toujours possible quune nouvelle avance soit faite
en cryptanlyse. D un autre ct, une information perd de sa valeur avec le temps. Il est
important que la valeur dune information reste toujours infrieure au cot ncessaire
pour briser la protection qui lentoure.
Lars Knudsen a class ces diffrentes manires de casser un algorithme. Les voici par
ordre dcroissant de svrit:
1. C assage co m p le t. Un cryptanalyste trouve la clef k telle que Dk(C) = Ai.
2. O b te n tio n g lob a le. Un cryptanalyste trouve un algorithme de remplacement
A quivalent Dy.(C) sans connatre k.
3. O b te n tio n locale. Un cryptanalyste trouve le texte en clair d un message chiffr
quil a intercept.
4. O b te n tio n d in fo rm a tio n Un cryptanalyste glane quelque information pro
pos du texte en clair ou de la clef. Cette information pourrait tre certains bits
de la clef, un renseignement sur la forme du texte en clair, et ainsi de suite.
Un algorithme est in con d ition n ellem en t sr si peu importe la quantit de texte
chiffr dont le cryptanalyste dispose il ny a pas d information suffisante pour re
trouver le texte en clair. De fait, seul le masque jetable (voir 1.5) est invulnrable
tant donn des ressources infinies. Tous les autres cryptosystmes sont vulnrables
une attaque texte chiffr seulement, simplement en essayant toutes les clefs possible
une par une et en regardant si le texte en clair rsultant a un sens. Ceci sappelle une
attaque exh a u stive (voir la section 7.1).
La cryptographie se proccupe plus particulirement de cryptosystmes invulnrables
par calcul. Un algorithme est considr in vu ln rable par ca lcu l (ou parfois qualifi
de fort), sil ne peut pas tre cass avec les ressources disponibles actuellement et dans
le futur. Ce qui constitue ces ressources disponibles est ouvert linterprtation.

1.2

Steganographie

On peut mesurer la compiexit(voir la section 7.1) d une attaque de lune ou lautre


des manires suivantes:
1. C o m p le x it en in form a tion . La quantit dinformation ncessaire en entre
pour lalgorithme.
2. C o m p le x it en tem ps. Le temps ncessaire pour achever lattaque. Ceci est
aussi appell effort.
3. C o m p le x it en esp a ce. La quantit de mmoire ncessaire lattaque.
Comme rgle de base, la complexit d une attaque est prise comme le minimum de ces
trois facteurs. Pour certaines attaques, il faut jongler entre les trois complexits: une
attaque peut tre plus rapide au prix de besoins en mmoire plus importants.
Les complexits sont exprimes en un ordre de grandeur. Si un algorithme a, par
exemple, un effort de 2128, alors il faut 2128 oprations pour le casser12.
Peu importe, si vous faites lhypothse que vous aurez suffisamment de puissance de
calcul pour faire un million d oprations par seconde et que vous mettiez un million
de processeurs en parallle la tche, cela prendra encore 1019 annes pour retrouver
la clef pour lexemple donn plus haut. Cela correspond un milliard de fois lge de
lunivers.
Tandis que la complexit dune attaque est constante (cest--dire, jusqu ce quun
cryptanalyste trouve une meilleure attaque), la puissance de calcul est tout sauf
constante. Durant ce dernier demi-sicle, il y a eu des progrs phnomnaux en puis
sance de calcul et il ny pas de raison de penser que cela sarrtera si tt. Nombre
d attaques cryptanalytiques sont trs bien adaptes aux machines parallles : la tche
peut tre morcele en milliards de petites tches et aucun des processeurs ne doit interagir avec les autres. Annoncer quun algorithme est sr simplement parce quon ne
peut pas le casser avec la technologie daujourdhui est hasardeux. Les bons cryptosys
tmes sont conus pour tre invulnrables mme avec les puissances de calcul prvues
d ici de nombreuses annes dans le futur.

Terminologie historique
Historiquement, on appelle c o d e un cryptosystme qui sert au niveau des units linguis
tiques : mots, locutions, phrases, etc. Par exemple, le mot SOEUR peut tre le texte
chiffr pour la phrase entire : TOURNER GAUCHE DE 90 DEGRS ; le mot
NONNES peut tre le texte chiffr de TOURNER DROITE DE 90 DEGRS * ;
et les mots TR A LA LA peuvent tre le texte chiffr pour OBUSIER . Les codes
de ce type ne sont pas dcrits dans ce livre, ils sont prsents dans [795, 796]. Les codes
sont utiles dans certaines circonstances seulement. Les chiffres sont utiles en toute cir
constance. Sil ny a pas d entre pour le mot TROPPO dans le carnet de codage,
il ne peut pas tre cod . On peut tout chiffrer laide dun chiffre.

1.2

Steganographie

La stegan ograph ie sert cacher des messages secrets dans dautres messages, de
sorte que lexistence mme du secret est dissimule. Gnralement, lexpditeur crit
12. Ces oprations peuvent tre com plexes et coteuses en tem ps de calcul.

10

Chapitre 1

Principes de base

un message innoffensif et dissimule un message secret dans la mme feuille de papier.


Parmi les astuces historiques, on note les encres invisibles, de minuscules trous dpingle
dans des caractres slectionns, d infimes changements dans lcriture manuelle des
caractres, des marques au crayon sur un texte tap la machine, etc.
Plus rcemment, on peut cacher des messages secrets dans les images graphiques.
Remplacez le dernier bit significatif de chaque point de limage par celui dun message;
limage graphique ne changera pas de manire apprciable la plupart des standards
graphiques tant spcifis pour plus de variations de couleurs que lil humain ne peut
en saisir et le destinataire peut rcuprer le message. On peut stocker de cette faon
un message de 64 kilo-octets dans une image 1024 par 1024 nivaux de gris. Il existe
dans le domaine public diffrentes applications pour faire cela.
Les fo n ctio n s m im tiq u es de Peter Wayner permettent de dtourner des messages.
Elles modifient un message de sorte que son profil statistique ressemble quelque chose
dautre: une des rubriques classique du New York Times, une pice de Shakespeare,
ou un groupe de nouvelles sur Internet [1586, 1587]. Cette sorte de stganographie
ne trompera pas une personne mais elle peut tromper de gros ordinateurs passant au
crible lInternet la recherche de messages intressants.

1.3

Substitution et transposition

Avant lavnement des ordinateurs, la cryptographie traitait des cryptosystmes bass


sur les lettres (ou caractres). Les diffrents algorithmes cryptographiques remplaaient
des caractres par dautres ou transposaient les caractres. Les meilleurs systmes
faisaient les deux oprations plusieurs fois.
C est plus complexe de nos jours, mais la philosophie est reste essentiellement la mme.
La diffrence majeure est que les algorithmes actuels manipulent les bits au lieu des
caractres. Ce nest finalement quun changement de taille d alphabet : on passe de 26
lments 2 lments. La plupart des bons algorithmes de cryptographie combinent
toujours des substitutions avec des transpositions.

Chiffre substitution
Un chiffre su b stitu tio n est un chiffre dans lequel chaque caractre du texte en
clair est remplac par un autre caractre dans le texte chiffr. Le destinataire applique
la substitution inverse au texte chiffr pour recouvrer le texte en clair.
En cryptographie classique, il y a quatre types de base de substitution :
- Un ch iffre su b stitu tio n sim ple est un chiffre dans lequel chaque caractre du
texte en clair est remplac par un caractre correspondant dans le texte chiffr.
Les cryptogrammes publis dans les journaux sont des exemples de chiffres
substitution simple.
- Un ch iffre su b stitu tio n h o m o p h o n iq u e (ou chiffre su b stitu tion sim ple
rep rsen ta tion m u ltip le) est comme un chiffre substitution simple, sauf
qu un caractre du texte en clair on fait correspondre plusieurs caractres dans
le texte chiffr. Par exemple, A peut correspondre 5, 13, 25 ou 56, B
peut correspondre 7, 19, 31 ou 42 ; etc.

1.3

Substitution et transposition

11

- Un ch iffre su b stitu tio n sim ple par p oly g ra m m es est un chiffre pour lequel
les caractres sont chiffrs par blocs. Par exemple, ABA peut tre chiffr par
RTQ tandis que ABB est chiffr par SLL .
- Un ch iffre su b stitu tio n p o ly a lp h a b tiq u e est compos partir de plusieurs
chiffres substitution simple. Par exemple, il peut y avoir 5 chiffres substitution
simple utiliss ; celui qui est utilis dpend de la position du caractre chiffrer
dans le texte en clair.
Le fameux ch iffre d e Jules C sar, dans lequel chaque caractre du texte en clair est
remplac par celui qui se trouve trois places plus loin dans lalphabet modulo 26 (A est
remplac par D, B est remplac par E..., W est remplac par Z, X est remplac par A, Y
est remplac par B, Z est remplac par C) est un chiffre substitution simple.
R O T I3 est un programme de chiffrement frquemment utilis sur les systmes UNIX.
Dans ce chiffre, A est remplac par N , B est remplac par O , etc. Chaque lettre est
dcale de 13 places. .
Chiffrer un fichier deux fois avec R O T 13 redonne le fichier original :
M = R O T 1 3 (R O T 1 3 (A f)).

R O T I3 nest pas destin la scurit. Il est souvent utilis dans les messages de cour
rier lectronique pour cacher du texte pouvant tre offensant, pour viter de dvoiler
trop tt la solution d un casse-tte, etc.
Ce type de chiffres peut tre facilement cass car le chiffre ne cache pas les frquences
sous-jacentes des diffrents caractres du texte en clair. En langue anglaise, il ne faut
pas plus de 25 caractres du texte chiffr avant quun bon cryptanalyste ne puisse
reconstruire le texte en clair [1439]. Un algorithme gnral pour casser ce genre de
chiffre est dcrit dans [581, 589, 1602, 85, 1481, 1246, 880]. Une bonne ralisation sur
ordinateur est donne dans [700].
Les chiffres substitution reprsentation multiple furent utiliss ds 1401 par le
Duch de Mantoue en Italie [795]. Ils sont biens plus difficiles casser que les chiffres
substitution simple, mais toutefois ils ne cachent pas suffisamment les proprits
statistiques de la langue du texte en clair. Ces chiffres sont trivialement casss par
une attaque texte en clair connu. Une attaque texte chiffr seulement est plus
difficile mais elle ne prend que quelques secondes par ordinateur. Les dtails sont donns
dans [1272].
Les chiffres substitution simple par polygrammes sont des chiffres dans lesquels les
lettres sont chiffres par groupe. Le procd PLAYFAIR, invent en 1854, tait utilis
par les Britanniques pendant la Premire Guerre mondiale [795]. Il chiffre les lettres
par paires. La cryptanalyse de ce procd est prsente dans [589, 1481, 880]. Le chiffre
de H ill est encore un autre exemple de chiffre substitution simple par polygrammes
[734]. Les codes de Huffman sont parfois utiliss pour chiffrer, c est un chiffre substi
tution simple par polygrammes qui est peu sr.
Les chiffres substitution polyalphabtique ont t invents par Lon BATTISTA en
1568 [795]. Ils furent utiliss par les Nordistes durant la guerre de Scession. Bien quils
puissent tre facilement casss [820, 579, 589, 795] (plus particulirement avec laide
dordinateurs), nombre de produits commerciaux de scurit informatique utilisent ce
type de chiffre [1392, 1397, 1506]. La mthode pour casser le systme de chiffrement
substitution polyalphabtique, utilis par le traitement de texte WordPerfect, est

Chapitre 1

12

Principes de base

dcrite dans [145, 146J. Le chiffre de V i g e n r e et le chiffre de B e a u f o r t sont des


exemples historiques de chiffres substitution polyalphabtique.
Les chiffres substitution polyalphabtique utilisent plusieurs clefs monoalphabtiques.
Chaque clef est utilise tour de rle pour chiffrer une lettre du texte en clair (la
premire clef pour le premier caractre, la deuxime clef pour le deuxime, et ainsi de
suite). Lorsque toutes les clefs ont t utilises, on les rutilise en recommenant la
premire. Sil y a ainsi 20 clefs monoalphabtiques, tous les 20 caractres on utilise la
mme clef. Le nombre de clefs utilises donne la p rio d e du chiffre. En cryptographie
classique, les chiffres avec des priodes longues taient considrablement plus difficiles
casser que ceux avec des priodes courtes. Grce aux ordinateurs, il est facile de casser
mme ceux avec des priodes trs longues.
Un autre type de chiffre est celui o lon utilise un autre texte pour chiffrer le texte en
clair. Bien que ce chiffre ait une priode gale la longueur du texte en clair, il peut
aussi tre cass facilement [578, 795].

Chiffre transposition
Un chiffre tra n sp o sitio n est un chiffre dans lequel les caractres du texte en clair
demeurent inchangs mais dont les positions respectives sont modifies. Pour appliquer
la tra n sp o sitio n sim ple en colon n es, on crit le texte en clair horizontalement sur
un morceau de papier quadrill de largeur fixe et lon relve le texte chiffr verticalement
(voir la figure 1.4). Pour dchiffrer le texte chiffr, il suffit d crire verticalement celui-ci
sur un morceau de papier quadrill de la mme largeur et de lire horizontalement le
texte en clair.
Texte en clair
l a s s a s s in

est le d o cteu r

M a t r ix , r e g a r d e z d e r r i r e l h o r l o g e

LASSASSIN
ESTLEDOCT
EURMATRIX
REGARDEZD
ERRIERELH
0RL0GE

Texte chiffr :
LEERE OASUE RRSTR GRLSL M AIOA EAREG SDTDR ESORE EICIZ LN TXD H

F i g . 1.4 - Transposition simple en colonnes


La cryptanalyse de ces chiffres est prsente dans [589, 1481]. Comme les lettres du
texte chiffr sont les mmes que celles du texte en clair, une analyse statistique de la
frquence des lettres montre que chaque lettre se comporte peu prs comme dans la
langue d origine du texte. Cela donne un indice imprtant au cryptanalyste qui peut
essayer diffrentes techniques pour retrouver lordre correct des lettres. Appliquer une
deuxime transposition au texte chiffr augmente grandement la scurit. Il y a des
chiffres transposition encore plus compliqus mais les ordinateurs permettent de les

1.3

Substitution et transposition

13

casser pratiquement tous.


Le procd allemand A D F G V X , utilis pendant la Premire Guerre mondiale, est un
chiffre transposition (plus un chiffre substitution simple). C tait un algorithme trs
compliqu pour lpoque mais il a t cass par Georges P a i n VIN, un cryptanalyste
franais [468].
Bien que de nombreux cryptosystmes modernes utilisent la transposition, c est contrai
gnant parce que la transposition ncessite beaucoup de mmoire et parfois elle impose
que les messages chiffrer aient une longueur multiple d une certaine valeur. La sub
stitution est beaucoup plus utilise.

Machines tambours
Dans les annes 20, de nombreux dispositifs mcaniques ont t invents pour automa
tiser le chiffrement. Ils utilisaient une (ou plusieurs) pice mcanique appele ta m b ou r
(ou r o to r) qui tait conue de manire effectuer une opration de substitution.
Une m achines ta m b o u rs (ou m achines rotors) a un clavier et un ensemble de
rotors, et ralise une version du chiffre de VlGENRE. Chaque rotor est une permutation
arbitraire de lalphabet, a 26 positions et effectue une substitution simple. Par exemple,
un rotor pouvait tre conu pour substituer F A , U B , L C ,
etc. Les picots de sortie d un rotor entranent ceux du rotor suivant.
Par exemple, dans une machine quatre rotors, le premier rotor pouvait substituer
F A , le deuxime Y F , le troisime E Y , et le quatrime C
E ; C tant la sortie dans le texte chiffr. Puis certains rotors se dcalent et la
substitution est diffrente la fois suivante.
Cest la combinaison de tous ces rotors et des engrenages les entranant qui rendent
cette machine sre.Comme tous les rotors bougent, et des vitesses diffrentes, la p
riode dune machine n rotors est 26 . Certaines machines peuvent avoir des nombres
de positions diffrents sur chaque rotor, ce qui complique encore plus la tche du cryp
tanalyste.
La machine rotors la plus connue est la machine E n i g m a , utilise par les Allemands
pendant la Seconde Guerre mondiale. Lide de base est due Arthur S c h e r b iu s
et Arvid Gerhard D a m m en Europe. Elle a t brevete aux Etats-Unis par Arthur
S c h e r b iu s [1388]. Les Allemands avaient considrablement toff le concept de base
pour leur effort de guerre.
Il y avait un tableau qui permutait lgrement le texte en clair, et un rotor supplmen
taire qui obligeait chaque rotor oprer deux fois sur chaque lettre. Aussi complique
quelle fut, la machine ENIGMA a t casse durant la Seconde Guerre mondiale.
Une quipe de cryptographes polonais a cass une version simplifie de la machine
E n ig m a , une quipe britannique, dont Alan T u r in g faisait partie, a cass la vraie
machine E n i g m a . Pour plus d informations concernant les machines rotors et la fa
on dont elles peuvent tre casses voyez [795, 93, 451, 496, 449, 880, 1326, 1589, 691].
Deux comptes rendus fascinants relatant comment la machine E n i g m a a t casse
sont donns dans [737, 797],

Lectures recommandes
Ce nest pas un livre sur la cryptographie classique, aussi ne vais-je pas mtendre
plus avant sur ce sujet. Deux excellents livres prsentant la cryptologie davant lre

Chapitre 1

Principes de base

informatique sont [589, 1481]; la cryptanalyse des machines chiffrer se trouve dans
[451]. Dorothy D e n n in g prsente nombre de ces chiffres dans [462], et [880] donne une
analyse relativement mathmatique de ces mmes chiffres. Un autre texte plus ancien
sur la cryptographie, qui traite des sujets analogues, est [106]. Un article qui donne
un bon aperu du sujet est [580]. Les livres historiques de David K a h n sont aussi
excellents [795, 796, 797).

1.4

Ou exclusif simple

X O R est lopration ou exclusif, note ' en C ou en Mathmatiques. Cest une


opration classique sur les bits:

00 0 = 0
001 = 1
10=1

101 = 0
Remarquez les proprits suivantes:
a a= 0
a b b = a

Lalgorithme du ou exclusif simple est vraiment embarrassant; ce nest rien d autre


quun chiffre de V iG e n r e . Il est inclus ici car il est trs souvent utilis dans des logiciels
commerciaux, du moins dans le monde M S -D O S et le monde M a c i n t o s h [1506, 1392].
Si un logiciel de scurit clame quil utilise un algorithme de chiffrement propritaire
et qui est nettement plus rapide que le DES il y a de fortes chances quil sagisse
d une variante de ceci :
/* Usage: crypto key input_file output_file */
void mainfint argc, char *argv[])
FILE *fi, *fo;
int *cp;
int c;
if (cp = argv[l] ) {
if ((fi = fopen(argv[2] ,"rb")) != NULL) -[
if ((fo = fopen(argv[3],"wb")) != NULL) {
while ((c = getc(fi)) != EOF) {
if (!*cp) cp = argv[l];
c '= *(cp++);
putc(c,fo);
>
fclose(fo);
>

1.5

Masque jetable

15

fc lo s e (fi);

>
>
>
C est un algorithme clef secrte. Le texte en clair est combin la clef par une
opration ou exclusif pour produire le texte chiffr. Comme lapplication du ou
exclusif deux fois avec la mme valeur redonne la valeur initiale, le chiffrement et le
dchiffrement utilisent exactement le mme programme ( dnote lopration logique
ou exclusif) :
M K = C
CK = M

Il ny a pas de vraie scurit ici. Ce type de chiffre est trivial casser, mme sans
ordinateur [589, 1481]. Cela ne prendra que quelques minutes avec un ordinateur.
Faisons lhypothse que le texte est en langue anglaise. De plus, supposons que la clef
a une petite longueur arbitraire. Voici comment le casser :
1. Dcouvrir la longueur de la clef par un procd appel c o m p ta g e d e con
cid en ces [579]. Comparer le texte chiffr lui-mme mais dcal d un certain
nombre doctets : compter le nombre doctets identiques. Si les deux segments
de texte mis face face ont t cods avec la mme clef, quelque chose comme
plus de 6 % des octets seront gaux. Sils ont t cods avec une clef diffrente
alors moins de 0,4 % des octets seront gaux (avec comme hypothse une clef
quelconque et un texte en clair compos de caractres A SC II ; dautres textes
en clair donneront des pourcentages diffrents). Le plus petit dplacement qui
indique une concidence leve est la longueur de la clef recherche.
2. Dcaler le texte chiffr de cette longueur et appliquer le ou exclusif entre le texte
chiffr et le texte ainsi dcal. Cette opration limine la clef et vous laisse avec le
rsultat du ou exclusif du texte en clair avec lui-mme dcal. Comme langlais
a environ un bit d information utile par octet (voir 11.1), il y a suffisamment
de redondance pour choisir le dchiffrement correct.
Malgr cela, la liste des marchands de logiciels qui prtendent que cet algorithme est
presque aussi sr que lalgorithme DES continue de sallonger [1392]. C est cet
algorithme (avec une clef de 160 bits) que la NSA a finalement permis lindustrie
amricaine du tlphone cellulaire numrique dutiliser pour assurer la confidentialit
des communications. Un ou exclusif simple empchera peut-tre votre sur de lire vos
fichiers mais cela narrtera pas un cryptographe plus de quelques minutes.

1.5

Masque jetable

Croyez-le ou non, il existe un cryptosystme parfait. Il sappelle tech n iqu e du


masque je t a b le ( one-time pad ) 13 et a t invent en 1917 par le major Joseph
13. Note du traducteur : le term e masque jeta b le com m e traduction du vocable anglo-saxon
one-tim e pad a t em prunt [240].

Chapitre 1

16

Principes de base

M a u b o r g n e et Gilbert V e r n a m dA T & T [795]14. Dans sa forme classique, le masque


jetable nest rien dautre quune trs longue suite non rptitive et alatoire de lettres,
crite sur des pages relies ensemble pour former un bloc. Lmetteur utilise chaque
lettre du masque son tour pour chiffrer exactement un caractre du texte en clair.
L algorithme de chiffrement est simple : on ajoute le rang de la lettre chiffrer au rang
de la lettre correspondante du masque, le rsultat modulo 26 donne le rang de la lettre
du texte chiffr. Le destinataire dispose d un bloc identique et utilise le masque de la
mme manire pour dchiffrer les lettres du message chiffr une une.
Chaque lettre du masque est utilise une seule fois, pour un seul message. L metteur
chiffre le message et dtruit les pages correspondantes du bloc. Le destinataire a un
masque identique et utilise tour tour chaque lettre du masque pour dchiffrer chaque
lettre du message chiffr. If dtruit ensuite les mmes pages du bloc. A chaque nouveau
message on utilise de nouvelles pages et donc une nouvelle clef. Par exemple, si le
message est :

MASQUEJET ABLE
et que le morceau de masque utilis est :
TBFRGFARFMIKL
alors le texte chiffr est :
GCYIBKKWZNKWQ
puisque lon a:
M + T mod 26 = G
A + B mod 26 = C
S + F mod 26 = Y
etc.
En mettant lhypothse que ladversaire na pas accs au bloc qui contient le masque
jetable, ce systme est parfaitement sr. Un texte chiffr donn peut correspondre
nimporte quel texte en clair de mme longueur.
Comme tout masque est galement probable (rappelez-vous que le masque est une suite
alatoire), un adversaire na pas d information pour baser sa cryptanalyse. Le morceau
de masque aurait tout aussi bien pu tre :
RXDCXFHVQBYRX
qui donnerait le texte en clair :
OEUFDECAILLES
ou encore :
RTFDAPUVHMGNX
qui donnerait le texte en clair :
OISEAUPARADIS
14. En fait, un masque jetable est un cas particulier d un schm a seuil (voir 3.7).

1.5

Masque jetable

17

Ce point vaut la peine dtre rpt : comme tout texte en clair est quiprobable, il ny
a aucun moyen pour le cryptanalyste de dterminer quel est le bon texte en clair. Le
ou exclusif d une clef alatoire avec un texte en clair non alatoire produit un texte
chiffr compltement alatoire, peu importe la puissance de calcul.
Le point faible, et il est de taille, est que les lettres du masque doivent tre engendres
alatoirement. Toute attaque contre la technique du masque jetable se fera contre la
mthode utilise pour engendrer le masque. On ne peut pas envisager lutilisation dun
gnrateur pseudo-alatoire ; ceux-ci possdent toujours des proprits non alatoires.
Si vous utilisez un gnrateur vraiment alatoire c est beaucoup moins facile quil
ny parat (voir 17.14) cette technique est sre.
Lautre point important est que vous ne pouvez jamais utiliser nouveau le mme
morceau du masque. Mme avec un masque de plusieurs gigaoctets, un cryptanalyste
qui possde des textes chiffrs avec des squences de masque se recouvrant peut re
construire le texte en clair. Il compare chaque paire de textes chiffrs en dcalant lun
par rapport lautre et compte le nombre de lettres identiques en mme position.
Quand les textes sont aligns, la proportion de lettres identiques augmente dun coup
le pourcentage exact dpend de la langue utilise dans le texte en clair. Ensuite la
cryptanalyse est facile. Il sagit d un index de concidences mais avec deux priodes
seulement comparer [905].
Lide du masque jetable peut tre facilement tendue au chiffrement de donnes bi
naires. On utilise un masque compos de bits au lieu de caractres. Au lieu d addition
ner le texte en clair et le masque, on utilise le ou exclusif. Pour dchiffrer, on applique
le ou exclusif avec le mme masque jetable. On ne change rien d autre et on a un
niveau de scurit parfait.
Tout cela lair mirobolant, mais il y a quand mme quelques problmes. La longueur
du masque est gale la longueur du message transmettre. C est acceptable pour
quelques messages courts mais pas pour une ligne de transmission 1,544 mgabit par
seconde. Malgr tout, vous pouvez enregistrer 650 mgaoctets de bits alatoires sur
un CD-ROM mais il y a des problmes. Premirement, vous avez besoin d exactement
deux copies des bits alatoires alors que les CD-ROMs sont conomiquement intres
sants en grande quantit seulement. Deuximent, vous devez pouvoir dtruire les bits
alatoires dj utiliss. Un CD-ROM ne peut-tre effac autrement quen le dtrui
sant physiquement. Les cassettes numriques sont bien mieux adaptes ce genre de
besoins.
Mme si vous rsolvez les problmes de la distribution du masque et de sa sauvegarde,
vous devez encore vous assurer que lexpditeur et le destinataire soient parfaitement
synchroniss. Si le destinataire est dcal ne serait-ce que d un bit (ou si quelques
bits sont perdus pendant la transmission), le message dchiffr naura aucun sens. Si
quelques bits sont fausss durant la transmission (aucun bit n est ajout ou retir, ils
sont seulement modifis), seul ces bits-l seront mal dchiffrs. Dautre part, un masque
jetable ne permet aucune authentification.
Les masques jetables ont encore leur utilit aujourdhui, principalement pour des ca
naux de communications ultra-secrets et faible dbit. Le tlphone rouge entre les
Etats-Unis et lex-Union sovitique tait15, parat-il, chiffr laide de la technique du
masque jetable. Nombre de messages d espions sovitiques taient chiffrs par masque
jetable. De tels messages sont encore secrets mme aujourdhui et le resteront tout ja
15. Lest-il encore?

Chapitre 1

18

Principes de base

mais. Peu importe combien de temps les super-ordinateurs consacreront essayer de les
casser, peu importe le nombre de personnes qui essaieront encore dici un demi-sicle
avec des machines et des techniques inimaginables, ils resteront secrets. Mme quand
les extraterrestres venant dAndromde atterriront avec leurs gigantesques engins spa
tiaux et leur puissance de calcul inimaginable, ils ne seront pas capables de dchiffrer
les messages des espions sovitiques chiffrs laide de la technique du masque jetable
( moins quil puissent aussi voyager dans le temps et rcuprer les masques utiliss).

1.6

Algorithmes informatiques

Il y a de nombreux algorithmes cryptographiques. Les trois plus courants sont :


- DES (standard de chiffrement de donnes) Data Encryption Standard : lal
gorithme de chiffrement informatique le plus populaire. Le DES est un standard
amricain et mme international, du Gouvernement amricain et il a laval de
larme amricaine pour le chiffrement de donnes de nature sensible mais non
secrte. C est un algorithme clef secrte : la mme clef sert au chiffrement et au
dchiffrement.
- R SA (daprs le nom de ses concepteurs : R i v e s t , S h a m ir et A d l e m a n ) : lal
gorithme clef publique le plus populaire. Il peut aussi bien tre utilis pour le
chiffrement que pour la signature numrique.
- D SA (algorithme de signature numrique) Digital Signature Algorithm : un
autre algorithme clef publique. Il fait partie du standard de signature num
rique DSS ou Digital Signature Standard . Il ne peut pas tre utilis pour le
chiffrement mais seulement pour la signature numrique.
C est de ce genre de choses quil est question dans ce livre.

1.7

Grands nombres

Tout au long de cet ouvrage, j utilise des grands nombres pour dcrire diffrents points
en cryptographie. Il est ais de perdre de vue lordre de grandeur de ces grands nombres.
Le tableau 1.1 montre les quivalents des grands nombres manipuls en cryptographie
par rapport des grands nombres en physique.
Ces nombres sont des estimations dordre de grandeur. Us ont t puiss dans diffrentes
sources. La plupart des nombres venant de lastrophysique sont expliqus dans l article
de Freeman D y s o n : Time Without End: Physics and Biology in an Open Universe
dans Reviews of Modem Physics, volume 52, numro 3, juillet 1979, pages 447 460.
Les nombres indiqus pour les accidents de la circulation ont t calculs partir des
statistiques collectes par le ministre des Transports amricain : 163 morts par million
de personnes en 1993 et une longvit moyenne de 69,7 annes.

1.7

Grands nombres

19

Tab. 1.1 - Grands nombres

Equivalent physique
Probabilit de mourir foudroy (par jour)
Probabilit de gagner le gros Lot la loterie amricaine
Probabilit de gagner le gros lot la loterie amricaine
et de mourir foudroy le mme jour
Probabilit de se noyer
(aux Etats-Unis et par an)
Probabilit d tre tu dans un accident d automobile
(aux Etats-Unis en 1993)
Probabilit d tre tu dans un accident d automobile
(aux Etats-Unis et sur une vie)
Temps d ici la prochaine glaciation
Temps dici ce que le soleil explose en nova
Age de la terre
Age de lunivers
Nombre d atomes constituant la terre
Nombre d atomes constituant le soleil
Nombre d atomes constituant la galaxie
Nombre datomes constituant lunivers
(sans tenir com pte de la matire sombre)

Nombre
1 chance sur 9 milliards (2 )
1 chance sur 4000000 (222)

1077 (226E)

Volume de lunivers

1084 (2280) cm3

1 chance sur 261


1 chance sur 59000 (216)
1 chance sur 6100 (213)
1 chance sur 88 (27)
14000 ans (214)
109 (230) annes
109 (230) annes
1010 (234) annes
10E1 (2170)
1067 (2190)
1067 (2223)

Si lunivers est ferm :


Dure de vie de lunivers

1011 (237) annes


1018 (261) secondes

Si lunivers est ouvert :


Temps d ici ce que les toiles peu massives
se refroidissent
Temps d ici ce que les plantes quittent leur toile
Temps dici ce que les toiles quittent leur galaxie
Temps dici ce que les orbites disparaissent
par radiation gravitationnelle
Temps d ici ce que les trous noirs svaporent
compltement par le processus de H aw king
Temps dici ce que toute la matire soit liquide 0 K
Temps dici ce que toute la matire se transforme en fer
Temps d ici ce que toute la matire soit absorbe
par des trous noirs

1014 (247) annes


101E (2eo) annes
1019 (264) annes
102n (267) annes
1064 (2213) annes
1065 (2216) annes
10
10

1 r i2 6

annes
j

annes

Premire partie
Protocoles cryptographiques

Chapitre 2

Briques lmentaires
2.1

Introduction aux protocoles

Le but de la cryptographie est de rsoudre des problmes1. La cryptographie rsoud


des problmes qui ont voir avec la confidentialit, lauthentification, lintgrit, et
les gens mfiants ou malhonntes. Vous pouvez apprendre tout sur les algorithmes et
les techniques, mais ceux-ci ne sont intressants que sils sont mis contribution pour
rsoudre des problmes. Cest pourquoi nous allons dabord regarder les protocoles de
plus prs.
Un p r o to c o le est une srie d tapes, impliquant deux ou plusieurs participants, conu
pour accomplir une tche. Cette dfinition est importante. Il y est question d une
srie dtapes , c est--dire quun protocole est une suite ordonne d tapes et quil
a un dbut et une fin. Chaque tape doit tre excute son tour et aucune autre
tape ne peut tre excute avant que la prcdente ne soit finie. L expression deux
ou plusieurs participants indique quil faut au moins deux personnes pour accomplir
un protocole ; une personne isole ne peut accomplir un protocole. Il est vrai quune
personne seule peut raliser une srie d tapes pour accomplir une tche (par exemple,
cuire un gteau), mais ce nest pas un protocole. En dernier lieu, lexpression conu
pour accomplir une tche indique quun protocole doit faire quelque chose. Ce qui
ressemble un protocole mais qui naccomplit pas une tche nest pas un protocole
mais bien une perte de temps.
Les protocoles ont d autres caractristiques :
chaque participant dun protocole doit connatre le protocole et toutes les tapes
suivre davance ;
- chaque participant impliqu dans un protocole doit tre daccord pour adhrer
au protocole ;
- le protocole doit tre non ambigu : chaque tape doit tre bien dfinie et il ne
doit pas y avoir de possibilit de msentente ;
- un protocole doit tre complet: il doit y avoir une action spcifique chaque
situation possible.
1. D e fait, c est le but d e l inform atique tou t cou rt ce que beaucoup de gens tendent oublier.

Chapitre 2

24

Briques lmentaires

Les protocoles dans ce livre sont organiss en une srie dtapes. L excution d un
protocole parcourt linairement ces tapes, sauf sil y a des instructions de branchement
indiquant quil faut poursuivre partir dune autre tape. Chaque tape comprend des
calculs effectus par lun des participants, et/ou des messages envoys d un participant
un autre.
Un p r o t o c o le cry p to g ra p h iq u e est un protocole qui utilise la cryptographie. Les
participants peuvent tre des amis qui ont implicitement confiance les uns en les autres
ou ils peuvent tre des ennemis qui ne se font pas confiance du tout. Un protocole
cryptographique utilise certains algorithmes cryptographiques, mais en gnral le but
dun protocole va au-del de la simple confidentialit. Les participants dun protocole
peuvent vouloir partager partiellement un secret pour calculer une valeur, engendrer
une suite alatoire, convaincre lautre interlocuteur de son identit, ou signer simul
tanment un contrat. Tout lintret dutiliser la cryptographie dans un protocole est
d empcher ou de dtecter lespionnage ou la tricherie. Si vous n avez jamais vu de tels
protocols auparavant, cela va changer radicalement votre ide de ce que des participants
mutuellement mfiants peuvent accomplir sur un rseau informatique. En gnral, on
peut formuler cela ainsi:
- Il doit tre impossible de faire ou d apprendre plus que ce qui est prvu dans le
protocole.
C est beaucoup plus difficile quil ny parrat. De nombreux protocoles sont exami
ns dans les prochains chapitres. Dans certains, un des participant peut tromper les
autres. Dans d autres, un espion peut altrer le protocol ou apprendre des informations
secrtes. Certains protocoles chouent faute de prcision dans la dfinition des rgies.
D autres chouent parce que leurs auteurs ont manqu de mticulosit dans leur ana
lyse. Comme pour un algorithme, il est bien plus difficile de prouver quun protocle est
sr que le contraire.

But des protocoles


Dans la vie de tous les jours, il y a des protocoles informels pour quasiment tout : com
mander des marchandises par tlphone, jouer au poker, voter aux lections. Personne
ne pense vraiment ces protocoles ; ils ont volu au cours du temps, tout le monde
sait comment les utiliser et ils marchent.
De nos jours, les interactions humaines se font de plus en plus travers des rseaux
informatiques et non face face. Les ordinateurs ont besoin de protocoles pour faire
ce que les gens font sans y penser. Si vous dmnagez vers un autre pays et que vous
y trouvez un bureau de vote compltement diffrent de ce que vous avez lhabitude
dutiliser, vous vous adapterez facilement. Les ordinateurs ne sont pas aussi flexibles.
Nombre de protocoles face face requirent la prsence des gens pour assurer
limpartialit et la scurit. Enverriez-vous une liasse de billets un tranger pour quil
vous achte des marchandises? Joueriez-vous au poker avec quelquun si vous ne pouvez
pas le voir mlanger les cartes et les distribuer? Enverriez-vous au Gouvernement votre
vote par courrier sans quelque assurance que votre anonymat soit prserv?
Il est naf de croire que les utilisateurs dun rseau informatique sont honntes. Il est
naf de croire que les gestionnaires du rseau sont honntes. Il est mme naf de croire
que les concepteurs du rseau taient honntes. La plupart le sont mais les quelques

2.1

Introduction aux protocoles

25

autres peuvent faire beaucoup de dgts. En formalisant les protocoles, nous pouvons
examiner comment des participants malhonntes peuvent essayer de tricher et ainsi
dvelopper des protocoles qui excluent les tricheurs.
Non seulement les protocoles formalisent les comportements mais de plus il permettent
dabstraire le processus daccomplissement dune tche des mcanismes par lesquels
cette tche est accomplie. Un protocole de communication entre deux ordinateurs est
le mme, que ce soient des P C d IBM , des V A X de D i g i t a l o u encore des tlco
pieurs. Nous pouvons examiner les protocoles sans nous noyer dans les dtails de leur
ralisation concrte. Une fois que nous sommes convaincus de tenir un bon protocole,
nous pouvons le raliser avec nimporte quoi tel que des ordinateurs, des tlphones ou
mme des gaufriers intelligents.

Les acteurs
Pour illustrer les protocoles, j ai engag des acteurs (voir le tableau 2.1)2. Alice et
Bernard sont les acteurs principaux. Ils accompliront tous les protocoles gnraux
deux participants. Par convention, Alice commencera tous les protocoles. Bernard r
pondra. Si le protocole requiert lintervention d un troisime ou quatrime participant,
Christine et David seront appels la rescousse. Les autres acteurs joueront des rles
spcifiques qui seront dtaills plus tard.

T a b . 2.1

Alice
Bernard
Christine
David
Estelle
Martin
Ivan
Gatien
Patricia
Victor

- Liste des acteurs et de leur rle

participante de tous les protocoles


participant de tous les protocoles
participante des protocoles trois ou quatre participants
participant des protocoles quatre participants
espionne
attaquant malveillant actif
arbitre intgre
gardien : il surveillera Alice et Bernard dans certains protocoles
plaideuse
vrificateur (contrleur)

Protocoles arbitrs
Un arbitre est un tiers, personne de confiance et dsintresse qui veille au bon drou
lement du protocole (voir la figure 2.1a). L arbitre est dit dsintress parce quil
na pas dintrt dans laccomplissement du protocole et quil na aucune allgeance
envers les autres participants. L arbitre est dit de confiance parce que tous les par
ticipants au protocole acceptent que ce quil dit est vrai, que ce quil fait est correct
2.
Note du traducteur : dans la littrature anglo-saxonne, les prnom s des acteurs : A lice, B ob , Carol,
Dave, Eve, Mallet, Trent, W arden, P eggy et V ictor correspondent respectivem ent Alice, Bernard,
Christine, David, Estelle, M artin, Ivan, G atien, P atricia et V ictor dans cette dition franaise. Le
choix de Bernard plutt que B ob n est pas traditionnel mais cela ne change rien la com prhension
de louvrage car ces prnom s peuvent tre quelconques pour autant qu ils com m encent par la bonne
lettre.

Chapitre 2

26

Briques lmentaires

et que sa part du protocole sera complte. Les arbitres aident au bon accomplissement
de protocoles entre participants mfiants.

F ig. 2.1 - Types de protocoles


Dans le monde rel, les hommes de loi jouent souvent le rle darbitre. Par exemple,
Alice vend une voiture Bernard, un inconnu. Bernard veut payer par chque mais
Alice na aucun moyen de savoir si le chque est un chque en bois. Alice veut sassurer
de la solvabilit du chque avant de cder les papiers du vhicule (titre de proprit
inclus) Bernard. Bernard, qui na pas plus confiance en Alice quelle en lui, ne veut
pas donner le chque avant d avoir reu les papiers.
Un homme de loi qui a la confiance d Alice et de Bernardentre alors en scne. Grce
laide de celui-ci, Alice et Bernard peuvent se mettre d accord sur le protocole suivant,
qui garantit que ni lun ni lautre ne pourra tricher :
1 Alice donne les papiers et les clefs l homme de loi.
2 Bernard donne le chque Alice.
3 Alice dpose le chque sa banque.

2.1

Introduction aux protocoles

21

4 aprs un certain laps de temps ncessaire la vrification et l encaissement


du chque, lhomme de loi donne les papiers et les clefs Bernard. Si le chque
nest pas encaiss aprs le laps de temps donn, Alice en informe l homme de
loi et lui fournit la preuve de ce quelle avance; alors lhomme de loi rend les
papiers et les clefs Alice.

Dans ce protocole, Alice fait confiance lhomme de loi pour quil ne donne les papiers
et les clefs que si le chque est solvable (et donc encaiss) et pour quil lui rende ceuxci dans le cas contraire. Bernard fait confiance lhomme de loi pour quil garde les
papiers et les clefs jusqu ce que le chque soit encaiss. Pour lhomme de loi, peu
importe si le chque est solvable ou non. Il fera sa part du protocole dans tous les cas
puisquil sera pay de toute faon.
Dans cet exemple, lhomme de loi joue le rle dun agent de dpt. Les hommes de loi
agissent comme arbitres pour les testaments et parfois pour la ngociation de contrats.
Les Bourses agissent comme arbitres entre les acheteurs et les vendeurs.
Les banques agissent aussi comme arbitres. Bernard peut acheter la voiture d Alice
laide dun chque certifi :
1 Bernard fait un chque et le donne sa banque.
2 Aprs avoir retir du compte de Bernard le montant ncessaire pour couvrir le
chque et aprs lavoir plac sur un compte bloqu, la banque certifie le chque
et le rend Bernard.

3 Alice donne les papiers et les clefs Bernard et Bernard donne le chque certifi
Alice.
4 Alice dpose le chque sa banque.

Ce protocole est effectif parce quAlice a confiance en la certification ralise par la


banque. Alice pense que la banque garde bien son argent et quelle ne sen sert pas
pour des investissements douteux.
Un notaire est aussi un arbitre. Quand Bernard reoit un acte notari d Alice, il est
convaincu quAlice a bien sign ce document de sa propre main et volontairement. Le
notaire peut, si ncessaire, attester du fait en justice.
Le concept darbitre est aussi vieux que notre socit. Il y a toujours eu des gens
souverains, prtres, etc.
qui avaient lautorit et le devoir d agir honntement. Les
arbitres ont un rle et une position sociale particulire dans notre socit. Tromper
le public leur ferait perdre ce statut : des hommes de loi qui utiliseraient des dpts
fiduciaires des fins malhonntes sexposeraient la radiation de leur ordre. Cette
image de confiance ne correspond pas toujours la ralit mais nous montre lidal.
Cet idal peut tre adapt au monde de linformatique mais il y a quand mme quelques
difficults lorsque les ordinateurs arbitrent :
- Il est plus ais de trouver et davoir confiance en un tiers si on sait qui il est et si
on peut le rencontrer. Deux participants se mfiant lun de lautre ont de fortes
chances dtre mfiants vis--vis dun arbitre sans visage quelque part dans un
rseau.
- Le rseau informatique doit assumer le cot de larbitrage. Nous connaissons les
honoraires des notaires. Qui est prt en payer le cot dans un rseau informa
tique?

Chapitre 2

28

Briques lmentaires

- Il y a un dlai inhrent au protocole darbitrage.


- Larbitre doit soccuper de chaque transaction; il est un goulot d tranglement
potentiels dans toute ralisation grande chelle de protocoles. Augmenter le
nombre d arbitres peut aider faire face ce problme mais alors le cot de la
ralisation augmente aussi.
- Comme tout le monde sur le rseau doit faire confiance larbitre, il devient le
point sensible du rseau et la cible privilgie de ceux qui veulent corrompre le
rseau.
Malgr tout, les arbitres ont encore un rle jouer. Dans les protocoles, le rle de
larbitre sera tenu par Ivan.

Protocoles avec juge-arbitre


Larbitrage cote cher, aussi les protocoles arbitrs peuvent tre diviss en deux sousp r o to c o le s : un sous-protocole non arbitr qui est excut chaque fois que le protocole
est utilis, et un autre sous-protocole arbitr auquel on ne fait appel que sil y a un
litige entre les participants. Dans ce cas particulier, on ne parlera pas darbitre mais
de ju g e -a r b itr e (voir la figure 2.1b).
Un juge-arbitre est aussi un tiers dsintress et digne de confiance. Contrairement
un arbitre, il n est pas impliqu dans chaque protocole. Le juge-arbitre nest appel
que pour dterminer si une transaction a t effectue honntement.
Les juges sont des juges-arbitres professionnels. Contrairement au notaire, les juges
ninterviennent que lorsquil y a contestation. Alice et Bernard peuvent conclure un
contrat sans lintervention dun juge. Un juge ne verra jamais ce contrat sauf si lune
des parties porte laffaire devant les tribunaux.
Le protocole de signature de contrat peut tre formalis de la faon suivante :
Sous-protocole non arbitr (excut chaque fois)
1 Alice et Bernard ngocient les termes du contrat.
2 Alice signe le contrat.
3 Bernard signe le contrat.
Sous-protocole avec juge-arbitre (excut uniquement en cas de contestation) :
1 Alice et Bernard comparaissent devant un juge.
2 Alice prsente sa dfense.
3 Bernard prsente sa dfense.
4 Le juge tranche.
La diffrence entre un arbitre et un juge-arbitre (du moins pour les besoins de cet
ouvrage) est que le juge-arbitre nest pas toujours ncessaire. Sil y a contestation, un
juge est appel pour trancher. Sil ny a pas contestation, un juge nest pas ncessaire.
Il existe des protocoles informatiques avec juges-arbitres. Ces protocoles reposent sur
lhypothse que les participants sont honntes mais si quelquun triche, les donnes
collectes pendant lexcution du protocole permettront un tiers dsintress de d
terminer sil y a eu tricherie. Dans un bon protocole avec juge-arbitre, ce dernier peut

2.1

Introduction aux protocoles

29

galement indiquer lidentit de celui qui a trich. Au lieu dempcher la tricherie, les
protocoles avec juge-arbitre dtectent la tricherie. Le caractre invitable de la dtec
tion agit comme une mesure prventive et dcourage la fraude.

Protocoles discipline intrinsque


Un p r o to c o le disciplin e in trin squ e est le meilleur type de protocole. Le protocole
lui-mme garantit lintgrit de la transaction (voir la figure 2.1c). Il ne faut pas dar
bitre pour utiliser le protocole. Il ne faut pas de juges-arbitres pour rgler les conflits.
Le protocole est construit de telle faon que les contestations soient impossibles. Si l un
des participants essaie de tricher, lautre participant le dtecte immdiatement et le
protocole est interrompu. Quels que soient les espoirs du tricheur, ils seront dus.
Dans le meilleur des mondes, tout protocole devrait tre discipline intrinsque.
Malheureusement, il nexiste pas un tel protocole pour chaque type de transaction
possible.

Attaques de protocoles
Les attaques diriges contre les protocoles peuvent viser soit les algorithmes cryptogra
phiques utiliss par les protocoles, soit les techniques cryptographiques utilises pour
raliser les algorithmes, ou encore le protocole lui-mme. Comme ce paragraphe ne
traite que les protocoles, nous allons supposer que les algorithmes et les techniques
sont sres et ne regarder que les attaques contre le protocole lui-mme.
II y a plusieurs faons d attaquer un protocole. Quelquun qui n est pas impliqu dans
le protocole peut espionner tout ou partie de celui-ci. C est ce que lon appelle une
attaque passive parce que lattaquant ne modifie pas le protocole. Tout ce quil peut
faire cest observer le protocole et ainsi essayer de collecter de linformation. Ce type
dattaque correspond une attaque texte chiffr seulement, telle celle que dcrite dans
le paragraphe 1.1. Les attaques passives sont difficiles dtecter, aussi les protocoles
essayent de sen prmunir plutt que de les dtecter. Dans de telles attaques le rle de
lespion sera jou par Estelle.
Un attaquant peut aussi essayer d altrer le protocole pour le tourner son avantage. Il
peut prtendre tre quelquun dautre, intercaler de nouveaux messages, supprimer des
messages, remplacer un message par un autre, envoyer un vieux message, dtruire le
canal de communication ou encore modifier linformation enregistre par un ordinateur.
On parlera alors da ttaq u es actives car elles requirent une attitude active de la part
de lattaquant. La manire dont sont menes ces attaques dpendent du rseau.
Les attaquants passifs ne sont intresss que par linformation quils peuvent glaner
concernant les participants au protocole. Ils collectionnent les messages qui circulent
entre les diffrents participants et en essayant de les cryptanalyser. Les attaques ac
tives peuvent au contraire avoir bien dautres objectifs. Lattaquant peut vouloir soit
obtenir de linformation, soit dgrader les performances du systme, soit corrompre de
linformation existante, soit encore avoir accs des ressources non autorises.
Les attaques actives sont bien plus srieuses, plus particulirement dans les protocoles
o les participants nont pas confiance entre eux. Lattaquant nest pas forcment un
tranger. Il peut tre un utilisateur lgitime du systme. Il peut tre ladministrateur
du systme. Il peut mme y avoir plusieurs attaquants actifs, travaillant ensemble,

Chapitre 2

30

Briques lmentaires

chacun tant un utilisateur lgitime. Le rle de lattaquant malicieux actif sera jou
par Martin.
Il se peut que lattaquant soit un des participants au protocole. Ilpeut mentir pendant
le protocole ou mme ne pas du tout suivre les rgles. Ce type dattaquantest appel
tricheur. Les trich eu rs passifs respectent le protocole mais ils essaient dobtenir
plus d informations que le protocole ne leur permet normalement. Les tricheu rs actifs
altrent le protocole en cours en essayant de tricher.
Il est trs difficile de garantir la scurit du systme si la plupart des participants
sont des tricheurs actifs mais, parfois, il est possible pour les participants lgitimes de
dtecter quil y a tricherie active. De toute faon, les protocoles doivent se prmunir
de manire fiable contre la tricherie passive.

2.2

Communications laide
dun cryptosystme clef secrte

Comment deux parties peuvent-elles communiquer de manire sre? Ils chiffrent leur
communication bien sr. Le protocole complet est plus compliqu que cela. Voyons
comment Alice peut envoyer un message chiffr Bernard :
1 Alice et Bernard choisissent un cryptosystme.
2 Alice et Bernard choisissent une clef.
3 Alice chiffre son texte en clair l aide de l algorithme choisi et avec la clef
slectionne. Cette tape produit un texte chiffr.

4 Alice envoie le texte chiffr Bernard.


5 Bernard dchiffre le texte chiffr avec le mme algorithme et la mme clef, et
finalement lit le message.

Que peut apprendre Estelle un espion qui se place entre Alice et Bernard, en coutant
le protocole? Si tout ce quelle peut entendre est la transmission de ltape 4, elle peut
essayer de cryptanalyser le texte chiffr. Cette attaque passive est une attaque texte
chiffr seulement. Il existe des algorithmes qui sont rsistants (pour autant que lon
sache) peu importe la puissance de calcul dont Estelle dispose pour sy attaquer.
Toutefois, Estelle nest pas stupide. Elle sait que si elle peut couter les tapes 1 et
2 du protocole, elle aura ce quil lui faut. Elle connatra alors lalgorithme et la clef;
elle en saura autant que Bernard. Quand le message est transmis ltape 4, tout ce
quelle a faire est de le dchiffrer pour elle-mme.
Un bon cryptosystme est un systme o la scurit est inhrente la connaissance
de la clef et non pas celle de lalgorithme. C est pourquoi la gestion des clefs est un
problme si important en cryptographie. Avec un algorithme clef secrte, Alice et
Bernard peuvent raliser ltape 1 en public mais ils doivent raliser ltape 2 en secret.
La clef doit rester secrte avant, pendant et aprs le protocole, sinon, le message ne
serait plus confidentiel3.
3.
La cryptographie clef publique rsout ce problm e d une autre manire qui sera dcrite dans
le paragraphe 2.5.

2.3

Fonctions sens unique

31

Martin, un attaquant actif, peut faire d autres choses. Il peut essayer de casser le canal
de communication de ltape 4, sassurant ainsi quAlice ne peut pas transmettre du
tout son message Bernard. Martin peut aussi intercepter les messages dAlice et les
remplacer par dautres de son cru. Si de plus Martin connat la clef (en interceptant la
communication de ltape 2 par exemple), il peut chiffrer ses propres messages et les
envoyer Bernard en lieu et place des messages intercepts. Bernard naurait aucun
moyen de dtecter que ces messages ne viennent pas d Alice. Si Martin ne connaissait
pas la clef, les messages quil enverrait en remplacement seraient du charabia lorsquils
seraient dchiffrs par Bernard. Bernard, pensant que le message vient dAlice, croirait
que le rseau, ou Alice, ont de srieux problmes.
Quant Alice, que peut-elle faire pour fausser le protocole? Elle peut donner une copie
de la clef Estelle. A laide de celle-ci, Estelle peut lire tout ce que Bernard dit. Elle
peut reproduire ses propos dans le New York Times. Bien que cela soit grave, la faute
nest pas imputable au protocole. Il ny a rien dans le protocole qui puisse empcher
Alice de donner une copie du texte en clair Estelle. Bien sr, Bernard peut faire
tout ce quAlice peut faire. Ce protocole prsume quAlice et Bernard se font confiance
mutuellement.
En rsum, un cryptosystme clef secrte a les problmes suivants :
- Les clefs doivent tre distribues secrtement. Elles ont autant de valeur que
tous les messages chiffrs avec elles car connatre les clefs donne accs tous les
messages. Pour des cryptosystmes utiliss lchelle de la plante, la distribution
des clefs peut tre une tche dcourageante. Souvent, des messagers apportent
les clefs leur destination (de la main la main).
- Si la clef est compromise (vole, devine, extorque, achete, etc.) alors Estelle
peut dchiffrer tous les messages chiffrs laide de cette clef. Elle peut alors
se faire passer pour lun des participants et insuffler ses propres messages pour
tromper lautre participant.
- Si une clef diffrente est utilise pour chaque paire dutilisateurs dun rseau, le
nombre total de clefs crot trs vite par rapport au nombre d utilisateurs. Par
exemple, 10 utilisateurs ont besoin de 45 clefs diffrentes pour pouvoir mener
nimporte quelle conversation deux deux ; 100 utilisateurs ont besoin de 4950
clefs diffrentes. Ce problme peut tre minimis en gardant un petit nombre
dutilisateurs mais cela nest pas toujours possible.

2.3

Fonctions sens unique

La notion de fo n ctio n s sens u n iqu e est fondamentale pour la cryptographie clef


publique. Bien quelles ne constituent pas un protocole en elles-mmes, les fonctions
sens unique sont des lments de base de la plupart des protocoles dcrits dans ce
livre.
Une fonction sens unique est une fonction relativement aise calculer mais consid
rablement plus difficile inverser. En dautres termes, tant donn un x, il est facile de
calculer f(x), mais tant donn f(x) il est difficile de calculer x. Dans ce contexte, dif
ficile veut dire quil faudrait des millions d annes pour calculer la fonction inverse
mme si tous les ordinateurs du monde sattelaient la tche.

32

Chapitre 2

Briques lmentaires

Casser une assite est un bon exemple de fonction sens unique. Il est facile de cas
ser lassite en mille morceaux. Toutefois, il est trs difficile de recoller les morceaux
ensembles pour reconstruire lassite.
Cela a lair correct mais on ne peut pas en dmontrer la vracit. D un point de
vue strictement mathmatique, il ny a pas de preuve que des fonctions sens unique
existent ni mme d indice quelles peuvent tre dfinies [233, 532, 603, 662]. Cependant,
de nombreuses fonctions ont lair dtre sens unique: nous pouvons facilement les
calculer et, ce jour, nous ne connaissons pas de moyen simple pour les inverser. Par
exemple, x2 dans un corps fini est facile calculer mais le calcul de \fx est nettement
plus difficile. Par la suite, je prtendrai que des fonctions sens unique existent. Nous
en reparlerons dans le paragraphe 11.2.
Mais quoi peuvent bien servir des fonctions sens unique? On ne peut pas les
utiliser telles quelles pour le chiffrement. Un message chiffr laide dune fonction
sens unique nest pas d une grande utilit: personne ne peut le dchiffrer4. Pour la
cryptographie clef publique, nous avons besoin de ce que lon appelle une fon ctio n
sens u n iqu e b r ch e s e c r te 5.
Une fo n ctio n sens unique brch e secrte est un type spcial de fonction sens
unique. Il est facile de la calculer dans un sens et difficile de le faire dans lautre sens.
Mais pour celui qui connat le secret, il est ais de calculer la fonction dans lautre sens.
En d autres termes, il est facile de calculer f (x) tant donn x et difficile de calculer x
tant donn f{x). Toutefois, il existe une information secrte, y, telle qutant donn
f(x) et y, il est facile de calculer x.
Une montre est un bon exemple de fonction sens unique brche secrte. Il est facile
de dmonter une montre en ses centaines de pices. Il est trs difficile de remettre
les pices ensemble pour reconstruire une montre qui fonctionne. Toutefois, grce
linformation secrte que constitue le plan de montage de la montre, il est bien plus
facile de reconstruire la montre.

2.4

Fonctions de hachage sens unique

Une fo n c tio n d e h achage sens u n ique porte de nombreux noms: fonction de


compression, fonction de contraction, digest, empreinte digitale, code correcteur
cryptographique, code de vrification d intgrit, code de dtection de manipulation6.
Peu importe comment on les appelle, de telles fonctions sont fondamentales pour la
cryptographie moderne. Ces fonctions interviennent comme lments de base dans de
nombreux protocoles.
Des fonctions de hachage ont t utilises en informatique depuis longtemps. Une fonc
tion de hachage est une fonction, mathmatique ou autre, qui convertit une chane de
caractres de longueur quelconque en une chane de caractres de taille fixe (souvent
de taille infrieure, cette chane est appele em p rein te). Un exemple de fonction de
hachage simple est une fonction qui partir dune chane de caractres calculerait un
4. E xercice : crivez un message sur une assiette, cassez l assiette en mille m orceaux, et donnez
ensuite les morceaux un ami. Demandez-lui de lire le message. Constatez quel point votre ami est
impressionn par cette fonction sens unique.
5. Il existe des applications cryptographiques des fonctions sens unique tou t court (voir 3.2).
6. N ote du traducteur : les fonctions de hachages sont parfois appeles fonctions adressage
dispers .

2.5

Communications laide dun cryptosystme clef publique

33

octet qui serait le rsultat du ou exclusif de tous les caractres de la chane donne.
Le but de lopration est de dterminer une empreinte digitale de la chane de caractres
dentre. Cette empreinte permettrait de dterminer si une autre chane a des chances
dtre identique celle pour laquelle lempreinte a t calcule. Comme les fonctions
de hachage ont la caractristique de faire correspondre plusieurs valeurs d entre dif
frentes une mme valeur de sortie, on ne peut pas sen servir pour dterminer avec
certitude si deux chanes sont gales mais on peut lutiliser pour avoir une garantie
raisonnable d galit.
Une fonction de hachage sens unique est une fonction de hachage qui est aussi une
fonction sens unique ; il est ais de calculer lempreinte partir de la chane d entre
mais il est difficile dengendrer des chanes qui ont une certaine empreinte. La fonction
de hachage du paragraphe prcdent nest pas sens unique : tant donn un octet, il
est trivial dengendrer une chane dont le ou exclusif de ses caractres donne cet
octet-l. Vous ne pourriez pas faire cela pour des fonctions de hachage sens unique.
Avec une bonne fonction de hachage sens unique, il est aussi difficile de produire
deux chanes ayant la mme empreinte.
La fonction de hachage est publique; il ny a pas de secret dans lopration. Une fonction
de hachage est sre parce quelle est sens unique. La sortie ne dpend pas de lentre
de manire observable. Tout changement d un bit quelconque lentre entrane le
changement, en moyenne, de la moiti des bits du rsultat. Etant donn une empreinte
il est irralisable par calcul de trouver une chane ayant cette empreinte.
Pensez cela comme un moyen d associer une empreinte des fichiers. Si vous vou
lez vrifier que quelquun possde un fichier donn (que vous avez aussi) sans quil
vous lenvoie, vous lui demandez alors lempreinte du fichier. Sil vous envoie la bonne
empreinte, alors il est trs probable que la personne a le fichier en question. C est
particulirement adapt aux transactions financires o lon ne veut pas quun retrait
de cent francs devienne un retrait de mille francs. Normalement, vous utiliseriez une
fonction de hachage sens unique sans clef de telle manire que nimporte qui puisse
calculer lempreinte. Si vous voulez que seul votre correspondant soit capable de la
calculer, alors lisez le paragraphe suivant.

Code dAuthentifcation de Messages


Un C o d e d A u tie n tifica tio n d e M essages (C A M ) est une fonctions de hachage
sens unique qui fonctionne de plus avec une clef secrte (voir 18.14). Lempreinte d
pend la fois de lentre et de la clef. Tout se passe en thorie comme avec une fonction
de hachage sauf quil faut avoir la clef pour calculer lempreinte. On peut construire un
CAM partir dune fonction de hachage ou d un algorithme de chiffrement par bloc.
Il existe aussi des fonctions spcialement conues pour faire un C A M .

2.5

Communications laide
dun cryptosystme clef publique

On peut comparer un algorithme clef secrte un coffre-fort. La clef est la com


binaison du coffre. Celui qui connat la combinaison peut ouvrir le coffre, mettre un
document lintrieur et le refermer. Quelquun dautre, qui possde aussi la combi

Chapitre 2

34

Briques lmentaires

naison, peut ouvrir le coffre et prendre le document. Toute personne qui ne connat
pas la clef na pas dautre ressort que d apprendre lart de percer les coffres-forts.
En 1976, Whitfeld D i f f i e et Martin H e l l m a n ont chang ce paradigme de la cryp
tographie tout jamais [494]7. Ils ont dcrit la cry p to g ra p h ie c le f publique. Au
lieu d une clef, il y a deux clefs diffrentes : une publique et une prive. De plus, il est
difficile de calculer la clef prive partir de la clef publique. Toute personne peut
laide de la clef publique chiffrer un message mais elle ne peut pas le dchiffrer. Seule la
personne en possession de la clef prive peut dchiffrer le message. C est comme si quel
quun avait chang le coffre-fort de la cryptographie en une bote aux lettres. Mettre
une lettre dans la bote revient chiffrer avec la clef publique, tout le monde peut le
faire. Il suffit de la glisser dans la fente. Sortir le courrier de la bote revient dchiffrer
avec la clef prive. C est difficile en gnral, il faut un chalumeau. Cependant, celui
qui dtient le secret (la clef physique de la bote aux lettres) peut facilement retirer le
courrier de la bote.
Mathmatiquement, le procd est bas sur une fonction sens unique brche secrte
dcrite ci-dessus. Le chiffrement est la direction facile La clef publique constitue les
instructions pour le chiffrement : tout le monde peut chiffrer un message. Le dchif
frement est la direction difficile. C est suffisamment difficile pour que des gens avec
des ordinateurs C r a y et des milliers (ou mme des millions) dannes leur disposi
tion ne puissent pas dchiffrer les messages sans connatre le secret. Le secret, ou la
brche secrte, est la clef prive. Avec ce secret, le dchiffrement est aussi facile que le
chiffrement.
Voici comment Alice peut envoyer un message Bernard en utilisant la cryptographie
clef publique :
1 Alice et Bernard choisissent un cryptosystme clef publique.
2 Bernard envoie Alice sa clef publique.
3 Alice chiffre son message en utilisant la clef publique de Bernard et lui envoie
le rsultat.

4 Bernard dchiffre le message dAlice en utilisant sa clef prive.


Remarquez comment la cryptographie clef publique rsout le problme la distribution
des clefs de la cryptographie clef secrte. Avant, Alice et Bernard devaient se mettre
daccord sur une clef en secret. Alice pouvait en choisir une au hasard mais elle devait
toutefois la faire parvenir Bernard. Elle pouvait la lui avoir donne par le pass mais
cela imposait de se rencontrer auparavant. Elle pouvait la lui envoyer par courrier
recommand mais cela prend du temps. La cryptographie clef publique rend la chose
facile. Sans aucun arrangement au pralable, Alice peut envoyer un message confideiitiel
Bernard. Estelle, qui coute tout lchange, dispose de la clef publique de Bernard
et du message chiffr avec cette clef, mais elle ne peut ni retrouver la clef prive de
Bernard ni le contenu du texte en clair du message.
Plus gnralement, un groupe d utilisateurs en rseau saccordent pour utiliser un cryp
tosystme clef publique. Chaque utilisateur a sa ou ses clefs publiques et prives.
Toutes les clefs publiques sont disponibles dans une base de donnes quelque part.
7. La N SA prtend avoir eu connaissance du con cept ds 1966, mais ne la jam ais prouv.

2.5

Communications laide dun cryptosystme clef publique

35

Ainsi le protocole est plus simple :


1 Alice obtient la clef publique de Bernard par la base de donnes.
2 Alice chiffre son message en utilisant la clef publique de Bernard et lui envoie
le rsultat.

3 Bernard dchiffre le message dAlice en utilisant sa clef prive.


Dans le premier protocole, Bernard devait envoyer sa clef publique Alice avant quelle
ne puisse lui envoyer un message. Le second protocole est plus proche du courrier
traditionnel. Bernard nest pas concern par le protocole tant quil ne lit pas son
courrier.

Cryptosystmes hybrides
Les premiers algorithmes clef publique furent publis lpoque o il tait question
de prendre le DES comme standard. Il en rsulta une sorte de politique partisane dans
le milieu de la cryptographie. D i f f i e la dcrivit dans ces termes [492] :
Lexcitation provoque par les cryptosystmes clef publique dans la
presse populaire et la presse scientifique na pas t partage par ladmi
nistration cryptographique. Lanne de la dcouverte de la cryptographie
clef publique, la National Security Agency (N SA) proposait d'adop
ter un systme cryptographique conventionnel, conu par International
Business Machines (IB M ), comme standard fdral de chiffrement de
donnes (DES, Data Encryption Standard ). Marty Hellman et moi
critiquions la proposition sur le fait que sa clef tait trop courte, mais
les fabricants taient prts soutenir le standard propos et nos critiques
taient vues par beaucoup comme une tentative d enrayer le processus de
cration du standard au profit de nos propres travaux. La cryptographie
clef publique fut attaque son tour dans la litrature commerciale [1131]
et par des articles se voulant techniques [850, 1159], comme si elle tait plus
un produit en concurrence quune rcente dcouverte. Ceci nempcha pas
nanmoins la NSA rclamer sa part de mrite. Son directeur prcisa dans
lEncyclopdie Britannica [1466] qu il avaient dcouvert la cryptographie
deux clefs dix ans plus tt , bien quaucune preuve de cette affirmation
nait jamais vu le jour.
En pratique, les algorithmes clef publique ne se substituent pas aux algorithmes
clef secrte. On les utilise pour chiffrer des clefs et non des messages. Il y a deux raisons
cela:
- Les algorithmes clef publique sont lents. Les algorithmes clef secrte sont
gnralement au moins 1000 fois plus rapides que les algorithmes clef publique.
Il est vrai que les ordinateurs sont de plus en plus rapides et quils pourront
dans quinze ans utiliser la cryptographie clef publique aussi rapidement que la
cryptographie clef secrte aujourdhui. Mais les besoins en bande passante aug
mentent aussi et on aura toujours besoin de chiffrer des donnes plus rapidement
que cela nest possible avec la cryptographie clef publique.

Chapitre 2

36

Briques lmentaires

- Les cryptosystmes clef publique sont vulnrables aux attaques texte en clair
choisi. Si C = E(Ai) o A i est un texte en clair parmi n textes en clair possibles,
alors il suffit un cryptanalyste de chiffrer les n messages et de comparer les
textes chiffrs rsultant avec C (la clef de chiffrement est publique). Il ne pourra

pas trouver la clef de dchiffrement de cette manire, mais il pourra dterminer


M.

Une attaque texte en clair choisi peut tre particulirement efficace sil y a relative
ment peu de messages chiffrs possibles. Par exemple, si A i est un montant en francs
infrieur un million, cette attaque marchera; le cryptanalyste essaye les un million
de montants possibles. (Le chiffrement probabiliste rsoud ce problme; voir 23.15.)
Mme si A i nest pas aussi clairement dfini, cette attaque peut tre trs efficace.
Savoir simplement quun texte chiffr ne correspond pas un texte en clair particulier
peut savrer une information utile. Un cryptosystme clef secrte ne prsente pas
ce dfaut car un cryptanalyste ne peut pas faire des chiffrements dessai avec une clef
inconnue.
Dans la plupart des applications pratiques, la cryptographie clef publique est utilise
pour protger et distribuer les clefs de session, et ces clefs d e session sont utilises
dans des algorithmes clef secrte pour protger les messages transmis [879]. Cela est
parfois appel im c r y p to sy st m e hybride.
1 Bernard envoie sa clef publique Alice.
2 Alice engendre une clef de session alatoire, k, la chiffre avec la clef publique
de Bernard et envoie le rsultat Bernard.
E B{k)

3 Bernard utilise sa clef prive pour dchiffrer le message dAlice et ainsi retrou
ver la clef de session.
D B(EB(k)) = k

4 Alice et Bernard utilisent alors la mme clef de session pour chiffrer leur
conversation.

En ce qui concerne la distribution des clefs, la cryptographie clef publique rsout un


important problme de manipulation de clefs. Avec la cryptographie clef secrte, la
clef de chiffrement repose quelque part avant de servir. Si Estelle met la main dessus,
elle peut dchiffrer les messages qui seront chiffrs avec cette clef. Avec le protocole
ci-dessus, la clef de chiffrement est cre au moment de son utilisation pour chiffrer
les communications et elle est dtruite ds quon en a plus besoin. Cela rduit consi
drablement le risque de compromettre la clef de session. Bien sr, c est la clef prive
qui risque dtre compromise, mais moindre risque puisquelle nest utilise quune
fois par communication pour chiffrer une clef de session. Il en sera question au para
graphe 3.1.

Les nigmes de Merkle


Ralph Merkle a invent le premier un systme de cryptographie clef publique. En
1974, il sest inscrit un cours de scurit en informatique donn par Lance Hoffman

2.6

Signatures numriques

37

lUniversit de Berkeley en Californie. Son devoir de fin dnne, soumis bien avant
la fin de lanne avait pour sujet le problme des Communications prives par des
canaux peu srs [1073]. Hoffman ne put comprendre lide de Merkle et ce dernier
abandonna peut-tre le cours. Il continua de travailler sur le problme, malgrs un
chec continuel faire comprendre ces rsultats.
La technique de Merkle tait base sur des nigmes plus faciles rsoudre pour
lexpditeur et le destinataire que pour un espion. Voici comment Alice envoie un
message chiffr Bernard sans avoir besoin dchanger une clef avec lui.
1 Bernard engendre 220 (ou environ un million) de messages de la form e: Ceci
est lnigme numro x. Voici la clef secrte y , o x est un nombre altoire
et y une clef secrte alatoire, x et y sont tous les deux diffrents pour chaque
message. Il chiffre chaque message avec une clef de 20 bits diffrente et les
envoie Alice.

2 Alice choisi un message au hasard et opre une attaque exhaustive pour retrou
ver le texte en clair. Cela demande un travail important mais pas impossible.

3 Alice chiffre son message secret avec la clef quelle a rcupre et lenvoie
Bernard avec x.
4 Bernard connat la clef secrte y quil avait mise dans le message x, aussi
peut-il dchiffrer le message.

Estelle peut casser ce systme, mais elle doit faire beaucoup plus de travail que Alice
ou Bernard. Pour retrouver le message de ltape 3, elle doit effectuer une attaque
exhaustive sur chacun des 220 messages de ltape 1; cette attaque a une complexit
de 240. La valeur de x naidera pas Estelle car elle a t donne au hasard ltape 1.
En gnral, Estelle doit effectuer un effort environ gal au carr de celui produit par
Alice.
Cet avantage de n par rapport n2 est petit pour les standards cryptographiques mais
cela peut suffir dans certaines circonstances. Si Alice et Bernard pauvent tester dix
mille clefs par seconde, il leur faudra chacun une minute pour mener bien leur tape
et une autre minute pour envoyer les nigmes de Bernard Alice par une liaison 1,544
mgaoctets. Si Estelle dispose de moyens de calcul comparables, il lui faut environ un
an pour casser le systme. Il existe d autres algorithmes encore plus difficiles casser.

2.6

Signatures numriques

Les signatures manuscrites sur des documents ont t longtemps utilises pour prou
ver lidentit de leur auteur ou du moins laccord du signataire avec le contenu du
document. Quest-ce qui rend une signature si importante [1396] ?
1. Une signature est authentique. La signature convainc le destinataire que le signa
taire a dlibrment sign le document.
2. Une signature ne peut pas tre falsifie (imite). La signature est la preuve que
le signataire a dlibrment sign le document.

Chapitre 2

38

Briques lmentaires

3. Une signature nest pas rutilisable. La signature fait partie du document et


une personne malintentionne ne peut pas dplacer la signature sur un autre
document.
4. Un document sign est inaltrable. Une fois le document sign, il ne peut plus
tre modifi.
5. Une signature ne peut pas tre renie. La signature et le document sont des
objets physiques. Le signataire ne peut pas prtendre plus tard ne pas avoir
sign le document.
Dans la ralit, aucune de ces affirmations nest, tout fait vraie. Les signatures peuvent
tre falsifies; des signatures peuvent tre transfres d un document lautre. Les
documents peuvent tre altrs aprs avoir t signs. Toutefois, nous acceptons de
vivre avec ces problmes : c est difficile de tricher et on risque dtre dmasquer.
On aimerait bien faire la mme chose avec des ordinateurs mais il y a des problmes.
Premirement, les fichiers informatiques sont facilement copiables. Mme si la signature
de quelquun est difficile falsifier (une image graphique de la signature manuscrite,
par exemple), il est facile de la transfrer d un document un autre par couper,
coller . La simple prsence d une telle signature ne garantit rier. Deuximement, il
est facile de modifier un document aprs quil a t sign sans laisser de traces de la
modification.

Signature de documents laide dun cryptosystme clef se


crte et dun arbitre
Alice veut signer un message numrique et lenvoyer Bernard. Avec laide d Ivan et
d un cryptosystme clef secrte, elle peut le faire.
Tvan est un arbitre puissant et respect. Il peut communiquer avec Alice et Bernard
(ou toute autre personne dsirant signer un message numrique). Il partage une clef
secrte, K a avec Alice et une clef secrte diffrente K b avec Bernard. Ces clefs ont t
tablies longtemps avant que le protocole ne soit excut et elles peuvent tre utilises
plusieurs fois pour plusieurs signatures.
1 Alice chiffre son message pour Bernard avec la clef K a et envoie le rsultat
Ivan.

2 Ivan dchiffre le message avec K a 3 Ivan assemble le message dchiffr et un avis comme quoi il a reu ce message
d Alice. Ivan chiffre le rsultat avec K b -

4 Bernard dchiffre le tout avec K b - Il peut maintenant lire le message et la


certification dIvan comme quoi Alice a bien envoy ce message.

Comment Ivan sait-il que le message vient bien d Alice et non pas dun imposteur? Il
dduit cela du message chiffr. Comme seuls lui et Alice partagent la clef secrte, seule
Alice peut chiffrer un message avec cette clef.
Est-ce aussi valable quune signature sur papier? Voyons caractristique par caract
ristique :
1. La signature est authentique. Ivan est un arbitre en qui on a confiance et Ivan
sait que le message venait dAlice. Le certificat d Ivan sert de preuve Bernard.

2.6

Signatures numriques

39

2. La signature est infalsifiable. Seule Alice (et Ivan mais tout le monde lui fait
confiance) connat K A, donc seule Alice peut envoyer un message chiffr avec K A
Ivan. Si quelquun avait essay de se faire passer pour Alice, Ivan sen serait
rendu compte immdiatement ltape 2 du protocole et naurait pas certifi
lauthenticit du message.
3. La signature nest pas rutilisable. Si Bernard essaie de prendre le certificat d Ivan
et quil lassocie un autre message, Alice crierait limposture. Alors, un arbitre
(qui peut tre Ivan, mais cela peut tre nimporte quel arbitre ayant accs la
mme information) demanderait Bernard de produire le texte en clair. Larbitre
chiffrerait le texte en clair avec K A et constaterait que le message chiffr ne
correspond pas celui que Alice a donn Ivan. Bien entendu, Bernard ne peut
pas produire un message chiffr valide puisquil ne connat pas K A.
4. Le document sign est immuable. Si Bernard falsifiait le message aprs lavoir
reu, Ivan pourrait dvoiler limposture exactement de la mme faon que celle
dcrite au paragraphe prcdent.
5. La signature ne peut pas tre renie. Mme si plus tard, Alice prtend ne pas
avoir envoy le message, le certificat d Ivan dmontre le contraire. Rappelez-vous
que tout le monde a confiance en Ivan, ce quil dit est la vrit.
Si Bernard veut montrer le document sign par Alice Christine, il ne peut pas rvler
sa clef secrte Christine. Il doit passer par Ivan galement :
1 Bernard prend le message en clair et le texte du certificat dIvan, chiffre le tout
avec K b et envoie cela Ivan.

2 Ivan dchiffre le tout avec K b 3 Ivan vrifie dans sa base de donnes que le message original venait bien dAlice.
4 Ivan chiffre le tout avec K (la clef secrte quil partage avec Christine) et
envoie le rsultat Christine.

5 Christine dchiffre le tout avec K c . Elle peut maintenant lire le message en


clair et le certificat dIvan qui affirme quAlice a bien envoy ce message.

Ces protocoles sont valables mais ils sont coteux en temps pour Ivan. Il doit passer ses
journes chiffrer et dchiffrer des messages, jouant le rle dintermdiaire pour toute
paire de correspondants qui veulent schanger des documents signs. Il doit garder une
copie de chaque message (encore que ceci puisse-tre vit en envoyant au destinataire
une copie du message crypt de lexpditeur). Ivan va devenir le goulot d tranglement
du systme de communication mme sil est incarn par un programme informatique
sans me.
Ce qui est plus ardu reste encore de crer et d entretenir quelquun comme Ivan, quel
quun en qui tout le monde dans le rseau a confiance. Ivan doit tre infaillible ; mme
sil ne fait quune erreur sur un million de signatures, personne naura confiance en
lui. Ivan doit tre totalement sr. Si sa base de donnes de clefs secrtes venait tre
divulgue ou si quelquun modifiait son code, toute signature deviendrait inutilisable.
Des faux documents prtendument signs des annes auparavant pourraient fleurir. Il
en rsulterait le chaos. Cela pourrait marcher en thorie mais il en va autrement de la
pratique.

Chapitre 2

40

Briques lmentaires

Signature de documents laide dun cryptosystme clef pu


blique
Il existe des algorithmes clef publique qui peuvent tre utiliss pour des signatures
numriques. Pour certains algorithmes lalgorithme R SA (voir 19.3) en est un
exemple la clef publique, ou la clef prive peuvent tre utilises pour le chiffrement.
Chiffrez un document avec votre clef prive et vous avez une signature numrique
sre. Dans dautres cas lalgorithme DSA (voir 20.1) en est un exemple il
y a un algorithme spar pour les signatures numriques qui ne peut pas tre utilis
pour le chiffrement. Cette ide a t exprime pour la premire fois par DIFFIE et
H e l l m a n [494] et a t tendue et amliore par d autres [1293, 1339, 1034, 1294, 440].
Se rfrer [1105] pour une vue gnrale sur le domaine.
Le protocole est simple :
1 Alice chiffre le document avec sa clef prive, signant ainsi le document.
2 Alice envoie le rsultat Bernard.

3 Bernard dchiffre le message avec la clef publique d Alice, vrifiant ainsi la


signature.

Ce protocole est nettement meilleur que le prcdent. Ivan nest pas ncessaire ni pour
signer, ni pour vrifier les signatures8. Alice et Bernard nont mme pas besoin dIvan
pour rsoudre les contestations : si Bernard ne peut effectuer ltape 3, alors il sait que
la signature nest pas valide.
Ce protocole a aussi les proprits que nous recherchons :
1. La signature est authentique: quand Bernard vrifie le message avec la clef pu
blique d Alice, il sait quAlice la sign.
2. La signature est infalsifiable : seule Alice connat sa clef prive.
3. La signature nest pas rutilisable : la signature est une fonction du document et
elle ne peut tre transfre sur nimporte quel autre document.
4. Le document sign est immuable : sil y a la moindre falsification du document,
il ne peut plus tre vrifi avec la clef publique d Alice.
5. La signature ne peut pas tre renie. Bernard na pas besoin de laide d Alice
pour vrifier sa signature.

Documents signs et datations


En fait, Bernard peut duper Alice dans certaines circonstances. Il peut rutiliser la
signature et le document ensemble. Ce nest pas trs intressant si Alice a sign un
contrat (quest-ce quune copie de plus ou de moins du contrat original?) mais cela
devient trs intressant si Alice a sign un chque numrique.
Supposons qu Alice envoie Bernard un chque numrique dune valeur de 100 francs
Bernard porte le chque la banque, celle-ci vrifie la signature et transfre largent du
8. II est ncessaire pour assurer que la clef publique d A lice est bien la sienne.

2.6

Signatures numriques

41

compte d Alice au compte de Bernard. Bernard qui est un personnage peu recommandable garde une copie du chque numrique. La semaine suivante, il peut lapporter de
nouveau la banque (ou mme une autre banque). La banque vrifie la signature et
transfre largent d un compte lautre. Si Alice ne vrifie jamais ses relevs bancaires,
Bernard peut continuer ainsi ad vitam aeternam.
Pour viter cela, les signatures numriques contiennent souvent une datation (date +
heure) Cette datation de la signature est attache l ensemble du message et signe
avec le reste du message. La banque stocke ces datations dans une base de donnes.
Ds lors, si Bernard essaie d encaisser le chque dAlice une deuxime fois, la banque
compare la datation avec sa base de donnes. Comme la banque dj honor ce chque
avec la mme datation, la banque appelle la police. Bernard passe alors quhize ans en
prison et occupe son temps libre apprendre les protocoles cryptographiques.

Signature de documents laide dun cryptosystme clef pu


blique et dune fonction de hachage sens unique
Dans les applications pratiques, les algorithmes clef publique sont souvent trop in
efficaces pour signer de longs documents. Pour gagner du temps, les protocoles de
signatures numriques sont souvent raliss avec des fonctions de hachage sens
unique [432, 433]. Au lieu de signer le document, Alice signe lempreinte du document.
Dans ce protocole, les choix de la fonction de hachage sens unique et de lalgorithme
de signature numrique ont t fixs avant quil ne se droule.
1 Alice calcule, laide de la fonction de hachage sens unique, lempreinte de
son document.
2 Alice chiffre, laide de lalgorithme de signature numrique, cette empreinte
avec sa clef prive, signant ainsi par la mme occasion le document.

3 Alice envoie le document et lempreinte signe Bernard.


4 Bernard calcule, laide de la fonction de hachage sens unique,lempreinte
du document quAlice lui a envoy. Ensuite, laide de lalgorithme de signa
ture numrique, il dchiffre lempreinte signe avec la clef publique dAlice. La
signature est valide si lempreinte de la signature est la mme que lempreinte
quil a produite.

La vitesse de ce procd est beaucoup plus leve et comme les chances d avoir deux
documents diffrents ayant la mme empreinte de 160 bits sont seulement de 1 sur 2160,
tout le monde peut sans crainte identifier la signature de lempreinte la signature du
document lui-mme. Si la fonction utilise nest pas sens unique, il serait ais de crer
plusieurs documents ayant la mme empreinte et d amener quelquun les signer tous
son insu en ne lui faisant signer quun seul. Ce protocole nest pas valable sans une
fonction de hachage sens unique.
Ce protocole a d autres avantages. Premirement, la signature peut tre garde spa
rment du document. Deuximement, pour le destinataire, les exigences en espace de
stockage pour le document et la signature sont beaucoup plus restreintes. Un systme
darchivage peut utiliser ce type de protocole pour vrifier lexistence d un document
sans stocker son contenu. La base de donnes centrale ne stockerait que les empreintes
des fichiers. Elle ne doit avoir aucun accs aux fichiers ; les utilisateurs envoient leurs

Chapitre 2

Briques lmentaires

empreintes la base de donnes, et la base de donnes enregistre ces empreintes ainsi


que la datation. Sil y a par la suite un dsaccord quant lauteur et la datation d un
document, la base de donnes na qu rechercher lempreinte dans ses fichiers. Cela a
des implications trs importantes pour la vie prive : Alice peut obtenir le copyright
dun document et cepandant garder le document secret. Ce nest que si elle doit prouver
ses droits quil lui faut rendre le document public (voir 4.1).

Algorithmes et terminologie
Il y a de nombreux algorithmes de signature numrique. Tous sont des algorithmes
clef publique : il y a une information secrte pour signer les documents et il y a une
information publique pour vrifier les signatures. Parfois le procd de signature est
appel ch iffrem en t avec une c le f p riv e et le procd de vrification est appel
dch iffrem en t avec une c le f pu bliqu e. Cela prte confusion et nest valable que
pour un seul algorithme, R SA . Et diffients algorithmes prsentent des diffrences de
ralisation. Par exemple, lutilisation de fonctions de hachage sens unique et/ou
de datations ajoute des tapes aux procds de signature et de vrification. Plusieurs
algorithmes peuvent tre utiliss pour des signatures numriques mais pas pour chiffrer.
En gnral, je ferai rfrence aux procds de signature et de vrification sans plus
entrer dans le dtail des algorithmes utiliss. Signer un message avec une clef prive K
est not :
Sk ( M )

et vrifier une signature avec une clef publique correspondante est :


Vk ( M) .

La squence de bits associe au document sign (dans lexemple ci-dessus, lempreinte


du document signe avec la clef prive) sera appele signature n um riqu e ou sim
plement signature. Le protocole, par lequel le destinataire dun message est convaincu
de lidentit de lexpditeur et de lintgrit du contenu du message, est appel authen
tification. Ces protocoles sont exposs plus en dtail dans le paragraphe 3.2.

Signatures multiples
Comment Alice et Bernard peuvent-ils signer le mme document numrique? Sans les
fonctions de hachage sens unique, il y a deux faons de procder. Dans le premier
cas, Alice et Bernard signent sparment des copies du document lui-mme. Le message
rsultant aura le double de la taille du document original. Dans le deuxime cas, Alice
signe le document en premier et ensuite Bernard signe la signature dAlice. Cela marche
sauf quil est impossible de vrifier la signature dAlice sans vrifier celle de Bernard.
Si une empreinte du document est signe en lieu et place du document lui-mme, alors
le protocole pour la signature multiple est facile :
1 Alice signe le document.
2 Bernard signe le document.

3 Bernard envoie sa signature Alice.


4 Alice envoie le document, sa signature et la signature de Bernard Christine.

2.6

Signatures numriques

43

5 Christine vrifie les signatures dAlice et de Bernard.


Alice et Bernard peuvent faire les tapes 1 et 2 en srie ou en parallle. Dans ltape
5, Christine peut vrifier nimporte quelle signature sans vrifier lautre.

Non dsaveu et signatures numriques


Alice peut tricher avec les signatures numriques et il ny a rien que lon puisse faire
pour lviter. Elle peut signer un document et prtendre aprs coup quelle ne la
pas sign. D abord, elle signe le document normalement. Ensuite, elle publie de faon
anonyme sa clef prive, ou elle la laisse traner dans un lieu public, ou elle prtend
seulement avoir fait lune de ces deux actions. Alice prtend alors que sa clef prive est
compromise et que d autres sen servent en se faisant passer pour elle. Elle nie avoir
sign le document et tout ceux quelle avait signs avec sa clef prive. Ceci sappelle
un dsaveu.
La datation permet de limiter la porte de ce type de tricherie mais Alice peut toujours
prtendre que sa clef a t compromise avant la signature du document. Si Alice fait les
choses dans les temps, elle peut signer un document puis prtendre ne pas lavoir fait.
Voila pourquoi on entend si souvent parler de clefs prives caches dans des dispositifs
rsistant linvestigation afin quAlice ny ait pas accs et quelle ne puisse en abuser.
Bien que rien ne puisse tre fait pour viter ce type dabus, on peut prendre des
mesures pour viter que danciennes signatures ne puissent tre remises en cause lors
de la contestation d une nouvelle signature. Par exemple, Alice pourrait perdre sa
clef pour viter de payer Bernard la babiole quil lui a vendue la veille et par la mme
occasion remettre en cause tout dbit sur son compte en banque. La solution est pour
le destinataire dun document sign de le faire dater [456],
Le protocole gnral se trouve dans [32]:
1 Alice signe un message.
2 Alice remplie une entte avec des informations sur son identit. Elle signe cette
entte et le message sign et envoie le tout Ivan.

3 Ivan vrifie la signature globale et lidentit dAlice. Il ajoute une datation au


message sign et lentte. Ensuite, il signe et envoie le tout Bernard et
Alice.

4 Bernard vrifie la signature dIvan, lidentit dAlice et la signature de celle-ci.


5 Alice vrifie le message que Ivan a envoy Bernard. Si elle na pas mis le
message, elle le fait rapidement savoir.

Un autre protocole utilise Ivan aprs le fait [213]. Aprs avoir reu un message sign,
Bernard peut en envoyer une copie Ivan pour vrification. Ivan peut attester de la
validit de la signature dAlice.

Applications des signatures numriques


Une des premires utilisations des signatures numriques fut de vrifier les traits de
limitations des essais nuclaires [1460, 1472]. Les tats-Unis et lUnion sovitique (quel
quun sait-il encore ce qutait lUnion Sovitique?) pouvaient mettre des sismographes

Chapitre 2

44

Briques lmentaires

sur le territoire de leur homologue pour contrler les essais nuclaires rellement effec
tus. Le problme tait que la nation qui contrlait voulait tre sre que lhomologue
ne truquait pas les donnes produites par les sismographes placs sur son sol. De plus,
chaque nation voulait sassurer que les sismographes nenvoient que les informations
spcifiquement ncessaires au contrle.
Les techniques d authentification traditionnelles permettaient de faire face au premier
problme mais seules les signatures numriques permettaient de faire face aux deux
problmes. Grce ces dernires, la nation contrle pouvait lire les donnes des sis
mographes sur son territoire et la nation qui contrle savait que les donnes navaient
pas t falsifies.

2.7

Signatures numriques avec chiffrement

En combinant les signatures numriques avec la cryptographie clef publique, nous


pouvons concevoir un protocole qui combine la scurit du chiffrement avec lauthentification des signatures numriques. Pensez une lettre signe dans une enveloppe :
la signature numrique donne une preuve de lidentit de son auteur et le chiffrement
offre la confidentialit.
1 Alice signe le message avec sa clef prive.
Sa ( M )

2 Alice chiffre le message sign avec la clef publique de Bernard et lui envoie le
rsultat.
E b (Sa ( M ) )

3 Bernard dchiffre le message avec sa clef prive.


D b (E b (Sa { M ) ) ) = S a { M )

4 Bernard vrifie avec la clef publique d Alice et obtient le message initial.


Va (Sa ( M ) ) = M

Il semble naturel de signer avant de chiffrer. Quand Alice crit une lettre, elle la signe
et le met ensuite dans lenveloppe. Si elle met la lettre non signe dans lenveloppe
et signe ensuite lenveloppe, alors Bernard pourrait craindre que la lettre naie t
remplace. Si Bernard montrait Christine la lettre et lenveloppe dAlice, Christine
pourrait laccuser de mentir sur la lettre qui est arrive dans lenveloppe.
En matire de correspondance aussi il est prudent de signer avant de chiffrer. C est
non seulement plus sr un adversaire ne peut retirer la signature dun message pour
y mettre la sienne mais il faut prendre en compte des considrations lgales: si le
signataire ne peut pas voir le texte quil signe, sa signature pourrait alors tre conteste
au vues de la loi [1323]. De plus, il existe des attaques cryptanalytiques contre cette
technique utilise avec des signatures R S A (voir 19.3).
Alice na aucune raison dutiliser la mme paire clef publique, clef prive pour chiffrer
et signer. Elle peut avoir deux paires de clef: une pour chiffrer et une pour signer. La

.7

Signatures numriques avec chiffrement

sparation prsente des avantages: elle peut livrer sa clef de chiffrement la police sans
compromettre sa signature, une clef peut tre mise en dpt (voir 4.13) sans affecter
lautre, et les clefs peuvent avoir des tailles diffrentes ou encore expirer des dates
diffrentes.
Bien sr, les messages doivent tre dats pour viter quils ne soient rutiliss. La
datation peut aussi aider se prmunir contre dautres ennuis comme celui dcrit dans
le paragraphe suivant.

Renvoyer un message comme accus de rception


Considrons une ralisation de ce protocole avec en plus la possibilit denvoyer des
messages de confirmation. Chaque fois que quelquun reoit un message, il ou elle le
renvoie lexpditeur comme accus de rception.
1 Alice signe un message avec sa clef prive, le chiffre avec la clef publique de
Bernard et lui envoie le rsultat.
E b {Sa { M) )

2 Bernard dchiffre le message avec sa clef prive et vrifie la signature avec la


clef publique dAlice, s assurant ainsi que c est bien Alice qui a sign le message
et obtenant galement le message en clair.
Va (D b (E b (Sa ( M )))) - M

3 Bernard signe le message avec sa clef prive, le chiffre avec la clef publique
dAlice et envoie le rsultat Alice.
E A(SB( M ) )

4 Alice dchiffre le message avec sa clef prive, et vrifie la signature avec la


clef publique de Bernard. Si le message obtenu est le mme que celui quelle a
envoy Bernard, elle sait que celui-ci a reu le message correctement.

Si le mme algorithme est utilis pour la signature numrique et le chiffrement, une


attaque est possible [505]. Dans ce cas, lopration de signature numrique est linverse
de lopration de chiffrement : Vx E x et S x = E>x
Faisons lhypothse que Martin est un utilisateur lgitime du systme ayant sa propre
clef publique et sa propre clef prive. Voyons ce qui se passe si Martin lit le courrier
de Bernard. Martin enregistre le message qu Alice envoie Bernard ltape 1, puis
il envoie ce message Bernard prtendant en tre lauteur. Bernard pense que cest
un message lgitime de Martin, il le dchiffre donc avec sa clef prive et essaie ensuite
de vrifier la signature de Martin en le dchiffrant avec la clef publique de Martin. Le
message obtenu qui est du pur charabia est :
E m {D b {E b {D a {M)))) = E m {D a { M) ) .

Mme ainsi, Bernard continue excuter le protocole et envoie un accus de rception


Martin :
E m (D b (E m (D a (M)))).

Chapitre 2

Briques lmentaires

Maintenant, il suffit Martin de dchiffrer le message avec sa clef prive, de le chiffrer


avec la clef publique de Bernard, de le dchiffrer une fois de plus avec sa clef prive et
finalement de chiffrer le rsultat avec la clef publique d Alice. Voil! Martin a A4.
Il nest pas draisonnable dimaginer que Bernard puisse envoyer laccus de rception
de manire automatique. Le protocole peut tre, par exemple, inclus dans le logiciel
de communication et celui-ci peut envoyer les accuss de rception de manire au
tomatique. C est, cette obstination envoyer un accus de rception du charabia
qui affaiblit le protocole. Si Bernard vrifiait la lisibilit du message avant d envoyer
laccus de rception, il viterait ce problme de scurit.
Il y a moyen d amliorer cette attaque de telle manire que Martin puisse envoyer un
message diffrent de celui quil a enregistr. Il est trs important de ne jamais signer
nimporte quel message envoy par d autres personnes ni de dchiffrer des messages
quelconques et de donner le rsultat quelquun dautre.

Protection contre lattaque


L attaque ci-dessus marche parce que lopration de chiffrement est la mme que lop
ration de vrification de signature et que lopration de dchiffrement est la mme que
lopration de signature. Un protocole sr utiliserait une opration pour le chiffrement
lgrement diffrente de lopration de signature numrique, lattaque serait vite.
Le problme peut tre rsolu en utilisant au choix des clefs diffrentes pour chaque
opration, des algorithmes diffrents pour chaque opration, des datations qui rendent
le message entrant diffrent du message sortant, ou encore des signatures numriques
avec fonction de hachage sens unique(voir 2.6).
En gnral, le protocole suivant est parfaitement sr :
1 Alice signe le message.
2 Alice chiffre le message et sa signature avec la clef publique de Bernard (uti
lisant un algorithme de chiffrement diffrent de celui utilis pour la signature)
et envoie le rsultat Bernard.

3 Bernard dchiffre le message avec sa clef prive.


4 Bernard vrifie la signature dAlice.
Il est possible de modifier le protocole afin quAlice chiffre le message avant de le signer.
Bien que cela puisse tre utile dans certaines circonstances quand un intermdiaire
doit pouvoir vrifier la signature sans tre capable de lire le message en gnral c est
mieux de chiffrer tout. Pourquoi donner de linformation Estelle aprs tout?

Attaques contre la cryptographie clef publique


Dans tous ces protocoles clef publique, j ai pass sous silence comment Alice obtient
la clef publique de Bernard. Le paragraphe 3.1 explique cela en dtail mais cela vaut
la peine den parler maintenant.
La mthode la plus facile pour obtenir une clef publique est de lobtenir partir d une
base de donnes sre quelque part. Cette base de donnes doit tre publique de telle
manire que n importe qui puisse y qurir la clef publique de quelquun d autre. La base
de donnes doit aussi tre protge en criture sauf pour Ivan ; sinon Martin pourrait

2.8

Gnrateurs alatoires et pseudo-alatoires

remplacer la clef publique de Bernard par une de son choix. Aprs cela, Bernard ne
pourrait plus lire les messages qui lui seraient destins tandis que Martin le pourrait.
Mme si les clefs publiques sont stockes dans une base de donnes sre, Martin peut
encore remplacer une clef par une autre pendant sa transmission. Pour viter cela, Ivan
peut signer chaque clef publique avec sa propre clef prive (voir 2.6). Quand Ivan
fait cela, il agit comme une Autorit d Authentification de Clefs ou comme un
Centre de Distribution de Clefs (appelons-le C D C en abrg). Dans les ralisations
pratiques, le C D C signe un message composite contenant le nom de lutilisateur, la clef
publique et toute autre information importante concernant lutilisateur. Ce message
composite sign est stock dans la base de donnes du C D C . Quand Alice obtient la
clef publique de Bernard, elle vrifie la signature du C D C pour sassurer de la validit
de la clef quelle a obtenue.
En analyse finale, cela ne rend pas les choses impossibles pour Martin, juste plus
difficiles. Alice a encore la clef publique du C D C stocke quelque part. Martin doit
remplacer cette clef par la sienne, fausser la base de donnes et remplacer les clefs
valides par les siennes toutes signes avec sa clef prive comme sil tait le C D C et
alors il est arriv ses fins. Mme des signatures sur papier peuvent tre contrefaites si
Martin sen donne la peine. Comme il a t dit prcdemment, cela sera racont dans
les moindres dtails au paragraphe 3.1.

2.8

Gnrateurs
alatoires

alatoires

et

pseudo

Pourquoi se proccuper de gnrateurs alatoires de nombres dans un livre sur la


cryptographie? Il y a dj un gnrateur alatoire de nombres inclus dans chaque
compilateur ; ce nest quun simple appel de fonction aprs tout. Malheureusement,
ces gnrateurs alatoires de nombres ne sont en gnral pas srs du tout du point de
vue cryptographique et probablement mme pas trs alatoires. La plupart dentre eux
sont dsesprment mauvais.
Les gnrateurs alatoires de suites ne sont pas alatoires parce quils ne doivent pas
ltre. La plupart des applications simples, telles que les jeux informatiques, ont besoin
de tellement peu de nombres alatoires quon ne sen rend mme pas compte. Toutefois,
la cryptographie est trs sensible aux proprits des gnrateurs alatoires de nombres.
Utilisez un gnrateur de mauvaise qualit et vous commencerez avoir des corrlations
gnantes et des rsultats tranges [1239, 1248]. Si la scurit dpend de votre gnrateur
alatoire de nombres, des corrlations non dsires ou des rsultats tranges ne font
pas votre affaire.
Le problme dun gnrateur alatoire de nombres est quil ne produit pas une suite
alatoire. Probablement, ce quil produit ne ressemble mme pas de loin une suite
alatoire. Bien sr, il est impossible de produire une suite alatoire laide d un or
dinateur. K n u t h cite John VON N e u m a n n comme maxime: Toute personne qui
envisage dutiliser des mthodes arithmtiques pour produire des chiffres alatoires est,
bien sr, en tat de pch. [864] Les ordinateurs sont des bestioles dterministes : on

les alimente lentre, des oprations tout fait prvisibles dterministes ont
lieu lintrieur et finalement un rsultat sort lautre bout. Entrez la mme chose
en deux instants diffrents et vous obtiendrez le mme rsultat la sortie chaque

Chapitre 2

Briques lmentaires

fois. Entrez la mme chose dans deux ordinateurs identiques et le mme rsultat sera
produit par chacun d eux. Il ny a quun ensemble fini d tats dans lesquels peut se
trouver un ordinateur (un grand nombre fini, mais un nombre fini toutefois) et ce qui
sort sera toujours une fonction dterministe de ce qui entre et de ltat de lordinateur.
Cela veut dire que tout gnrateur alatoire de nombres sur ordinateur (du moins, sur
une machine de Turing) est, par dfinition, priodique. Tout ce qui est priodique est,
par dfinition, prvisible. Et ce qui est prvisible nest pas alatoire. Un vrai gnrateur
alatoire de suites ncessite une entre vraiment alatoire ; un ordinateur ne peut pas
fournir cela.

Suites pseudo-alatoires
Le mieux que peut produire un ordinateur est un gn rateu r p seu d o-a la toire de
suites. Quest-ce? Beaucoup de gens se sont attaqus au problme de dfinir cela
formellement, mais je m abstiendrai ici. La priode de la suite doit tre suffisamment
longue de telle manire quune suite finie de longueur raisonnable c est--dire une
suite qui soit utile dans un contexte donn ne soit pas priodique. En dautres
termes, si vous avez besoin d une suite dun milliard de bits alatoires, ne choisissez
pas un gnrateur qui a une priode de 16000 bits. Ces sous-suites non priodiques
relativement courtes, doivent tre autant que possible indiscernables d une suite ala
toire. Par exemple, elles doivent avoir le mme nombre de 1 que de 0 ; peu prs la
moiti des segments (suites de bits ayant la mme valeur) doivent tre de longueur 1,
un quart de longueur 2, un huitime de longueur 3, etc. On ne doit pas pouvoir les
compresser. Les distributions des segments de 0 et des segments de 1 doivent tre les
mmes [645, 864, 106, 1359]. Ces proprits peuvent tre mesures empiriquement et
compares aux prvisions statistiques en utilisant un test en y 2.
Pour nos besoins, un gnrateur de suites est pseudo-alatoire sil satisfait la proprit
suivante :
1. Il a lair alatoire. Cela veut dire quil russit tous les tests statistiques que lon
peut trouver. (Commencez par ceux dcrits dans [864].)
Pas mal defforts ont t investis pour produire des bonnes suites pseudo-alatoires
sur ordinateur. Les descriptions de tels gnrateurs abondent dans la littrature aca
dmique, avec des tests varis sur leur caractre alatoire. Tous ces gnrateurs sont
priodiques (il ny a pas moyen de lviter) ; mais avec des priodes potentielles de 2256
bits et plus, il peuvent tre utiliss pour les applications les plus exigeantes.
Mais le problme des corrlations non dsires et des rsultats tranges est toujours
prsent. Tout gnrateur dterministe en produira si vous lutilisez dune certaine faon.
Et cest cette proprit que le cryptanalyste utilisera pour attaquer le systme.

Gnrateurs pseudo-alatoires cryptographiquement srs


Les applications cryptographiques exigent plus des gnrateurs pseudo-alatoires de
suites que les autres applications informatiques. Alatoire du point de vue de la
cryptographie ne signifie pas statistiquement alatoire bien que cela en fasse partie.
Pour quune suite pseudo-alatoire soit cry p tog ra p h iq u em en t sre, le gnrateur

2.8

Gnrateurs alatoires et pseudo-alatoires

49

doit en plus satisfaire la proprit suivante :


2. Il est imprvisible. Il doit tre impossible par calcul de prdire quel sera le bit ala
toire suivant, connaissant compltement lalgorithme ou le matriel qui engendre
la suite et connaissant tous les bits dj engendrs.
Les suites pseudo-alatoires cryptographiquement sres ne peuvent tre comprimes...
moins davoir le secret : le germe utilis pour initialiser le gnrateur.
Comme tout algorithme cryptographique, les gnrateurs pseudo-alatoires de suites
cryptographiquement srs peuvent subir des attaques. Tout comme il est possible de
casser un algorithme de chiffrement, il est possible de casser un gnrateur pseudo
alatoire de suites cryptographiquement sr. Faire des gnrateurs rsistant aux at
taques est tout lintret de la cryptographie.

Suites vraiment alatoires


Maintenant nous entrons dans le domaine des philosophes. Existe-t-il quelque chose
d'alatoire! Quest-ce quune suite alatoire? Comment savoir si une suite est alatoire?
Est-ce que 101110100 est plus alatoire que 101010101 ? La mcanique quantique
nous apprend quil y a des phnomnes physiques que lon peut qualifier dalatoire
dans le monde rel. Mais est-ce que ce caractre alatoire est prserv quand on le
transpose dans le monde macroscopique des puces informatiques et des machines
nombre dtats fini?
Toute philosophie mise part, de notre point de vue, un gnrateur de suites est
vraiment alatoire sil jouit de la proprit suivante :
3. Il ne peut pas tre reproduit de manire fiable. Si vous excutez le gnrateur de
suites deux fois avec exactement les mmes entres (du moins des entres aussi
identiques que possible), vous obtenez deux suites alatoires diffrentes.
La sortie dun gnrateur satisfaisant ces trois proprits conviendrait pour engendrer
un masque jetable, gnrer des clefs ou pour toute autre application cryptographique
qui a besoin d un gnrateur vraiment alatoire. La difficult est de dterminer si une
suite est vraiment alatoire. En chiffrant de manire rpte une chane avec DES et
une clef fixe, on obtient une suite qui a lair alatoire; vous ne pourrez pas savoir si elle
nest pas alatoire, moins d employer lquipe de la NSA qui travaille sur le DES.

Chapitre 3

Protocoles lmentaires
3.1

Echange de clefs

Une technique cryptographique courante consiste utiliser une clef diffrente pour
chiffrer chaque conversation entre deux individus. On parlera alors de clef de session
parce quelle nest utilise que pour une session particulire de communication. Comme
on le vera au paragraphe 8.5, les clefs de session sont utiles car elles n existent que
durant la dure de la communication. Il nest pas simple de faire aboutir cette clef de
session commune entre les mains des participants de la conversation.

change de clefs laide de la cryptographie clef secrte


On fait lhypothse que Alice et Bernard sont des utilisateurs dun rseau, et partagent
chacun une clef avec, le Centre de Distribution des Dlefs (CDC)[1270], Ivan dans notre
protocole. Ces clefs doivent tre mises en service avant le protocole1.
1 Alice appelle Ivan et demande une clef de session pour communiquer avec
Bernard.

2 Ivan engendre alatoirement une clef de session. Il chiffre deux copies de celleci, lune avec une clef secrte quil partage avec Alice, et lautre avec une clef
secrte quil partage avec Bernard. Ivan envoie les deux copies Alice.

3 Alice dchiffre sa copie de la clef de session.


4 Alice envoie Bernard sa copie de la clef de session.
5 Bernard dchiffre sa copie de la clef de session.
6 Alice et Bernard utilisent la clef de session pour communiquer confidentielle
ment.

Ce protocole repose sur la scurit absolue de Ivan qui sera plutt un programme
informatique de confiance quune personne de confiance. Si Martin corrompt Ivan,
tout le rseau est compromis. Il a alors sa disposition toutes les clefs secrtes que
1.
Le protocole passe sous silence le rel problm e de la distribution de ces clefs secrtes; on fait
lhypothse q u elles sont en service et que M artin ne sait pas o elles se trouvent.

Chapitre 3

52

Protocoles lmentaires

Ivan partage avec tous les utilisateurs ; il peut lire tous les messages passs quil a
enregistrs et toutes les communications futures. Tout ce quil doit faire cest placer
une coute sur les lignes de communication et enregistrer le trafic des messages chiffrs.
Lautre inconvnient de ce systme est que Ivan reprsente un potentiel goulot d tran
glement. Il doit participer chaque change de clef. Si Ivan se trompe, cela perturbe
tout le systme.

change de clefs laide de la cryptographie clef publique


Le cryptosystme hybride de base a t dcrit dans le paragraphe 2.5. Alice et Bernard
utilisent la cryptographie clef publique pour se mettre daccord sur une clef de session,
et lutilisent pour chiffrer des donnes. Dans une application pratique, les deux clefs
publiques signes dAlice et Bernard seront accessibles dans une base de donne. Cela
rend le protocole plus simple, et Alice peut envoyer de manire sre un message
Bernard, mme sil na jamais entendu parler d elle :
1 Alice obtient la clef publique de Bernard de la part du C D C .
2 Alice engendre une clef de session alatoire, la chiffre avec la clef publique de
Bernard et envoie le rsultat Bernard.

Bernard dchiffre

Alice et Bernard
conversation.

le message dAlice en utilisant sa clef prive.


utilisent alors la mme clef de session pour chiffrer leur

Lattaque de lintercepteur
Tandis quEstelle ne peut pas faire mieux que tenter de casser lalgorithme clef
publique, ou tenter une attaque texte chiffr seulement contre les textes chiffrs,
Martin peut dchiffrer les messages entre Alice et Bernard. Martin est beaucoup plus
fort quEstelle. Non seulement il peut couter les messages entre Alice et Bernard, mais
il peut aussi modifier des messages, dtruire des messages et en insrer des nouveaux
de son cru. Martin peut
se faire passer pour Bernard en sadressant Alice et se
faire passer pour Alice en sadressant Bernard. Voici comment lattaque peut tre
conduite :
1 Alice envoie sa clef publique Bernard. Martin intercepte cette clef et envoie
sa propre clef publique Bernard.

2 Bernard envoie sa clef publique Alice. Martin intercepte cette clef et envoie
sa propre clef publique Alice.

3 Quand Alice envoie un message Bernard, chiffr avec ce quelle croit tre
la clef publique de Bernard, Martin l intercepte. Comme ce message est en
fait chiffr avec sa clef publique, il le dchiffre avec sa clef prive, le chiffre
nouveau avec la clef publique de Bernard et envoie le rsultat Bernard.

4 Quand Bernard envoie un message Alice, chiffr avec ce quil croit tre la
clef publique dAlice, Martin lintercepte. Comme ce message est en fait chiffr
avec sa clef publique, il le dchiffre avec sa clef prive, le chiffre nouveau avec
la clef publique dAlice et envoie le rsultat Alice.

3.1

change de clefs

53

Mme si les clefs publiques d Alice et de Bernard sont stockes dans une base de
donnes, cette attaque peut tre conduite. Il suffit que Martin intercepte la requte
dAlice vers la base de donnes et quil envoie Alice sa propre clef publique la
place de celle de Bernard. Il peut faire la mme chose avec Bernard et remplacer la clef
dAlice par la sienne. Il peut mme subrepticement pntrer dans la base de donnes
et remplacer les clefs dAlice et Bernard par sa clef publique. Le lendemain, il attend
simplement quAlice et Bernard dialoguent entre eux. Il intercepte alors les messages
et les modifie. Il a russi.
Lattaque de lintercepteur marche parce quAlice et Bernard nont aucun moyen de
vrifier quils parlent bien lun lautre. En faisant lhypothse que Martin est rapide
et quil nintroduit pas de dlai notable dans le comportement du rseau, aucun des
deux ne peut souponner que quelquun est l entre eux deux en train d espionner toute
leur correspondance suppose confidentielle.

Protocole cliquets
Le protocole cliquets, invent par Ron R i v e s t et Adi S h a m i r [1338] a de bonnes
chances de repousser lattaque de lintercepteur. Voici comment cela marche :
1 Alice envoie sa clef publique Bernard.
2 Bernard envoie sa clef publique Alice.
3 Alice chiffre son message avec la clef publique de Bernard. Elle envoie la moiti
du message chiffr Bernard.

4 Bernard chiffre son message avec la clef publique dAlice. Il envoie la moiti
du message chiffr Alice.

5 Alice envoie lautre moiti de son message chiffr Bernard.


6 Bernard runit les deux morceaux du messagechiffr venant dAlice
le rsultat avec sa clef prive. Bernard envoie lautremoiti de son
chiffr Alice.

et dchiffre
message

7 Alice runit les deux morceaux du message chiffr venant de Bernard et d


chiffre le rsultat avec sa clef prive.

Le point important est quune moiti de message est inutilisable sans lautre moiti ;
on ne peut dchiffrer les moitis sparment. Bernard ne peut lire aucune partie du
message d Alice avant ltape 6 et Alice ne peut lire aucune partie du message de
Bernard avant ltape 7. Il y a plusieurs moyens de raliser cela :
- Si lalgorithme de chiffrement est un algorithme par blocs, chaque moiti de
chaque bloc (par exemple, un bit sur deux) peut tre envoye dans chaque moiti
de message chiffr.
- Le dchiffrement du message peut tre dpendant du vecteur dinitialisation (voir
9.3) qui ne serait envoy quavec la deuxime moiti du message.
- La premire moiti du message pourrait tre une empreinte du message chiffr
(voir 2.4) et le message chiffr lui-mme pourrait tre la seconde moiti.

54

Chapitre 3

Protocoles lmentaires

Pour voir comment cela complique la vie de Martin, revoyons sa tentative de corruption
du protocole. Il peut toujours remplacer les clefs publiques d Alice et de Bernard par
sa propre clef publique dans les tapes 1 et 2. Mais maintenant, quand il intercepte
la premire moiti du message d Alice ltape 3, il ne peut pas le dchiffrer avec sa
clef prive et le rechiffrer avec la clef publique de Bernard. Il doit inventer un nouveau
message et envoyer la moiti Bernard. Quand il intercepte la moiti du message de
Bernard vers Alice ltape 4, il a le mme problme. Il ne peut pas le dchiffrer avec
sa clef prive et le rechifrer avec la clef publique dAlice. Il doit inventer un nouveau
message et envoyer la moiti de celui-ci Alice. Quand il intercepte les deux autres
moitis des messages d Alice et de Bernard aux tapes 5 et 6, il est trop tard pour quil
puisse changer les nouveaux messages quil a invents. La conversation entre Alice et
Bernard sera forcment compltement diffrente de ce quelle aurait d tre.
Martin peut peut-tre appliquer ce schma. Sil connat Alice et Bernard suffisamment
pour imiter les deux cts d une conversation entre eux, alors ils ne se rendront jamais
compte quils sont dups. Mais c est certainement plus difficile pour Martin que de
simplement intercepter et lire les messages quils schangent.

change de clefs laide de signatures numriques


Lutilisation de signatures numriques pendant un protocole d change de clefs de ses
sion permet galement dviter lattaque de lintercepteur. Ivan signe les clefs publiques
dAlice et de Bernard. Les clefs signes contiennent un certificat de proprit sign.
Quand Alice et Bernard reoivent les clefs, ils vrifient chacun la signature dIvan.
Aprs cela, ils savent que la clef publique appartient bien leur correspondant. Le
protocole d change de clefs de session peut alors avoir lieu.
Martin a de srieux problmes. Il ne peut pas se faire passer pour Alice ou Bernard car
il ne connat pas leurs clefs prives. Il ne peut pas remplacer une des clefs publiques
par la sienne parce que sa clef est signe comme tant celle de Martin. Tout ce quil
peut faire c est couter le trafic entre Alice et Bernard ou encore il peut couper la ligne
pour empcher Alice et Bernard de dialoguer.
Ce protocole repose sur Ivan mais le risque de corrompre le C D C est nettement in
frieur. Si Martin corrompt Ivan (sil investit le C D C ), tout ce quil obtient c est la
clef prive d Ivan. Cette clef ne lui permet que de signer de nouvelles clefs ; il ne peut
dchiffrer aucune clef de session ou lire quelque message que ce soit. Pour pouvoir lire
les messages qui transitent, Martin doit pouvoir se faire passer pour un utilisateur du
rseau et amener des utilisateurs lgitimes chiffrer des messages avec sa fausse clef
publique.
Martin peut monter ce geiue dattaque. Avec la clef prive dIvan, il peut crer des clefs
signes factices pour tromper Alice et Bernard. Aprs, soit il peut les enregistrer dans
la base de donnes la place des clefs lgitimes, soit il peut intercepter les requtes
vers la base de donnes et rpondre la place de celle-ci en envoyant ses clefs factices.
Cela lui permet de mettre en uvre une attaque de lintercepteur et dcouter les
communications des utilisateurs.
Cette attaque marche, mais rappelez-vous que Martin doit tre un attaquant puissant.
Intercepter et modifier des messages est nettement plus difficile que de lire et dchiffrer
les messages qui transitent sur un rseau qui utilise un algorithme clef secrte. Sur
un canal de diffusion, tel quun rseau radio, il est presque impossible de remplacer
un message par un autre, encore que le rseau entier puisse tre brouill. Dans les

3.1

55

change de clefs

rseaux informatiques, cest plus facile et il semble que cela devienne plus facile chaque
jour. Il est possible de duper les protocoles d intercommunication et d attaquer les
routeurs dun rseau; les attaque actives ne signifient pas quelquun dans les gouts
avec un sttoscope et elles ne sont pas rserves aux agences dont le nom comporte
trois lettres.

Transmission simultane de clefs et de messages


Alice et Bernard nont pas besoin de terminer le protocole d change de clefs avant
dchanger des messages. Dans le protocole suivant, Alice envoie un message, A4,
Bernard sans quil ny ait eu d change de clefs au pralable :
1 Alice engendre une clef de session alatoire, K , et chiffre A4 en utilisant K .
E k (M)

2 Alice obtient la clef publique de Bernard par la base de donnes.


3 Alice chiffre K avec la clef publique de Bernard.
E b ( K)

4 Alice envoie le message chiffr et la clef de session chiffre Bernard.


E k (A4),E b ( K )

Pour mieux se prmunir contre une attaque de lintercepteur, Alice peut signer
la transmission.

5 Bernard dchiffre la clef de session, K , en utilisant sa clef prive.


6 Bernard dchiffre le message dAlice en utilisant la, clef de session.
Cest avec ce systme hybride que la cryptographie clef publique est souvent utilise
dans les systmes de communication. Elle peut tre combine aux signatures num
riques, la datation, ou tout autre protocole de scurit.

Diffusion de clef et de message


Il ny a pas de raison pour quAlice ne puisse envoyer le message chiffr plusieurs
personnes. Dans lexemple suivant, Alice envoie le message chiffr Bernard, Christine
et David :
1 Alice engendre une clef de session alatoire, K , et chiffre A4 avec K .
E k (A4)

2 Alice obtient les clefs publiques de Bernard, Christine et David par la base de
donnes.

3 Alice chiffre K avec la clef publique de Bernard, chiffre K avec la clef publique
de Christine et chiffre K avec la clef publique de David.
E b (K) , E c ( K) ,E d (K)

Chapitre 3

56

Protocoles lmentaires

4 Alice diffuse le message chiffr et toutes les clefs chiffres qui veut bien les
recevoir.
E b (K),Ec (K),Ed (K),Ek ( M )

5 Seuls Bernard, Christine et David peuvent dchiffrer la clef de session K


laide de leur clef prive.

6 Seuls Bernard, Christine et David peuvent dchiffrer le message d'Alice en


utilisant K .

Cet algorithme peut tre ralis dans un rseau stocke-et-relaie . Un serveur central
peut relayer le message dAlice Bernard, Christine et David avec chacun une version
chiffre de la clef de session. Le serveur na pas tre sr et il na pas avoir la
confiance des utilisateurs car il ne peut dchiffrer aucun message.

3.2

Authentification

Quand Alice accde un ordinateur (ou un distributeur de billets automatique, ou un


service de banque domicile, ou tout autre type de terminal), comment lordinateur
peut-il savoir qui elle est? Comment lordinateur sait-il quelle nest pas Estelle essayant
de se faire passer pour Alice? Traditionnellement, les mots de passe servent rsoudre
ce problme. Alice entre un mot de passe, et lordinateur confirme quil est correct.
Alice et lordinateur connaissent tous deux cette information secrte, et lordinateur le
demande Alice chaque fois quelle essaie dentrer en communication avec lui.

Authentification laide de fonctions sens unique


Ce que Roger N e e d i i a m et Mike G u y ont ralis, cest que lordinateur na pas besoin
de connatre les mots de passe: lordinateur doit juste tre capable de distinguer un
mot de passe correct d un mot de passe incorrect. C est facile laide de fonctions
sens unique [1601, 528, 1285, 1127]. Au lieu de stocker les mots de passe, lordinateur
stocke le rsultat de la fonction sens unique applique chacun des mots de passe.
1 Alice envoie son mot de passe lordinateur.
2
3

L ordinateur calcule la fonction sens unique du mot de passe.


L ordinateur compare le rsultat de ce calcul
donnes.

celui quil a danssa

Lattaque de quelquun qui pntre dans le systme informatique et qui vole la liste
des mots de passe est moins craindre, car lordinateur ne stocke plus la table des
mots de passe corrects mais bien la liste des rsultats de lapplication de la fonction
sens unique aux mots de passe. Cette liste est inutilisable parce que la fonction sens
unique ne peut pas tre inverse pour retrouver les mots de passe.

Attaque par dictionnaire et salage


Mme le fichier des mots de passe chiffrs avec une fonction sens unique est vulnrable.
Pendant son temps libre, Martin construit la liste des 1000 000 mots de passe les plus

basede

3.2

Authentification

57

utiliss. Il calcule alors la fonction sens unique pour tous les 1000 000 mots de passe
et stocke le rsultat.
Si chaque mot de passe a environ 8 octets, le fichier rsultant naura pas plus de 8
mga-octets ; ce qui tient aisment sur quelques disquettes. Ensuite, Martin vole le
fichier des mots de passe chiffrs. Il compare les mots de passe chiffrs avec son fichier
des mots de passe chiffrs possibles et localise ceux qui sont identiques.
Cest une attaque par dictionnaire. Celle-ci est tonnamment efficace en pratique
(voir 8.1). Le salage est un moyen de rendre cette attaque plus difficile. Le sel est
une chane alatoire qui est jointe au mot de passe avant quil ne soit transform par la
fonction sens unique. Ensuite, le sel utilis et le rsultat de la fonction sens unique
sont tous deux stocks dans la base de donnes. Si le nombre de valeurs de sel possibles
est suffisamment grand, cela empche presque tout fait lattaque par dictionnaire
de mots de passe communs car Martin doit calculer les valeurs de la fonction sens
unique pour chaque sel. C est un embryon de vecteur d initialisation (voir 9.3).
Lide ici est dobliger Martin chiffrer chacun des mots de passe de son dictionnaire
quil tente comme mot de passe de quelquun et ce pour chaque nouvelle personne et
non une fois pour toutes.
Il faut pas mal de sel. La plupart des systmes U N IX nutilisent que 12 bits pour
le sel. Mme avec cela, Daniel K l e in a dvelopp un programme qui retrouve 21 %
des mots de passe sur un systme donn en peu prs une semaine [848, 849]. David
F e l d m e ie r et Philip K a r n ont rassembl une liste d environ 732 000 mots de passe
communs combins avec 4096 valeurs possibles de sel. Ils estiment quenviron 30 %
des mots de passe dun systme donn peuvent tre retrouvs grce cette liste [563].
Saler nest par le remde universel; augmenter le nombre de bits du sel ne va pas
rsoudre tous les problmes. Le sel ne protge que contre les attaques par dictionnaires
contre un fichier de mots de passe chiffrs, mais non contre une attaque concerte
dirige contre un seul mot de passe. Le salage masque le fait que certaines personnes
ont le mme mot de passe sur plusieurs systmes mais cela ne rend pas meilleurs des
mots de passe mal choisis.

SKEY
SKEY est un programme dauthentification dont la scurit repose sur une fonction
sens unique / . Il est facile expliquer.
Pour mettre en place le systme, Alice entre un nombre alatoire R. L ordinateur calcule
f(R), f {f {R)) , f(.f(f(R))) et ainsi de suite cent fois. Notons ces nombres X i , . . . , x 10oLordinateur affiche la liste de ces nombres et Alice la met dans sa poche labri.
Lordinateur conserve aussi Xioi en clair dans une base de donnes ct du nom
dAlice.
La premire fois quAlice veut se connecter, elle entre son nom et aqoo- Lordinateur cal
cule f ( x ioo) et le compare avec arioi sil sont gaux, Alice est authentifie. Lordinateur
remplace alors aqoi par .x10o dans la base de donnes. Alice barre aqoo de sa liste.
Chaque fois quAlice se connecte, elle entre le dernier nombre x* quelle na pas encore
barr sur sa liste. L ordinateur calcule f{xf) et le compare avec xi + 1 qui se trouve dans
la base de donne. Estelle ne peut pas obtenir d information intressante car chacun
des nombres nest utilis quune seule fois, et la fonction est sens unique. De cette
manire, un attaquant ne peut pas se servir de la base de donnes. Bien sr, quand

58

Chapitre 3

Protocoles lmentaires

Alice est court de nombres sur sa liste, elle doit refaire lopration d initialisation du
systme.

Authentification grce la cryptographie clef publique


Mme avec du sel, le premier protocole prsente des dfauts de scurit srieux. Quand
Alice entre son mot de passe dans le systme, toute personne qui a accs au chemin
des donnes entre le point de saisie et lordinateur hte 2 peut le lire. Elle peut accder
lordinateur hte travers un long chemin tortueux en passant par quatre socits
industrielles concurrentes, trois pays, ou encore deux universits avant-gardistes. En
chacun de ces points de passages, Estelle peut couter la squence daccs. Si Estelle a
accs au processeur et la mmoire de lordinateur hte, elle peut lire le mot de passe
avant quil ne soit chiffr.
La cryptographie clef publique peut rsoudre ce problme. Lordinateur hte gre
un fichier avec la clef publique de chaque utilisateur ; chaque utilisateur garde sa clef
prive. Voici un premier protocole naf. Lors de la squence d accs, le protocole se
droule comme suit :
1 L ordinateur hte envoie une chane de caractres alatoire Alice.
2 Alice chiffre cette chane avec sa clef prive et envoie le rsultat lordinateur
hte avec son nom.

3 L ordinateur hte utilise la clef publique dAlice qui est dans sa base de donnes
et dchiffre le message l aide de celle-ci.
4 Si la chane obtenue est la mme que celle que lordinateur hte a envoye
Alice en premier lieu, lordinateur hte sait que c est bien Alice qui essaie
d accder au systme.

Personne dautre na accs la clef prive dAlice et donc personne ne peut se faire
passer pour Alice. Ce qui est plus important encore : Alice nenvoie jamais sa clef prive
sur la ligne de communication vers lordinateur hte. Estelle, qui coute le protocole,
ne peut obtenir aucune information qui lui permette de deviner la clef prive ou de se
faire passer pour Alice.
La clef prive est longue et non mnmonique. De plus, elle sera manipule automatique
ment par le logiciel et le matriel de communication de lutilisateur. Le terminal dAlice
doit donc tre intelligent et Alice doit avoir confiance en lui, mais ni lordinateur
hte distance, ni le canal de communication nont tre srs.
En gnral, il est idiot de chiffrer des chanes de caractres alatoires envoyes par
un autre participant : des attaques telles que celles dcrites dans le paragraphe 19.3
peuvent tre montes.
Un protocole de preuve d identit sr prend la forme plus complique suivante :
1 Alice effectue des calculs partir de quelques nombres alatoires et de sa clef
prive. Elle envoie le rsultat lordinateur hte.

2 L ordinateur hte envoie Alice un nombre alatoire diffrent.


2.
N ote du traducteur : on parlera ici d ordinateur hte pour dsigner lordinateur auquel Alice
dsire se connecter pour le diffrencier de lordinateur dont A lice se sert ventuellement pour se
connecter, stocker sa clef prive et effectuer sa part des calculs. C e dernier ne doit pas forcment tre
un P C mais peut tou t aussi bien tre une carte puces.

3.2

Authentification

59

3 Alice effectue des calculs partir des nombres alatoires (ceux quelle avait
choisis et celui qui lui a t envoy par lordinateur) et de sa clef prive. Elle
envoie le rsultat lordinateur hte.

4 L ordinateur hte effectue un calcul partir des diffrents nombres qu il a reus


dAlice et de la clef publique dAlice pour vrifier quAlice connat bien sa clef
prive.

5 Si tel est le cas, lidentit dAlice est vrifie.


Si Alice na pas plus confiance en lordinateur hte que lordinateur hte na confiance
en Alice, alors Alice peut demander lordinateur hte de prouver son identit de la
mme manire.
Ltape 1 peut paratre superflue et droutante mais elle est ncessaire pour rsister
certaines attaques. Les sections 21.1 et 21.2 dcrivent mathmatiquement plusieurs
algorithmes et protocoles. Voyez aussi [946].

Authentification mutuelle par protocole cliquets


Alice et Bernard sont deux utilisateurs qui veulent sidentifier mutuellement. Chacun
dentre eux a un mot de passe que lautre connat: Alice a Pa et Bernard a Pg. Voici
un protocole qui ne marche pas :
1 Alice et Bernard changent leurs clefs publiques.
2 Alice chiffre Pa avec la clef publique de Bernard et envoie le rsultat Bernard.

3 Bernard chiffre Pg avec la clef publique dAlice et envoie le rsultat Alice.


4 Alice dchiffre PB et vrifie que c 'est correct.
5 Bernard dchiffre P a et vrifie que c est correct.
Martin peut monter avec succs une attaque de lintercepteur (voir 3.1) :
1 Alice et Bernard changent leurs clefs publiques. Martin intercepte les deux
messages. Il remplace la clef publique de Bernard par la sienne et envoie le
rsultat Alice. Il remplace la clef publique dAlice par la sienne et envoie le
rsultat Bernard.

2 Alice chiffre Pa avec la clef publique quelle croit tre celle de Bernard et envoie
le rsultat Bernard. Martin intercepte le message, dchiffre P a avec sa clef
prive, rechiffre Pa avec la clef publique de Bernard et envoie le rsultat
Bernard.

3 Bernard chiffre Pg avec la clef publique quil croit tre dAlice et envoie le
rsultat Alice. Martin intercepte le message, dchiffre Pg avec sa clef prive,
rechiffre Pg avec la clef publique dAlice et envoie le rsultat Alice.

4 Alice dchiffre Pg et vrifie que c est correct.


5 Bernard dchiffre P a et vrifie que c est correct.
Du point de vue dAlice et Bernard, rien ne change. Mais maintenant, Martin connat
Pa et Pg

Chapitre 3

60

Protocoles lmentaires

Donald D a v ie s et W yn P r ic e dcrivent comment le protocole cliquets peut empcher


cette attaque [435] : Steve B e l l o v i n et Michael M e r r i t t dcrivent des mthodes
dattaque contre ce protocole [118]. Si Alice est un utilisateur et Bernard un ordinateur
hte, Martin peut prtendre tre Bernard, excuter les tapes 1 5 du protocole avec
Alice et ensuite couper la communication. Cela doit tre idalement fait avec grand art
par Martin en simulant du bruit de ligne ou des pannes de rseau mais peu importe,
Martin a le mot de passe dAlice. Il peut maintenant se mettre en communication avec
Bernard et complter le protocole. Voil ! Martin a le mot de passe de Bernard.
Le protocole peut tre modifi de telle manire que Bernard donne son mot de passe
avant Alice en faisant lhypothse que le mot de passe de lutilisateur est nettement
plus sensible que le mot de passe de lordinateur hte. Une variante plus complique
permet dattaquer cette version modifie du protocole (voir [118]).

SKID
SKID2 et SK ID 3 sont des protocoles didentification clef secrte dvelopps pour
le projet R IP E du programme R A C E [1316] (voir 25.7). Ils utilisent une fonction
sens unique clef (un C A M , pour Code d'Authentification de Messages , voir
2.4) pour fournir la scurit, et tous les deux font lhypothse quAlice et Bernard
partagent une clef secrte K .
SKID2 permet Bernard de prouver son identit Alice. Voici le protocole :
1 Alice choisit un nombre alatoire, R a Le document R IP E prcise quil doit
avoir 64 bits. Elle lenvoie Bernard.

2 Bernard choisit un nombre alatoire, R b - Le document R IP E prcise quil doit


avoir 64 bits. Il envoie Alice :
R b ,H k {R a ,Rb ,B)
H k est le C A M . (Le document R IP E suggre dutiliser la fonction R IP E M A C voir 18.14). Dans la formule, B est le nom de Bernard.

3 Alice calcule H k (R a , R b ,B) et compare avec ce quelle a reu de Bernard. Si


les valeurs sont gales alors Alice sait quelle communique avec Bernard.

SKID3 offre lidentification mutuelle d Alice et Bernard. Les


tiques celles de SKID2 et le protocole se poursuit ainsi :

tapes1 3 sontiden

4 Alice envoie Bernard :


H k {R b ,A)
Dans la formule, A est le nom dAlice.

5 Bernard calcule H k {R b ,A) et compare avec ce quil a reudAlice. Sils va


leurs sont gales alors Bernard sait quil communique avec Alice.

Ce protocle nest pas sr contre lattaque de lintercepteur. En gnral, lattaque de


lintercepteur est redouter dans les protocoles qui ne mettent pas en jeu un secret de
quelque nature que ce soit.

3.3

Authentification et change de clefs

61

Authentification de message
Quand Bernard reoit un message de la part d Alice, comment est-il sr de son authen
ticit? Si Alice a sign son message, cest facile. La signature numrique suffit pour
convaincre nimporte qui de lauthenticit du message.
La cryptographie clef secrte permet une part dauthentification. Quand Bernard
reoit de la part d Alice un message chiffr avec la clef quil partagent, il sait quil
vient bien dAlice. Personne dautre ne connat leur clef. Toutefois, Bernard na aucun
moyen de prouver ce fait un troisime parti. Bernard ne peut pas montrer le message
Ivan et le convaincre quil vient d Alice. Ivan peut tre convaincu que le message
vient soit d Alice, soit de Bernard (car ils sont les seuls possder cette clef secrte),
mais il ne peut pas savoir lequel.
Si le message nest pas chiffr, Alice pourrait aussi utiliser un CAM . Cela convaincra
aussi Bernard de lauthenticit du message, mais cela prsente le problme que la
solution apporte par la cryptographie clef secrte.

3.3

Authentification et change de clefs

Les protocoles suivants rsolvent un problme informatique gnral.


Alice et Bernard sont en deux points distants dun rseau. Ils veulent dialoguer entre
eux en toute confidentialit. Comment Alice et Bernard peuvent-ils changer une clef
secrte et en mme temps tre srs quils se parlent bien lun lautre et non pas
Martin? Dans la plupart des cas, on fait lhypotlise quIvan partage une clef secrte
distincte avec chaque participant et que ces clefs ont t mises en place avant le dbut
du protocole.
La tableau 3.1 rcapitule les symboles rencontrs dans les protocoles.

- Symboles utiliss dans les protocoles dauthentification et dchange de clefs


le nom dAlice
le nom de Bernard
chiffrement avec une clef partage par Ivan et Alice
ea
Eg
chiffrement avec une clef partage par Ivan et Bernard
I
un numro dordre
K
une clef de session alatoire
L
une longvit
des datations
Ta ,Tb
des nombres alatoires choisis par Alice et Bernard respectivement
Il a ; l ig

T a b . 3.1

A
B

Note du traducteur: ce num ro perm et diffrencier les diffrentes utilisations d un mm e protocole.

Wide-Mouth Frog
Le. protocole Wide-Mouth Frog [287, 288] est probablement le protocole de gestion
de clefs secrtes le plus simple qui utilise un serveur en qui lon a confiance. Alice
et Bernard partagent chacun une clef secrte avec Ivan. Ces clefs ont elles-mmes t
distribues secrtement et avec garantie d authenticit par un autre canal externe dont

Chapitre S

62

Protocoles lmentaires

nous admettrons quil est sr. Ces clefs sont seulement utilises pour la distribution
des clefs et non pas pour chiffrer des messages entre utilisateurs. Rien quen utilisant
deux messages, une clef de session est transfre d Alice Bernard :
1 Alice combine la datation, le nom de Bernard, B et une clef de session alatoire
et chiffre le tout avec la clef secrte qu elle partage avec Ivan. Elle envoie le
rsultat chiffr Ivan avec son nom.
A , E a (Ta , B, K)

2 Ivan dchiffre le message dAlice. Ivan combine une nouvelle datation, le nom,
dAlice, et la clef de session alatoire. Il chiffre le tout avec la clef secrtequil
partage avec Bernard. Ivan envoie le rsultat chiffr Bernard.
E B(TB, A , K )

Lhypothse la plus risque faite par ce protocole est quAlice est suffisamment com
ptente pour engendrer des clefs de session valables. Rappelez-vous quil nest pas ais
dengendrer des nombres alatoires ; le protocole fait peut-tre trop confiance Alice
ce propos.

Yahalom
Lauteur de ce protocole est Y a h a l o m [187]. Comme dans le protocole prcdent, Alice
et Bernard partagent une clef secrte avec Ivan [287, 288].
1 Alice combine son nom avec un nombre alatoire et envoie le tout

Bernard:

A, R a

2 Bernard combine le nom d Alice, le nombre alatoire dAlice, un autre nombre


alatoire et chiffre le tout avec la clef secrte qu il partage avec Ivan. Il envoie
ceci Ivan avec son nom :
B , E b (A,R a ,R b )

3 Ivan engendre deux messages. Le premier est constitu du nom de Bernard,


une clef de session alatoire pour Alice et Bernard, le nombre alatoire dAlice
et le nombre alatoire de Bernard; le tout tant chiffr avec la clef secrte qu'il
partage avec Alice. Le deuxime est constitu du nom dAlice et de la clef de
session alatoire; le tout tant chiffr avec la clef secrte quil partage avec
Bernard. Il envoie les deux messages chiffrs Alice :
E a ( B , K , R a ,R b ),E b (A, K)

4 Alice dchiffre le message chiffr avec sa clef secrte, extrait K , et confirme que
R a a la mme valeur qu ltape 1. Alice envoie Bernard deux messages. Le
premier est le message quelle a reu dIvan, chiffr avec la clef de Bernard. Le
deuxime est R B, chiffr avec la clef de session:
E b ( A , K) , E k (R b )

3.3

Authentification et change de clefs

63

5 Bernard dchiffre le message chiffr avec sa clef, extrait K et confirme que R b


est le mme que celui de ltape 2.

Finalement, Alice et Bernard sont convaincus quils se parlent bien lun lautre et
non pas un tiers. La nouveaut ici c est que Bernard est le premier contacter Ivan
qui nenvoie quun seul message Alice.

Needham et Schroeder
Ce protocole, invent par Roger N e e d h a m et Michael S c h r o e d e r [1159], utilise aussi
la cryptographie clef secrte et Ivan.

1 Alice envoie un message Ivan constitu de son nom, du nom de Bernard, et


dune valeur alatoire:

(A , B , R a )
2 Ivan chiffre, avec la clef secrte qu il partage avec Bernard, un message consti
tu dune clef de session alatoire et du nom dAlice. Ensuite, il chiffre, avec la
clef secrte qu il partage avec Alice, un message constitu de la valeur alatoire
dAlice, du nom de Bernard, de la clef de session et du message chiffr avec la
clef secrte quil partage avec Alice. Finalement, il envoie Alice le message
chiffr :
E a (Ra , B , K , E b (K,A))

3 Alice dchiffre le message et extrait K . Elle confirme que R a est bien la mme
valeur quelle a envoye Ivan ltape 1. Ensuite, elle envoie Bernard le
message qu lvan a chiffr avec la clef de Bernard :
E b (K,A)

4 Bernard dchiffre le message et extrait K . Il engendre alors un autre nombre


alatoire. Il chiffre ce nombre avec K et envoie le rsultat Alice:
E k {Bb )

5 Alice dchiffre le message avec K . Elle engendre R b 1 et le chiffre avec K .


Elle envoie le rsultat Bernard:
E k {Rb 1

6 Bernard dchiffre le message avec K et vrifie quil s agit bien de R b ~ 1.


Toutes ces alles et venues avec Ra , R b et R b 1 garantissent quil ny a pas dattaque
o les messages sont rejous. La prsence de R a ltape 3 confirme Alice que le
message dIvan est lgitime et non pas une rptition d une rponse une excution
antrieure du protocole. Quand Ace dchiffre R b avec succs et quelle envoie R b 1
chiffr Bernard ltape 5, celui-ci est assur que les messages d Alice ne sont pas
des rptitions de messages dexcutions antrieures du protocole.
Le plus grand problme de scurit avec ce protocole est que les vieilles clefs de session
ont de la valeur. Si Martin parvient obtenir une ancienne clef de session K , il peut

Chapitre S

64

Protocoles lmentaires

monter lattaque suivante avec succs [467]. Tout ce quil doit faire c est enregistrer
les messages d Alice Bernard pendant ltape 3. Alors, une fois quil a K , il peut
prtendre tre Alice :
1 Martin envoie Bernard, le message suivant :
E

(K ,A )

2 Bernard extrait K , engendre R b et envoie celle quil croit tre Alice:


E k (R b )

3 Martin intercepte le message, le dchiffre avec K et envoie Bernard :


E k {R b - 1)

4 Bernard vrifie que le message prtendument dAlice est Rb 1.


Maintenant, Martin a convaincu Bernard quil est Alice.
Un protocole avec datation peut faire chouer cette attaque [467, 462]. Une datation
est ajoute au message d Ivan chiffr ltape 2 avec la clef de Bernard: E B(K,A,T).
Pour les datations, une horloge systme sre et prcise est ncessaire, ce qui nest pas
trivial en soit raliser.
Les consquences sont dramatiques si la clef secrte partage entre Alice et Ivan vient
tre compromise. Martin peut lutiliser pour obtenir des clefs de session pour dialoguer
avec Bernard (ou toute autre personne avec qui il veut converser). Pis encore, Martin
peut continuer faire cela mme si Alice change sa clef [96].
N e e d h a m et S c h r o e d e r ont essay de corriger leur protocole pour faire face ces at
taques [1160]. Leur nouveau protocole est essentiellement le m m e que celui d OTWAYR e e s publi dans le mme numro du mme journal.

Otway-Rees
Ce protocole utilise aussi la cryptographie clef secrte [1234].
1 Alice engendre un message constitu dun numro d ordre, de son nom, du nom
de Bernard, et dun nombre alatoire, le tout chiffr avec la clef secrte quelle
partage avec Ivan. Elle envoie le message chiffr Bernard avec le numro
d ordre, son nom elle et son nom lui:
I , A , B , E a (R a ,I,A,B)
2 Bernard engendre un message constitu dun nouveau nombre alatoire, du
numro dordre, du nom dAlice et celui de Bernard, le tout chiffr avec la clef
secrte quil partage avec Ivan. Il envoie le message chiffr rsultant Ivan
avec le message chiffr quil a reu dAlice, le numro dordre, son nom elle
et son nom lui:
I,A ,B ,E a {R a ,I,A ,B ),E b {R b ,I,A,B)

3.3

65

Authentification et change de clefs

3 Ivan engendre une clef de session alatoire. Il cre alors deux messages. L un
est compos du nombre alatoire dAlice et de la clef de session, et est chiffr
avec la clef qu il partage avec Alice. L autre est compos du nombre alatoire
de Bernard et de la clef de session, et est chiffr avec la clef quil partage avec
Bernard. Il envoie les deux messages avec le numro dordre Bernard:
I , E a (RA jK ) , E b (R b , K )

4 Bernard envoie Alice le message chiffr avec la clef dAlice et avec le numro
dordre:
I , E a {R a , K)

En mettant lhypothse que tous les nombres alatoires sont corrects et que le numro
dordre na pas chang en cours de route, Alice et Bernard sont maintenant convaincus
de leurs identits respectives et ils ont une clef secrte avec laquelle communiquer.

Kerberos
K e r b e r o s est une variante du protocole de Needham et Schroeder, il est prsent en
dtail dans le paragraphe 17.4. Dans le protocole de base K e r b e r o s version 5, Alice et
Bernard partagent chacun des clefs avec Ivan. Alice veut engendrer une clef de session
pour dialoguer avec Bernard.

1 Alice envoie un message Ivan avec son identit et celle de Bernard:


A ,B

2 Ivan engendre un message avec la datation, une longvit, une clef de ses
sion alatoire, et lidentit dAlice. Il chiffre cela avec la clef quil partage avec
Bernard. Ensuite il engendre un autre message avec la datation, la longvit,
la clef de session et lidentit de Bernard, et il chiffre le rsultat avec la clef
quil partage avec Alice. Il envoie les deux messages chiffrs Alice:
E a ( T, L,K,B) ,E b (T,L,K,A)

3 Alice engendre un message avec son identit et la datation, chiffre cela avec K
et envoie le rsultat Bernard. Alice envoie aussi Bernard le message qu elle
a reu dIvan, chiffr avec la clef de Bernard :
E k (T,A),E b (T,L,K,A)

4 Bernard engendre un message avec la datation plus un, le chiffre avec K et


envoie le rsultat Alice :
E k (T + 1)

Le protocole marche mais il prsume que toutes les horloges sont synchronises avec
lhorloge dIvan. En pratique, cet effet est obtenu en synchronisant les horloges
quelques minutes prs d une horloge de rfrence et en dtectant les rptitions dans
lintervalle de temps donn.

Chapitre 3

66

Protocoles lmentaires

Neuman-St ubblebine
Que ce soit par des erreurs de systme ou par sabotage, il se peut que les horloges se
dsynchronisent, Si cela arrive, il existe une attaque possible contre la plupart de ces
protocoles [646]. Si lhorloge de lexpditeur est en avance, Martin peut intercepter un
message de lexpditeur et le rejouer plus tard quand la datation devient jour sur le
site du destinataire. Cette attaque peut avoir des consquence dsagrables.
Ce protocole prsent pour la premire fois dans [821] et corrig dans [1162] tente de
contrer cette attaque. C est une amlioration du protocole Yalahom qui en fait un
excellent protocole.
1 Alice engendre un message avec son nom, un nombre altoire et lenvoie
Bernard.
A, R a

2 Bernard chiffre le nom dAlice, le nombre alatoire, et la datation avec la clef


qu il partage avec Ivan. Il envoie le rsultat, son nom et un autre nombre ala
toire Ivan.
B , R b ,E b (A,R a ,Tb )

3 Ivan engendre une clef de session alatoire et cre alors deux messages. Le
premier est constitu du nom de Bernard, du nombre alatoire d Alice, de la
clef de session, et de la datation, le tout chiffr avec la clef qu'il partage avec
Alice. Le second se compose du nom d Alice, de la clef de session, et de la
datation, le tout chiffr avec la clef qu il partage avec Bernard. U envoie les
deux messages Alice avec le nombre alatoire de Bernard.
E a (B, R a ,K,T b ),E b (A,K,T b ),R b

4 Alice dchiffre le message chiffr avec sa clef, extrait K , et vrifie que R a est
bien le mme qu ltape 1. Alice envoie deux messages Bernard. Le premier
est celui quelle a reu de Ivan et qui est chiffr avec la clef de Bernard. Le
second est R b , chiffr avec la clef de session.
E b (B, K, T b ),E k (Rb )

5 Bernard dchiffre le message chiffr avec sa clef, extrait K , et vrifie que TB


et R b ont la mme valeur qu ltape 2.

Si les nombres alatoires et les datations correspondent, Alice et Bernard sont convain
cus de lidentit de lun lautre et ils partagent une clef secrte. Il n est pas ncessaire
que les horloges soient synchronises car les datations proviennent toutes de lhorloge
de Bernard ; il vrifie uniquement des datations quil a engendres lui-mme.
Ce protocole prsente un autre avantage: Alice peut utiliser le message quelle a reu de
Ivan pour d autres authentifications avec Bernard jusqu une certaine limite de temps
fixe lavance. Supposons que Bernard et Alice ont termin le protocole ci-dessus
et ont fini de communiquer. Alice et Bernard sont en mesure de mener une nouvelle
authentification en trois tapes, sans laide de Ivan.
1 Alice envoie Bernard le message que Ivan lui avait envoy ltape 3 et un
nouveau nombre alatoire.
E b (A,K,T b ),Ra

3.3

Authentification et change de clefs

67

2 Bernard envoie Alice un autre nouveau nombre alatoire, et le nouveau


nombre alatoire dAlice chiffr avec leur clef de session.
R'B,E K (R'A)

3 Alice envoie Bernard son nouveau nombre alatoire chiffr avec leur clef de
session.
E k (R'b )

Les nouveaux nombres alatoires empchent toute attaque consistant rejouer de vieux
messages.

DASS
Les protocoles DASS, dvelopps par D i g it a l E q u i p m e n t C o r p o r a t i o n , per
mettent aussi lauthentification mutuelle et lchange de clefs [606, 1523, 1522].
Contrairement aux autres protocoles, DASS utilise la fois la cryptographie clef
secrte et la cryptographie clef publique. Alice et Bernard ont chacun une clef prive.
Ivan possde des copies signes de ces clefs prives.
1 Alice envoie Ivan un message constitu du nom de Bernard.
B

2 Ivan envoie Alice la clef publique de Bernard, K b , signe avec la clef prive
dIvan, T . Le message sign comprend le nom de Bernard.
St ( B , K b )

3 Alice vrifie la signature dIvan pour confirmer que la clef quelle a reue est
bien la clef publique de Bernard. Elle engendre une clef secrte alatoire, et une
paire alatoire clef publique, clef prive : Kp. Elle chiffre une datation avec
K . Elle signe une longvit de clef, L, son identification, A , et K p avec sa clef
prive, K A. Enfin, elle chiffre K avec la clef publique de Bernard et signe le
rsultat avec K p. Elle envoie le tout Bernard:
E k (Ta ),SKa ( L, A, K p),Sk p (EKb ( K ))

4 Bernard envoie Ivan (ce peut tre un autre Ivan) un message contenant le
nom dAlice:
A

5 Ivan envoie la clef publique dAlice Bernard, signe avec la clef publique
dIvan :
St ( K a )

6 Bernard vrifie la signature d lvan pour confirmer que la clef qu il a reue est
bien la clef publique dAlice. Il vrifie alors la signature dAlice et rcupre
K p. Il vrifie la signature et utilise sa clef prive pour retrouver K . Ensuite, il
dchiffre TA pour tre sr que le message nest pas prim.

Chapitre 3

68

Protocoles lmentaires

7 Si Vauthentification mutuelle est ncessaire, Bernard, chiffre une nouvelle da


tation avec K et envoie le rsultat Alice.
E k (Tb )

8 Alice dchiffre Tb avec K pour tre sre que le message nest pas prim.
D E C a ralis les protocoles DASS. Vous trouverez plus d informations dans [35].

Denning-Sacco
Ce protocole utilise aussi la cryptographie clef publique [467]. Ivan conserve une base
de donne contenant toutes les clefs publiques.
1 Alice envoie un message Ivan avec son nom et celui de Bernard:
A ,B

2 Ivan envoie Alice la clef publique de Bernard, K b , quil signe avec sa propre
clef prive, T. Ivan envoie aussi Alice la clef publique de celle-ci, K a , quil
signe avec sa clef prive.
St ( B , K b ),St ( A, K a )

3 Alice envoie Bernard une clef de session alatoire et une datation signs avec
sa clef prive et chiffrs avec la clef publique de Bernard, le tout accompagn
des deux clefs publiques signes.
E b (Sa (K,T a )),St { B , K b ),St ( A , K a)
4 Bernard dchiffre le message dAlice avec sa clef prive et vrifie la signature
dAlice avec la clef publique de celle-ci. Pour plus de sret, il vrifie que la
datation est toujours valide.

ce niveau, Alice et Bernard ont tous les deux la clef K , et peuvent communiquer en
scurit.
Cela a lair de fonctionner mais il nen est rien. Aprs avoir terminer le protocole avec
Alice, Bernard peut se faire passer pour Alice [9]:
1 Bernard envoie Ivan son nom et celui de Christine .
B ,C

2 Ivan envoie Bernard les clefs publiques de Bernard et Christine qu il signe.


St ( B , K b ),St (C, Kc )

3 Bernard envoie Christine la clef de session et la datation quil a reus dAlice


aprs les avoir chiffrs avec la clef publique de Christine, le tout accompagn
des certificats dAlice et de Christine.
E c (Sa (K,T a )),St ( C, K c ),St ( A , K a)

3.3

69

Authentification et change de clefs

4 Christine dchiffre le message d Alice avec sa clef prive et contrle la


signature dAlice avec la clef de celle-ci. Elle vrifie que la datation est toujours
valide.

Christine croit maintenant parler avec Alice; Bernard la trompe avec succs. En fait,
Bernard peut tromper nimporte quel membre du rseau jusqu ce que la datation
expire.
Ce problme est facile rgler. Il suffit d ajouter les noms dans le message chiffr
ltape 3:
E b {Sa {A, B, K, T a )),St { B , K b ),St { A , Ka )

Maintenant Bernard ne peut plus rutiliser le vieux message d Alice avec Christine
parce quil est clairement ddi la communication entre Alice et Bernard.

Woo-Lam
Ce protocole utilise encore la cryptographie clef publique [1612, 1613]:
1 Alice envoie Ivan un message contenant son nom et celui de Bernard.
A ,B

2 Ivan envoie Alice la clef publique de Bernard quil signe avec sa propre clef
prive.
St ( K b )

3 Alice vrifie la signature de Ivan. Elle envoie alors Bernard son nom et un
nombre alatoire, quelle chiffre avec la clef publique de Bernard.
E k b ( A, R a )

4 Bernard envoie Ivan son nom, celui dAlice et le nombre alatoire dAlice
quil chiffre avec la clef publique de Ivan.
A , B , E k t {Ra )

5 Ivan envoie Bernard la clef publique dAlice quil signe avec sa propre clef
prive. Il lui envoie aussi le nombre alatoire dAlice, une clef de session ala
toire, le nom dAlice, le nom de Bernard, le tout sign avec la clef prive de
Ivan et chiffr avec la clef publique de Bernard.
S t ( K a ),EKb (St (Ra ,K, A, B))

6 Bernard contrle la signature de Ivan. Il envoie alors Alice la deuxime partie


du message que Ivan lui a envoy ltape 5 et un autre nombre alatoire, le
tout chiffr avec la clef publique dAlice.
E Ka (St (Ra , K, A, B) , Rb )
7 Alice vrifie la signature de Ivan et son nombre alatoire. Elle envoie alors
Bernard le second nombre alatoire quelle chiffre avec la clef de session.
E k (R b )

8 Bernard dchiffre son nombre alatoire et vrifie quil na pas chang.

Chapitre 3

70

Protocoles lmentaires

Autres protocoles
X .509 sont
24.9. Le protocole K r y p t o K n ig h t est dcrit dans le pa
ragraphe 24.6. Le protocole: Echange de Clef Chiffr 3, est dcrit dans le para
graphe 22.5.
Il y a beaucoup d autres protocoles dans la littrature. Les protocoles

dcrits dans le paragraphe

K u p e r e e [695] est un autre protocole clef publique. D autres protocoles ltude


utilisent

beacons, un noeud du rseau en qui lon a confiance et qui met en continu

des nombre alatoires authentifis [783].

Les leons
Il faut tirer quelques leons importantes des protocoles prcdents, la fois de ceux
qui ont ts casss et de ceux qui ne lon pas t:
- Beaucoup de protocoles chouent parce que leurs concepteurs essayent dtre
trop intelligents. Ils optimisent leurs protocoles en laissant de ct des points
importants: les noms, des nombres alatoires, et ainsi de suite. Le remde est de
tout rendre explicite [44, 45].
- On a vite fait de sembrouiller en essayant doptimiser, cela dpend beaucoup des
hypothses que lon fait. Par exemple, si lon dispose de datations sres, on peut
faire beaucoup de choses impossibles sans cela.
Le choix du protocole dpend de larchitecture du rseau utilis pour les commu
nications. Voulez-vous minimiser la taille des messages ou leur nombre? Est-ce
que tous les partis peuvent se parler les uns les autres ou seulement quelques uns
dentre eux.
De telles questions permettent de dvelopper des mthodes formelles pour lanalyse
des protocoles.

3.4

Analyse formelle des protocoles dau


thentification et dchange de clefs

Le problme d obtenir une clef de session sre entre deux ordinateurs (et deux per
sonnes) est si important quil a men de nombreuses recherches. Une part des re
cherches a t dvoue au dveloppement de protocoles tels que ceux examins dans
les paragraphes 3.1, 3.2, et 3.3. Ceci a conduit de plus amples et plus intressants
problmes: lanalyse formelle des protocoles dauthentification et d change de clefs. On
a trouv des failles dans certains protocoles apparament srs des annes aprs quils
furent proposs et les chercheurs voulaient des outils permettant de prouver la scurit
d un protocole ds le dbut. Bien que la plupart de ce travail puisse sappliquer aux pro
tocoles cryptographiques en gnral, lemphase en recherche concerne principalement
lauthentification et lchange de clefs.
3. E n c r y p te d K e y E x ch a n g e.

3-4

Analyse formelle des protocoles dauthentification et dchange de clefs

71

Il y a quatre approches fondamentales de lanalyse de protocoles cryptographiques


[1053] :
1. Modliser et vrifier le protocole en utilisant des languages de spcification et
des outils de vrification qui ne sont pas spcifiquement ddis lanalyse de
protocoles cryptographiques.
2. Dvelopper des systmes experts avec lequel un concepteur de protocoles peut
inventer et tester diffrents scnarios.
3. Modliser les ncssits dune famille de protocoles laide de rgies logiques sur
lanlyse de savoir et de croyance.
4. Dvelopper une mthode formelle base sur les proprits de rcriture de termes
algbriques dans les sytmes cryptographiques.
Une discussion complte de ces quatres approches et des recherches qui tournent autour
dpasse largement le sujet de ce livre. Voir [1055, 1357] pour une bonne introduction;
nous allons juste toucher du bout des doigts les avances majeures dans le domaine.
La premire approche traite un protocole cryptographique comme nimporte quel autre
programme et soccuppe de prouver son exactitude. Certains chercheurs prsentent un
protocole comme une machine tat fini [1455, 1357], dautres utilisent des exten
sions du calcul des prdicats du premier ordre [823], et d autres encore analysent les
protocoles laide de languages de spcification [1568]. Toutefois, ce nest pas pareil
de prouver lexactitude que de prouver la scurit et cette approche ne permet pas
de dtecter de nombreux protocoles dfectueux. Bien quelle ft largement tudie en
premier lieu, la plupart des travaux dans le domaine ont ts redirigs alors que la
troisime approche gagnait en popularit.
La deuxime approche utilise des systmes experts pour dterminer si le protocole peut
atteindre un tat indsirable (comme la divulgation d une clef par exemple). Si cette
approche est plus apte dtecter les failles, elle ne garantie pas la scurit et ne fournit
pas non plus de technique pour dcouvrir des attaques. C est efficace pour dterminer
si un protocole a une faille donne mais pas pour trouver une faille inconnue dans un
protocole. On trouvera des exemples dune telle approche dans [997, 1525]; un systme
base de rgles dvelopp par larme amricaine qui sappelle l Interrogateur4 est
examin dans [1098].
La troisime approche est de loin la plus populaire, elle fut lance par Michael
B u r r o w s , Martin A b a d i et Roger N e e d h a m . Ils ont dvelopp un modle de logique
formelle pour lanalyse de savoir et de croyance appel la logiqu e B A N [287, 288].
BAN est la logique la plus utilise pour analyser les protocoles dauthentification. Elle
repose sur lhypothse que lauthentification est une fonction dpendant de lintgrit
et de la fracheur, et elle permet de suivre la valeur de ces deux attributs au cours
du protocole au moyen de rgles logiques. Malgrs le dveloppement de beaucoup de
variantes et d extensions, la plupart des concepteurs de protocoles se rfrent encore
aux premiers travaux.
La logique BAN ne permet pas de prouver la scurit; elle permet seulement de rai
sonner sur lauthentification. Cette logique est simple et immdiate, facile appliquer
4. L I n te r ro g a to r en anglais.

72

Chapitre 3

Protocoles lmentaires

et pourtant utile pour dtecter des failles. Certaines formulations de la logique BAN
ressemblent ceci:
Alice croit A . (Alice agit comme si X tait vrai.)
Alice voit X . (Quelquun a envoy Alice un message contenant X .
Celle-ci peut le lire et lenvoyer nouveau aprs un ventuel dchiffre
ment.)
Alice a dit X . ( un moment donn, Alice a envoy un message conte
nant X . On ne sait pas quand il a t envoy ou mme sil a t envoy
durant le protocole en cours. On sait seulement que Alice croyait X quand
elle la dit.)
X est rcent (ou frais). (A na jamais t envoy dans un message
quelquinstant que ce soit avant le protocole en cours.)
Et ainsi de suite. La logique B A N fournit aussi des rgles pour raisonner sur des
croyances lintrieur dun protocole. En appliquant ces rgles aux formulations lo
giques concernant le protocole, on peut prouver certaines choses ou rpondre certaines
questions propos du protocole. Par exemple, une des rgles est celle de la signification
dun message:
Si Alice croit quelle et Bernard partagent une clef secrte K et si Alice
voit X chiffr avec K , et si Alice na pas chiffr X avec K , alors Alice croit
que Bernard a dit X .

Une autre rgle est celle de la vrification de nombre alatoire


Si Alice croit que X na pu tre prononc que rcemment et que Bernard
a dit A , alors Alice croit que Bernard croit A .

Il y a quatre tapes dans une analyse avec BAN :


1. Dcrire le protocole dans une forme idalise laide de formulations logiques
telles que les prcdentes.
2.

Ajouter toutes les hypothses concernant ltat initial du protocol.

3.

Insrer des formules logiques inhrentes aux formulations: des assertions propos
de ltat du systme aprs chaque formulation.

4.

Applliquer les rgles logiques aux assertions et aux hypothses pour trouver les
croyances de chaque parti au cours du protocole.

Les auteur de la logique B A N voient les protocoles idaliss comme des spcifications
plus claires et plus compltes que les descriptions traditionnelles de la littrature...
[287, 288]. D autres ne se laissent pas impressionner et critiquent cette tape car elle
pourrait dnaturer le protocole rel [1161, 1614], Voir [225, 1563] pour une poursuite
du dbat. D autres dtracteurs essayent de montrer que la logique BAN peut conduire
pour certains protocoles des caractristiques clairement fausses [1161] voir [289,
1513] pour une rfutation et que la logique BA N concerne seulement la confiance
et pas la scurit [1513]. De plus amples dbats se trouvent dans [1495, 707, 1011],

3-4

Analyse formelle des protocoles dauthentification et dchange de clefs

73

Malgrs ces critiques, la logique B A N est un succs. Elle a contribu trouver des failles
dans diffrents protocoles dont N E E D H A M -S C H R O E D E R et une premire version dun
protocole C C IT T X .509 [308]. Elle a permis de montrer des redondances dans beau
coup de protocoles comme Y a h a l o m , N e e d h a m - S c h r o e d e r , et K e r b e r o s . Bien
des articles publis font tat de la scurit de leurs protocoles grce la logique BAN
[41, 1162, 80].
Dautres systmes de logique ont ts publis, certains sont des extensions de la logique
BAN [647, 588,1562, 829], et les autres sont bass sur B A N pour palier des faiblesses
connues [1495, 1011]. La plus prise parmi celles-l est G N Y [647] bien quelle prsente
certains dfauts [41]. Des probabilits de croyance ont t ajoutes la logique B A N
avec un succs mitig [296, 507]. D autres logiques formelles sont proposes dans [163,
799, 292]; dans [1518], les auteurs essayent de combiner les aspects de plusieurs logiques.
Enfin, il existe des logiques o les croyances peuvent changer avec le temps [1130, 1515].
Avec quatrime approche lanalyse des protocoles cryptographiques, on modlise le
protocole par un systme algbrique, on exprime ltat de connaissance des participants
en ce qui concerne le protocole, et on analyse alors sil est possible dateindre certains
tats. Cette approche na pas connu autant d gards que les logiques formelles, mais a
ne saurait tarder. Michael M e r r i t t la utilise le premier en montrant quun modle
algbrique permet danalyser les protocoles cryptographiques. On trouvera dautres
approches dans [506, 1512, 1538, 1539, 1540, 1514, 1614],
LAnalyseur de Protocoles des laboratoires de recherche de la marine amricaine5 est
probablement lapplication la plus russie de ces techniques [1516, 824, 1054, 1517]; il
a mis en vidence de nouvelles failles et d autre dj connues dans quelques protocoles
[1052, 1053, 1055]. L 'Analyseur de Protocoles utilise des dfinitions d actions du type:
- Accepter (Bernard, Alice, A i, N ). (Bernard accepte le message A i comme prove
nant d Alice durant la manche N de Bernard.)
- Apprendre(Estelle,A4). (Estelle apprend A4.)
- Envoyer(Alice, Bernard, Q, A i). (Alice envoie A4 Bernard en rponse la
requte Q.)
Request(Bernard, Alice, Q, N ). (Bernard envoie Q Alice durant la manche N
de Bernard.)
A parjjr de ces actions, on peut spcifier des exigences. Par exemple:
- Si Bernard a accept un message A4 de la part d Alice un moment donn, alors
Estelle n a appris A4 aucun moment.
- Si Bernard a accept un message A4 de la part d Alice dans la manche N de
Bernard, alors Alice a envoy A4 Bernard en rponse une requte survenue
durant la manche N de Bernard.
Pour utiliser l Analyseur de Protocoles, le protocole doit tre spcifier avec les construc
teurs prcdents. On distingue alors quatre phases dans lanalyse: la dfinition des
rgles de transition pour les participants hontes, la description des oprations acces
sibles tous les participants (hontes ou malhontes), la description des blocs de base
5. N a vy R esea rch L a b o ra to ry (N R L ).

Chapitre 3

74

Protocoles lmentaires

constituant le protocole, et la description des exigences. Le but de tout ceci est de


montrer quun protocole donn remplit ses exigences. Les outils comme YAnalyseur
de Protocoles pourrait ventuellement conduire des protocoles dont la scurit serait
prouve.
Alors que le gros du travail dans les mthodes formelles vise appliquer les dites
mthodes des protocoles existants, dautres travaux tendent utiliser les mthodes
formelles pour concevoir le protocole ds le dpart. Les premiers pas dans cette direction
sont dans [713]. L 'Analyseur de Protocoles tente aussi d accomplir cela [1516, 224,
1517].
Lapplication de mthodes formelles aux protocoles cryptographiques reste une ide
assez nouvelle et il est vraiment difficile de savoir o elle mne. Pour linstant, le point
sensible semble rsider dans le processus de formalisation.

3.5

Cryptographie clef publique clefs


multiples

Pour la cryptographie clef publique, il y a deux clefs. Un message est chiffr avec lune
et dchiffr avec lautre. En gnral, lune des clefs est prive et lautre est publique.
Toutefois, faisons maintenant lhypothse quAlice a une clef et Bernard lautre. Alice
peut chiffrer un message que seul Bernard pourra dchiffrer et Bernard peut chiffrer
un message que seule Alice pourra lire.
Ce concept a t gnralis par Colin B o y d [220]. Imaginez une variante de la crypto
graphie clef publique avec trois clefs: K a , K b , K c , distribues comme indiqu dans
le tableau 3.2.
T a b . 3 .2

- Clefs en possession de chacun des participants

Participant :
Alice
Bernard
Christine
David
Etienne
Francis

Clef(s) en sa possession :
Ka
Kb
Kc
K a et K b
K b et K c
K a et K c

Alice peut chiffrer un message avec K a de manire qutienne qui dispose de K b et de


K c puisse le dchiffrer, de mme que Bernard et Christine sils se mettent ensemble.
Bernard peut chiffrer un message afin que Francis puisse le lire et Christine peut chiffrer
un message de faon que David puisse le lire. David peut chiffrer un message avec K a
de manire quEtienne puisse le lire, avec K b de manire que Francis puisse le lire,
ou encore avec K a et K b de manire que Christine puisse le lire. De mme, Etienne
peut chiffrer un message de telle manire quAlice, David ou Francis puissent le lire.
Les diffrentes possibilits sont rsumes par le tableau 3 .3 et il ny en a pas d autres.
Ce schma peut tre tendu n clefs. Si un sous-ensemble de ces clefs est utilis pour
chiffrer le message, le complment de celui-ci (les clefs non utilises pour le chiffrement)

3.6

Secret morcel

75

T a b . 3 .3

- Chiffrement trois clefs

Chiffr avec les clefs :


Ka
Kb
Kc
K a et K b
K a et K c
K b et K c

Doit tre dchiffr avec les clefs :


K b et K c
K a et K c
K a et K b
KC
Kb
Ka

est ncessaire pour dchiffrer le message.

Diffusion de message
Imaginez que vous ayez cent oprateurs sur le terrain. Vous voulez envoyer des messages
certains sous-ensembles de vos oprateurs mais vous ne connaissez pas lavance
la composition des sous-ensembles. Vous pouvez chiffrer le message sparment pour
chaque destinataire, ou crer des clefs pour chaque combinaison possible. La premire
option augmente considrablement le trafic des communications ; la deuxime ncessite
un trs grand nombre de clefs.
La cryptographie clefs multiples est nettement plus facile. Considrons trois opra
teurs: Alice, Bernard et Christine. Vous donnez Alice K a et K b , Bernard K b et
K c , et Christine K a et K c - Ainsi, vous pouvez dialoguer avec nimporte quel sousensemble dentre eux. Si vous voulez envoyer un message que seule Ace puisse lire,
chiffrez-le avec K c - Quand elle reoit le message, elle le dchiffre avec K a et puis K r .
Si vous voulez envoyer un message que seul Bernard puisse lire, chiffrez-le avec K a - Si
vous voulez envoyer un message que seule Christine puisse lire, chiffrez-le avec K b - Si
vous voulez envoyer un message quAlice et Bernard puissent lire, chiffrez-le avec K a
et K c , et ainsi de suite.
Cela peut paratre peu excitant, mais avec 100 oprateurs, ce schma est pour le moins
efficace. Envoyer des messages individuels ncessite de partager une clef avec chaque
oprateur (100 clefs au total). Pour couvrir tous les sous-ensembles possibles, il faut
2100 2 clefs (on exclus les messages destins tous les oprateurs et aucun). Le
schma qui vient d tre dcrit marche avec un seul texte chiffr et 100 clefs diffrentes.
Le seul inconvnient est quil faut aussi diffuser le sous-ensemble doprateurs auquel ce
message est destin; sans cela, chaque oprateur devrait essayer toutes les combinaisons
de clefs possibles la recherche de la bonne. Les nom des destinataires suffisent. Dans
la ralisation directe de ceci, chacun reoit une quantit massive de donnes relatives
aux clefs.
Il y a dautres techniques pour la diffusion de messages, certaines ne prsentent pas le
problme prcdent. Elles sont dcrites dans le paragraphe 22.7.

3.6

Secret morcel

Imaginer que vous ayez invent une nouvelle crme de garniture super-collante et super
sucre. Peut-tre avez vous fait une sauce pour hamburger encore plus insipide que

Chapitre 3

16

Protocoles lmentaires

celle de vos concurrents. C est important, vous devez garder le secret. Vous ne pouvez
indiquer la composition exacte des ingrdients qu vos employs en qui vous avez
le plus confiance: mais quarrive-t-il si lun d entre eux vous quitte pour aller la
concurrence? Le secret est dvoil et il ne faudra pas attendre longtemps avant que
tous les marchands de fastfood du quartier ne fassent des hamburgers aussi insipides
que les vtres.
Pour remdier cela, on fera appel au secret m orcel. Il y a moyen de prendre un
message et de le couper en morceaux [553]. Chaque morceau en lui-mme na aucune
signification mais si vous les rassemblez vous pouvez faire la sauce. Si un employ vous
quitte avec un morceau de la recette, cette information est inutilisable par elle-mme.
Le morcellement de secret le plus simple partage un message entre deux personnes.
Voici un protocole o Ivan partage un message entre Alice et Bernard.
1 Ivan engendre une chane alatoire de bits, R, ayant la mme longueur que le
message A i.

2 Ivan combine A i avec R par ou exclusif pour obtenir S.


A4 R = S

3 Ivan donne R Alice et S Bernard.


Pour reconstruire le message, Alice et Bernard nont quune tape effectuer :
4 Alice et Bernard combinent leurs morceaux par ou exclusif pour reconstruire le
message :
R S = A4

Cette technique, pour autant que tout soit fait correctement, est absolument sre.
Chaque lment est en lui-mme sans valeur. Essentiellement, Ivan chiffre le message
avec un masque jetable. Il donne ensuite le masque une personne et le message chiffr
lautre. Le paragraphe 1.5 explique la technique du masque jetable; ce systme de
chiffrement est absolument sr. Aucune puissance de calcul ne permet de retrouver le
message avec un seul morceau.
Il est ais d tendre ce schma plusieurs personnes. Pour morceler un message entre
plus de deux personnes, on combine dautres chanes alatoires de bits avec le message
Dans lexemple qui suit, Ivan partage le message en quatre morceaux :
1 Ivan engendre trois chanes alatoires de bits, R, S et T , ayant chacune la
mme longueur que le message A i.

2 Ivan combine par ou exclusif A i avec les trois chanes :


AA@RST = U

3 Ivan donne R Alice, S Bernard, T Christine et U David.


Et voici comment Alice, Bernard, Christine et David reconstruisent le message :
4 Alice, Bernard, Christine et David se mettent ensemble pour calculer:
R @ S < $ > T U = A4

3.7

Secret rparti

77

Cest un protocole juge-arbitre. Ivan a tous les pouvoirs et il peut faire ce quil
veut. Il peut donner du charabia et prtendre que ce sont les bons lments du secret ;
personne ne le saura jusqu ce quils essaient de reconstruire le secret. Il peut donner
un morceau Alice, Bernard, Christine et David, puis dire tout le monde que seuls
Alice, Christine et David sont ncessaires pour reconstruire le secret. Il peut alors
licencier Bernard. Et comme c est Ivan qui dcide comment partager le secret, c est en
son pouvoir dagir ainsi.
Il y a toutefois un dfaut ce protocole : si un des morceaux est perdu, le message est
perdu aussi. Par exemple, si Christine sen va chez le concurrent avec son morceau de
la recette de la sauce, les autres sont dans lembarras. Elle ne peut pas reproduire la
recette, mais il en est de mme pour Alice, Bernard et David. Alice, Bernard et David
nont quune information commune : la longueur du message rien de plus. Cela est
d au fait que R, S, T, U et A4 ont tous la mme longueur; ds que lon connat lun
deux, on connat la longueur du message. Rappelons que A4 nest pas morcel dans le
sens usuel du terme, il est combin par ou exclusif avec des chanes alatoires de bits.

3.7

Secret rparti

Vous mettez au point un programme de lancement de missiles nuclaires. Vous voulez


tre sr quun fou furieux ne puisse pas dclencher le lancement. Vous voulez tre sr
que deux fous furieux ne puissent pas dclencher le lancement. Vous voulez que trois
officiers parmi cinq deviennent fous furieux avant dautoriser le lancement.
Cest un problme facile rsoudre. Construisez un systme de lancement mcanique.
Donnez une clef chacun des cinq officiers et arrangez-vous pour quil faille quau moins
trois officiers mettent leur clef dans la bonne serrure avant que vous ne les autorisiez
faire sauter lennemi du jo u r6.
On peut faire encore plus sophistiqu. Peut-tre qu un gnral et deux colonels peuvent
lancer le missile, mais si le gnral est occup jouer au golf alors il faut cinq colonels
pour autoriser le lancement du missile. Fabriquez le contrleur de lancement de manire
quil ncessite cinq clefs. Donnez trois clefs au gnral et une clef chaque colonel. Le
gnral avec laide de deux colonels peut lancer le missile. Cinq colonels peuvent faire
de mme mais un gnral et un colonel ne peuvent rien faire, ni quatre colonels.
Un schma de rpartition, appel schma seil permet tout cela et plus encore.
Au niveau le plus simple, vous pouvez prendre nimporte quel message (par exemple,
une recette secrte, un code de lancement, ou mme une liste de blanchissage) et le
diviser en n lments, appels parts, de telle manire que nimporte quel ensemble de
m parts puisse tre utilis pour reconstruire le message. Plus prcisment, on parlera
de schma seuil(m ,n). Avec un schma seuil-(3,4), Ivan divise la recette secrte
de la sauce entre Alice, Bernard, Christine et David de manire que trois dentre eux
puissent mettre leurs parts ensemble pour reconstruire le message. Si Christine est en
vacances, Alice, Bernard et David peuvent le faire. Si Bernard est cras par un bus,
Alice, Christine et David peuvent le faire. Mais si Bernard est cras par un bus et que
Christine est en vacances, Alice et David ne peuvent pas reconstruire le message.
6.
Si vous tes vraim ent inquiet, vous pou vez loigner les serrures grande distance et exiger que
les clefs soient insres simultanment. Vous ne voudriez quand m m e pas qu un officier fou furieux
qui aurait vol deux clefs soit capable d annihiler tou te une ville?

78

Chapitre S

Protocoles lmentaires

Les schmas seuil sont plus varis que cela. Tout scnario de rpartition peut tre
modlis laide de schmas. Vous pouvez diviser un message entre les occupants de
votre immeuble, pour cela vous avez besoin de : 1) sept occupants du premier tage et
cinq occupants du deuxime tage ; 2) il y a quelquun du troisime tage, dans ce cas
il ne faut que cet occupant-l, trois occupants du premier tage et deux personnes du
deuxime tage ; 3) il y a quelquun du quatrime tage, auquel cas il faut cet occupant
et un occupant du troisime tage, ou cet occupant et deux personnes du premier tage
avec une personne du deuxime tage, etc.
Cette ide a t invente indpendamment par Adi S h a m i r [1421] et George B l a k l e y
[189], et tudie en profondeur par Gus SiMMONS [1473]. 11 y a plusieurs algorithmes
diffrents dcrits dans le paragraphe 23.2.

Rpartition de secret avec des tricheurs


Il y a plusieurs moyens de tricher avec le schma seuil. Voici seulement quelques-uns
dentre eux :
Scnario 1 : Les colonels Alice, Bernard et Christine sont dans un bunker quelque part
sous terre. Un jour, ils reoivent un message cod de leur prsident: Lancer les
missiles. Nous allons rayer de la carte la recherche sur les rseaux neuronaux. Alice,
Bernard et Christine rvlent leur part, mais Christine donne un nombre alatoire. Elle
est en fait une pacifiste et elle ne veut pas lancer les missiles. Comme Christine n a pas
donn la bonne part, le secret quils rcuprent nest pas le bon. Les missiles restent
dans leurs silos. Pis encore, personne ne sait pourquoi. Alice et Bernard, mme sils
collaborent, ne peuvent pas prouver que la part de Christine nest pas valable.
Scnario 2 : Les colonels Alice et Bernard sont dans leur bunker avec Martin. Martin
sest dguis en colonel et aucun des autres ne souponne la supercherie. Le mme
message est envoy par le prsident et chacun rvle sa part. Ha, Ha ! scrie Martin,
Ce message du prsident est factice et j en suis l auteur. Maintenant je connais vos
parts. Il senfuit alors par lescalier avant que quiconque ne puisse lattraper.
Scnario 3 : Les colonels Alice, Bernard et Christine sont dans leur bunker avec Martin
qui une fois de plus sest dguis. Le mme message vient du prsident et chacun rvle
sa part. Martin ne rvle la sienne quaprs avoir entendu les trois autres. Comme les
trois autres permettent de reconstituer le secret, il fabrique rapidement une part valide
et rvle celle-ci. Maintenant, non seulement il connat le secret mais de plus personne
ne se rend compte quil ne fait pas partie du schma.
Certains protocoles qui contrent ce type de tricheurs sont dcrits dans le para
graphe 23.2.

Rpartition de secret sans Ivan


Une banque veut que sa chambre forte ne souvre que si trois employs parmi cinq
utilisent leur clef. Cela ressemble un schma seuil (3,5), sauf quil y a un hic.
Personne ne doit connatre tout le secret. Il ny a pas d Ivan pour rpartir le secret
en cinq parties. Il existe des protocoles par lesquels cinq personnes peuvent crer un
secret et recevoir chacun un lment de manire quaucun des participants ne puisse
reconstruire le secret sans les autres. Ces protocoles ne seront pas abords dans ce livre,
voyez [445] pour les dtails.

3.7

Secret rparti

79

Rpartition de secret sans rvlation des parts


Ces schmas prsentent un problme. Quand tout le monde se runit pour reconstruir
le secret, chacun doit rvler sa part. Il peut en tre autrement. Si le secret rparti est
une clef prive (pour une signature numrique par exemple), alors n dtenteurs dune
partie du secret peuvent partiellement signer un document. Le document est sign avec
la clef prive rpartie seulement aprs la derniere signature partielle et personne nest
inform de la part dun autre. Le secret peut alors tre rutilis et son maniement
ne ncessite pas d oprateur de confiance. Ce concept est explor plus avant par Yvo
D e s m e d t et Yair F r a n k e l [481, 482].

Secret rparti vrifiable


Ivan donne Alice, Bernard, Christine et David une part du secret chacun, ou du
moins prtend le faire. La seule faon pour chacun d eux pour savoir sil a une part
valide est de reconstruire le secret. Ivan a pu envoyer Bernard une part de rien
du tout, ou bien Bernard a reu accidentellement une mauvaise part cause dune
erreur de transmission. Le secret rparti vrifiable permet chacun deux de contrler
individuellement quil possde une part valide, sans quil soit ncessaire de reconstruire
le secret [560, 1245].

Secret rparti avec veto


Un secret est rparti entre cinquante personnes de manire que dix d entre-elles puissent
reconstituer le secret. C est facile. Mais peut-on raliser un schma de secret rparti
avec la contreinte supplmentaire que vingt personnes puissent empcher les autres quel que soit leur nombre - de reconstruire le secret? Il se trouve que cest possible
[160].
Les mathmatiques sous-jacentes sont compliques, mais lide de base est que chacun
reoit deux parts : un oui et un non . Au moment de reconstruire le secret, chacun
soumet une de ses deux parts. Le choix de la part dpend du souhait du participant
quand la reconstruction du secret. Sil y a au moins m parts oui et au plus n
parts non , alors le secret est reconstruit. Dans la cas contraire, il ne lest pas.
Bien sr, rien nempche un nombre suffissant de personnes favorables daller dans un
coin sans les autres (en supposant quils se connaissent) et de reconstruire le secret.
Mais dans la situation ou chacun soumet sa part dans un ordinateur central, cela nest
pas possible.

Secret rparti avec dsistement


Vous avez install votre de systme de secret rparti et vous voulez maintenant licencier
un des participants. Vous pourriez instaurer un nouveau schma mais cela demande
du temps. Il existe des mthodes pour copier ce systme. Elles permettent d activer
instantanment un nouveau schma ds quun participant devient indsirable [851].

80

3.8

Chapitre 3

Protocoles lmentaires

Protection cryptographique de bases de


donnes

La liste des membres dune association professionnelle est une information intressante.
D une part, vous voulez distribuer la base de donnes tous les membres : vous voulez
quils puissent communiquer entre eux, changer des ides, et sinviter les uns les autres
pour boire une tasse de th. Dautre part, si vous distribuez des copies de la base de
donnes des membres, une copie finira tt ou tard par tomber dans les mains dagents
dassurance ou dautres fournisseurs de courrier publicitaire.
La cryptographie peut amliorer la situation. Vous pouvez chiffrer la base de donnes
de manire quil soit facile d extraire ladresse dun membre mais quil soit difficile
d obtenir la liste dadresses complte.
Ce schma, dcrit dans [552, 551], est vident. Choisissez une fonction de hachage
sens unique et un algorithme clef secrte. Chaque enregistrement dans la base de
donnes est compos de deux champs. Le champ d indexation est le nom de famille de
ladhrent converti par la fonction de hachage sens unique. Le champ de donnes est
le nom complet et ladresse de ladhrent, chiffr en utilisant le nom de famille comme
clef.
Chercher un membre ayant un nom de famille donn est facile. Premirement, calculez
lempreinte du nom de famille par la fonction de hachage sens unique et cherchez cette
empreinte dans les champs dindex de la base de donnes. Sil y a une concordance, alors
il existe un membre ayant ce nom de famille. Sil y a plusieurs concordances, alors il y a
plusieurs personnes dans la base de donnes ayant le mme nom de famille. Finalement,
pour chaque concordance, dchiffrez le nom complet et ladresse en utilisant le nom de
famille comme clef.
Dans [552], les auteurs utilisent ce systme pour protger un dictionnaire de 6000
verbes espagnols. Ils indiquent que les dgradations de performance dues au chiffrement
sont minimes. Des possibilits supplmentaires sont offertes par [551] pour faire des
recherches sur des index multiples mais lide est la mme. Le problme principal avec
ce systme est que vous ne pouvez pas retrouver un enregistrement d une personne si
vous ne connaissez pas lorthographe exacte du nom de famille de celle-ci. Vous pouvez
essayer plusieurs orthographes jusqu ce que vous trouviez la bonne, mais ce nest pas
trs pratique de passer en revue tous les noms commenant par Sch quand vous
recherchez Schneier .
Cette protection nest pas parfaite. Il est possible pour un vendeur particulirement
persvrant de reconstruire la base de donnes des membres en essayant tous les noms
de famille possibles. Sil dispose du Bottin, il peut le faire. Cela peut prendre plusieurs
semaines un ordinateur ddi cette tche, mais c est faisable. Toutefois, la tche est
plus difficile, ce qui signifie plus cher pour un fournisseur de courriers publicitaires.
Une autre approche, dcrite dans [192], permet d extraire des statistiques concernant
des donnes chiffres.

Chapitre 4

Protocoles intermdiaires
4.1

Services de datation

Dans de nombreuses situations les gens veulent pouvoir certifier quun document exis
tait une date donne. Pensez une contestation de copyright ou de brevet : celui qui
peut produire le document le plus ancien gagne la partie. Il y a plusieurs manires de
faire cela avec des documents papier. Des notaires peuvent signer les documents ; des
hommes de loi peuvent garder des copies. Si un litige apparat, le notaire ou lhomme
de loi peut attester de lexistence de la lettre une certaine date.
Dans le monde numrique, c est beaucoup plus difficile. Il n y a pas moyen dexaminer
des documents numriques pour dtecter des signes de falsification. Ils peuvent tre
copis et modifis volont sans que cela soit dcelable. Il est trivial de changer la
date de cration dun fichier informatique. Personne ne peut regarder un document
numrique et affirmer: Oui, ce document a t cr avant le 4 novembre 1952.
Stuart H a b e r et W . Scott S t o r n e t t a chez B e l l c o r e ont rflchi au problme [683,
684, 99]. Ils voulaient un protocole de datation de documents qui ait les trois proprits
suivantes :
- les donnes elles-mmes doivent tre dates indpendamment de leur support
physique ;
- il ne doit pas tre possible de changer le moindre bit dun document sans que
cela soit apparent ;
- il doit tre impossible de dater un document avec une date et une heure diffrentes
de la vraie date.

Solution arbitre
Ce protocole utilise Ivan, qui assume le rle d un service de datation sr et fiable. Bien
sr, Alice veut dater un document :
1 Alice transmet une copie du document Ivan.
2 Ivan enregistre la date et lheure auxquelles il a reu le document et garde une
copie de sauvegarde du document.

Chapitre 4

82

Protocoles intermdiaires

Maintenant, si quelquun met en doute laffirmation d Alice concernant la date de cra


tion du document, elle doit juste faire appel Ivan. Il produira sa copie du document
et vrifiera quil la bien reue la date mentionne.
Ce protocole marche mais il a des dfauts. Premirement, il n y a pas de confidentialit :
Alice doit donner une copie du document Ivan. Toute personne lcoute pendant
cette transaction peut le lire. Elle peut chiffrer le document, mais mme ainsi il doit
encore tre stock dans les bases de donnes d Ivan. Quelle est la scurit de ces bases
de donnes ?
Deuximement, la base de donnes elle-mme doit tre gigantesque car les besoins
d archivage seraient normes. De plus une trs large bande passante serait requise pour
envoyer de grands documents Ivan.
Le troisime dfaut est li aux erreurs potentielles. Une erreur de transmission ou un
dfaut magntique dans lordinateur central d Ivan pourrait invalider compltement
laffirmation d Alice quant la date de cration du document.
Quatrimement, il se peut que quelquun daussi honnte quIvan pour grer le service
de datation nexiste pas. Peut-tre quAlice fait appel aux services de la socit de
Bernard: Datation et Art Nouveau. Il ny a rien qui empche Alice et Bernard
dtre complices et de dater des documents comme bon leur semble.

Solution arbitre amliore


Lutilisation des fonctions de hachage sens unique et les signatures numriques
peuvent viter la plupart de ces dfauts :
1 Alice produit, laide de la fonction de hachage sens unique, une empreinte
du document.

2 Alice transmet lempreinte Ivan.


3 Ivan date lempreinte avec la date et lheure auxquelles il a reu lempreinte et
signe le rsultat.

4 Ivan envoie lempreinte signe et la datation Alice.


Cela permet de pallier tous les dfauts sauf le dernier mentionn. Alice ne doit plus
craindre de devoir rvler le contenu de son document : lempreinte est suffisante. Ivan
ne doit plus stocker des copies des documents (ni mme de leur empreinte), ainsi les
problmes de capacit de stockage excessive sont rsolus (rappelez-vous que les fonc
tions de hachage sens unique nont pas de clef). Alice peut immdiatement examiner
lempreinte date et signe quelle a reue ltape 4 et ainsi dtecter toute erreur de
transmission. Il reste le risque quAlice et Ivan puissent tre complices pour produire
nimporte quelle datation.

Protocole de filiation
Un moyen d viter ce dernier dfaut est de lier la datation d Alice avec les autres
datations dj produites par Ivan, pour dautres utilisateurs ventuels. Comme lordre
dans lequel Ivan recevra les requtes nest pas connu davance, la datation d Alice doit
tre plus rcente que celle de la requte prcdente. Et comme la requte qui suit celle
dAlice est lie la datation qu Alice a obtenue, sa requte doit forcment avoir eu lieu
avant. La requte dAlice est donc prise en sandwich dans le temps.

4-1

Services de datation

83

Si A est le nom d Alice, lempreinte quAlice veut dater est Hn, et la datation prcdente
est Tn- 1 , alors le protocole est donn par:
1 Alice envoie Hn et A Ivan.
2 Ivan envoie en rponse Alice :
S K ( n , A , 11n fljL i f n

ly S n li-^ n )

o Ln est l information qui relie la datation prcdente:


H ( I n - l , H n - \ , T n -.\ )

Sk signifie que le message est sign avec la clef publique dIvan. Le nom dAlice
certifie celle-ci comme auteur de la requte. Le paramtre n indique le numro
dordre de la requte: c est la ne datation produite par Ivan. La datation est
donne par le paramtre Tn. L information additionnelle consiste en l'identi
fication de lauteur, lempreinte, la datation et lempreinte de la datation du
document prcdent quIvan a dat.

3 Aprs quIvan ait dat le document suivant, il envoie Alice lidentification de


lauteur de ce document: In+ i

Si quelquun met en doute la datation dAlice, elle contacte les auteurs des documents
antrieurs et postrieurs : In- t et In+i- Si leurs documents sont aussi remis en question,
ils se mettent en contact avec In- 2 et In+2 , et ainsi de suite. Chacun peut montrer que
son document a t dat aprs celui qui prcde et avant celui qui suit.
Ce protocole rend trs difficile la complicit entre Alice et Ivan et les empche de pro
duire un document avec une fausse datation. Ivan ne peut pas postdater un document
car cela ncessiterait de connatre lavance la requte qui prcdera ce document.
Mme sil pouvait falsifier cela, il devrait alors connatre davance la requte avant
* cela , et ainsi de suite. Il ne peut pas antidater un document car la datation
doit tre prise en sandwich entre des documents dats juste avant et juste aprs : or
ces documents ont dj t dats. Le seul moyen de contrer ce schma est d inventer
des chanes de requtes fictives, passes et futures par rapport au document dAlice,
suffisamment longues pour dcourager toute personne de contester la datation.

Protocole distribu
Les gens meurent. Les datations se perdent. Beaucoup dvnements peuvent se pro
duire entre le moment de la datation et la contestation de celle-ci. Quand la contestation
arrive, Alice ne pourrait plus forcment obtenir une copie de la datation d/ _ i . Ce
dfaut peut tre vit en incorporant dans la datation d Alice les datations des 10
requtes qui ont prcd celle d Alice et en envoyant Alice les identifications des
auteurs des 10 requtes qui ont suivi la sienne. Alice a ainsi plus de chance de trouver
quelquun qui a encore sa datation.
Suivant le mme ordre dide, le protocole suivant se passe tout fait de la collaboration
dIvan :
1 A partir dHn, Alice engendre une suite de valeurs alatoires en se servant dun
gnrateur alatoire de suites cryptographiquement sr:

v 1,v2,v3,...yk

Chapitre 4

84

Protocoles intermdiaires

2 Alice interprte chacune de ces valeurs comme lidentification I dune autre


personne. Elle envoie H n chacune dentre elles.

3 Chacune de ces personnes associe la date et lheure l empreinte, signe le


rsultat et envoie le rsultat Alice.

4 Alice collecte et stocke toutes les signatures pour former la datation.


Le gnrateur alatoire de suites cryptographiquement sr de ltape 1 empche Alice
de choisir des identificateurs corrompus comme vrificateurs. Mme si elle fait des
changements mineurs son document pour obtenir un ensemble didentificateurs cor
rompus, ses chances de russir sont ngligeables. La fonction de hachage rend alatoire
le choix des I ; Alice ne peut pas les forcer.
Ce protocole marche car le seul moyen dont dispose Alice pour tricher est de convaincre
les k personnes de collaborer. Comme elle les choisit alatoirement ltape 1, les
chances dy arriver sont quasi inexistantes. Plus la socit est corrompue, plus k doit
tre lev.
De plus, il faut prvoir un mcanisme qui tienne compte des personnes qui ne peuvent
pas produire une datation sur le champ. Dans ce cas, tout ce qui serait ncessaire
serait un sous-ensemble des k rponses attendues pour former une datation valable.
Les dtails dpendent de la ralisation.

Dveloppements futurs
D autres amliorations des protocoles de datation sont prsentes dans [99]. Les au
teurs utilisent des arbres binaires pour augmenter le nombre de datations qui dpendent
dune datation donne, rduisant par la mme occasion la possibilit de produire des
chanes de datations fictives. Ils recommandent galement dditer publiquement lem
preinte des datations du jour, dans les journaux par exemple. Cela remplit une fonction
similaire lenvoi de lempreinte un ensemble alatoire de personnes dans le protocole
distribu. De fait, B e l l C O R E fait cela dans chaque numro du New York Times du
dimanche depuis 1992.
Ces protocoles de datation sont brevets [685, 686, 687]. Une socit inattendue de
Bellcore, SU RETY TECHNOLOGIES, dtient les brevets et a mis sur le march un sys
tme de notaire numrique mettant en oeuvre ces protocoles. Dans la premire ver
sion, les clients envoyaient une requte certifie un serveur central de coordination.
En suivant la technique de Ralph M e r k l e [590], qui permet de construire des arbres
grce des fonctions de hachage [77], le serveur produit un arbre d empreintes dont les
feuilles sont toutes les requtes reues durant une seconde, et renvoie chaque client
la liste des empreintes du chemin allant de la feuille lui correspondant jusqu la racine
de larbre. Le client la conserve localement et peut produire un certificat de notaire
numrique pour chacun des fichiers qui ont ts certifis. La suite des racines de ces
arbres forme le dossier de validation universel qui est accessible dans de multiples
banques de donnes et publi sur CD-ROM. Le logiciel client comprend une fonction
de validation qui permet lutilisateur de tester si un fichier a t certifi dans sa
forme actuelle 1 2.
1. Pour cela il faut rcuprer la racine de larbre appropri et la com parer la valeur obtenue en
appliquant la fonction de hachage adquate sur le fichier et son certificat.

2. Pour plus d informations, contacter Surety T ech n ologies, 1 Main S t ., Chatham, NJ, 07928
tats-U nis, T l: (201) 701-0600, Fax: (201) 701-0601.

4-2

Canal subliminal

4.2

85

Canal subliminal

Alice et Bernard ont t arrts et vont aller en prison. Il entre la prison des hommes
et elle entre la prison des femmes. Leur seul moyen de communiquer est par missives.
Gatien, le gardien, est dispos permettre lchange de messages entre Alice et Bernard
pour autant que ceux-ci ne soient pas chiffrs. Gatien sattend ce quils complotent
pour concocter un plan d vasion, aussi veut-il pouvoir tout lire.
Gatien espre aussi duper soit Alice, soit Bernard. Il veut que lun accepte un message
factice comme un message valide venant de lautre. Alice et Bernard sont prts
prendre le risque dtre dups, sinon ils ne pourraient pas communiquer du tout et ils
doivent prparer leurs projets. Pour mener cela bien, ils doivent duper le gardien
et trouver un moyen de communiquer confidentiellement. Ils doivent mettre en place
un canal subliminal, un canal cach de communication entre eux, au nez et la
barbe de Gatien, bien que les messages eux-mmes ne contiennent pas dinformation
confidentielle. A laide de messages signs inoffensifs ils vont changer de linformation
confidentielle bien que Gatien lise toute la correspondance.
Un canal subliminal simple pourrait tre le nombre de mots dans une phrase. Un
nombre impair de mots correspondrait 1 , tandis quun nombre pair de mots
correspondrait 0 . Ainsi, tandis que vous lisez ce paragraphe d apparence innocente,
j ai envoy mes collaborateurs sur le terrain le message 110 . Le dfaut de cette
technique est dtre de la simple stganographie (voir 1.2); il ny a pas de clef: la
scurit dpend uniquement de la confidentialit de lalgorithme. Une meilleure scurit
est certainement possible.
Gustavus SlMMONS a invent le concept de canal subliminal dans les algorithmes de si
gnature numrique conventionnels [1464, 1477]. Comme les messages subliminaux sont
cachs dans ce qui ressemble des signatures numriques normales, c est une forme
de dissimulation. Gatien voit transiter des messages innocents signs mais il rate com
pltement linformation qui circule sur le canal subliminal. En fait, lalgorithme de
signature numrique subliminal est indiscernable dun algorithme de signature num
rique normal, du moins pour Gatien. Gatien non seulement ne peut pas lire le canal
subliminal mais il ne peut mme pas dceler sa prsence.
En gnral, le protocole ressemble ceci :
1 Alice engendre un message innocent, alatoirement.
2 A laide dune clef secrte quelle partage avec Bernard, Alice signe ce message
innocent de manire cacher son message subliminal dans la signature. C est
le cur du protocole canal subliminal (voir 20.S).

3 Alice envoie le message sign Bernard via Gatien.


4 Gatien lit le message innocent et vrifie la signature. Ne dtectant rien danor
mal, il passe le message Bernard.

5 Bernard vrifie la signature du message innocent, confirmant ainsi que le mes


sage vient bien dAlice.

6 Bernard ignore le message innocent et, utilisant la clef secrte quil partage
avec Alice, il extrait le message subliminal.

Quen est-il de la tricherie? Gatien ne fait confiance personne et personne ne lui


fait confiance. Il peut toujours empcher la communication, mais il na aucun moyen

86

Chapitre 4

Protocoles intermdiaires

dintroduire des messages factices. Comme il ne peut pas engendrer de signature valide,
Bernard dtecterait la tentative de Gatien ltape 5. Et comme il ne connat pas la
clef secrte partage, il ne peut pas lire le canal subliminal. Plus important encore, il
na pas la moindre ide que des messages subliminaux sont changs. Des messages
numriques signs ne sont pas diffrents daspect des messages numriques signs avec
messages subliminaux cachs dans la signature.
La tricherie entre Alice et Bernard est plus problmatique. Dans certaines ralisations
du canal subliminal, linformation secrte dont Bernard a besoin pour lire les messages
subliminaux est la mme information dont Alice a besoin pour signer les messages
innocents. Si tel est le cas, Bernard peut se faire passer pour Alice. Il peut signer
des messages dont Alice serait alors prtendment lauteur et Alice ne peut rien faire
pour len empcher. Si elle doit lui envoyer des messages subliminaux, elle doit lui faire
confiance pour quil n abuse pas de sa clef prive
Dautres ralisations du canal subliminal nont pas ce dfaut Une clef secrte partage
entre Alice et Bernard permet Alice d envoyer des messages subliminaux Bernard
mais elle est diffrente de la clef prive d Alice. Cette clef secrte ne permet pas
Bernard de signer des messages la place d Alice. Alice na pas faire confiance
Bernard pour quil nabuse pas de sa clef prive.

Applications du canal subliminal


Lapplication la plus vidente du canal subliminal est observe dans un rseau des
pionnage. Si tout le monde envoie et reoit des messages signs, les espions ne se feront
pas remarquer en envoyant des messages subliminaux dans des documents signs. Bien
entendu, les espions de la partie adverse peuvent faire la mme chose.
Grce un canal subliminal, Alice peut signer un contrat sous la menace. Quand elle
signe le contrat, elle introduit le message subliminal : J y suis contrainte. D autres
applications sont plus subtiles. Une socit peut signer des documents et cacher des
messages subliminaux, lui permettant ainsi de suivre les documents tout au long de leur
existence. Le Gouvernement peut marquer de la monnaie numrique. Un programme de
signature malveillant peut dvoiler la clef prive par le canal subliminal. Les possibilits
sont sans fin.

Signature numrique exempte de canal subliminal


Alice et Bernard changent des messages signs pour ngocier les termes dun contrat.
Ils utilisent un protocole de signature numrique. Toutefois, cette ngociation de
contrat sert de faade leurs activits despionnage. Quand ils usent de lalgorithme
de signature numrique, peu leur importe les documents quils signent. Ils utilisent un
canal subliminal dans les signatures pour changer de linformation secrte entre eux.
Les services de contre-espionnage, en revanche, ne savent pas que cette ngociation
de contrat et leurs signatures sont des faades. Ceci a conduit certaines personnes
crer des schmas de signature exempts de canal subliminal. Ce sont des sch
mas de signature numrique qui ne peuvent pas tre modifis pour contenir un canal
subliminal [477, 479].

4-3

Signatures numriques incontestables

4.3

87

Signatures numriques incontestables

Des signatures numriques conventionnelles peuvent tre copies intgralement. Parfois,


cette proprit est souhaitable comme dans le cas des annonces publiques par exemple.
Dans d autres situations cela peut tre un dfaut. Imaginez une lettre signe, person
nelle ou commerciale. Si plusieurs copies de cette lettre circulent dans la nature, cela
peut tre embarrassant et mme prter au chantage. La meilleure solution est une si
gnature numrique qui peut tre reconnue valable, mais que le destinataire ne peut pas
montrer un tiers sans le consentement du signataire.
La socit A l i c e S o f t w a r e C o m p a n y distribue le clbre logiciel D E W ( D oEVERYTHiNG -W O RD tm ). Pour garantir que leur logiciel nest pas infect par un virus,
ils ajoutent une signature numrique. Toutefois, ils veulent que seuls les acheteurs lgi
times du logiciel, pas les pirates, puissent vrifier la signature. Cependant, si des copies
de DEW sont infectes, il ny aurait aucun moyen pour la socit A l i c e S o f t w a r e
C o m p a n y de contester une signature valable.
Les signatures in con testa b les [211] conviennent pour ce genre de tche. Tout comme
les signatures numriques normales, une signature incontestable dpend du document
sign et de la clef prive du signataire. Mais contrairement une signature numrique
normale, une signature incontestable ne peut tre vrifie sans le consentement du
signataire. Signature intransfrables serait un nom plus appropri, mais on continue
les appeler ainsi car si Alice est force de confirmer ou de dsavouer une signature au
tribunal par exempleelle ne peut pas contester sa propre signature.
Les mathmatiques sur lesquelles repose ce protocole sont dcrites dans le para
graphe 16.7, mais lide de base est simple:
1 Alice prsente une signature Bernard.
2 Bernard engendre un nombre alatoire et lenvoie Alice.
3 Alice effectue un calcul, utilisant le nombre alatoire et sa clef prive, et envoie
le rsultat Bernard. Alice ne peut faire ce calcul que si la signature est valide.

4 Bernard confirme ce fait.


Il y a un protocole suplmentaire dans lequel Alice prouve quelle na pas sign un
document, sans pouvoir le contester sil sagit bien de sa signature.
Bernard ne peut pas contourner le protocole et convaincre Christine que la signature
dAlice est valide, parce que Christine ne sait pas que les nombres de Bernard sont
alatoires. Il peut trs bien avoir refait le protocole lenvers sur papier sans laide
dAlice et ensuite montrer le rsultat Christine. Christine ne peut pas tre convaincue
que la signature dAlice est valide moins dexcuter le protocole avec Alice elle-mme.
Cela peut ne pas avoir beaucoup de sens maintenant mais cela en aura une fois que les
mathmatiques sous-jacentes auront t prsentes au paragraphe 23.4.
Cette solution n est pas parfaite. Y vo D e s m e d t et Moti Y u n g montrent que Bernard
peut, dans certaines applications convaincre Christine de la validit de la signature
dAlice [487].
Par exemple, Bernard achte une copie lgale du logiciel D E W . Il peut valider la
signature qui accompagne le logiciel quand il le veut. Bernard peut alors convaincre
Christine quil est un vendeur de la socit A l i c e S o f t w a r e C o m p a n y . Il lui vend
une copie pirate du logiciel D E W . Quand Christine essaie de valider la signature avec

88

Chapitre 4

Protocoles intermdiaires

Bernard, il valide simultanment la signature avec Alice. Quand Christine lui envoie
le nombre alatoire, il lenvoie Alice. Quand Alice rpond, il envoie la rponse
Christine. Christine est alors convaincue quelle est une acheteuse lgitime du logiciel
alors quil nen est rien. Cette attaque est un cas particulier du problme du grand
matre aux checs qui est dcrit en dtail dans le paragraphe 5.2.
Telles quelles, les signatures icontestables ont de nombreuses applications; il y a beau
coup de situation o Alice ne veut pas que n importe qui puisse vrifier sa signature.
Elle ne veut srement viter que sa correspondance personnelle puisse tre vrifie par
la presse, montre et vrifie hors du contexte, o mme vrifie aprs que les choses ont
chang. Si elle signe une bribe dinformation quelle a vendue, elle ne veut pas que ceux
qui nont pas pay pour linformation puissent tout de mme en vrifier lauthenticit.
En contrlant ceux qui vrifient sa signature, Alice protge sa vie prive.
Une variante des signatures incontestables permet de sparer le lien entre le signataire
et le message, et le lien entre le signataire et la signature [911]. Dans ce cadre, nim
porte qui est capable de vrifier que le signataire a bien produit la signature, mais la
coopration du signataire est ncessaire pour vrifier que la signature est valide pour
le message en question.
Il existe une notion similaire, celle de signatures incontestables arbitres. Imaginez
quAlice travaille pour la socit Toxines et envoie des documents compromettants
un journal en utilisant un protocole de signature incontestable. Alice peut confirmer sa
signature au prs du journaliste, et personne d autre. Toutefois, Bernard, le contre
matre suspecte Alice d avoir divulgu les documents. Il demande Alice de contester
le protocole pour se laver de tout soupon, et Alice refuse. Bernard prtend que la seule
raison poussant Alice refuser est sa culpabilit et il la licencie.
Les signatures incontestables arbitres sutilisent comme les signatures incontestables
sauf que seul Ivan peut effectuer le protocole de contestation. Bernard ne peut pas
demander Alice de contester sa signature car seul Ivan en est capable. Si Ivan est le
sytme judiciaire, il ne devra effectuer le protocole quen cas de dispute.

4.4

Signatures numriques vrificateur


ddi

La SARL Logiciels Alice fait des ventes astronomiques de D E W , tel point que Alice
passe plus de temps vrifier des signatures incontestables qu laborer de nouveaux
logiciels.
Alice voudrait engager une presonne charge de vrifier les signatures pour toute len
treprise. Alice, ou tout autre programmeur, pourrait signer des documents avec un
protocole de signature incontestable; mais les vrifications seraient toutes faites par
Christine.
Il se trouve que c est possible grce aux signatures vrificateur ddi [337, 1221].
Alice peut signer un document de sorte que Bernard est convaincu de la validit de
la signature sans pouvoir convaincre un troisime parti; ce faisant, Alice peut dsigner
Christine comme future vrificatrice de la signature. Alice na pas mme besoin de
la permission de Christine; il lui suffit dutiliser la clef publique de celle-ci. De plus
Christine peut encore confirmer la signature dAlice quAlice soit partie en voyage,
quelle ait quitt la socit, ou quelle soit morte.

4-5

Signatures par procuration

89

Les signatures vrificateur ddi sont une sorte de compromis entre les signatures nu
mriques classiques et les signatures incontestables. Dans certaines circonstances, Alice
voudra restreindre le nombre des personnes capables de vrifier sa signature. D un autre
ct, donner un contrle total Alice peut compromettre lutilisation des signatures :
Alice pourrait refuser de cooprer pour confirmer ou dsavouer une signature en prtexant quelle a perdu les clefs ncessaires, ou en tant simplement injoignable. Les
signatures vrificateur ddi assurent Alice la protection d une signature incontes
table sans lui permettre dabuser de cette protection. Alice prfrera voir les choses
ainsi: les signatures vrificateur ddi lui permettent d viter des utilisations indrisables, de la protger si elle perd sa clef, et dassurer la prnit du fonctionnement
des signatures si elle est en vacances, lhopital, ou morte.
Cette ide permet toutes sortes d applications. Christine peut se dclarer notaire
publique . Elle publie sa clef et nimporte qui peut la dsigner comme vrificatrice de
ses signatures. Elle peut faire payer chaque confirmation de signature et mener une vie
tranquille.
Christine peut tre un bureau de brevetage, une agence gouvernementale, ou lordi
nateur hte d une organisation. Ce protocole permet de diffrencier les personnes qui
signent les documents de celles qui vrifient les signatures.

4.5

Signatures par procuration

Les signatures vrificateur ddi permettent de dsigner quelquun dautre comme


vrificateur des signatures. Alice doit par exemple partir en voyage daffaires quelque
part o elle na pas accs un rseau informatique, comme la jungle africaine. Ou il
se peut quelle soit indispose aprs une opration chirurgicale. Elle attend un courrier
lectronique important et a briff son secrtaire Bernard pour rpondre en consquence.
Comment Alice peut-elle permettre Bernard de signer des messages pour elle, sans
lui donner sa clef prive?
Les signatures par procuration apportent une solution [1010], Alice peut donner
une procuration Bernard, en remplissant les proprits suivantes:
- Distingabilit. Nimporte qui peut distinguer une signature par procuration
dune signature usuelle.
- Non falsification. Seul le signataire original et le signataire interpos peuvent
produire une signature par procuration.
- Signataire interpos malveillant. Un signataire interpos ne peut pas pro
duire de signature de signature sans quon puisse dtecter quil sagit dune si
gnature par procuration.
- Vrification. Une signature par procuration peut convaincre un vrificateur de
laccord du signataire original sur le message sign.
- Identification. Le signataire original peut dterminer lidentit du signataire
interpos partir dune signature par procuration.
- Non dsaveu. Un signataire interpos ne peut pas dsavouer une signature par
procuration quil a produit.

Chapitre 4

90

Protocoles intermdiaires

Dans certains cas, une forme didentification plus large est ncessaire, permettant
nimporte qui de dterminer lidentit du signataire interpos partir de la signature
par procuration. Des protocoles de signatures par procuration, bass sur diffrentes
ralisations de signatures numriques, se trouvent dans [1010].

4.6

Signatures collectives

David C h a u m prsente ainsi ce problme dans [333] :


Une socit a plusieurs ordinateurs. Chacun est connect au rseau local.
Chaque dpartement de la socit a sa propre imprimante (aussi connec
te au rseau local) et seul le personnel du dpartement a le droit de se
servir de cette imprimante. Avant dimprimer, limprimante doit donc tre
convaincue que lutilisateur travaille dans ce dpartement . En mme temps,
la socit impose la confidentialit ; le nom de lutilisateur ne peut pas tre
rvl. Toutefois, si quelquun dcouvre en fin de journe quune imprimante
a t utilise trop souvent, le directeur doit tre capable de retrouver qui
en a abus pour envoyer une facture au coupable.
La solution ce problme est appele signature collective. Les signatures collectives
ont les proprits suivantes :
- Seuls les membres du groupe peuvent signer des messages.
- Celui qui reoit une signature peut vrifier que cest une signature valide de ce
groupe mais ne peut pas dterminer quel membre du groupe a sign.
- En cas de litige, la signature peut tre ouverte pour rvler lidentit du
signataire.

Signature collective avec arbitre


Ce protocole utilise un arbitre en qui lon a confiance :
1 Ivan engendre un lot de paires clef prive, clef publique et donne chaque
membre du groupe une liste diffrente de clefs prives uniques. Il ny a pas de
doublon entre les listes3.

2 Ivan publie la liste principale de toutes les clefs publiques pour le groupe dans
un ordre alatoire. Il reste seul savoir qui possde quelle clef.

3 Quand un membre du groupe veut signer un document, il choisit une clef au


hasard parmi sa liste personnelle.

4 Quand quelquun veut vrifier quune signature appartient au groupe, il re


cherche dans la base de donnes publique la clef publique et vrifie la signature.

5 En cas de litige, Ivan connat la correspondance entre les clefs publiques et les
membres du groupe.
3.
Si le groupe com porte n membres, et chaque m em bre a m paire de clefs, il y a en tou t n X m
paires de clefs au total.

1^.1

Signatures numriques Fait-Stop

91

Le dfaut de ce protocole est quil ncessite lintgrit d Ivan. Il connat les clefs prives
de tout le monde et il peut imiter des signatures. De plus, la liste des clefs de chaque
membre doit tre suffisamment longue pour viter que lon puisse analyser quelles clefs
ils ont utilises.
Larticle de C h a u m [333] donne d autres protocoles. Pour certains d entre eux, Ivan
ne peut pas imiter de signatures. Dans dautres Ivan nest pas toujours ncessaire.
Un autre protocole [352] permet non seulement de cacher lidentit du signataire, mais
aussi dlargir le groupe de nouveaux membres. On trouvera encore un autre protocole
dans [1241]

4.7

Signatures numriques Fail-Stop

Faisons lhypothse quEstelle est un adversaire puissant. Elle a de grands rseaux in


formatiques, des pices pleines d ordinateurs Cray : une puissance informatique consi
drablement plus importante que celle d Alice. Tous ces ordinateurs fonctionnent jour
et nuit pour trouver la clef prive d Alice. Et enfin, le rsultat tombe. Estelle peut
maintenant se faire passer pour Alice signant sa place des documents volont.
Les signatures numriques Fail-Stop , introduites par Birgit P f i t z m a n n et Michael
W a i d n e r [1250], empchent ce genre de tricherie. Si Estelle falsifie des signatures de
cette manire, alors Alice peut prouver quil y a eu falsification. Si Alice signe des
documents et renie sa signature aprs coup, prtendant quil y a eu falsification, un
tribunal peut vrifier ses dires.
Lide de base des signatures numriques Fail-Stop est que pour chaque clef publique
possible, de nombreuses clefs prives conviendraient. Chacune de ces clefs prives donne
des signatures numriques diffrentes. Toutefois, Alice na quune clef prive et elle ne
peut calculer quune signature. Alice ne sait rien des autres clefs prives.
Estelle essaie de retrouver la clef prive d Alice (dans ce cas-l, Estelle peut tre Alice
qui essaie de trouver une seconde clef prive pour elle-mme). Elle collectionne les
messages signs et, en utilisant sa batterie dordinateurs Cray, elle essaie de retrouver
cette clef prive. Mme si elle finit par trouver une clef prive valide, comme il y en a
de nombreuses possibles, il est fort probable quelle en ait dcouvert une diffrente de
celle quAlice utilise. La probabilit quEstelle retrouve la bonne clef peut tre rendue
si faible quelle est ngligeable.
Maintenant, quand Estelle falsifie une signature au bas dun document avec la clef
prive quelle a trouve, cette signature sera diffrente de celle qui aurait t calcule
par Alice. Quand Alice est trane devant les tribunaux, elle peut produire les deux
signatures diffrentes du mme message : celle obtenue laide de sa clef prive et celle
produite par Estelle. Elle peut ainsi prouver quil y a eu falsification. De mme, Alice
ne peut pas fabriquer les deux signatures diffrentes et Alice est toujours lie par sa
signature.
Ce schma de signature empche Estelle dimiter la signature d Alice par puissance
de calcul seulement ; en revanche, il ne peut rien contre Martin qui fort probablement
entrera par effraction au domicile d Alice et volera sa clef prive, ou encore contre Alice
qui signe un document et puis qui soi-disant perd sa clef. Pour se protger du premier,
Alice devrait s'acheter un bon chien de garde; ce genre de choses dpasse le cadre de
la cryptographie.

Chapitre 4

92

Protocoles intermdiaires

Des dveloppements thoriques et des applications concernant les signatures FailStop sont dcrits dans [1249, 1251, 732, 733].

4.8

Calcul avec donnes chiffres

Alice veut connatre la valeur d une certaine fonction f ( x ) pour une valeur particulire
de x. Malheureusement, son ordinateur est en panne. Bernard est dispos lui calculer
f(x) mais Alice ne veut pas que Bernard connaisse x. Comment Alice peut-elle laisser
Bernard calculer f ( x ) sans lui rvler x ?
C est le problme gnral du calcul avec donnes chiffres, appel aussi cacher de
linformation un oracle . Dans lexemple ci-dessus, Bernard est loracle : il rpond
des questions. On peut appliquer cela certaines fonctions ; nous en reparlerons dans
le paragraphe 23.6.

4.9

Mise en gage

La Grande Alice, magicienne extraordinaire, va maintenant vous prouver son talent.


Elle va deviner quelle carte Bernard va choisir avant mme quil ne le fasse ! Observez
comment Alice crit sa prdiction sur un bout de papier. Emerveillez-vous quand Alice
met le bout de papier dans une enveloppe et scelle celle-ci. Frissonnez quand Alice
tend cette enveloppe un membre de lassemble choisi au hasard. Choisis une carte,
Bernard, nimporte quelle carte. Il la regarde et la montre Alice et au public. C est
un sept de carreau. Alice rcupre maintenant lenveloppe. Elle louvre. La prdiction,
crite avant que Bernard ne choisisse, dit sept de carreau ! Applaudissements.
Le truc est quAlice change d enveloppe la fin du tour. Toutefois, les protocoles
cryptographiques peuvent fournir une mthode o ce tour de passe-passe est impossible.
Pourquoi est-ce utile? Voici une histoire plus banale:
Alice la cambiste, veut convaincre linvestisseur Bernard que sa mthode
de choix dactions en hausse est fiable.
Bernard : Choisis cinq actions pour moi. Si elles sont toutes en hausse,
je te confie mes affaires.
Alice : Si je choisis cinq actions pour toi, tu peux investir toi-mme
sans me payer en retour. Pourquoi est-ce que je ne te montrerais pas plutt
les actions que j ai choisies le mois dernier?
Bernard : Comment puis-je savoir que tu n as pas chang ton choix
du mois dernier aprs avoir connu les rsultats? Si tu mindiques ton choix
maintenant, je sais que tu ne peux pas le changer. Je ninvestirai pas dans
ces actions avant d avoir achet ta mthode. Fais-moi confiance.
Alice : Je prfre te montrer mon choix du mois prcdent. Fais-moi
confiance.
Voil le problme : Alice veut sen remettre un choix mais elle ne veut pas rvler ce
choix avant un certain temps. Bernard, de son ct, veut tre sr quAlice ne puisse
pas changer son choix aprs coup.

4-9

Mise en gage

93

Mise en gage laide de la cryptographie clef secrte


Ce protocole de mise en gage utilise la cryptographie conventionnelle :
1 Bernard engendre une chane de bits alatoire, R, et lenvoie Alice :
R

2 Alice cre un message constitu du bit quelle veut mettre en gage, b (cela peut
mme tre plusieurs bits), et de la chane alatoire de Bernard. Elle chiffre le
tout avec une clef alatoire, K et envoie le rsultat Bernard.
E K (R,b)

Cest la partie de mise en gage du protocole. Bernard ne peut pas dchiffrer le message
et donc il ne connat pas la valeur du bit.
Quand vient le moment pour Alice de rvler la valeur du bit, le protocole se poursuit
ainsi :
3 Alice envoie la clef Bernard.
4 Bernard dchiffre le message pour retrouver le bit. Il vrifie la chane alatoire
pour vrifier la validit du bit.

Si le message ne contenait pas la chane alatoire de Bernard, Alice pourrait, en ca


chette, dchiffrer le message quelle a donn Bernard en essayant diffrentes clefs,
jusqu ce quelle en trouve une qui donne au bit une valeur autre que celle quelle avait
mise en gage. Comme le bit ne peut avoir que deux valeurs, elle serait sre de trouver
une clef qui convienne aprs trs peu dessais. La chane alatoire de Bernard empche
cette attaque. Alice doit trouver un nouveau message qui non seulement contient son
bit invers mais aussi la chane alatoire de Bernard inchange. Si lalgorithme de chif
frement est bon, les chances pour Alice de trouver une autre clef sont infimes. Alice ne
peut pas changer la valeur du bit aprs lavoir mis en gage.

Mise en gage laide de fonctions sens unique


Ce protocole utilise des fonctions sens unique4 :
1 Alice engendre deux chanes de bits alatoires, Ri et R ? .
R i ,R2

2 Alice cre un message contenant les deux chanes alatoires et le bit quelle veut
mettre en gage (cela peut mme tre plusieurs bits).
(Ri,R2,b)

3 Alice applique la fonction sens unique H au message et envoie le rsultat


Bernard ainsi quune des deux chanes alatoires.

H(Ri,R2,b),Ri
4.
Remarquez que tou te fonction sens unique gnrale convient pou r ce ty p e d e protocole, pas
seulement les fonctions de hachage sens unique.

Chapitre 4

94

Protocoles intermdiaires

Cette dernire transmission est la mise en gage proprement dite. Alice a utilis une
fonction sens unique ltape 3 et donc Bernard ne peut pas linverser pour retrouver
la valeur du bit.
Quand.vient le tour d Alice pour rvler le bit, le protocole se poursuit ainsi:
4 Alice envoie Bernard le message dorigine:

5 Bernard applique la fonction sens unique ce message et compare la valeur


obtenue et R\ la valeur quAlice avait envoye ltape S et R\. Si elles
concordent, le bit est valable.

Lavantage de ce protocole sur le prcdent est que lorsque la communication est tablie,
seule une communication unidirectionnelle est ncessaire : Bernard na pas parler
Alice. Alice envoie Bernard un message pour mettre en gage le bit et un message
pour le rvler.
La chane alatoire de Bernard nest pas ncessaire car le message de mise en gage
d Alice est le rsultat d une fonction sens unique. Alice ne peut pas tricher et trouver
un autre message (Ri,R'2,b'), tel que H(Ri,R'2,b') = H(R\,R 2 ,b). Si Alice nenvoyait
pas Ri, alors elle pourrait changer les valeurs de Ri et R^ et ainsi changer la valeur
de b. Le fait que Bernard connaisse dj R\ len empche.

Mise en gage laide dun gnrateur pseudo-alatoire de suites


Ce protocole est encore plus simple [1146] :
1 Bernard engendre une chane alatoire de bits et l envoie Alice.
Rb

2 Alice engendre un germe alatoire pour un gnrateur pseudo-alatoire de


bits. Ensuite pour chaque bit de la chane alatoire de Bernard, elle envoie
Bernard:
(a) soit la sortie du gnrateur alatoire si le bit de Bernard est 0 ;

(b) soit

le ou exclusif de la sortie du gnrateur et de son bit, si le bit de


Bernard est 1.

Quand vient le moment pour Alice de rvler son bit, le protocole se poursuit ainsi :
3 Alice envoie Bernard le germe alatoire.
4 Bernard effectue l tape 2 du protocole pour vrifier quAlice tait honnte.
Si la chane alatoire de Bernard est assez longue, et que le gnrateur pseudo-alatoire
de bits est imprvisible, Alice na aucun moyen pratique de tricher.

f.10

Jouer pile ou face

95

Pts
Les chanes de mise en gage quAlice envoie Bernard sont parfois appeles pts. Un
pt est une suite de bits, bien que les protocoles nutilisent pas cette proprit. Comme
le dit Gilles B r a s s a r d : Ils pourraient tout aussi bien tre faits de poussire dtoile
(ou de photons polariss!) si cela s avrait utile. [239] Les pts ont les proprits
suivantes :
- Alice peut mettre un pt en gage. Ce faisant, elle sengage quant la valeur
dun bit spcifique.
- Alice peut ouvrir nimporte quel pt quelle a mis en gage. Quand elle ouvre un
pt, elle peut convaincre Bernard de la valeur du bit quelle a mis en gage lors
quelle a mis le pt en gage. Donc, elle ne peut pas ouvrir un pt indiffremment
la fois comme un 0 ou comme un 1.
- Bernard ne peut rien apprendre sur la mthode pour ouvrir un pt non encore
ouvert et mis en gage par Alice. C est vrai mme aprs quAlice a ouvert dautres
pts.
- Les pts ne contiennent pas dautre information que le bit mis en gage par Alice.
Les pts eux-mmes ainsi que les procds de mise en gage et d ouverture ne sont
en aucune faon corrls avec d autres secrets quAlice pourrait vouloir cacher
Bernard.

4.10

Jouer pile ou face

Cest lheure d une petite histoire, avec Joe K i l i a n [832] :


Alice et Bernard veulent jouer pile ou face mais ils nont pas de pice
lancer. Alice propose une mthode pour jouer pile ou face mentalement.
Premirement, tu penses un bit alatoire, ensuite je pense un bit
alatoire. Ensuite on prend le ou exclusif des deux bits. suggre-t-elle.
Mais que se passe-t-il si lun de nous deux ne choisit pas alatoire
ment? demande Bernard.
Peu importe. Aussi longtemps que lun des deux bits est vraiment
alatoire, le ou exclusif des deux bits doit tre alatoire. rpond Alice, et
aprs un moment de rflexion, Bernard est d accord.
Peu de temps aprs, Alice et Bernard trouvent dans la rue un livre sur
lintelligence artificielle. En bonne citoyenne, Alice dit : L un de nous deux
doit ramasser le livre et le mettre dans une poubelle. Bernard est d accord
et suggre quils utilisent leur protocole de tirage pile ou face pour dcider
qui devra jeter le livre.
Si le dernier bit est 0, alors tu ramasseras le livre, et si c est un 1,
alors je le ferai. Quel est ton bit ? dit Alice.
Bernard rpond 1.
Comme le mien, rpond-t-elle avec espiglerie. Ce nest pas ton bon
jour.

Chapitre 4

96

Protocoles intermdiaires

Inutile d insister, ce protocole de tirage pile ou face a un dfaut ma


jeur. Bien quil soit vrai quun bit x vraiment alatoire, combin par ou
exclusif avec un autre bit x non corrl donne un bit vraiment alatoire, le
protocole d Alice ne garantit pas que les deux bits aient des distributions
indpendantes. En fait, il nest pas difficile de vrifier quaucun protocole
mental ne permet deux parties, avec des ressources infinies, de jouer pile
ou face honntement. Alice et Bernard taient bien embts jusqu ce quils
reoivent une lettre d un obscur tudiant en cryptographie. Linformation
que contenait la lettre tait bien trop thorique pour avoir une quelconque
utilit pratique mais lenveloppe qui contenait la lettre tait par contre
dune trs grande utilit.
LorsquAlice et Bernard voulurent nouveau jouer pile ou face, ils
jourent une version modifie du protocole. D abord, Bernard choisissait
un bit, mais au lieu de lannoncer immdiatement, il lcrivait sur un bout
de papier et plaait celui-ci dans une enveloppe. Ensuite, Alice annonait
son bit. Finalement, Alice et Bernard sortaient de lenveloppe le bit de
Bernard et calculaient le bit alatoire. Ce bit tait vraiment alatoire si un
d entre eux au moins avait jou honntement. Alice et Bernard avaient un
protocole qui marchait ; le rve du cryptographe d avoir un rle social tait
satisfait et ils vcurent heureux jusqu la fin de leurs jours.
Ces enveloppes ressemblent des pts. Quand Manuel B lum introduisit le problme
du jeu pile ou face au tlphone [201], il obtint une solution grce au protocole de
mise en gage suivant :
1 Alice met en gage un bit alatoire, en utilisant l un des protocoles de mise en
gage dcrits au paragraphe 4-9.

2 Bernard essaie de deviner le bit.


3 Alice rvle le bit Bernard. Bernard gagne le tirage s il a devin correctement
le bit dAlice.

En gnral, un tel protocole doit satisfaire les proprits suivantes :


- Alice doit tirer pile ou face avant que Bernard ne devine.
- Alice ne doit pas tre capable de changer la pice aprs avoir entendu le choix de
Bernard.
- Bernard ne doit pas pouvoir savoir comment la pice a atterri avant de faire son
choix.
Il y a de nombreuses faons de raliser cela.

Jouer pile ou face laide de fonctions sens unique


Si Alice et Bernard peuvent se mettre d accord sur le choix d une fonction sens
unique, le protocole est simple :
1 Alice choisit un nombre alatoire, x. Elle calcule y = f (x), o f {x) est la
fonction sens unique.

4-10

97

Jouer pile ou face

2 Alice envoie y Bernard.


3 Bernard devine si x est pair ou impair et envoie sa supposition Alice.
4 Si la supposition de Bernard est correcte, le rsultat du lancer est face. Si
la supposition de Bernard est incorrecte, le rsultat du lancer est pile. Alice
annonce le rsultat du lancer et envoie x Bernard.

5 Bernard vrifie que y = f(x).


La scurit de ce protocole dpend du choix de f(x). Si Alice peut trouver x et x', o
x est pair et x' est impair et o y = f { x ) = f{x'), alors elle peut tromper Bernard
chaque lancer. De plus, Alice doit veiller ce que le bit de poids faible de x ne soit pas
corrl avec f(x). Sinon, Bernard peut tromper Alice de temps autre. Par exemple,
si x est pair dans 75 % des cas, Bernard est avantag5.

Jouer pile ou face laide de la cryptographie clef publique


11 y a un autre protocole qui marche avec soit la cryptographie clef publique, soit
la cryptographie clef secrte. La seule exigence est que lalgorithme soit commutatif,
comme suit :
D Kl ( E k2 (EKl ( M) ) ) = E k , {A4)
En gnral, cette proprit nest pas satisfaite par les algorithmes clef secrte,
mais lest par les algorithmes clef publique (lalgorithme clef publique R S A , par
exemple). Voici le protocole:
1 Alice et Bernard engendrent chacun une paire clef publique, clef prive .
2 Alice engendre deux messages, lun indiquant face et lautre pile. Ces messages
doivent contenir une chane alatoire unique, de manire quAlice puisse vri
fier leur authenticit plus tard dans le protocole. Alice chiffre les deux messages
avec sa clef et les envoie Bernard.
E A ( M l ) , E A ( M 2)

3 Bernard, qui ne peut lire aucun des deux messages, choisit lun dentre eux au
hasard (il peut lancer une pice de monnaie, engager un ordinateur malfaisant
pour tenter en vain de dcider lequel choisir, ou mme consulter son horoscope
chinois - peu importe). Il chiffre celui quil a choisi avec sa clef et envoie le
rsultat Alice.
E b (E a ( M ) )
A4 reprsente donc soit A4i soit A42.

4 Alice qui ne peut pas lire ce message, le dchiffre avec sa clef et envoie le rsultat
Bernard.
D a {E b (E a ( M) ) )

E b ( M i ) si M = M !

E b {A42) si A4 A42

5.
Le bit de poids faible constitue parfois un mauvais ch oix car il arrive q u il soit plus facile
calculer.

Chapitre 4

98

Protocoles intermdiaires

5 Bernard dchiffre le message avec sa clef pour dcouvrir le rsultat du lancer.


Il envoie le message dchiffr Alice.
D b (E b ( M ) )

Mi

M 2 si M = M 2

si M = M i

6 Alice lit le rsultat du lancer et vrifie que la chane alatoire est correcte.
7 Alice et Bernard rvlent tous les deux leurs clefs de telle manire quils
puissent vrifier que ni lun ni lautre na trich.

Ce protocole est scurit intrinsque. Chaque participant peut immdiatement dtec


ter toute tentative de tricherie de lautre. Aucun tiers nest ncessaire pour conduire
le protocole ni pour rsoudre les litiges aprs que le protocole a t excut. Pour voir
pourquoi il en est ainsi, essayons de tricher.
Si Alice veut tricher et imposer le tirage face, elle dispose de trois moyens pour modifier
le lancer.Premirement, elle peut chiffrer deux messages face ltape 2. Bernard
dcouvrirait celalorsquAlice rvle sa clef (ou ses clefs) ltape 7.Deuximement,
elle peut mal dchiffrer le message ltape 4. Toutefois, elle ne peut pas trouver
un moyen de dchiffrer le message pour imposer un autre contenu qui ne soit pas
du charabia. Bernard dcouvrirait la supercherie ltape 5. Troisimement, elle peut
mentir quand la validit du message ltape 6. Bernard sen rendrait compte ltape
7, quand Alice ne pourrait pas prouver que le message n est pas valide. Bien sr, Alice
peut refuser de participer toute tape du protocole, auquel cas la supercherie dAlice
serait vidente pour Bernard.
Si Bernard veut tricher et imposer le tirage pile, il n a pas plus de possibilits. Il peut
mal chiffrer le message ltape 3, mais Alice dcouvrirait la supercherie ltape 6 en
lisant le message. Il peut mal excuter ltape 5 mais cela donnerait aussi du charabia
quAlice dcouvrirait ltape 6. Il peut prtendre navoir pu bien excuter correcte
ment ltape 5 cause d une tricherie d Alice, mais ce type de tricherie serait dcouvert
ltape 7. Finalement, il peut envoyer un message pile ltape 5, peu importe le
message quil a dchiffr, mais Alice pourrait immdiatement vrifier lauthenticit de
ce message ltape 6.

Jouer pile ou face dans un puits


Il est intressant de remarquer que dans tous ces protocoles, Alice et Bernard nap
prennent pas le rsultat du lancer en mme temps. Il y a un instant du protocole o un
des participants (Alice dans les deux premiers protocoles et Bernard dans le dernier)
connat le rsultat du lancer mais ne peut pas le changer. Ce participant peut toutefois
retarder la divulgation du rsultat lautre participant. On dira alors que lon jo u e
pile o u face dans un puits. Imaginez un puits. Alice est prs du puits et Bernard est
trs loin. Bernard lance une pice, celle-ci atterrit dans le puits. Alice peut maintenant
regarder dans le puits et voir le rsultat mais elle ne peut pas atteindre la pice pour
changer son tat. Bernard ne peut pas voir le rsultat du lancer jusqu ce quAlice
lautorise sapprocher suffisamment prs pour regarder dans le puits.

j .l l

Poker laveugle

99

Gnration de clef par jeu pile ou face


Une application concrte de ce protocole est la gnration de clef. Les protocoles de
jeu pile ou face, permettent Alice et Bernard dengendrer une clef alatoire sans
que lun ou lautre ne puisse influer sur la clef. Et en faisant lhypothse quAlice et
Bernard chiffrent tous leurs changes, cette clef sera labri des oreilles indiscrtes.

4.11

Poker laveugle

Un protocole similaire au troisime protocole de jeu pile ou face permet Alice


et Bernard de jouer au poker, chacun tant une extrmit dune liaison par courrier
lectronique Au lieu de fabriquer et de chiffrer deux messages (un pour pile et un pour
face), Alice fabrique 52 messages,
un pour chaque carte du paquet.
Bernard choisit 5 messages au hasard, les chiffre avec sa clef publique et les renvoie
Alice. Alice dchiffre les messages et envoie le rsultat Bernard qui dchiffre ceux-ci
son tour pour dcouvrir sa donne. Il envoie, sans les chiffrer avec sa clef dans ce cas-l,
5 autres messages Alice, qui les dchiffre pour dterminer sa donne. Durant le jeu,
des cartes supplmentaires peuvent tre distribues en suivant le mme protocole.
la fin du jeu, Alice et Bernard rvlent leurs jeux et leurs paires de clefs ; ainsi chacun
peut tre assur que lautre na pas trich.

Poker laveugle avec trois joueurs


Le jeu de poker est plus amusant avec plus de joueurs. Le protocole de base du poker
laveugle peut tre tendu trois joueurs et plus. Une fois de plus, lalgorithme
cryptographique doit tre commutatif.
1 Alice, Bernard, et Christine, chacun, engendrent une clef secrte ou une paire
clef prive, clef publique .
2 Alice engendre 52 messages, un pour chaque carte jouer. Ces messages
doivent contenir une chane alatoire unique de manire quelle puisse vri
fier leur authenticit plus tard dans le protocole. Alice chiffre tous les messages
avec sa clef et les envoie Bernard.
E A ( M n)

3 Bernard, qui ne peut lire aucun des messages, en choisit 5 au hasard. R les
chiffre avec sa clef et les renvoie Alice.
E B(EA( M n))
4 Bernard envoie les 47 autres messages Christine.
E A( M n)

5 Christine, qui ne peut lire aucun des messages, en choisit 5 au hasard. Elle les
chiffre avec sa clef et les renvoie Alice.
E c (EA( M n))

Chapitre 4

100

Protocoles intermdiaires

6 Alice, qui ne peut lire aucun des messages qui lui sont renvoys, dchiffre ceuxci avec sa clef et envoie les rsultats Bernard ou Christine (en fonction de
leur provenance).
D A(EB(EA( M n))) = E B( M n)
D A(Ec (EA( M n))) = E c ( M n)

7 Bernard et Christine dchiffrent les messages avec leurs clefs respectives pour
dcouvrir leurs donnes.
D B(EB ( M n)) M n
Dc {Ec { M n)) = M n

8 Christine choisit 5 autres messages parmi les 42 restant. Elle les envoie Alice.
E A( M n)

9 Alice dchiffre les messages pour dcouvrir sa donne.


D A(EA( M n))

AAn

10 A la fin du jeu, Alice, Bernard et Christine dvoilent leurs jeux et leur clefs
afin que chacun puisse vrifier quil ny a pas eu tricherie.

Des cartes supplmentaires peuvent tre distribues de la mme manire. Si soit


Bernard, soit Christine veut une carte, il ou elle prend le talon chiffr et excute le
protocole avec Alice. Si Alice veut une carte, celui ou celle qui a le talon ce moment-l
lui envoie une carte au hasard.
Idalement, ltape 10 ne devrait pas tre ncessaire. Les joueurs ne devraient pas tre
obligs de rvler leur jeu en fin de partie : seuls les joueurs qui nont pas suivi devraient
le faire. Puisque ltape 10 ne fait partie du protocole que pour dtecter les tricheurs,
on peut y remdier.
Au poker, il est seulement intressant de savoir si le gagnant a trich ou non. Tous
les autres peuvent tricher tant quils veulent du moment quils ne gagnent pas. Voyons
donc des cas o diffrents joueurs gagnent.
Si Alice gagne, elle dvoile son jeu et ses clefs. Bernard peut utiliser la clef prive d Alice
pour confirmer quelle a honntement excut ltape 2 (en d autres termes que les 52
messages correspondent bien aux 52 cartes jouer). Christine peut confirmer quAlice
ne ment pas concernant la composition de son jeu en chiffrant les cartes d Alice avec
la clef dAlice et en vrifiant que les messages obtenus correspondent bien ceux que
Christine lui a envoys ltape 8.
Si soit Bernard, soit Christine gagne, il ou elle rvle son jeu et ses clefs. Alice peut
confirmer que les cartes sont authentiques en comparant avec sa chane alatoire. Elle
peut confirmer que le jeu est compos des cartes distribues en les chiffrant avec la clef
du gagnant, et en comparant avec ce quelle a envoy ltape 3 ou 5.
Ce protocole ne protge pas contre la complicit de plusieurs joueurs malfaisants. Alice
et un autre joueur peuvent effectivement se liguer contre le troisime et plumer celui-ci
sans veiller le moindre soupon. Il est donc important de vrifier les chanes alatoires
et les clefs chaque fois que les joueurs rvlent leur jeu. Et si vous tes assis cette

4-11

Poker laveugle

101

table virtuelle avec deux autres joueurs qui ne rvlent jamais leur main quand lun
des deux est le donneur (Alice, dans le protocole ci-dessus), arrtez de jouer.
Il faut noter que si cela constitue une thorie intressante, le raliser sur un ordinateur
est une tche ardue. Une ralisation sur des stations de travail Sparc avec trois joueurs
(un par station) prend huit heures pour mlanger les cartes [515].

Attaques contre les protocoles de poker laveugle


Les cryptographes ont montr quil y a des petites fuites dinformation dans ces pro
tocoles de poker laveugle quand lalgorithme RSA est utilis [456, 575]. Plus prci
sment, si la reprsentation binaire de la carte est un rsidu quadratique (voir 11.3),
alors la carte chiffre est aussi un rsidu quadratique. Cette proprit peut tre utilise
pour marquer certaines cartes tous les as par exemple. Cela ne rvle pas grand
chose sur les jeux des joueurs, mais dans un jeu comme le poker, la moindre parcelle
dinformation peut tre un avantage long terme.
Shaf G o l d w a s s e r et Silvio M i c a l i [626] ont dvelopp un protocole de poker
laveugle deux joueurs qui ne souffre pas de ce dfaut. Mais sa complexit le rend
bien plus thorique que pratique. Un protocole gnral de poker laveugle n joueurs
qui limine le problme de fuite d information a t dvelopp dans [393].
Le compte rendu dautres recherches sur les protocoles de poker sont donns dans
[575, 1636, 393]. Un protocole compliqu qui vite aux joueurs de devoir rvler leur
jeu est dcrit dans [394]. Don COPPERSMITH dcrit deux moyens de tricher au poker
laveugle si celui-ci utilise lalgorithme R S A [374].

Distribution anonyme de clefs


Bien quil soit improbable que quiconque utilise ce protocole pour jouer au poker par
modem, Charles P f l e e g e r dcrit une situation o ce protocole serait bien utile [1254],
Considrez le problme de la distribution des clefs. Si nous mettons lhypothse que
les utilisateurs ne peuvent pas engendrer leurs clefs eux-mmes (elles doivent avoir une
certaine forme, ou elles doivent tre signes par un organisme, ou quelque chose de
similaire), alors nous devons mettre en place un serveur centralis pour engendrer et
distribuer les clefs. Le problme est de trouver un moyen pour distribuer les clefs de
manire que personne, mme pas le serveur lui-mme, puisse dterminer qui a quelle
clef.
Le protocole suivant rsout le problme :
1 Alice engendre une paire clef prive, clef publique . Pour ce protocole, elle
garde les deux clefs secrtes.

2 Le C D C engendre une suite continue de clefs.


3 Le C D C chiffre les clefs une une avec sa propre clefpublique.
4 Le C D C transmet les clefs une une sur le rseau.
5 Alice choisit une clef au hasard.
6 Alice chiffre la clef choisie avec sa clef publique.
7 Alice attend un peu (suffisamment longtemps pour que le serveur ne puisse pas
deviner quelle clef elle a choisie) et envoie la clef doublement chiffre au CDC.

Chapitre 4

102

Protocoles intermdiaires

8 Le C D C dchiffre la clef doublement chiffre avec sa clef prive, donnant une


clef chiffre avec la clef publique dAlice.

9 Le serveur envoie cette clef chiffre Alice.


10 Alice dchiffre la clef avec sa clef prive.
Estelle, qui coute tout, na pas la moindre ide de la clef choisie par Alice. Elle voit un
flot continu de clefs passer ltape 4. Quand Alice renvoie sa clef au serveur ltape
7, elle est chiffre avec sa clef publique, qui est galement secrte. Estelle na aucun
moyen de corrler celle-ci avec le flot de clefs du serveur. Quand le serveur renvoie la
clef Alice ltape 9, elle est aussi chiffre avec la clef publique d Alice. Ce nest qu
ltape 10, quand Alice dchiffre sa clef, que celle-ci est dvoile.
Si vous utilisez lalgorithme R S A , il y a des fuites dinformation dans ce protocole,
au rythme d un bit par message. C est li aux rsidus quadratiques une fois de plus.
Si vous envisagez de distribuer des clefs ainsi, veillez ce que la fuite dinformation
soit suffisamment faible. Bien sr, si Alice ne peut pas faire confiance au C D C, la
fuite d information est invitable. Un C D C malveillant garderait un enregistrement
de toutes les clefs quil engendre. Il pourrait ensuite parcourir cet enregistrement pour
dterminer quelle est la clef dAlice.
Ce protocole prsume quAlice agit honntement. Si lalgorithme R SA est utilis, elle
peut agir pour obtenir plus dinformation quelle ne devrait en avoir. Ce n est pas un
problme dans notre scnario, mais peut le devenir dans d autres circonstances.

4.12

Accumulateurs sens unique

Alice fait partie de la socit Clique dimport export. Il lui arrive de rencontrer les
autres membres dans des restaurants mal clairs et de chuchoter des secrets droite
gauche. Le problme est que le restaurant est si mal clair quelle a du mal voir si
la personne lautre bout de la table est aussi membre.
La socit Clique peut opter pour plusieurs solutions. Chaque membre peut porter
une liste des membres. Cela pose deux problmes. Premirement, tout le monde doit
transporter une importante base de donnes, et deuximement, ils doivent surveiller
de prs leurs listes des membres. D un autre ct, un secrtaire.de confiance pourrait
distribuer des cartes didentit signes numriquement. Ceci prsente lavantage sup
plmentaire de permettre aux tranger de vrifier lappartenance d un membre (pour
des remises chez lpicier par exemple), mais cela requiert un secrtaire de confiance.
Aucun membre de la socit Clique ne mrite une telle confiance.
Une solution originale consiste utiliser quelque chose du nom de a ccu m u lateu r
sens unique [126]. C est, une sorte de fonction de hachage sens unique, la diffrence
prs que c est, commutatif. C est dire quil est, possible d appliquer cette fonction
la liste des membres dans nimporte quel ordre en obtenant toujours la mme valeur.
On peut mme rajouter des membres toujours sans se soucier de lordre.
Aussi, voici ce quAlce fait. Elle calcule laccumulation de tous les noms des membres
except le sien. Ensuite, elle stocke le rsultat avec son nom. Bernard, ainsi que tous
les autres membres, font de mme. Maintenant, quand Alice et Bernard se rencontrent
dans le restaurant, mal clair, ils changent simplement leurs valeurs d accumulation et
leurs noms. Alice vrifie alors que lajout du nom de Bernard sa valeur daccumulation

4-13

Divulgation tout ou rien de secrets

103

produit le mme rsultat que lajout du nom d Alice sa propre valeur daccumulation.
Bernard fait de mme. Chacun sait alors que lautre est bien un membre. De plus, aucun
des deux na la moindre ide des identits des autres membres.
Encore mieux, on peut donner toutes les valeurs daccumulation des personnes ext
rieures. Alice peut alors prouver son appartenance la socit une personne extrieure
(peut-tre pour obtenir une remise au magasin local de contre espionnage) sans que la
personne extrieure puisse deviner la liste entire des membres.
Pour ajouter de nouveaux membres, il suffit denvoyer leurs noms aux autres.
Malheureusement, le seul moyen d effacer un membre et d envoyer tout le monde
une nouvelle liste et de recalculer les valeurs daccumulation. Mais la socit Clique
na besoin de faire cela que si un membre dmissionne; les membres morts peuvent
rester sur la liste. (Aussi trange que cela puisse paratre, cela na jamais pos de
problme).
Cest une ide intelligente qui entre en application chaque fois que vous dsirez les
mmes effets que les signatures numrique sans avoir recourt un signeur centralis.

4.13

Divulgation tout ou rien de secrets

Imaginez quAlice soit un ex-agent, secret de lex-Union sovitique, aujourdhui sans


emploi. Pour se faire de largent, elle vend des secrets. Toute personne prte en
payer le prix peut acheter un secret. Elle a mme un catalogue. Tous les secrets sont
mentionns avec un numro et avec des titres allchants : O est Jimmy Hoffa? ,
Qui contrle secrtement la Commission Trilatrale? , Pourquoi Boris Yeltsin
parat-il toujours avoir aval une couleuvre? , etc.
Alice ne donnera pas deux secrets pour le prix d un, ni la moindre information concer
nant nimporte quel secret. Bernard, un acheteur potentiel, ne veut pas acheter des
secrets au hasard, ni dire Alice quel secret il veut lui acheter. Cela ne regarde pas
Alice, sinon, elle pourrait ajouter la fin de son catalogue : Quels sont les secrets qui
intressent Bernard?
Un protocole de poker ne marchera pas dans ce cas-l car, la fin du protocole, Alice
et Bernard doivent mutuellement rvler leur jeu. B y aussi des astuces que Bernard
peut utiliser pour apprendre plus d un secret.
La solution sappelle les protocoles divulgation tout ou rien de secrets (aussi
connus sous le nom de A N D O S : all-or-nothing disclosure of secrets ) [249], car ds
que Bernard a obtenu linformation sur un quelconque secret dAlice, il a perdu toute
chance dapprendre quoi que ce soit concernant les autres secrets.
Il y a plusieurs protocoles A N D O S dcrits dans la littrature cryptographique. Certains
dentre eux seront dcrits dans le paragraphe 23.9.

4.14

Dpt de clefs

Voici comment Silvio

M lC A U

introduit ce sujet [1091] :

Les coutes tlphoniques, autorises par les autorits judiciaires, consti


tuent le moyen le plus efficace de la socit pour prvenir le crime et pour
confondre les criminels. Il y a donc une crainte lgitime quant la large

104

Chapitre 4

Protocoles intermdiaires

diffusion de la cryptographie clef publique, qui pourrait tre un outil


puissant dans les mains des organisations criminelles et terroristes. De fait,
plusieurs projets de loi proposent quune agence gouvernementale puisse,
dans certaines circonstances dfinies par la loi, tre capable d obtenir le
texte en clair de toute communication sur un rseau public. Actuellement,
cette demande se traduirait en une obligation pour tous les citoyens de:
1) utiliser un cryptosystme faible c est--dire, un cryptosystme que
les autorits (mais aussi nimporte qui d autre !) pourrait casser sans grand
effort; 2) remettre, a priori, leur clef secrte cette autorit. Il nest pas
tonnant quune telle alternative ait provoqu un toll gnral. La plupart
des citoyens concerns estiment que le secret de la vie prive doit passer
avant la scurit nationale et la mise en application de la loi.
Le dpt de clefs est au coeur du programme gouvernemental amricain C L IP P E R et
de son standard de chiffrement par clefs sous dpt Escrowed. Encryption Standard .
Il s agit ici de dvelopper un cryptosystme qui permetrait, la fois de protger la vie
prive de chacun et de faire des coutes sous autorisation judiciaire.
Ce standard tire sa fiabilit de puces rsistante linvestigation. Chaque puce de chif
frement aurait un numro d identification unique et une clef secrte. Cette clef est
divise en deux morceaux et fiche avec son numro dans deux organismes distincts de
dpt. Chaque fois que la puce chiffre un fichier de donnes, elle commence par chiffrer
la clef de session avec cette clef secrte unique. La clef de session chiffre et le numro
didentification de la puce sont transmis lors de la communication. Quand un organisme
de rpression veut dchiffrer le traffique chiffr avec une de ces puces, elle se procure
les clefs appropries au prs des organismes de dpt grce au numro d identification,
ensuite elle combine les deux clefs au moyen de lopration X O R , elle dchiffre la clef
de session, quelle peut utiliser pour dchiffrer le trafique de messages. U y a quelques
complications pour faire fonctionner cela au nez et la barbe des tricheurs; les dtails
seront abords au paragraphe 24.16. On peut faire la mme chose avec des logiciels en
utilisant la cryptographie clef publique [84, 1581, 1582, 1583].
M i c a l l i appelle son ide les c r y p t o s y s t m e s q u i t a b l e s [1091, 1090]6. Dans ces
cryptosystmes, la clef prive est morcelle et chaque morceau est confi une autorit
diffrente. Comme pour un schma de secret rparti, les autorits peuvent se mettre
ensemble pour reconstruire la clef prive. De plus, les morceaux ont la proprit de
pouvoir tre valids individuellement, sans reconstruire la clef prive.
Alice peut crer sa propre clef prive, la diviser en n morceaux et donner chacun des n
morceaux un dpositaire7. Aucun de ces dpositaires ne peut reconstruire individuel
lement la clef prive dAlice. Toutefois, chacun des dpositaires peut vrifier la validit
du morceau de clef qui lui a t confi ; Alice ne peut pas envoyer un des dpositaires
une chane de bits alatoire et esprer sen tirer ainsi. Si lautorit judiciaire autorise
une coute, les autorits comptentes pour faire respecter la loi peuvent rquisitionner
les n morceaux auprs des n dpositaires. Avec les n morceaux, les autorits peuvent
reconstruire la clef prive et peuvent placer une coute sur les lignes d Alice. En outre,
Martin, doit corrompre tous les n dpositaires pour tre capable de reconstruire la clef
prive dAlice et ainsi violer sa vie prive.
6 . Le gouvernem ent am rcain aurait pay un m illion de dollars M i c a l l i pou r l utilisation de son
brevet [1092, 1093]; des com pagnies de banques ont ensuite achet le brevet de M i c a l l i .
7. N ote du traducteur : en franais, on parle galement de fidicom missaire .

4-If

Dpt de clefs

105

Voici comment le protocole est dfini :


1 Alice cre sa paire clef prive, clef publique . Elle partage sa clef prive en
plusieurs morceaux publics et privs.

2 Alice envoie un morceau public et le morceau priv correspondant chaque


dpositaire. Ces messages doivent tre chiffrs. Elle envoie aussi la clef publique
au C D C .

3 Chaque dpositaire effectue un calcul pour vrifier que le morceau public et


le morceau priv dont il dispose sont corrects. Chaque dpositaire stocke le
morceau priv quelque part en scurit et envoie le morceau public au C D C.

4 Le C D C effectue un autre calcul sur les morceaux publics et la clef publique. Si


tout est correct, il signe la clef publique dAlice et soit il la renvoie celle-ci,
soit il laffiche dans une base de donnes quelque part.

Si une autorit judiciaire autorise une coute, alors chaque dpositaire remet son mor
ceau au C D C . Le C D C reconstruit alors la clef prive. Avant cela, ni le C D C , ni
aucun des dpositaires ne pouvait reconstruire individuellement la clef prive : tous les
dpositaires sont requis pour reconstruire la clef.
Tout algorithme clef publique peut tre rendu quitable de cette manire. Certains
algorithmes particuliers sont dcrits dans le paragraphe 23.10. Larticle de M lC A L i
[1091, 1090] prsente des mthodes pour combiner cela avec un schma seuil, de
manire quun sous-ensemble des dpositaires (par exemple, 3 parmi 5) soit ncessaire
pour reconstruire la clef prive. Il montre aussi comment combiner cela avec un transfert
inconscient (voir 5.5) afin que les dpositaires ne puissent pas connatre lidentit du
propritaire de la clef prive reconstruite.
Les cryptosystmes quitables ne sont pas parfaits. Un criminel peut exploiter le sys
tme en utilisant un canal subliminal (voir 4.2) pour insrer une autre clef secrte
dans son morceau. De cette manire, il peut communiquer de faon sre avec quelquun
dautre en utilisant cette clef subliminale sans avoir se soucier dune mise sur coute
judiciaire. Un autre protocole appel d p t d e clefs s ret in tgre rsoud ce
problme [957, 834]. Lalgorithme et le protocole seront dcrits au paragraphe 23.10.

La politique du dpt de clefs


Mis part les plans gouvernementaux de dpts de clefs, il existe plusieurs propositions.
Ceci nous amne nous poser la question suivante: quels sont les avantages pour
lutilisateur de mettre sa clef sous dpt?
En fait, il ny en a aucun. L utilisateur nen retire rien quil ne puisse se procurer luimme. Il peut sauvegarder ses clefs si il veut (voir 8.8). Le dpt de clef garanti que
la police peut couter ses conversations ou lire ses dossiers mme sils sont chiffrs. Il
garanti que la NSA peut couter ses appels internationaux sans autorisation, mme
sils sont chiffrs. Peut-tre sera-t-il autoris utiliser la cryptographie dans des pays
qui maintenant lont bannie, mais a semble tre le seul avantage.
Le dpt de clef a de considrables dsavantages. Lutilisateur doit faire confiance
lagent de scurit des dpts, ainsi qu lintgrit des personnes impliques dans la
procdure. Il doit croire que les agents de dpts ne changeront pas leur politique,
que le gouvernement ne changera pas ses lois et que ceux qui ont toute autorit pour

106

Chapitre 4

Protocoles intermdiaires

obtenir ses clefs le fasse dans le cadre de la loi et avec responsabilit. Imaginez une
attaque terroriste massive New York; quelles seraient les limites dpasses par la
police en rpercussion?
Il est dur d imaginer des plans de dpts de chiffrement fonctionnant tels que ses parti
sans le voudraient, c est--dire sans aucune sorte de pression lgale. La prochaine tape
vidente est de bannir lutilisation des chiffrements non dposs. C est probablement la
seule manire de rendre un systme commercial lucratif, et cest certainement la seule
manire de les faire utiliser par des criminels et terroristes techniquement trs quips.
Il nest pas facile de dire sil sera ais de faire disparatre la cryptographie non dpo
se, ou si cela affectera la cryptographie en tant que discipline acadmique. Comment
puis-je rechercher des programmes dalgorithmes cryptographiques sans avoir en ma
possession du matriel de chiffrement non dpos; aurai-je besoin d une autorisation
spciale ?
Il y a des questions lgales. Les dpts de clefs engageront-ils la responsabilit des uti
lisateurs sil y avait une fuite de donnes chiffres? Si le gouvernement amricain essaie
de protger les agences de dpts, cela ne voudrait-il pas dire que c est lutilisateur qui
sera systmatiquement en faute si le secret devait tre compromis soit par lutilisateur
soit par lagence de dpts?
Que se passerait-il si une grande entreprise de dpts de clefs, gouvernementale ou
civile, se faisait voler toutes ses clefs mises en dpt? Que se passerait-il si le gou
vernement amricain essayait d touffer laffaire? Cela aurait un indniable effet sur la
volont des utilisateurs continuer utiliser le dpt de clefs. Si ce nest pas volontaire,
quelques scandales de ce genre auraient pour effet d augmenter la pression politique
pour soit le rendre volontaire, soit rajouter des rgles complexes cette industrie.
Ce qui serait encore plus dangereux serait un scandale rendu publique o un membre
de lopposition ladministration en place, ou un vif opposant aux agences de ren
seignement ou de police, aurait t sous surveillance pendant plusieurs annes. Ceci
pourrait faire monter un sentiment hostile au chiffrement mis sous dpt.
Si les signatures de clefs sont comme les chiffrement de clefs mises sous dpt, il y a
alors d autres dbouchs. Peut-on accepter des autorits quelles utilisent des signatures
de clefs pour mener des oprations contre des criminels? Est-ce-que lauthenticit des
signatures bases sur des clefs dposes sera reconnue en cour de justice? Quels recours
auront les utilisateurs si les autorits utilisent leurs signatures de clefs pour signer des
contrats dfavorables, pour aider une industrie tatise, ou pour voler de largent?
La globalisation de la cryptographie amne toute une srie de questions. Est-ce-que les
politiques de dpts de clefs seront compatibles entre diffrentes nations? Est-ce-que les
entreprises multi-nationales devront dposer leurs clefs sparment dans chaque pays
afin de respecter les diffrentes lgislations? Sans un minimum de compatibilit, un
des avantages supposs des dpts de clefs (utilisation internationale de chiffrement)
disparat.
Que se passerait-il si des pays ne faisaient pas confiance en la scurit des agences
de dpts de clefs? Comment les utilisateurs feraient-ils des affaires? Leurs contrats
digitaux seront-ils confirms par la cour, ou est-ce-que le fait que leur signature de
clef soit sous dpt aux Etats-Unis leur permet de dire quen Suisse quelquun d autre
aurait pu signer ce contrat lectronique ? Y aura-t-il des dispositions spciales pour les
personnes faisant des affaires dans de tels pays?
Et propos de lespionnage industriel, il ny a aucune raison de croire que les pays

4-14

Dpt de clefs

107

faisant de lespionnage industriel pour leurs grandes entreprises ou leurs entreprises


nationalises ralentiront leurs actions sur les systmes de chiffrement des dpts de
clefs. En effet, puisquaucun pays ne va autoriser les autres surveiller ses oprations de
renseignement, lutilisation tendue de chiffrements dposs augmentera probablement
la pose dcoutes tlphoniques.
Mme si les pays respectueux du droit civil utilisent le dpt de clefs pour la seule
poursuite lgitime des criminels et des terroristes, on peut tre certain quil sera aussi
utilis pour traquer des dissidents, faire chanter des opposants politiques, etc... Les
communications digitales offrent aujourdhui, la diffrence des technniques analo
giques, la possibilit de surveiller de manire bien plus pousse les mouvements des
citoyens, les opinions, les achats et les associations.
Il nest pas facile de dire si cela affectera les dpts de clefs commerciaux, except que
dans 20 ans, vendre la Turquie ou la Chine un systme de dpt de clefs prt
lemploi ressemblera fortement vendre des matraques en Afrique du Sud dans les
annes 1970, ou construire une usine chimique en Iraq en 1980. Pire, des enregistre
ments faciles et indtectables de communications pourront inciter des gouvernements
surveiller les communications de nombreux de leurs citoyens, mme ceux qui navaient
jamais essay auparavant. Il ny a pas de garantie que les dmocraties librales seront
insensibles cette tentation.

Chapitre 5

Protocoles avancs
5.1

Preuves divulgation nulle

Alice : Je connais le mot de passe de lordinateur de la Rserve Fdrale


Amricaine, la recette secrte de la sauce de McDonald et le contenu du
volume 4 de louvrage de K n u t h .
Bernard : Non, tu ne les connais pas.
Alice : Si, je les connais.
Bernard : Que non !
Alice : Mais si !
Bernard: Prouve-le!
Alice : Bon, je vais tout te dire. (Elle murmure loreille de Bernard.)
Bernard: C est intressant. Maintenant, je sais aussi. Et je vais tout
raconter au Washington Post.
Alice: Ae!
Malheureusement, le moyen le plus simple pour Alice de prouver Bernard quelle
connat un secret est de lui dvoiler celui-ci. Mais alors, partageant le secret Bernard
peut ensuite le raconter qui veut bien lentendre et Alice ny peut rien. (Dans la
littrature, d autres acteurs montent sur les planches pour ce genre de protocoles.
Patricia joue gnralement le rle du plaideur et Victor le rle du vrificateur. Ces
noms sont utiliss dans les exemples venir.)
En utilisant les fonctions sens unique, Patricia peut effectuer une p reu v e d iv u l
gation nulle [628]. Ce protocole dmontre Victor que Patricia a une information
mais il ne donne aucun moyen Victor de dterminer quelle est cette information.
Ces preuves prennent la forme de protocoles interactifs. Victor pose Patricia une srie
de questions. Si Patricia connat linformation, elle peut rpondre toutes les questions
correctement. Si elle ne la connat pas, elle a 50 % de chances de rpondre correctement.
Aprs une dizaine de questions ou plus, Victor sera convaincu que Patricia connat
linformation. De plus, aucune des questions ou rponses ne donne Victor le moindre
indice concernant linformation de Patricia except le fait que Patricia la connat.

Chapitre 5

110

Protocoles avancs

Preuve divulgation nulle de base


Jean-Jacques Q u i s q u a t e r et Louis G u il l o u [1292] illustrent les preuves divulgation
nulle laide de lhistoire d une grotte. La grotte, illustre la figure 5.1, a un secret.
Celui qui connat la formule magique peut ouvrir la porte entre C et D. Pour toute
autre personne, les deux tunnels mnent un cul-de-sac.

F lG . 5.1 - Grotte divulgation nulle

Patricia connat le secret de la grotte. Elle veut le prouver Victor mais elle ne veut
pas lui rvler la formule magique. Voici comment elle le convainc :
1 Victor se place au point A.
2 Patricia entre dans la grotte jusquau point C ou jusquau point D.
3 Aprs que Patricia a disparu dans la grotte, Victor va jusquau point B .
4 Victor crie Patricia en lui demandant :
(a) soit de sortir par le tunnel de gauche ;

(b) soit

de sortir par le tunnel de droite.

5 Patricia s excute, en utilisant la formule magiquesi ncessaire.


6 Patricia et Victor rptent les tapes 1 5 unnombre n de fois.
Supposons que Victor filme tout ce quil voit avec une camra. Il enregistre disparais
sant dans la cave, il enregistre le moment o il crie Patricia par quel tunnel elle doit
sortir et il filme Patricia sortant. Il enregistre les n essais. En voyant ce film, Christine
serait-elle convaincue que Patricia connat la formule magique? Non Victor et Patricia
auraient pu sentendre lavance ce que Victor crierait et Patricia naurait eu qu
aller dans le bon tunnel. Elle serait ainsi toujours sortie du bon ct sans connatre
la formule magique. Us pourraient encore procder autrement. Patricia va dans un des

5.1

Preuves divulgation nulle

111

passages et Victor lui fait une requte alatoire. Si Victor a demand le bon passage,
tout va bien; sinon, ils coupent cette squence du film final. De quelque manire que
ce soit, Victor peut obtenir un film avec exactement la mme squence d vnements
que dans une preuve relle o Patricia connat la formule magique.
Cela prouve deux choses. Premirement, Victor ne peut pas convaincre un troisime
parti de ta validit de la preuve. Deuximement, le protocole a une divulgation nulle.
Dans le cas o Patricia ne connaissait pas la formule magique, Victor napprendra
videmment rien en regardant le film. Mais comme il ny a pas de moyen de distinguer
un enregistrement rel d un faux, Victor ne peut rien apprendre de la preuve relle,
elle a forcment une divulgation nulle.
La technique utilise dans ce protocole est appele couper-et -choisir cause de sa
similitude avec le protocole classique pour diviser quelque chose quitablement :
1 Alice coupe en deux.
2 Bernard choisit une des moitis pour lui-mme.
3 Alice prend la moiti restante.
Il est dans lintrt d Alice de partager honntement ltape 1, car Bernard peut
choisir sa part ltape 2. Michael R a b i n est le premier avoir utilis la technique
couper-et-choisir en cryptographie [1293]. Les concepts de p r o to c o le in te ra ctif
et de divulgation nulle furent formaliss par la suite [628, 629].
La technique couper-et~choisir marche parce que Patricia ne peut pas deviner coup
sr le ct par lequel Victor lui demandera de sortir. Si elle ne connat pas le secret,
elle ne peut ressortir que par o elle est entre. Elle a 50 % de chance de deviner le
ct par lequel Victor lui demandera de sortir au tour suivant, elle a donc 50 % de
chance de pouvoir le duper. Les chances de pouvoir le duper en deux tours sont de
25 % et les chances de pouvoir le duper en n tours n fois sont de une sur 2n . Aprs
16 tours, Patricia a une chance sur 65 536 de duper Victor chaque fois. Victor peut
raisonnablement conclure que si les 16 preuves de Patricia sont toutes valables, alors
elle doit connatre la formule magique pour ouvrir la porte entre C et D. (Lanalogie
avec la grotte nest pas parfaite. Patricia peut simplement prendre un des tunnels et
ressortir par lautre ; la technique couper-et-choisir n est pas ncessaire. Toutefois, la
preuve mathmatique en a besoin.)
Faites lhypothse que Patricia connat une information et que cette information est la
solution d un problme trs difficile. Le protocole de base consiste en plusieurs tours :
1 Patricia utilise son information et un nombre alatoire pour transformer son
problme en un autre problme trs difficile qui est isomorphe la fonction
initiale. Elle utilise alors son information et le nombre alatoire pour rsoudre
le nouveau problme difficile.

2 Patricia met en gage la solution de ce nouveau problme laide dun protocole


de mise en gage quelconque.

3 Patricia dvoile Victor le nouveau problme trs difficile. Victor ne peut pas
utiliser ce nouveau problme pour dduire la moindre information concernant,
le problme initial ou sa solution.

4 Victor demande Patricia :


(sl) soit de prouver que l ancien et le nouveau problmes sont isomorphes,

Chapitre 5

112

Protocoles avancs

(b) soit

de dvoiler la solution mise en gage ltape 2, et de prouver que c est


bien une solution du nouveau problme.

5 Patricia s excute.
6 Patricia et Victor effectuent les tapes 1 5 un nombre n de fois.
Vous souvenez-vous de la camra dans lpisode de la cave? On peut faire la mme
chose ici. Victor peut transcrire tous ses changes entre lui et Patricia. Il ne peut pas
utiliser la transcription pour convaincre Christine, car il peut sentendre avec Patricia
pour construire une simulation qui maquille le savoir de Patricia. Cet argument prouve
que le protocole est divulgation nulle.
Les mathmatiques sous-jacentes ce type de preuve sont compliques. Les problmes
et les transformations alatoires doivent tre choisis judicieusement de manire que
Victor nobtienne pas la moindre information concernant la solution du problme ini
tial, mme aprs plusieurs itrations du protocole. Tous les problmes difficiles ne
peuvent pas tre utiliss pour des preuves divulgation nulle mais c est, le cas pour
nombre d entre eux.

Isomorphisme de graphes
Un exemple permettra de mieux illustrer ce concept. Celui-ci vient de la thorie des
graphes [621, 624]. Un graphe est un rseau de lignes connectant des points. Si deux
graphes sont identiques mis part les noms des tiquettes, on dit quils sont iso
m orph es. Pour des graphes extrmements grands, il peut falloir des sicles de calcul
pour vrifier sils sont isomorphes; c est lun des problmes difficiles abords au para
graphe 11.1.
Faites lhypothse que Patricia connat lisomorphisme entre deux graphes G i et GV
Le protocole suivant convainc Victor que Patricia connat bien cet isomorphisme :
1 Patricia permute alatoirement les nuds de G\ pour obtenir un autre graphe.
H qui est isomorphe G i. Comme Patricia connat lisomorphisme entre G\ et
H , elle connat aussi lisom.orphisme entre H et G'2 Pour toute autre personne,
trouver l isomorphisme entre G'i et H ou entre G'2 et H , est aussi difficile que
de trouver lisomorphisme entre G\ et G 2 2 Patricia envoie H Victor.
3 Victor demande Patricia:
{a) soit de lui prouver que G\ et H sont isomorphes ;

(b) soit

de lui prouver que G 2 et H sont isomorphes.

4 Patricia s excute :
{a) soit elle prouve que Gi et H sont isomorphes sans prouver que G 2 et H
sont isomorphes ;

( b ) soit elle prouve que G 2 et H sont isomorphes sans prouver que G i et H


sont isomorphes.

5 Patricia et Victor rptent les tapes 1 f un nombre n de fois.

5.1

Preuves divulgation nulle

11S

Si Patricia ne connat pas lisomorphisme entre G\ et G 2 , elle ne peut pas crer un


graphe H qui soit isomorphe aux deux autres. Elle peut alors uniquement crer un
graphe qui est isomorphe soit G \, soit G2 mais pas aux deux. Comme dans lexemple
prcdent, elle na que 50 % de chance de deviner quelle preuve Victor lui fera subir
ltape 4.
Le protocole ne donne aucune information utile Victor pour laider dcouvrir liso
morphisme entre Gi et G2 . Comme Patricia engendre un nouveau graphe H chaque
tour du protocole, il ny a aucune information pour Victor, mme aprs plusieurs
tours. 1 1 ne pourra pas dcouvrir lisomorphisme entre Gi et G2 partir des rponses
de Patricia.
Victor reoit une nouvelle permutation de H h chaque tour, ainsi que lisomorphisme
entre H et G\ ou bien Gi- Victor pourrait aussi bien gnrer cela lui-mme. Le fait
que Victor peut crer une simulation prouve que le protocole est divulgation nulle.

Circuit hamiltonien
Une variante de cet exemple fut prsente pour la premire fois par Manuel B l u m [133].
Patricia connat un chemin ferm continu, suivant les lignes, et qui passe par tous les
points une fois et une seule. Un tel chemin est appel circu it ham iltonien .
Trouver un tel chemin est un autre problme difficile. Patricia dispose de cette
information quelle a certainement obtenue en construisant le graphe partir d un
certain circuit hamiltonien et elle veut convaincre Victor quelle connat un tel che
min.
Patricia connat le circuit hamiltonien du graphe G. Victor connat G mais pas le
circuit hamiltonien. Patricia veut prouver quelle connat ce circuit hamiltonien sans
le dvoiler. Voici comment le protocole se droule :
1 Patricia permute alatoirement le graphe G. Elle dplace les points et change
leurs tiquettes pour former un nouveau graphe, H . Comme G et H sont topologiquement isomorphes (cest--dire, des graphes identiques), si elle connat
un circuit hamiltonien de G, elle peut alors facilement trouver un circuit hamil
tonien de H . Si elle navait pas cr H elle-mme, dterminer lisomorphisme
entre les deux graphes aurait t un problme autrement plus difficile ; cela peut
prendre des annes de temps de calcul. Elle chiffre ensuite H et obtient H ' 1.

2 Patricia donne une copie de H ' Victor.


3 Victor demande Patricia :
(sl) soit de lui prouver que H est le chiffrement dun graphe isomorphe G ;

(b ) soit de lui montrer un circuit hamiltonien de H .


4 Patricia s excute :
(a) soit elle prouve que H est le chiffrement dun graphe isomorphe G en
rvlant la permutation et en dchiffrant tout, sans montrer un circuit
hamiltonien de G ou H ;
1.
Cela doit tre un chiffrement probabiliste de chaque ligne connectant deu x points de H , c est
dire un 0 chiffr ou un 1 chiffr pou r chaque ligne dans H .

Chapitre 5

U4

Protocoles avancs

(b ) soit elle montre un cycle hamiltonien de H en ne dchiffrant que les lignes


constituant le circuit hamiltonien, sans prouver que G et H sont topologiquement isomorphes.

5 Patricia et Victor effectuent les tapes 1 4 un nombre n de fois.


Si Patricia est honnte, elle peut produire la preuve ltape 3 Victor. Toutefois, si
elle ne connat pas un circuit hamiltonien de G, elle ne peut pas crer un graphe H qui
lui permette de relever les deux dfis. Le mieux quelle puisse alors faire est soit de crer
un graphe isomorphe G, soit de crer un graphe qui ait le mme nombre de lignes et
de points avec un circuit hamiltonien correct. Comme elle a 50 % de chance de deviner
quelle preuve Victor lui fera passer ltape 3, Victor peut rpter le protocole assez
de fois pour se convaincre que Patricia connat un circuit hamiltonien de G.

Preuves divulgation nulle en parallle


Le protocole de base de preuve divulgation nulle ncessite n changes entre Patricia
et Victor. Pourquoi ne pas les faire tous en parallle :
1 Patricia utilise son information et n nombres alatoires pour transformer le
problme difficile en n problmes isomorphes diffrents. Elle utilise ensuite son
information et les nombres alatoires pour rsoudre les n nouveaux problmes
difficiles.

2 Patricia met en gage la solution aux n nouveaux problmes.


3 Patricia dvoile les n nouveaux problmes Victor. Victor ne peut pas utili
ser ceux-ci pour obtenir de linformation concernant le problme initial ou sa
solution.

4 Pour chacun des nouveaux problmes difficiles, Victor demande Patricia :


(a ) soit de lui prouver que les nouveau et ancien problmes sont isomorphes ;

(b) soit

de lui montrer la solution quelle a mise en gage l tape 2 et lui


prouver que c est une solution du nouveau problme.

5 Patricia s excute pour chacun des nouveaux problmes difficiles.


Malheureusement, ce nest pas si simple. Ce protocole ne remplit pas les mmes pro
prits de divulgation nulle que le protocole prcdent. A ltape (4), Victor peut choisir
comme requtes le rsultat d une fonction de hachage sens unique applique aux va
leurs mises en gages la premire tape, rendant ainsi la transcription non simulable.
Le protocole est toujours divulgation nulle, mais dune manire diffrente. Il a lair
st en pratique, mais personne ne sait comment le prouver. Nous savons que dans cer
taines circonstances, certains protocoles pour certains problmes peuvent marcher en
parallle en restant divulgation nulle [251, 112, 548, 618].

Preuves divulgation nulle non interactives


Christine ne peut pas tre convaincue parce que le protocole est interactif et elle nest
pas partie prenante du protocole. Pour convaincre Christine, et toute autre personne
qui serait intresse, on a besoin dun protocole non interactif.

5.1

Preuves divulgation nulle

115

Des protocoles ont t invents pour des preuves divulgation nulle non interactives
[1380, 204, 1381, 207]. Ces protocoles ne ncessitent aucune interaction; Patricia peut
les publier et ainsi apporter la preuve quiconque se donne la peine de la vrifier.
Le protocole de base est similaire celui des preuves divulgation nulle en parallle,
mais une fonction sens unique prend la place de Victor:
1 Patricia utilise son information et n nombres alatoires pour transformer son
problme difficile en n problmes isomorphes diffrents. Elle utilise ensuite son
information et les nombres alatoires pour rsoudre les n nouveaux problmes
difficiles.

2 Patricia met en gage les solutions aux n nouveaux problmes difficiles.


3 Patricia utilise toutes ces mises en gage comme entre une fonction de ha
chage sens unique. Aprs tout, les mises en gage ne sont rien dautre que des
suites de bits. Elle sauve alors les n premiers bits du rsultat de sa fonction de
hachage sens unique.

4 Patricia prend les n bits engendrs ltape S. Pour chaque ie nouveau pro
blme difficile suivant que le ie bit vaut 0 ou 1 elle excutera lune des
deux tapes suivantes :
(a.)sil vaut 0 , elle prouve que lancien et le nouveau problmes sont iso
morphes ;

(b ) s il vaut 1, elle dvoile la solution quelle a mise en gage ltape 2 et


prouve que c est une solution du nouveau problme.

5 Patricia publie toutes les mises en gage de ltape 2 ainsi que les rponses de
ltape 46

Victor, Christine, ou toute autre personne intresse, vrifie que les tapes 1
5 ont t excutes correctement.

Cest tonnant : Patricia publie des donnes qui ne contiennent pas la moindre infor
mation sur son secret et pourtant ces donnes peuvent tre utilises pour convaincre
nimporte qui de lexistence du secret. On peut aussi utiliser le protocole pour des
schmas de signature numrique en appliquant la fonction de hachage sens unique
la fois aux messages initiaux et au message signer.
Cela marche parce que la fonction de hachage sens unique se comporte comme un
gnrateur alatoire non biais de bits. Pour que Patricia puisse tricher, elle devrait
tre capable de prdire le rsultat de la fonction de hachage sens unique. Rappelezvous que si elle ne connat pas la solution du problme difficile, elle ne peut rpondre
qu un des dfis de ltape 4 mais pas aux deux. Si elle arrivait savoir d avance
ce que la fonction de hachage sens unique donnera, elle pourrait tricher. Toutefois,
Patricia ne dispose daucun moyen pour forcer la fonction de hachage sens unique
produire certains bits, ou pour deviner ceux qui seront produits. La fonction sens
unique remplace en fait Victor dans le protocole, en choisissant au hasard un des deux
dfis ltape 4.
Pour un protocole non interactif, il doit y avoir bien plus ditrations dfi-rponse .
Patricia, et non Victor, choisit les problmes difficiles laide de nombres alatoires.
Elle peut prendre diffrents problmes, donc diffrents vecteurs de bits de mise en gage,

Chapitre 5

116

Protocoles avancs

jusqu ce que le rsultat de la fonction de hachage sens unique lui convienne. Pour
le protocole interactif, 1 0 itrations sont suffisantes (cela donne une probabilit de 1
chance sur 2 10 = 1024 que Patricia puisse tricher). Pour le protocole non interactif ce
nest pas suffisant. Rappelons que Martin peut toujours relever un des deux dfis
ltape 4. Il peut essayer de deviner les dfis quil devra relever ltape 4, effectuer
les tapes 1 3, et regarder sil a bien devin. Dans le cas contraire, il peut rpter
lopration jusqu un coup de chance. Un ordinateur permet aisment de faire 1024
tentatives. Pour se prmunir de cette attaque exhaustive, les protocoles non interactifs
requirent 64 itrations, ou mme 128, pour tre valables.
C est l tout lintrt dutiliser une fonction de hachage sens unique: Patricia ne peut
pas prdire la sortie de la fonction car elle ne peut pas prdire son entre. Les mises en
gage utilises en entre ne sont connues quaprs avoir rsolu les nouveaux problmes.

Gnralits
B l u m a prouv que tout thorme mathmatique peut tre converti en un graphe tel
que la preuve du thorme est quivalente un circuit hamiltonien. On trouvera dans
[623] une preuve du cas gnral statuant que tout problme NP admet une preuve
divulgation nulle si lon admet lexistence des fonctions de hachage sens unique et donc
de bons algorithmes de chiffrement. De cette faon toute preuve mathmatique peut
tre convertie en une preuve divulgation nulle. Grce cette technique, les chercheurs
peuvent prouver au monde entier quils connaissent la preuve dun thorme particulier
sans rien rvler de celle-ci. En effect, B l u m aurait pu publier ses rsultats sans les
dvoiler.
On distingue aussi les preu ves d iv u lg a tion m inim ale. Dans une preuve divul
gation minimale, les proprits suivantes sont vrifis :

- Patricia ne peut pas tromper V ictor: si Patricia ne connat pas la preuve, ses
chances de convaincre Victor sont ngligeables.
Victor ne peut pas tromper Patricia. Il na pas le moindre indice concernant la
preuve, part le fait que Patricia connat la preuve. En particulier, Victor ne peut
faire la dmonstration personne sans d abord en faire la preuve par lui-mme
partir de zro.
Pour les protocoles de preuve divulgation nulle, une proprit supplmentaire doit
tre vrifie :
- Victor napprend rien de Patricia quil ne puisse apprendre par lui-mme mis
part le fait que Patricia connat le secret.
Il y a une diffrence notable entre les preuves divulgation minimale et les preuves
divulgation nulle2. Ces concepts ont t prsents dans [628, 621, 624]. Des thories
plus pousses, bases sur des concepts mathmatiques diffrents ont t dveloppes
indpendamment dans [244, 323, 243].
2.
C e sujet dpasse le cadre de ce livre mais le lecteur intress pou rra faire b o n usage de la
bibliographie la fin de cet ouvrage.

5.2

Identification par preuve divulgation nulle

117

Il y a de plus diffrentes sortes de preuves divulgation nulle :


- P arfaite. Il existe un simulateur qui donne des transcriptions ayant la mme
distribution que les transcriptions relles3.
- P ro b a b iliste . Il existe un simulateur qui donne des transcriptions ayant la mme
distribution que les transcriptions relles, mis part un nombre constant d ex
ceptions.
- C alcu la toire. Il existe un simulateur qui donne des transcriptions que lon ne
peut distinguer des transcriptions relles.
Un simulateur nexiste peut-tre pas, mais on peut prouver que Victor
napprendra jamais de la preuve une quantit polynomiale d information4.

- In u tile .

Au fil des annes, pas mal de recherches ont t effectues, tant sur le plan thorique
que sur le plan pratique, sur les preuves divulgation minimale et divulgation nulle.
Mike B u r m e s t e r et Yvo D e s m e d t ont invent les p r e u v e s i n t e r a c t i v e s d i f f u s e s ,
o un plaideur peut diffuser une preuve interactive divulgation nulle un grand
groupe de vrificateurs [284]. Une horde de cryptographes a prouv que tout ce qui
peut tre prouv par une preuve interactive peut ltre aussi laide d une preuve
interactive divulgation nulle [755, 122].
Un bon article gnral sur le sujet est [550]. Pour des dtails mathmatiques suppl
mentaires, des variantes, des protocoles et des applications consultez [592, 621, 244,
323, 623, 123, 245, 1536, 1561, 242, 593, 619, 511, 594, 217, 113, 219, 833, 104, 950,
624, 480, 617, 620, 218, 1379, 76]. On a crit normment sur le sujet.

5.2

Identification par preuve divulgation


nulle

Dans le monde rel, nous utilisons des objets physiques pour prouver notre identit :
carte didentit, passeport, permis de conduire, cartes de crdits, etc. Les documents
contiennent quelque chose qui les rattache une personne : une photo, gnralement,
mais ce pourrait tout aussi bien tre une empreinte digitale, une empreinte rtinienne
ou une radiographie dentaire. Ne serait-ce pas intressant de fane la mme chose nu
mriquement?
Lutilisation des preuves divulgation nulle comme preuve d identit fut propose pour
la premire fois par Uriel F e i g e , Amos F i a t et Adi S h a m i r [568, 569]. La clef prive
dAlice devient fonction de son identit . Grce une preuve divulgation nulle, elle
prouve quelle connat sa clef prive et ainsi par la mme occasion prouve son identit.
On trouvera des algorithmes ddis cela au paragraphe 23.11.
Cette ide est vraiment efficace. Elle permet aux gens de prouver leur identit sans
aucune vidence matrielle. Toutefois, ce nest pas achev. Voici quelques exemples
dabus.
3. C est le cas des problm es du circuit ham iltonien et de l isom orphism e de graphes.
4. C est le cas de la preuve en parallle.

118

Chapitre 5

Protocoles avancs

Le problme du grand matre aux checs


Voici comment Alice, qui ne connat mme pas les rgles du jeu dchecs, peut vaincre
un grand matre. Elle dcide d affronter Gary K A S P A R O V et Anatoly K a r p o v , en
mme temps et au mme endroit mais dans des pices spares. Elle joue les blancs
contre K a s p a r o v et les noirs contre K a r p o v Chaque grand matre ignore la prsence
de lautre.
K a r p o v , avec les blancs, joue son premier coup. Alice note le coup et va dans la
pice o se trouve K a s p a r o v . Elle joue alors avec les blancs exactement ce coup-l.
K a s p a r o v joue ensuite son premier coup avec les noirs. Alice note le coup et va dans
la pice o se trouve K a r p o v et joue le coup de K a s p a r o v contre K a r p o v . Cela
continue ainsi jusqu ce quelle gagne la partie contre lun et perde contre lautre (ou
encore quelle termine les deux parties sur un match nul).
En fait, K a s p a r o v joue contre K a r p o v , et Alice joue simplement le rle d interm
diaire entre les joueurs, imitant les coups d un grand matre sur lchiquier de lautre.
Toutefois si ni K a s p a r o v , ni K a r p o v nest au courant de la prsence de lautre,
chacun sera bien surpris par la qualit de jeu dAlice.
Ce type de supercherie peut tre utilis contre les identifications par preuve divul
gation nulle [483, 130]. Pendant quAlice prouve son identit Martin, celui-ci peut
prouver en mme temps Bernard quil est Alice.

La supercherie des mafiosi


Lors d une prsentation des techniques d identification par preuve divulgation nulle,
Adi S h a m i r dit [1419] : Je pourrais aller un magasin gr par la mafia un million
de fois et ils ne seraient toujours pas capables de se faire passer pour moi.
Voici comment la mafia peut le faire. Alice mange au Petit Bernard , un restaurant
gr par la mafia. Christine fait ses emplettes chez David Dior , une bijouterie de
luxe. Bernard et Christine sont tous deux membres de la mafia et ils communiquent
par une liaison radio secrte. Alice et David ne sont au courant de rien.
A la fin du repas d Alice, quand elle sapprte payer et prouver son identit
Bernard, celui-ci signale Christine que la supercherie peut commencer. Christine
achte quelques diamants trs chers et sapprte prouver son identit David. Ensuite,
pendant quAlice prouve son identit Bernard, celui-ci transmet par radio linforma
tion Christine et Christine effectue le mme protocole avec David. Quand David
pose une question lors du protocole, Christine transmet la question Bernard qui de
mande Alice. Quand Alice rpond, Bernard transmet la bonne rponse Christine.
De fait, Alice ne fait que prouver son identit David. Bernard et Christine ne font que
sinterposer dans le protocole et font transiter les messages de lun lautre. Quand
le protocole se termine, Alice a prtendument achet des diamants trs chers (avec
lesquels Christine disparat dans la nature).

La supercherie des terroristes


Si Alice est prte collaborer avec Christine, elles peuvent aussi duper David. Dans
ce protocole, Christine est une terroriste rpute. Alice laide entrer dans le pays.
David est lofficier d immigration. Alice et Christine sont connectes par une liaison
radio secrte.

5.2

Identification par preuve divulgation nulle

119

Quand David pose des questions Christine dans le cadre du protocole de preuve
divulgation nulle, Christine les relaie par radio Alice, qui y rpond elle-mme.
Christine donne ces rponses-l David. En ralit, Alice prouve son identit David,
avec Christine faisant loffice de voie de communication. Quand le protocole se termine,
David pense que Christine est Alice et la laisse entrer dans le pays. Trois jours plus
tard, Christine commet un acte terroriste.

Propositions de solutions
Les supercheries des mafiosi et des terroristes sont toutes deux ralisables parce que
les conspirateurs communiquent par une liaison radio secrte. Un moyen dviter ces
fraudes consisterait exiger que toutes les identifications aient lieu dans une cage
de Faraday, qui bloque toutes les missions lectromagntiques. Dans lexemple des
terroristes, cela garantirait David que Christine ne reoit pas ses rponses dAlice.
Dans lexemple des mafiosi, Bernard pourrait construire une fausse cage de Faraday
dans son restaurant mais le bijoutier David en aurait une vraie : Bernard et Christine ne
pourraient pas communiquer. Pour rsoudre le problme du grand matre aux checs,
il faudrait, obliger Alice reter assise jusqu la fin de la partie.
Thomas B e t h et Y vo D e s m e d t proposent une autre solution qui utilise des horloges
prcises [155]. Si chaque tape du protocole doit se drouler un instant donn prcis,
les conspirateurs nauront pas de temps pour communiquer. Dans le cas de lhistoire des
grands matres aux checs, si chaque coup doit tre jou quand laiguille des secondes
passe par 0, alors Alice naura pas le temps de courir d une pice lautre. Bernard et
Christine nauront pas le temps de se passer les questions et les rponses.

La supercherie aux identits multiples


Il existe dautres moyens de violer les preuves divulgation nulle, dcrits galement
dans [483, 130]. Dans certaines ralisations, lidentit de ceux qui enregistrent une clef
publique nest pas contrle. Ainsi, Alice peut avoir plusieurs clefs prives et donc
plusieurs identits. Cela peut tre trs utile si elle a lintention de frauder le fisc. Alice
peut aussi commettre un crime et disparatre. Tout d abord, elle cre et publie plusieurs
identits. Elle nutilise pas lune d entre elles. Ensuite, elle se sert de cette identit-l
une fois et commet un crime de manire que celui qui la identifie soit le tmoin. Le
tmoin connat lidentit de la personne qui a commis le crime, mais Alice ne se sert
plus jamais de cette identit on ne pourra pas retrouver sa trace.
Pour viter cela, il devrait exister une technique qui empche chaque personne davoir
plus dune identit. Dans [130], les auteurs suggrent lide terrifiante de bbs
infalsifiables qui ne peuvent pas tre clons et qui ont un numro unique grav dans
leur code gntique. Ils suggrent aussi que chaque bb devrait requrir une identit
sa naissance (de fait, ce serait les parents qui devraient faire les dmarches car les bbs
ont dautres proccupations). Il est facile de tricher dans ce cas : les parents pourraient
requrir plusieurs identits la naissance de lenfant. A la fin, le caractre unique d un
individu serait bas sur la confiance.

Chapitre 5

120

Protocoles avancs

Le prt de passeports
Alice veut aller en Argentine, mais le Gouvernement refuse de lui donner un visa.
Christine propose de louer son identit Alice (Bernard stait propos en premier
mais cela posait des problmes vidents). Christine vend sa clef prive Alice et Alice
part en Argentine prtendant tre Christine.
Non seulement Christine a t paye pour son identit mais encore elle dispose main
tenant d un alibi parfait. Elle commet un crime pendant quAlice est en Argentine.
Christine a prouv son identit en Argentine : comment pourrait-elle commettre un
crime chez elle?
Bien sr, Alice est libre de commettre des crimes galement. Elle les commet avant son
dpart ou aprs son retour, de prfrence prs du domicile de Christine. D abord, elle
sidentifie comme Christine (elle a la clef prive de Christine, c est donc facile pour elle),
ensuite elle commet un crime et senfuit. La police vient alors apprhender Christine.
Christine prtendra quelle a lou son identit Alice mais qui pourrait croire une
histoire aussi insense?
Le problme est quAlice ne prouve pas effectivement son identit, elle prouve quelle
possde une information secrte. C est le lien entre cette information et la personne
qui est fauss. La solution des bbs infalsifiables viterait ce genre de fraudes, de
mme quun tat policier dans lequel chaque citoyen devrait trs frquemment prouver
son identit ( la fin de chaque jour, chaque coin de rue, etc.). Les mthodes de
biomtrie empreintes digitales, images rtiniennes, empreintes vocales, et ainsi de
suitepeuvent aider rsoudre le problme.

Preuve dappartenance un groupe


Alice veut prouver Bernard quelle est membre dune organisation super secrte, mais
elle ne veut pas rvler son identit. Ce problme est proche de celui de prouver son
identit et a t tudi [887, 907, 908, 1210, 1451]. Certaines solutions sont relies au
problme des signal;ures collectives (voir 4.6).

5.3

Signatures en aveugle

Une caractristique essentielle des protocoles de signature numrique est que le signa
taire d un document sait toujours ce quil signe. C est trs bien, sauf que nous voulons
linverse.
Il y a des situations o nous voulons que des gens signent un document sans jamais
en voir le contenu. Ce n est pas un protocole trs utile en tant que tel, mais nous
lutiliserons plus tard pour raliser des protocoles de vote et de paiement numrique. Il
y a moyen pour le signataire de presque savoir ce quil signe, sans savoir exactement.
Mais commenons par le dbut.

Signatures en aveugle total


Bernard est notaire. Alice veut quil signe un document mais elle ne veut pas quil ait
la moindre ide de ce quil signe. Bernard ne sintresse pas au contenu du document,,

5.3

Signatures en aveugle

121

il ne fait que certifier que le document a t enregistr devant notaire une certaine
date. Voil ce quoi il consent :
1 Alice prend le document et le multiplie par une valeur alatoire. Cette valeur
alatoire est appele f a c t e u r d e c a m o u f l a g e .
2

Alice envoie le document camoufl Bernard.

3 Bernard signe le document camoufl.


4 Alice divise par le facteur de camouflage, retrouvant ainsi le document original
sign par Bernard.

Ce protocole ne marche que si la fonction de signature et la fonction de multiplication


sont commutatives. Si ce nest pas le cas, il y a moyen de modifier le document au
trement quen utilisant la multiplication. Les algorithmes mathmatiques utiles sont
prsents dans le paragraphe 23.12. Pour le moment, faites lhypothse que cest une
multiplication et que les mathmatiques sont au point.
Bernard peut-il tricher? Peut-il acqurir de linformation concernant le document quil
signe? Si le facteur de camouflage est vraiment, alatoire, il ne peut pas. Le document
camoufl que Bernard signe ltape 2 ne ressemble en rien au document original
dAlice. Le document camoufl avec la signature de Bernard ltape 3 ne ressemble
en rien au document sign la fin de ltape 4. Mme si Bernard met la main sur le do
cument avec sa signature aprs laccomplissement du protocole, il ne peut pas prouver
( lui-mme ou toute autre personne) quil la sign dans le cadre de ce protocole-l.
Il sait que sa signature est valide. Il sait quil (ou quelquun d autre avec sa clef pri
ve) a sign ce document ; il peut, comme nimporte qui dautre, vrifier la signature.
Toutefois, il ne dispose d aucun moyen de corrler la moindre information quil a reue
durant le protocole avec le document sign. Sil signe un million de documents avec ce
protocole, il na toujours pas de moyen de savoir dans quel cas il a sign tel document.
Les proprits des signatures en aveugle total sont :
- La signature de Bernard sur le document est valide. La signature sert de preuve
que Bernard a sign le document. Bernard sera convaincu quil a sign le docu
ment. quand on le lui montrera. Les proprits des signatures numriques prsen
tes au paragraphe 2 . 6 sont aussi valables.
- Bernard ne peut pas faire le lien entre un document sign et lacte de signature
du document Mme sil garde une trace de toutes les signatures en aveugle quil
a effectues, il ne peut pas dterminer quand il a sign un document donn.
Estelle, assise entre les deux, qui coute tout le protocole, en sait, encore moins que
Bernard.

Signatures en aveugle
Avec le protocole de signature en aveugle total, Alice peut faire signer nimporte quoi
par Bernard : Bernard doit un million de francs Alice , Bernard est le pre du
premier-n dAlice , Bernard doit un sachet de drages Alice . Les possibilits
sont infinies. Nul besoin dinsister, ce protocole nest pas particulirement utile.
Il existe toutefois un moyen pour Bernard de savoir ce quil signe, tout en maintenant
les proprits intressantes de la signature en aveugle. Le cur de ce protocole est la

Chapitre 5

122

Protocoles avancs

technique du couper-et-choisir . Considrons un exemple. De nombreuses personnes


entrent dans le pays chaque jour et les services des douanes veulent sassurer quelles
ne font pas la contrebande de cocane. Les officiels peuvent fouiller tout le monde
mais ils utilisent plutt une solution probabiliste. Ils fouillent une personne sur dix
qui entrent. Une personne sur dix voit ses effets personnels fouills ; les neuf autres
personnes passent sans autre formalit. Les contrebandiers chroniques chapperont au
contrle la plupart du temps mais ils ont 10 % de chance dtre attraps. Et si le
systme pnal est efficace, la sanction pour avoir t pris une fois dpassera largement
le gain des neuf autres fois.
Si le service des douanes veut augmenter ses chances d attraper les contrebandiers, ils
doivent fouiller plus de personnes. Sils veulent diminuer leur chance, ils diminuent le
nombre de personnes fouilles. En manipulant les probabilits, ils contrlent lefficadt
du protocole pour attraper les contrebandiers.
Le protocole de signature en aveugle utilise une mthode similaire. Bernard reoit une
grande pile de documents relis. Il les o u v r e (i.e. les examine) tous sauf un et signe ce
dernier.
Imaginez que les documents camoufls sont dans des enveloppes. Le procd de ca
mouflage consiste mettre le document dans une enveloppe. Le procd de retrait du
facteur de camouflage consiste ouvrir lenveloppe. Quand le document est dans len
veloppe, personne ne peut le lire. Le document est sign grce une feuille de carbone
dans lenveloppe. Quand les signataires signent lenveloppe, leurs signatures passent
travers la feuille de carbone et sont ainsi transfres sur le document.
Le scnario suivant implique un groupe dagents du contre-espionnage. Leur identit
est secrte : mme lagence de contre-espionnage ne sait pas qui ils sont. Le directeur
de lagence veut donner chaque agent un document sign attestant : Le porteur de
la prsente signe (insrer le nom demprunt, de lagent ici) bnficie de limmunit
diplomatique totale. Chaque agent a sa propre liste de noms demprunt donc lagence

ne peut pas simplement distribuer des documents signs. Les agents ne veulent pas
envoyer leur nom d emprunt lagence: lennemi peut avoir investi lordinateur de
lagence. En outre, lagence ne veut pas signer en aveugle nimporte quel document que
lui donne lagent Un agent malin pourrait soumettre un message tel que: L agent
(nom) est retrait et a droit une pension dun million de francs par an. Sign:
Monsieur le Prsident. Dans ce cas un protocole de signature en aveugle est utile.
Faisons lhypothse que chaque agent a n noms d emprunt possibles, quil a choisi lui-

mme et que personne d autre ne connat. Supposons galement quil importe peu aux
agents sous quel nom demprunt ils obtiennent limmunit diplomatique. Enfin admet
tons que lordinateur de lagence sappelle Ordinateur Secret Central de l Agence de
Renseignements (O S C A R en dautres termes).
1 L agent Bernard prpare n documents, chacun utilisant un nom demprunt dif
frent, garantissant cet agent limmunit diplomatique.

2 Bernard camoufle chacun des documents avec un facteur de camouflage diff


rent.

3 Bernard envoie les n documents camoufls OSCAR.


4 OSCAR choisit n 1 documents au hasard et demande Bernard le facteur
de camouflage pour chacun de ces neuf messages.

5-4

Cryptographie clef publique base didentification

123

5 Bernard envoie les bons facteurs de camouflage OSCAR.


6

OSCAR retire le facteur de camouflage des n 1 documents et s assure quils


sont corrects.

7 OSCAR signe le n e document et lenvoie Bernard.


8

Bernard retire le facteur de camouflage et lit son nouveau nom demprunt:


Le Grand Blond avec une Chaussure Noire. Le document sign lui procure
limmunit diplomatique totale sous ce nom.

Ce protocole rsiste aux tricheries ventuelles de Bernard. Pour tricher, il devrait pr


dire de faon sre quel document OSCAR nexaminera pas. Ses chances sont de 1
sur n : pas trs bonnes. OSCAR sait cela aussi et il est confiant quand il signe le ne
document : celui quil na pas pu examiner. Avec ce document-l, le protocole est le
mme que le protocole prcdent de signature en aveugle total, et il prserve toutes les
proprits d anonymat.
Il est possible de rendre les chances pour Bernard de tricher avec succs aussi petites
que ncessaires. A ltape 4, OSCAR choisit au hasard n /2 documents et Bernard lui
envoie les bons facteurs de camouflage correspondants ltape 5. ltape 7, OSCAR
multiplie ensembles les documents restants et signe le tout. ltape 8 , Bernard re
tire les facteurs de camouflage. La signature d OSCAR nest valable que si les n /2
documents signs taient identiques. Pour tricher, Bernard doit deviner quel est le
sous-ensemble quOSCAR va choisir; ses chances de russite sont bien moindre que
lorsquil essaye de deviner le document quOSCAR nexaminera pas.
Il y a un autre moyen pour Bernard de tricher. Il peut engendrer deux documents
diffrents: un quOSCAR serait prt signer et un autre non. Ensuite, il trouve deux
facteurs de camouflage tels que lun appliqu au premier document et lautre au se
cond donnent le mme document camoufl. De cette faon, si OSCAR demande
examiner le document, Bernard lui donne le facteur de camouflage qui le transforme
en un document anodin. Si OSCAR ne demande pas voir le document et le signe,
Bernard utilise le facteur de camouflage qui transforme le document camoufl en do
cument malveillant. Bien que cela soit thoriquement possible, les mathmatiques des
algorithmes particuliers utiliss pour ce protocole, rendent les chances de Bernard de
trouver une telle paire de facteurs infiniment faibles. Nous en reparlons plus en dtail
dans le paragraphe 23.12.

Brevets
C h a u m a pos des brevets sur diffrents types de signatures en aveugle (voir le ta
bleau 5.1).

5.4

Cryptographie clef publique base


didentification

Alice veut envoyer un message confidentiel Bernard. Elle ne veut se procurer sa clef
publique dans un serveur de clefs; elle ne veut pas avoir vrifier la signature d un
troisime parti de confiance avec le certificat de sa clef publique; et elle ne veut mme

Chapitre 5

124

Numro
4 759 063
4 759 064
4 914 698
4 949 380
4 991 210

ab

Protocoles avancs

5.1 - Les brevets de signature numrique poss par Chaum

Date
Titre
19/7/88 Systmes
19/7/88 Systmes
3 /3 /9 0 Systmes
14/8/90 Systmes
5/2/91 Systmes

de
de
de
de
de

signature
signature
signature
signature
signature

en
en
en
en
en

aveugle
aveugle
aveugle
aveugle
aveugle

[324]
sans anticipation [325]
avec aperu [329]
avec retour de valeur [331]
imprvisible [334]

pas enregistrer la clef publique de Bernard sur son propre ordinateur. Elle veut juste
lui envoyer un message confidentiel.
Les c r y p t o s y s t m e s b a s e d i d e n t i f i c a t i o n 5 permettent de rsoudre ce problme
[1429]. La clef publique de Bernard est base sur son nom et son addresse lectronique
(ou encore son numro de tlphone, ou son addresse en ville, ou quoi que ce soit
dautre). Avec la cryptographie clef publique classique, Alice a besoin d un certificat
sign numriquement qui lie lidentit de Bernard sa clef publique. Avec la cryptogra
phie clef publique base d identification, la clef publique de Bernard est son identit.
C est une ide vraiment sduisante, lide idale dont on peut rver pour un systme
de courrier lectronique: si Alice connat laddresse de Bernard, elle peut lui envoyer
du courrier en toute scurit. Cela rend la cryptographie aussi transparente quil est
possible.
Le sytme est fond sur Ivan qui fournit des clefs prives bases sur lidentit. Si jamais
la clef dAlice est compromise, elle doit changer un aspect de son identit pour avoir
une autre clef. Le problme le plus srieux est d laborer un systme qui ne laisse pas
la possibilit des utilisateurs malhonntes de sunir pour crer une clef.
Une grande part de travail a t faite sur les mathmatiques sous-jacentes la plupart
au Japon qui savrent affreusement compliques quand il sagit de rendre le sytme
sr. De nombreuses solutions parmi celles proposes impliquent que Ivan choisisse un
nombre alatoire pour chaque utilisateur ce qui mon avis vient lencontre de lide
mme du systme. Certains algorithmes dcrits aux chapitres 19 et 20 peuvent sutiliser
base d identification. Pour les dtails algorithmiques et cryptographiques, se reporter
[198, 1429, 891, 1030, 1519, 1224, 1205, 909, 693, 675, 1138, 1031, 1520, 1544, 1552,
6 8 , 1218, 318, 319, 1553, 1547, 1551, 944, 1521, 750, 1238]. On trouvera un algorithme
qui ne repose pas sur des nombres alatoires dans [1043]. Le systme introduit dans
[1554, 1555, 1511] rsiste aux attaques clefs publiques choisies, de mme que celui
prsent dans [1550, 1548, 1549, 1003, 378, 1546]. Honntement, rien de ce qui a t
propos jusqu prsent nest la fois ralisable et sr.

5.5

Transfert inconscient

Le cryptographe Bernard essaie dsesprment de factoriser un nombre n de 500 bits.


Il sait que celui-ci est le produit de 5 nombres de 100 bits mais il nen sait pas plus.
(C est un problme srieux pour Bernard. Sil ne peut pas retrouver la clef, il devra
5. Ces cryptosystm es sont aussi qualifis de systmes sans partage interactif de clef.

5.5

Transfert inconscient

125

faire des heures supplmentaires et il va rater son poker laveugle hebdomadaire avec
Alice.)
Alice passe alors par l :
Il se trouve que je connais un facteur du nombre dit Alice, et je te le
donnerai pour cent francs. Cela fait un franc le bit. Pour montrer quelle
est srieuse, elle utilise un schma de mise en gage de bits et met en gage
chaque bit individuellement.
Bernard est intress, mais il na que 50 francs. Alice nest pas prte
abaisser son prix et elle propose de vendre Bernard la moiti des bits
pour la moiti du prix. Cela t vitera pas mal de boulot , dit-elle.
Mais comment puis-je tre sr que ton nombre est bien un facteur de
n ? Si tu me montres le nombre et que tu me laisses vrifier que c est un
facteur, alors je serai daccord avec tes conditions , dit Bernard.
Alice na pas lintention de le suivre dans cette voie, ils sont donc dans
une impasse. Alice ne peut pas convaincre Bernard que son nombre est un
facteur de n sans le rvler et Bernard nest pas prt payer 50 bits dun
nombre qui pourrait bien lui tre inutile.
Cette histoire emprunte Joe K i l i a n [832], introduit le concept de t r a n s f e r t i n
Alice transmet un groupe de messages Bernard. Bernard reoit un sousensemble de ces messages, mais Alice ignore quels sont ceux quil reoit. Cependant,
cela ne rsout pas tout fait le problme prcdent. Aprs que Bernard a reu une
moiti alatoire des bits, Alice doit encore le convaincre que les bits quelle envoie
constituent un facteur de n en utilisant une preuve divulgation nulle.
Dans le protocole suivant, Alice va envoyer Bernard un des deux messages. Bernard
en recevra un et Alice ne saura pas lequel.
c o n s c ie n t .

Alice engendre deux paires clef publique clef prive , soit 4 clefs au total.
Elle envoie les deux clefs publiques Bernard.

2 Bernard choisit une clef pour un algorithme clef secrte (le DES par
exemple). Il choisit une des clefs publiques dAlice alatoirement et chiffre sa
clef DES avec cette dernire. Il envoie la clef chiffre Alice sans lui dire
quelle clef publique il a utilise pour la chiffrer.

3 Alice dchiffre la clef de Bernard avec ses deux clefs prives. Dans un des cas
elle utilise la bonne clef et dchiffre avec succs la clef DES de Bernard. Dans
lautre cas, elle utilise la mauvaise clef et nengendre rien dautre quune suite
de bits sans sens qui nanmoins nen ressemble pas moins une clef DES
quelconque. Comme elle ne connat pas le texte en clair correct, elle ignore
quoi est quoi.

4 Alice chiffre ses deux messages chacun avec une des deux clefs DES quelle a
engendr ltape prcdente (une vraie et une sans sens) et envoie les deux
rsultats Bernard.

5 Bernard reoit lun des messages dAlice chiffr avec la bonne clef DES et
lautre message avec une clef factice. Bernard utilise sa clef DES pour dchiffrer
les deux messages dAlice mais il ne peut lire avec succs que lun dentre eux.

Chapitre 5

126

Protocoles avancs

ce point, le transfert inconscient est termin. Bernard a pu lire un des deux messages
(celui chiffr avec sa clef DES) et Alice na aucun moyen de savoir lequel. Une tape
supplmentaire est ncessaire pour quAlice ne puisse pas tricher.
1

Aprs avoir termin le protocole et quand les deux rsultats possibles du trans
fert sont connus, Alice doit donner Bernard ses clefs prives afin qu il puisse
vrifier quelle na pas trich. Aprs tout, elle pourrait avoir chiffr le mme
message avec les deux clefs ltape 4-

Ds lors, Bernard peut resconstituer le second message.


Ce protocole rsiste une attaque d Alice car elle n a aucun moyen de savoir quelle est
la bonne clef DES parmi les deux quelle a calcules. Le protocole rsiste une attaque
de Bernard, car avant que le protocole ne soit termin, il na aucun moyen d avoir les
clefs prives dAlice donc il ne peut pas calculer lautre clef DES qui a t utilise pour
chiffrer lautre message (celui des deux quil na pas pu lire). On pourrait penser que
ce nest quune mthode plus complique pour tirer pile ou face par modem, mais ce
protocole a des implications profondes quand il est utilis au sein de protocoles plus
compliqus.
Bien sr, rien n empche Alice d envoyer deux messages totalement dnus de senr :
Gna, Gna et Cornichon . Ce protocole garantit quAlice envoie Bernard un des
deux messages; il ne fait rien pour garantir que Bernard dsire recevoir lun dentre
eux.
Il existe d autres protocoles de transfert inconscient dcrits dans la littrature. Certains
d entre eux sont non interactifs, ce qui signifie quAlice peut publier ses deux messages
et que Bernard ne peut comprendre quun des deux. Il peut le faire lui-mme, il na
pas besoin de communiquer avec Alice pour cela [111]. Nombre de protocoles de ce
chapitre utilisent le protocole de transfert inconscient.
Personne na besoin de transfert inconscient en pratique, mais la notion est une brique
lmentaire importante pour construire des protocoles plus compliqus. Cependant il y
a plusieurs sortes de transfert inconscient: j ai deux secrets et vous en obtenez un, j ai
n secret et vous en obtenez un, j ai un secret et vous lobtenez qvec probabilit 1 / 2 , et
ainsi de suite. Toutes les variantes sont quivalentes [250, 395, 399].

5.6

Signatures inconscientes

Honntement, je ne connais pas dapplication pour cela, il en existe deux variantes


[350] :
1

. Alice possde n messages diffrents. Bernard peut choisir un des n messages pour
quAlice le signe, et Alice n aura aucun moyen de savoir quel message elle a sign.

. Alice possde un message. Bernard peut choisir une clef parmi n avec laquelle Alice
va signer le message, et Alice ne pourra pas dterminer la clef elle aura utilis.

C est une ide intressante, je suis sr quelle a son utilit quelque part.

5.7

Signature simultane de contrat

5.7

127

Signature simultane de contrat

Signature de contrat avec un arbitre


Alice et Bernard veulent conclure un contrat. Ils se sont mis daccord sur les termes du
contrat mais aucun des deux ne veut signer sans que lautre signe aussi. Face face,
cest facile : ils signent ensemble. A distance, ils peuvent utiliser un arbitre.
1

Alice signe mie copie du contrat et envoie le rsultat Ivan.

2 Bernard signe une copie du contrat et envoie le rsultat Ivan.


3 Ivan envoie un message Alice et Bernard indiquant chacun que lautre a
sign le contrat.

4 Alice signe deux copies du contrat et les envoie Bernard.


5 Bernard signe les deux copies du contrat et envoie une copie Alice et en garde
une pour lui-mme.
6

Alice et Bernard informent Ivan quils ont chacun une copie du contrat signe
par eux deux.

7 Ivan dchire les deux copies de contrat chacun avec une seule signature.
Le protocole marche parce quIvan empche les deux parties de tricher. Si Bernard
refusait de signer le contrat ltape 5, Alice pourrait demander Ivan la copie du
contrat dj signe par Bernard. Si Alice refusait de signer ltape 4, Bernard pourrait
faire de mme. Quand Ivan indique quil a reu les deux contrats ltape 3, Alice et
Bernard savent tous deux quils sont lis par le contrat. Si Ivan ne reoit pas les deux
contrats, il dchiffre celui quil a reu et aucune partie nest lie.

Signature simultane de contrat sans arbitre (face face)


Si Alice et Bernard taient assis face face, ils pourraient signer le contrat de la manire
suivante [1254] :
1 Alice signe avec la premire lettre de son nom et passe le contrat Bernard.
2 Bernard signe avec la premire lettre de son nom et passe le contrat Alice.
3 Alice signe avec la deuxime lettre de son nom et passe le contrat Bernard.
4 Bernard signe avec la deuxime lettre de son nom et passe le contrat Alice.
5 Cela continue ainsi jusqu ce quAlice et Bernard aient tous deux sign avec
leurs noms en entier.

Si vous ignorez le dfaut vident de ce protocole (Bernard a un nom plus long quAlice),
cela marchera. Aprs avoir sign avec une seule lettre, Alice sait quaucun juge ne la
considrera comme lie par les termes du contrat. Mais cette lettre est un acte de bonne
volont et Bernard rpond avec un acte similaire de bonne volont.
Aprs que chaque participant a sign avec quelques lettres, un juge sera certainement
convaincu que les deux parties ont sign le contrat. Toutefois, les dtails sont obscurs.
Srement quils ne sont pas lis aprs la premire lettre ; mais ils le sont certainement
ds quils ont sign leur nom entier. A quel point du protocole deviennent-ils lis?

Chapitre 5

128

Protocoles avancs

Aprs avoir sign avec la moiti de leurs noms? Les deux tiers de leurs noms? Les trois
quarts?
Comme ni Alice ni Bernard ne sont certains de linstant partir duquel ils sont lis,
ils craignent un peu, chaque instant, d tre lis. Cela na pas de sens pour Bernard
de dire : Tu as sign avec quatre lettres et moi je nai sign quavec trois lettres. Tu
es lie et moi pas. Il ny a pas de raison que Bernard ne continue pas le protocole.
Plus longtemps ils continuent, plus grande est la probabilit quun juge les considrent
comme lis. Une fois de plus, il n y a aucune raison de ne pas continuer le protocole.
Aprs tout, ils voulaient tous deux signer le contrat ; ils ne voulaient simplement pas
signer lun avant lautre.

Signature simultane de contrat sans arbitre ( distance)


Ce protocole exploite le mme type dincertitude [120]. Alice et Bernard alternent les
petits pas vers un contrat sign jusqu ce quils aient tous deux sign.
Dans ce protocole, Alice et Bernard changent une srie de messages signs de la forme :
Jaccepte de me considrer comme li(e) au contrat avec une probabilit p.
Celui qui reoit un tel message peut le montrer un juge et, avec une probabilit p, le
juge considrera le contrat comme sign.
1

Alice et Bernard conviennent dune date laquelle le protocole de signature


devra tre termin.

2 Alice et Bernard dcident dune diffrence de probabilits utiliser. Par


exemple, Alice peut dcider quelle ne veut pas tre lie avec une probabilit
de 2 % suprieure la probabilit de Bernard. Appelons A la diffrence de
probabilit dAlice et B celle de Bernard.

3 Alice envoie un message Bernard avec p = A.


4 Bernard envoie un message Alice avec p = A + B .
5 Soit p' la probabilit du message quAlice a reu de Bernard ltape prcdente.
Alice envoie Bernard un message sign avec le minimum de p = p' + A ou
p =l.
6

Soit p' la probabilit du message que Bernard a reu d Alice ltape prcdente.
Bernard envoie Alice un message sign avec le minimum de p = p' + B ou
p= 1.

7 Alice et Bernard continuent alterner les tapes 5


tous deux reu le message avec p = 1 , ou jusqu
ltape 1 soit dpasse.

et 6 jusquce quilsaient
ce queladate convenue

Tout au long du droulement du protocole, Alice et Bernard consentent tre lis par
le contrat avec une probabilit de plus en plus grande. Par exemple, le premier message
dAlice pourrait indiquer quelle se considre comme lie avec une probabilit de 2 %.
Bernard pourrait rpondre quil est li avec une probabilit de 3 %. Le message suivant
dAlice pourrait indiquer quelle est lie avec une probabilit de 4 %, et ainsi de suite
jusqu ce quils soient lis avec une probabilit de 1 0 0 %.
Si Alice et Bernard terminent tous deux le protocole, tout va bien. Si la date dchance
du protocole arrive, chaque participant peut montrer le contrat un juge avec le dernier

Signature simultane de contrat

5.7

129

message sign de lautre participant. Le juge choisit simplement une valeur alatoire
entre 0 et 1. Si la valeur est infrieure la probabilit que lautre participant a sign,
alors les parties sont lies. Si la valeur est plus grande que la probabilit, alors les
parties ne sont pas lies6. C est cela que lon entend par tre li au contrat avec une
probabilit p.
Cest le protocole de base, mais il peut y avoir d autres complications. Si Alice com
mence signer des messages avec des incrments de plus en plus faibles de probabilit,
Bernard peut rpondre dans le mme sens. Le juge peut trancher en labsence dun
des participants. La dcision du juge lie soit les deux parties, soit aucune ; il ny a pas
de situations o lune des parties est lie et lautre pas. Aussi longtemps que lune des
parties est dispose avoir une probabilit lgrement suprieure d tre lie lautre
(peut importe la petitesse de lcart), le protocole se terminera.

Signature simultane de contrat sans arbitre (en utilisant la


cryptographie)
Ce protocole cryptographique utilise la mme approche des petits pas [531]. Le DES
est utilis pour la description du protocole bien que tout algorithme clef secrte
conviendrait.
1

Alice et Bernard choisissent chacun alatoirement 200 clefs DES groupes par
paires. Il ny a rien de spcial propos de ces paires ; elles sont juste apparies
pour les besoins du protocole.

2 Alice et Bernard engendrent chacun n paires de messages, Gi et Di : Ceci


est la moiti gauche de ma ie signature. et Ceci est la moiti droite de
ma ie signature. , par exemple. L identificateur i va de 1 n. Les messages
comprendront aussi probablement une signature numrique du contrat comme
dfinie prcdemment, et une datation. Le contrat est considr comme sign
si lautre participant peut produire les deux moitis Gi et Di dune paire de
signatures.

3 Alice et Bernard chiffrent tous deux leurs paires de messages avec chaque paire
de clefs D ES, le message gauche avec la clef gauche de la paire, et le message
droit avec la clef droit de la paire.
4 Alice et Bernard s envoient rciproquement leur paquet de 2n messages chiffrs,
en s assurant que lautre sait que tel message appartient telle moiti de telle
paire.

5 Alice et Bernard s envoient rciproquement toutes les paires de clefs en utilisant


le protocole de transfert inconscient pour chaque j>aire. C est--dire quAlice
envoie Bernard soit la clef utilise pour chiffrer la moiti gauche, soit la clef
utilise pour chiffrer la moiti droite, indpendamment, pour chacune des n
paires. Bernard fait de mme. Ils peuvent alterner lenvoi des moitis, ou lun
peut envoyer les n et puis lautre faire de mme peu importe. Maintenant,
Alice et Bernard ont tous deux une clef de chaque paire mats chacun ignore
quelles sont les clefs en possession de lautre.
6. Le ju ge enregistre la valeur au cas o il y aurait d autres litiges lis ce contrat-

Chapitre 5

130
6

Protocoles avancs

Alice et Bernard dchiffrent tous deux les moitis de messages comme ils
peuvent, en utilisant les clefs quils ont reues. Ils s assurent que les messages
dchiffrs sont corrects.

7 Alice et Bernard s envoient rciproquement les premiers bits des 2n clefs DES.
8

Alice et Bernard rptent ltape 7 pour les deuximes bits des 2n clefs DES,
les troisimes bits, et ainsi de suite, jusqu ce que toutes les clefs DES aient
t transfres.

9 Alice et Bernard dchiffrent les moitis restantes des paires de messages et le


contrat est sign.

Pourquoi Alice et Bernard doivent-ils faire tout cela? Supposons quAlice veuille tricher
et voyons ce qui se passe. Aux tapes 4 et 5, Alice peut perturber le protocole en
envoyant Bernard des chanes de bits sans sens. Bernard dcouvrirait cela ltape
6 , quand il essaierait de dchiffrer la moiti quil a reue, quelle que soit cette moiti.
Bernard peut alors arrter sans dommage, puisquAlice ne peut dchiffrer aucune des
paires de messages de Bernard.
Si Alice tait trs maligne, elle pourrait ne perturber que la moiti du protocole. Elle
pourrait envoyer la moiti gauche de chaque paire correctement et envoyer du charabia
comme moiti droite. Bernard na que 50 % de chance de recevoir la moiti droite et
donc Alice peut tricher la moiti du temps. Toutefois, cela ne marche que sil ny a
quune paire de clefs. Sil ny avait que deux paires, ce type de supercherie pourrait
russir dans 25 % des cas. C est pour cela que n doit tre grand. Alice doit anticiper
correctement le rsultat de n protocoles de transfert inconscient; Alice na que 1 chance
sur 2 de russir cela. Si n = 10, Alice a une chance sur 1024 de rouler Bernard.
Alice peut aussi envoyer des bits alatoires Bernard ltape 8 . Peut-tre que Bernard
ne saura pas quelle lui a envoy des bits alatoires jusqu ce quil reoive la clef
complte et quil essaie de dchiffrer les moitis de messages. Mais une fois de plus, les
probabilits sont du ct de Bernard. Il a dj reu la moiti des clefs et Alice ne sait
pas quelles sont ces moitis. Alice est sre de lui envoyer un bit erron pour une des
clefs quil a dj reues, et lui, il saura immdiatement quAlice essaie de le rouler.
Peut-tre qu Alice va continuer ltape 8 jusqu ce quelle ait suffisamment de bits des
clefs pour casser les messages DES et ensuite arrter de transmettre les bits. Le DES
a une longueur de clef de 56 bits. Si elle reoit 40 des 56 bits, elle ne doit essayer que
2 16 (65 536) clefs pour pouvoir lire le message
une tche qui est certainement la
porte d un ordinateur. Mais Bernard aura exactement le mme nombre de bits des
clefs d Alice (ou un bit de moins tout au plus) et donc il pourra faire la mme chose.
Alice na pas dautre choix que de poursuivre le protocole.
Le point principal est quAlice doit jouer le jeu honntement, car les chances de rouler
Bernard sont bien trop minces. A la fin du protocole, les deux parties ont n paires de
messages signs, chacune d elles suffit pour une signature valable.
Alice a nanmoins la possibilit de tricher; elle peut envoyer des messages identiques
Bernard durant ltape 5. Bernard ne pourra sen rendre compte qu la fin du
protocole, mais il peut utiliser une transcription du protocole pour convaincre un juge
de la duplicit d Alice.
Il y a deux faiblesses dans les protocoles de ce type [120] :
Premirement, il y a un problme si lune des parties a nettement plus de puissance de
calcul que lautre. Si, par exemple, Ace peut casser lalgorithme plus rapidement que

5.8

Courrier lectronique certifi

131

Bernard, alors elle peut arrter plus tt de transmettre des bits ltape 8 et calculer
elle-mme les clefs de Bernard. Bernard qui ne peut pas faire la mme chose en un
temps raisonnable ne sera pas content.
Deuximement, il y a un problme si une des parties arrte le protocole plus tt. Si
Alice arrte abruptement le protocole, tous deux devront faire le mme effort pour
faire les calculs, mais Bernard na pas de rel recours lgal. Si, par exemple, le contrat
spcifie quil doit faire quelque chose dans une semaine, et qu Alice arrte le protocole
en un point o Bernard devrait consacrer un an calculer pour qu Alice soit vrai
ment engage, il y aurait alors un problme. La vraie difficult ici est quil ny a pas
dchance court terme laquelle le processus doit se terminer comme il se doit : soit
les deux parties lies, soit aucune.
On retrouve ces problmes avec les protocoles dcrits aux paragraphes 5.8 et 5.9.

5.8

Courrier lectronique certifi

Le mme protocole de transfert inconscient simultan - utilis pour la signature de


contrats peut tre utilis pour certifier du courrier lectronique [531]. Faites lhy
pothse quAlice veut envoyer un message Bernard mais elle ne veut pas quil le lise
sans avoir envoy un accus de rception sign. Les postiers le font couramment mais
la mme chose peut tre faite avec la cryptographie. Whitfield D i f f i e aborde pour la
premire fois ce problme dans [488].
A premire vue, le protocole de signature simultane de contrats peut faire cela. Alice
simplement chiffre son message avec une clef DES. Sa moiti du protocole peut tre
quelque chose comme : Ceci est la moiti gauche de la clef DES : 32F5. La moiti
du protocole pour Bernard serait quelque chose comme : Ceci est la moiti gauche
de mon accus de rception. Tout le reste serait de mme.
Pour voir pourquoi cela ne marche pas, rappelez-vous que le protocole dpend du
fait que le transfert inconscient de ltape 5 maintient lhonntet des deux parties.
Chacun des participants sait quil envoie lautre une moiti valide mais personne
ne sait laquelle. Ils ne trichent pas ltape 8 parce que les chances de russite sont
ridicules. Si Alice envoie non pas un message mais une moiti de clef DES, Bernard
na aucun moyen de vrifier la validit de la clef DES ltape 6 . Alice peut toujours
vrifier la validit de laccus de rception de Bernard donc celui-ci est oblig dtre
honnte. Alice peut en toute impunit envoyer Bernard une fausse clef DES et celuici ne sen rendra pas compte avant quAlice en reoive laccus de rception. Bonne
chance Bernard !
Eviter cela ncessite quelques amnagements du protocole :
1 Alice chiffre son message en utilisant une clef DES alatoire et envoie le r
sultat Bernard.
2

Alice engendre n paires de clefs DES. La premire clef de chaque paire est
engendre alatoirement; la seconde clef de chaque paire est le ou exclusif de
1a. premire clef et de la clef de chiffrement du message.

3 Alice chiffre un message factice avec chacune de ses 2n clefs.


4 Alice envoie Bernard tous les messages chiffrs en s assurant quil sache que
tel message est telle moiti de telle paire.

132

Chapitre 5

Protocoles avancs

5 Bernard, engendre n paires de clefs DES alatoires.


6

Bernard engendre une paire de messages qui forment un accus de rception


valide. Ceci est la moiti gauche de mon accus de rception et Ceci est
la moiti droite de mon accus de rception sont de bons candidats avec l'ad
jonction dun certain type de validation. Il fait n paires daccuss de rception,
chacune numrote. Comme dans le protocole prcdent, laccus de rception
est considr comme valide si Alice peut produire les deux moitis dun accus
de rception (avec le mme numro) et toutes ses clefs de chiffrement.

7 Bernard chiffre chacune de ses paires de messages avec les paires de clef DES,
la i e paire de messages avec la ie paire de clefs, le message gauche avec la clef
gauche de la paire et le message droit avec la clef droite de la paire.
8

Bernard envoie son paquet de messages Alice en s assurant quAlice sait que
tel message est telle moiti de telle paire.

9 Alice et Bernard s envoient rciproquement chaque paire de clefs en utilisant le


protocole de transfert inconscient. En dautres termes, Alice envoie Bernard
soit la clef utilise pour chiffrer le message gauche, soit la clef utilise pour
chiffrer le message droit, pour chacune des n paires. Bernard fait de mme. Ils
peuvent soit alterner les envois de moitis, soit envoyer les n dun coup, peu
impoile. Maintenant, Alice et Bernard ont une clef de chaque paire mais ni
lun ni l autre ne sait ce que lautre a reu.

10 Alice et Bernard dchiffrent les moitis comme ils peuvent et s assurent de la


validit des messages dchiffrs.

11 Alice et Bernard s envoient rciproquement le premier bit des n clefs DES.


(Sils s inquitent de la prsence ventuelle dEstelle capable de lire le courrier,
alors ils doivent chiffrer la transmission entre eux.)

12 Alice et Bernard rptent ltape 11 pour le deuxime bit des 2n clefs DES, le
troisime bit, et ainsi de suite jusqu ce que tous les bits de toutes les clefs

DES aient t transmis.


13 Alice et Bernard dchiffrent les moitis restantes des paires de messages. Alice
a un accus de rception valide de Bernard et celui-ci peut appliquer le ou
exclusif nimporte quelle paire de clefs pour retrouver la clef de chiffrement
du message dorigine.

Les tapes 5 8 pour Bernard et les tapes 9 12 pour Alice et Bernard sont les
mmes que pour le protocole de signature de contrats. La diffrence se marque par
les messages factices chiffrs dAlice. Ds donnent Bernard un moyen de vrifier les
transferts inconscients dAlice ltape 1 0 , qui oblige Alice tre honnte aux tapes
11 13. Et tout comme pour le protocole de signature simultane de contrat, une
moiti gauche et une moiti droite d une des paires de messages dAlice sont toutes
deux ncessaires pour terminer le protocole.
A

5.9

Echange simultan de secrets

Alice connat un secret A ; Bernard connat un secret B . Alice est dispose dire A
Bernard si Bernard lui dit B . Bernard est dispos dire B Alice si Alice lui dit A. Le

5.9

change simultan de secrets

133

protocole suivant peut tre observ dans une cours d cole, il ne marche manifestement
pas:
1 Alice : Je te le dirai si tu me le dis en premier.
2 Bernard : Je te le dirai si tu me le dis en premier.
3 Alice : Non, toi en premier.
4 Bernard: A h ! bon. (Bernard chuchote dans loreille dAlice.)
5 Alice : Ha ! Ha ! Je ne te dis rien.
6

Bernard : C est pas juste.

La cryptographie peut le rendre quitable. Les deux protocoles prcdentssont des


ralisations d un protocole plus gnral qui permet Alice et Bernardd changer
simultanment des secrets [531]. Plutt que de redonner tout le protocole, voici ce quil
faut changer au protocole de courrier numrique certifi :
Alice effectue les tapes 11 5 en utilisant A comme message. Bernard fait les mmes
tapes en utilisant B comme message. Alice et Bernard effectuent le transfert incons
cient de ltape 1 0 , dchiffrent les moitis comme ils peuvent ltape 1 1 , et effectuent
les itrations des tapes 1 2 et 13. Sils sont inquiets dune prsence ventuelle d Estelle,
ils peuvent chiffrer leurs messages. Finalement, Alice et Bernard dchiffrent tous deux
les moitis restantes des paires de messages et effectuent le ou exclusif de nimporte
quelle paire de clefs pour retrouver la clef de chiffrement du message initial.
Ce protocole permet Alice et Bernard dchanger simultanment des secrets, mais il
ne dit rien du tout de la qualit des secrets changs. Alice peut promettre Bernard
la solution du labyrinthe du Minotaure mais lui envoyer la carte du mtro de Boston.
Bernard recevra le secret d Alice peu importe la nature de celui-ci. On trouvera dautres
protocoles dans [1298, 202, 1001, 1528, 706, 755, 263, 362, 418].

Chapitre 6

Protocoles sotriques
6.1

Elections sres

moins quil ny ait un protocole qui vite la tricherie et qui garantisse la confiden
tialit, le vote informatique ne sera jamais utilis pour des lections grandeur nature.
Le protocole idal a au minimum les 6 caractristiques suivantes :
1. Seules les personnes autorises voter peuvent voter.
2. Personne ne peut voter plus dune fois.
3. Personne ne peut dterminer pour qui quelquun d autre a vot.
4. Personne ne peut dupliquer le vote de quelquun d autre. (Il savre que cette
exigence est la plus difficile remplir.)
5. Personne ne peut modifier le vote de quelquun d autre sans tre dcouvert.
6.

Tous les votants peuvent vrifier que leur vote a bien t pris en compte dans le
dcompte final.

De plus, certains schmas de vote pourraient ajouter lexigence :


7. Tout le monde sait qui a vot et qui na pas vot.
Avant daborder les protocoles compliqus qui ont ces caractristiques, voyons quelques
protocoles simplistes qui ne les ont pas.

Protocole de vote simpliste n 1


1 Tous les votants chiffrent leur vote avec la clef publique de lAutorit Centrale
de Dcompte ( C D ).
2

Tous les votants envoient leur vote ZA C D .

3 L A C D dchiffre les votes, les compte et rend les rsultats publics.

Chapitre 6

136

Protocoles sotriques

Ce protocole a des dfauts chaque point. LA C D na aucune ide d o viennent les


votes, et donc elle ne sait pas si les votes sont mis par des votants autoriss ou pas.
Elle na pas la moindre possibilit de dtecter si les votants votent plus d une fois.
Du ct des avantages, personne ne peut modifier le vote de quelquun d autre, mais
personne nessaierait de le faire quand cest tellement plus facile de voter un nombre
infini de fois pour forcer le rsultat de son choix.

Protocole de vote simpliste n 2


1 Tous

lesvotants

signent leur vote avec leur clef prive.

Tous

lesvotants

chiffrent leur vote sign avec laclef publique

Tous

lesvotants

envoient leur vote ZA C D .

L A C D dchiffre
rsultats publics.

les votes, vrifie les signatures,dcompte les

de ZA C D .

votes et rend les

Ce protocole satisfait les proprits ( 1 ) et ( 2 ) : seuls les votants autoriss peuvent voter
et personne ne peut voter plus d une fois. Pour cela, lA C D doit garder une trace des
votes reus ltape 3. Les votes sont signs avec la clef prive des votants donc lACD
sait qui a vot, qui na pas vot et combien de fois chaque votant a vot. Si un vote
sign par un votant non autoris arrive ou un vote sign par un votant qui a dj
vot lA C D lignore. De plus, personne ne peut modifier le vote dautrui mme sil
lintercepte ltape 2 grce la signature numrique.
Le dfaut de ce protocole est que la signature est attache au vote et quainsi lACD
sait qui a vot pour qui. Le chiffrement des votes avec la clef publique de lACD
empche quiconque coute le protocole de dterminer qui vote pour qui, mais ce nest
pas suffisant. C est comme si un assesseur de bureau de vote regardait par-dessus votre
paule dans lisoloir.
Les deux exemples suivants montrent quel point il est difficile de remplir ne serait-ce
que les trois premires exigences d un protocole de vote sr.

Vote avec signatures en aveugle


Ce que nous devons faire c est d une certaine faon dissocier le vote du votant tout en
maintenant lauthentification. C est exactement ce que ralise le protocole de signature
en aveugle.
1 Tous les votants engendrent dix ensembles de messages, chaque ensemble
contient un vote valide pour chaque vote possible (par exemple, si le vote est
une question optionnelle : oui ou non , chaque ensemble contient deux
votes, un pour oui et lautre pour non ). Chaque message contient ga
lement un numro de srie engendr alatoirement suffisamment grand pour
viter les collisions avec les autres votants.

2 Tous les votants camouflent individuellement tous les messages (voir 5.3) et
envoient le rsultat ZA C D .
3 L A C D vrifie dans sa base de donnes pour tre sre que des votants nont
pas dj auparavant soumis des votes camoufls pour leur signature. Elle ouvre
neuf des dix ensembles de messages et vrifie qu ils ont t faits dans les rgles.

6.1

lections sres

137

Ensuite, elle signe individuellement chaque message dans le dixime ensemble.


Enfin, elle les renvoie aux votants et enregistre les noms des votants dans sa
base de donnes.

4 Les votants dvoilent les messages pour donner un ensemble de votes signs
par TA C D . (Ces votes sont signs mais non chiffrs, donc les votants peuvent
aisment voir quel vote est oui et quel vote est non .)

5 Les votants choisissent lun des votes ( O Dmocratie !) et chiffrent celui-ci avec
la clef publique de lA C D .
6

Les votants envoient leur vote.

7 L A C D dchiffre les votes, vrifie les signatures, vrifie dans sa base de don
nes pour des numros de srie redondants, enregistre le numro de srie, et
dcompte les voix. Elle publie les rsultats du vote avec tous les numros de
srie et leur vote associ.

Un votant malveillant, appelons-le Martin, ne peut pas tricher dans ce systme. Le


protocole de signature en aveugle garantit que son vote est unique. Sil essaie d envoyer
le mme vote deux fois, lA C D dtectera le numro de srie redondant ltape 7 et
rejettera le second vote. Sil essaie d obtenir plusieurs votes signs ltape 2, lA C D
dcouvrira cela ltape 3. Martin ne peut pas engendrer des votes factices car il ne
connat pas la clef prive de lautorit. Il ne peut pas intercepter et modifier les votes
dautres votants pour les mmes raisons.
La technique couper et -chosir utilise ltape 3 sert assurer l'unicit des votes.
Sans cette tape, Martin pourrait crer un ensemble de votes identiques en tout point
sauf le numro de srie, et russir les faire tous valider.
Une A C D malintentionne ne peut pas dterminer la faon de voter des individus.
Comme le protocole de signature en aveugle empche lautorit de voir les numros de
srie avant quils soient mis, lA C D ne peut pas faire le lien entre un vote camoufl
quelle signe et le vote finalement mis. La publication de la liste des numros de srie
et de leur vote associ permet tous les votants de vrifier que leur vote a bien t
pris en compte.
Il y a encore des dfauts. Si ltape 6 nest pas anonyme et si lA C D peut enregistrer
qui a envoy tel vote, alors elle peut dterminer qui a vot pour qui. Toutefois, si elle
reoit les votes dans une urne scelle et quelle les dcompte plus tard, elle ne peut pas.
De plus, bien que lA C D ne puisse pas relier les votes aux individus, elle peut engendrer
un grand nombre de votes valides signs et tricher en les soumettant elle mme. Et si
Alice se rend compte que l A C D a chang son vote, elle na pas les moyens d en faire la
preuve. Il existe un protocole de ce type qui tente de corriger ces dfauts [1204, 1372].

Vote avec deux autorits centrales


Une solution est de rpartir le pouvoir de lA C D en deux parties. Aucune des deux
parties na assez de pouvoir pour tricher de son propre chef.
Le protocole suivant utilise une Autorit Centrale de Lgitimation (A C L ) pour au
thentifier les votants et une A C D spare pour compter les votes [1375].
1 Tous les votants envoient un message lA CL demandant un numro de vali
dation.

Chapitre 6

138

Protocoles sotriques

2 L 'ACL renvoie aux votants un numro de validation alatoire. L 'ACL main


tient une liste des numros de validation. L A C L maintient galement une liste
des destinataires des numros de validation, au cas o ils essaieraient de voter
nouveau.

3 L A C L envoie la liste des numros de validation ZA C D .


4 Tous les votants choisissent un numro didentification individuel alatoire. Ils
crent un message avec leur numro didentification, le numro de validation
quils ont reu et leur vote v. Ils envoient le message lA C D .

5 L 'A C D compare le numro de validation avec la liste quelle a reue de Z'ACL


ltape 3. Si le numro de validation y figure, Z'ACD le biffe (pour empcher
quiconque de voter deux fois). L A C D ajoute le numro didentification la
liste des gens qui ont vot pour un candidat donn et ajoute un au dcompte.
6

Aprs que tous les votes ont t reus, ZA C D publie le rsultat ainsi que les
listes des numros didentification et pour qui leur propritaire a vot.

Un avantage de ce systme est que tous les votants peuvent regarder la liste des nu
mros d identification et trouver le leur. Cela leur prouve que leur vote a t pris en
compte. Bien sr, tous les messages circulant entre les diffrents participants du pro
tocole doivent tre chiffrs et signs pour viter que quelquun puisse se faire passer
pour quelquun d autre et pour viter les interceptions.
LA C D ne peut pas modifier les votes parce que tous les votants vont rechercher leur
numro d identification. Si un votant ne le trouve pas ou le trouve dans une autre liste
que celle pour laquelle il a vot, il saura immdiatement quil y a eu tricherie. LACD
ne peut pas trafiquer lurne parce que lA C L surveille. L A C L sait combien de votants
ont t valids ainsi que leurs numros de validation. Toute modification de lun ou
lautre est immdiatement dtecte.
Martin qui nest pas un votant autoris, peut essayer de tricher en devinant un numro
de validation valide. La probabilit de succs de cette attaque peut tre minimise
en rendant le nombre de numros de validation possibles nettement plus grand que
le nombre de numros de validation effectivement mis : un million de nombres de
100 chiffres par exemple. Bien sr, les numros de validation doivent tre engendrs
alatoirement.
Malgr cela, lA C L fait, en quelque sorte, toujours autorit. Elle peut valider des
votants non autoriss. Elle peut valider des votants lgitimes plusieurs fois. Le risque
peut tre minimis en obligeant lA C L publier la liste des votants valids (mais pas
leur numro de vadation). Si le nombre de votants sur cette liste est infrieur au
nombre de votes compts, il y a anguille sous roche. Sil y a plus de votants valids
que de votes, cela signifie probablement que des votants valids ne se sont pas donns
la peine de voter. De nombreuses personnes sont enregistres pour voter choisissent de
ne pas participer aux ballottages.
Ce protocole est aussi vulnrable une collusion entre lA C D et lACL. Si les deux
se mettent ensemble, elles peuvent corrler leurs bases de donnes et dterminer qui a
vot pour qui.

6.1

139

lections sres

Vote avec une seule autorit centrale


Un protocole plus complexe peut tre utilis pour viter le danger de collusion entre
lACL et lA C D [1375]. Ce protocole est identique au prcdent except les deux
modifications suivantes :
- lA C L et lA C D sont une seule et mme organisation ;
- A N D O S (voir 4.13) est utilis pour distribuer des numros de validation ano
nymes ltape 2 .
Comme le protocole de distribution anonyme de clefs empche lA C D de savoir quel
votant a eu quel numro de validation, lA C D ne peut pas corrler les numros de
validation avec les votes reus. Il faut toutefois toujours tre sr que lA C D nattribuera
pas des numros de validation des votants non lgitimes. On peut aussi rsoudre le
problme avec des signatures en aveugle.

Vote amlior avec une seule autorit centrale


Ce protocole utilise aussi le protocole A N D O S [1181]. C est un excellent protocole et il
satisfait les 6 proprits dun bon protocole de vote. Il ne satisfait pas la 7e contrainte,
mais il a deux proprits supplmentaires par rapport celles mentionnes au dbut
de ce paragraphe :
7. Les votants peuvent changer davis (cest--dire, retirer leur vote et voter nou
veau) pendant une priode de temps donne.
8.

Si les votants dcouvrent que leur vote a t mal comptabilis, ils peuvent iden
tifier et corriger le problme sans compromettre la confidentialit de leur vote.

Voici le protocole :
1 L A C D publie la liste de tous les votants lgitimes.
2 Pendant un laps de temps spcifi, toute personne peut indiquer son intention
de voter auprs de ZA C D .

3 L A C D publie la liste des votants participant l lection.


4 Tous les votants reoivent un numro didentification, I, en utilisant le proto
cole A N D O S.

5 Tous les votants engendrent une paire clef publique clef prive : k,d. Si v est le
vote, ils engendrent le message suivant et lenvoient ZA C D :
I ,E k(I,v)
6

L A C D confirme les votes en publiant :


E k(I,v)

7 Tous les votants envoient Z'ACD :


I,d

Chapitre 6
8

Protocoles sotriques

L A C D utilise d pour dchiffrer les votes. A la fin de llection, elle publie les
rsultats de llection et pour chaque vote possible, la liste de tous les E k(I,v)
contenant ce vote-l.

9 Si un votant constate qu un vote nest pas comptabilis correctement, il proteste


en envoyant:
I ,E k{I,v),d
10

Si un votant veut changer son vote (c est possible dans certains types dlec
tions) de v v', il peut envoyer l A C D :
I ,E k(i,v'),d

Un autre protocole de vote [587] utilise des signatures en aveugle la place d ANDOS,
mais il est essentiellement le mme. Les tapes 1 3 sont des prliminaires au vote
lui-mme. Leur but est de dterminer et de publier le nombre total de votants. Bien
que certains d entre eux ne participeront probablement pas, cela rduit la possibilit
pour lA C D d ajouter des votes frauduleux.
A ltape 4, il est possible que deux votants reoivent le mme numro d identification.
Cette ventualit peut tre vite en ayant bien plus de numros d identification quil
ny a de votants. Si deux votants soumettent des votes avec le mme identificateur,
lA C D engendre un nouveau numro didentification i', choisit lun des deux votes et
publie :
r , E k(i,v)

Lmetteur de ce vote le reconnat et envoie un deuxime vote en rptant ltape 5


avec le nouveau numro d identification.
Ltape 6 donne la possibilit tous les votants de vrifier que lA C D a reu leur vote
correctement. Et si leur vote est mal comptabilis, ils peuvent le prouver ltape 9.
En faisant lhypothse que tous les votes sont corrects ltape 6 , le message quils
envoient ltape 9 constitue une preuve que leur vote a t mal comptabilis.
Le dfaut principal de ce protocole est que lA C D peut allouer des votes pour des gens
qui rpondent ltape 2 mais qui ne votent pas. Un autre dfaut est la complexit
du protocole A N D O S. Les auteurs recommandent de diviser une grande population
de votants en groupes plus petits, comme des districts lectoraux.
Il reste un problme plus srieux : lA C D peut ngliger de compter un vote. Ce problme
ne peut tre rsolu : Alice prtend que lA C D a sciemment oubli de compter son vote,
mais lA C D prtend quAlice na jamais vot.

Vote sans une autorit centrale de comptabilisation


Ce protocole permet de se passer compltement de lA C D , les votants se surveiellent
les uns les autres. Conu par Michael M e r r i t t [266, 597, 267], il est si difficile
manier que seule une poigne de participants peut le mettre en pratique, il est malgr
tout intressant tudier.
Alice, Bernard, Christine et David votent oui ou non (0 ou 1) propos d un sujet
particulier. Faites lhypothse que chaque participant a une clef publique et une clef

6.1

lections sres

141

prive, que tout le monde connat la clef publique de chacun.


1 Tous les votants choisissent un vote et effectuent ce qui suit:
(a) ajouter une chane alatoire leur vote;
( b ) chiffrer le rsultat de
( c )

chiffrer le rsultat de

(d ) chiffrer le rsultat de
( e )

chiffrer le rsultat de

ltape (a) avec la clef publique de David;


ltape (b) avec la clef publique de Christine;
ltape (c) avec la clef publique de Bernard;
ltape (d) avec la clef publique dAlice;

( f ) ajouter une nouvelle chane alatoire au rsultat de ltape (e) et chiffrer


le tout avec la clef publique de David. Ils enregistrent la valeur de cette
chane alatoire;

(g) ajouter une nouvelle chane alatoire au rsultat de ltape (f) et chiffrer le
tout avec la clef publique de Christine. Ils enregistrent la valeur de cette
chane alatoire;

(h ) ajouter une nouvelle chane alatoire au rsultat de ltape (g) et chiffrer


le tout avec la clef publique de Bernard. Ils enregistrent la valeur de cette
chane alatoire ;

(i) ajouter une nouvelle chane alatoire au rsultat de ltape (h) et chiffrer le
tout avec la clef publique dAlice. Ils enregistrent la valeur de cette chane
alatoire.
Si E est la fonction de chiffrement, R est une chane alatoire et V est un vote,
le vote ressemble ceci:
EA(Rb,E B(Ri>E c (R 3,ED(R2,EA(E B(Ec (ED(V1R 1))))))))
Tous les votants sauvegardent les rsultats intermdiaires chaque point du
calcul. Ces rsultats seront utiliss plus tard dans le protocole pour confirmer
que leur vote est parmi ceux qui ont t comptabiliss.

2 Tous les votants envoient leur vote Alice.


3 Alice dchiffre tous les votes avec sa clef prive, vrifie que son vote est bien
parmi lensemble des votes (en cherchant sa chane alatoire parmi les votes),
et ensuite elle retire toutes les chanes alatoires ce niveau.

4 Alice mlange lordre de tous les votes et envoie le rsultat Bernard.


Chaque vote ressemble ceci maintenant :
E B{Ri ,E c {R 3 ,E D(R 2 ,E A{E B(Ec {ED{V,R1)))))))

5 Bernard dchiffre tous les votes avec sa clef publique, vrifie que son vote est
bien parmi lensemble des votes, retire toutes les chanes alatoires ce niveau,
mlange tous les votes et envoie le rsultat Christine.
Chaque vote ressemble ceci maintenant:
E c ( R 3 ,E d ( R 2,E a ( E b ( E c ( E d ( V ,R 1 ) ) ) ) ) )

Chapitre 6

142
6

Protocoles sotriques

Christine dchiffre tous les votes avec sa clef publique, vrifie que son vote est
bien parmi lensemble des votes, retire toutes les chanes alatoires ce niveau,
mlange tous les votes et envoie le rsultat David.
Chaque vote ressemble ceci maintenant :
E d (R 2 ,E a (E b (E c (E d (V A ) ) ) ) )

7 David dchiffre tous les votes avec sa clef publique, vrifie que son vote est
bien parmi l ensemble des votes, retire toutes les chanes alatoires ce niveau,
mlange tous les votes et envoie le rsultat Alice.
Chaque vote ressemble ceci maintenant :
E a (E b (E c (E d (V,R i))))
8

Alice dchiffre tous les votes avec sa clef publique, vrifie que son vote est bien
parmi lensemble des votes, signe lensemble des votes, et envoie le rsultat
Bernard, Christine et David.
Chaque vote ressemble ceci maintenant:
S a (E b (E c (E d (V ,/Zi))))

9 Bernard vrifie et retire la signature dAlice. Il dchiffre tous les votes avec sa
clef publique, vrifie que son vote est bien parmi lensemble des votes, signe
lensemble des votes, et envoie le rsultat Alice, Christine et David.
Chaque vote ressemble ceci maintenant :
S B {E c{E D{V,Ry)))
10

Christine vrifie et retire la signature de Bernard. Elle dchiffre tous les votes
avec sa clef publique, vrifie que son vote est bien parmi lensemble des votes,
signe l ensemble des votes, et envoie le rsultat Alice, Bernard et David.
Chaque vote ressemble ceci maintenant:
SC{E D{V,Ry))

1 1

David vrifie et retire la signature de Christine. Il dchiffre tous les votes avec
sa clef publique, vrifie que son vote est bien parmi l ensemble des votes, signe
lensemble des votes, et envoie le rsultat Alice, Bernard et Christine.
Chaque vote ressemble ceci maintenant:
S d {V,R i)

12 Tous vrifient et retirent la signature de David. Ils s assurent que leur vote est
bien parmi lensemble des votes (en cherchant leur chane alatoire parmi les
votes).

13 Chacun retire les chanes alatoires de chaque vote et compte les voix.

6.1

lections sres

Non seulement ce protocole marche mais il est auto-arbitr. Alice, Bernard, Chris
tine et David sauront immdiatement si quelquun triche. Aucune A C D ou A C L nest
ncessaire. Pour voir comment cela marche, essayons de tricher.
Si quelquun essaie de rajouter des voix, Alice le dtectera ltape 3 quand elle
recevra plus de votes que de participants. Si Alice essaie de rajouter des voix, Bernard
le dtectera ltape 4.
Un moyen plus dtourn de tricher est de remplacer un vote par un autre. Comme les
votes sont chiffrs avec plusieurs clefs publiques, nimporte qui peut crer autant de
votes valides que ncessaire. Il y a deux rondes au protocole de dchiffrement : la ronde
1 est constitue des tapes 3 7, et la ronde 2 est constitue des tapes 8 11. Le
remplacement de votes est dtect de faon diffrente dans les deux rondes.
Si quelquun remplace un vote par un autre dans la ronde 2 , ces actions sont dcouvertes
immdiatement. A chaque tape les votes sont signs et envoys tous les votants. Si
un (ou plusieurs) votant constate que son vote n est plus dans lensemble des votes, il
peut immdiatement arrter le protocole. Comme les votes sont signs chaque tape,
et que tout le monde peut remonter la ronde 2 du protocole, il est ais de dterminer
qui a remplac des votes.
Remplacer un vote par un autre pendant la ronde 1 du protocole est plus subtil. Alice ne
peut pas le faire ltape 3, car Bernard, Christine ou David le dtecteraient ltape
5, 6 ou 7. Bernard pourrait essayer ltape 5. Sil remplace le vote de Christine ou de
David (rappelez-vous quil ne sait pas qui tel vote correspond). Christine ou David
sen rendront compte ltape 6 ou 7. Ils ignoreront qui a modifi leur vote (bien
que cela ne puisse tre que quelquun ayant dj manipul leur vote) mais ils sauront
que leur vote a t falsifi. Si Bernard est chanceux et choisit le vote dAlice pour la
substitution, elle ne sen rendra compte qu la deuxime ronde. A ce moment-l, elle
dtectera ltape 8 que son vote manque. Toutefois, elle ne saura pas qui a modifi
son vote. Durant la premire ronde, les votes sont mlangs d une tape lautre et
non signs: il est impossible pour qui que ce soit de remonter le protocole afin de
dterminer qui a truqu les votes.
Un autre moyen de tricher est d essayer de deviner qui a vot pour qui. A cause du
mlange durant la premire ronde, il est impossible de remonter le protocole pour
associer les votants aux votes. Le retrait des chanes alatoires pendant la premire
ronde est galement crucial pour prserver lanonymat. Si elles ne sont pas retires, le
mlange des votes peut tre dfait en rechiffrant les votes avec la clef publique de celui
qui a mlang. Tant que le protocole tient, la confidentialit des votes est sre.
Plus fort encore, cause de la chane alatoire initiale R i , mme des votes identiques
sont chiffrs diffremment chaque tape du protocole. Personne ne connat le rsultat
du vote avant ltape 1 1 .
Quels sont les dfauts de ce protocole? Premirement, le protocole ncessite un grand
nombre de calculs. Lexemple dcrit ici nimplique que 4 votants et c tait compliqu.
Cela ne marcherait jamais pour de vraies lections avec des dizaines de milliers de
votants. Deuximement, David apprend les rsultats de llection avant tout le monde.
Bien quil ne puisse plus en modifier le rsultat, cela lui donne un pouvoir que les
autres nont pas. Pour en finir, tout cela sapplique aux protocoles de vote avec autorit
centrale.
Le troisime problme est quAlice peut faire le mme vote que nimporte quel autre
votant. Pour comprendre pourquoi cela peut tre un problme, considrons une lection

Chapitre 6

144

Protocoles sotriques

trois personnes Alice, Bernard et Estelle. Estelle ne soucie pas du rsultat de llection,
mais elle veut connatre le vote d Alice. Pour cela, elle copie le vote dAlice et le rsultat
de llection sera forcment gal au vote d Alice.

Autres schmas de vote


De nombreux protocoles srs dlection ont t proposs. On peut les cataloguer en
deux tendances de base. Il y les protocoles de mlange, comme le vote sans autorit
centrale de tabulation o les votes sont mlangs de sorte que personne ne peut
associer un vote avec un votant.
Il y a aussi des protocoles de division o les votes indiciduels sont rpartis entre diff
rentes autorits de comptabilisation de sorte quaucune ne puisse tromper les votants
elle seule [364, 363, 128, 125]. Ces protocoles ne protgent la vie prive des votants
que dans la mesure o les parties du Gouvernement (ou quiconque gre llection)
ne conspirent pas contre le votant1.
Un protocole de division est donn dans [1373]. Lide de dpart est que chaque votant
partage son vote en plusieurs parties. Par exemple, sil sagit de voter oui ou non ,
un 1 pourrait signifier oui et un 0 pourrait signifier non ; le votant produirait
alors plusieurs nombres dont la somme ferait soit 0, soit 1. Ces parties sont chiffres et
envoyes aux autorits de comptabilisation, une par autorit. Chaque centre totalise les
parts quil reoit 2 et le vote final est la somme de tous les totaux. Il y a des protocoles
qui certifient que la somme des parts de chaque votant vaut bien 1 ou 0 .
Un autre protocole, d David C h a u m [328], permet de retrouver les votants qui
essaient de perturber les lections. Toutefois, dans ce cas, le vote doit tre recommenc
sans le votant trublion; cette approche nest pas pratique pour des votes grande
chelle.
Un autre protocole de vote plus complexe qui pallie certains des dfauts est dcrit
dans [770, 771]. Il y a mme un protocole de vote qui utilise le surchiffrement [222], Un
autre protocole de vote, qui prtend tre pratique pour des lections grande chelle,
est dcrit dans [587]. Et [351] permet aux votants de sabstenir.
Les protocoles de vote marchent, mais ils facilitent le commerce des votes. Le risque
devient d autant plus grand que lacheteur peut sassurer que le vendeur a vot comme
promis. Certains protocoles sont conus pour quun votant ne puisse pas prouver
autrui quil a vot dun ct donn [127, 4, 1374].

6.2

Calcul rparti sr

Le calcu l rp arti sr est un protocole par lequel un groupe de personnes peuvent


se rasssembler pour calculer la valeur d une fonction plusieurs arguments. Chaque
participant fournit un seul argument de la fonction. Chacun dans le groupe connatra
le rsultat de lvaluation de la fonction mais personne napprend rien qui ne puisse se
dduire du rsultat concernant les valeurs d arguments fournies par les autres membres.
Voici quelques exemples :
X. C ette ide de scinder une autorit centrale en plusieurs parties, en qui l on n a confiance que si
elles sont runies vient de [320].
2. Il y a des protocoles qui perm ettent de vrifier lexactitude des totaux.

6.2

Calcul rparti sr

Protocole n 1
Comment un groupe de personnes peuvent-elles calculer la moyenne de leurs salaires
sans que personne napprenne le montant du salaire d un autre?
1 Alice ajoute un nombre alatoire secret son salaire, chiffre le rsultat avec la
clef publique de Bernard et lenvoie Bernard.

2 Bernard dchiffre le rsultat d Alice avec sa clef prive. Il ajoute son salaire
ce quil a reu dAlice, chiffre le rsultat avec la clef publique de Christine et
lenvoie Christine.

3 Christine dchiffre le rsultat de Bernard avec sa clef prive. Elle ajoute son
salaire ce quelle a reu de Bernard, chiffre le rsultat avec la clef publique
de David et lenvoie David.

4 David dchiffre le rsultat de Christine avec sa clef prive. Il ajoute son salaire
ce quil a reu de Christine, chiffre le rsultat avec la clef publique dAlice et
lenvoie Alice.

5 Alice dchiffre le rsultat de David avec sa clef prive. Elle retire le nombre
alatoire de ltape 1 pour retrouver la somme des salaires de tout le monde.
6

Alice divise le rsultat par le nombre de personnes (4 dans ce cas-ci) et annonce


le rsultat.

Ce protocole fait lhypothse que tout le monde est honnte. Si les participants mentent
propos de leur salaire, la moyenne sera fausse. Un dfaut plus srieux est quAlice
peut truquer le rsultat prsent aux autres. Elle peut retirer le nombre quelle veut
du rsultat ltape 5 et personne ne sen rendrait compte. Alice pourrait en tre
empche en lobligeant mettre en gage son nombre alatoire en utilisant nimporte
quel schma de mise en gage de le paragraphe 4.9 mais quand elle rvle son nombre
alatoire la fin du protocole, Bernard peut connatre le montant du salaire d Alice.

Protocole n 2
Alice et Bernard sont ensemble au restaurant et discutent de leur ge respectif. Ni lun
ni lautre ne veut dire son ge lautre mais ils sont tous les deux curieux de savoir
qui est le plus g. Ils pourraient chacun murmurer leur ge loreille dun tiers de
confiance (le serveur, par exemple), qui calculera de tte et qui annoncera le rsultat
Alice et Bernard.
Il y a deux dfauts au protocole ci-dessus. Premirement, le serveur ordinaire na pas
de capacit de calcul pour traiter des problmes plus complexes que la comparaison
entre deux nombres. Deuximement, si Alice et Bernard taient vraiment soucieux du
caractre secret de leurs informations, ils devraient noyer le serveur dans un verre deau
de Vichy sinon celui-ci pourrait tout raconter au sommelier.
La cryptographie clef publique offre une solution bien moins violente. U existe un
protocole grce auquel Alice qui connat la valeur a, et Bernard qui connat la va
leur b, peuvent ensemble calculer f(a,b) de manire qu Alice nait aucune information
concernant b et que Bernard nait aucune information concernant a. Ainsi, Alice et
Bernard sont tous deux convaincus de la validit des calculs. Comme lalgorithme

Chapitre 6

146

Protocoles sotriques

cryptographique utilis est partie intgrante du protocole, les dtails seront donns
dans le paragraphe 23.14.
Bien sr, ce protocole ne protge pas contre les tricheurs actifs. Il ny a rien qui empche
Alice (ou Bernard par la mme occasion) de tricher sur son ge. Si Bernard tait
un programme informatique qui excutait aveuglment le protocole, Alice pourrait
apprendre son ge (est-ce que lge d un programme informatique est compt partir
du temps o il a t crit ou partir du temps o il a commenc tre excut?) par
applications rptes du protocole. Alice peut excuter le protocole en donnant comme
ge 60 ans. Aprs avoir appris quelle est plus ge, elle excute le protocole nouveau
en prtendant tre ge de 30 ans. Aprs avoir appris que Bernard est plus g, elle
excute le protocole nouveau avec 45 et ainsi de suite jusqu que ce quelle connaisse
lge de Bernard avec une prcision aussi grande que souhaite.
En faisant lhypothse que les participants ne trichent pas activement, il est ais
d tendre ce protocole plus de deux participants. Nimporte quel nombre de personnes
peuvent dterminer lordre de leurs ges par des applications honntes et rptes du
protocole ; et aucun participant napprendra lge dun autre participant.

Protocole n 3
Alice aime faire des choses un peu perverses avec des ours en peluche. Bernard a des
fantasmes rotiques propos des tables en marbre. Chacun est gn d voquer ses
ftiches particuliers mais aimerait bien trouver le compagnon qui partage leur ... hum
... style de vie.
Au Service Informatique Scuris de Rencontres de Groupetm nous avons conu
un protocole pour de telles personnes. Nous avons numrot une liste tonnante de
ftiches depuis a jusqu z . Discrtement, spars par un modem, Alice et
Bernard peuvent participer un protocole multi-participants sr. Ensemble, ils peuvent
dterminer sils partagent ou non un ftiche particulier. Si oui, ils peuvent envisager
une heureuse relation. Si non, ils peuvent se dire au revoir, assurs de la confidentialit
de leurs secrets. Personne, mme pas la Secure Multiparty Computation Dating
Servicetm ne saura jamais.
Voil comment a marche.
1

Alice applique une fonction de hachage a sens unique au nom de son ftiche et
obtient une suite de huit chiffres.

2 Alice se sert de cette suite de chiffres comme dun numro de tlphone au quel
elle appelle et laisse un message pour Bernard. Si personne ne rpond ou si le
numro nest pas en service, Alice applique autant de fois quil est ncessaire
la fonction de hachage au numro de tlphone pour avoir en ligne quelquun
qui puisse participer au protocole.

3 Alice dit Bernard combien de fois elle a du appliquer la fonction de hachage


au nom de son ftiche.

4 Bernard applique la fonction de hachage au nom de son ftiche le mme nombre


de fois. Il tlphone au numro que forme le rsultat et demande si personne
na laiss de message pour lui.

Bernard peut faire une attaque texte en clair choisi. Il peut appliquer la fonction de
hachage des noms de ftiches usuels et appeller aux numros de tlphones rsultants

6.2

147

Calcul rparti sr

la recherche de messages pour lui. Ce protocole ne marche vraiment que sil y a assez
de textes en clair possibles pour rendre cette attaque infaisable.
Il existe aussi un protocole mathmatique similaire au protocole n 2. Alice connat a,
Bernard connat b et ensemble ils vont dterminer si a = b de telle manire que Bernard
napprenne rien sur a et Alice napprenne rien sur b. Les dtails sont donns dans le
paragraphe 23.14.

Protocole n 4
Voici un autre problme pour le calcul rparti sr [1375]. Un comit se runit rguli
rement pour voter secrtement sur certains sujets. (Oui, ils gouvernent secrtement le
monde, ne dites personne que je vous lai dit.) Tous les membres du comit peuvent
voter par oui ou non . En plus, deux participants ont le droit dmettre des
super-votes : Soui et S non . Ils ne sont pas obligs dmettre des super
votes, ils peuvent mettre des votes normaux sils prfrent. Si personne nmet de
super-vote, alors la majorit des voix dcide de lissue du scrutin. Dans le cas o il ny
a quun seul super-vote, ou deux super-votes quivalents, tous les votes normaux sont
ignors. Dans le cas de deux super-votes contradictoires, la majorit des votes normaux
lemporte. Nous voulons un protocole qui ralise de faon sre ce type de vote.
Deux exemples illustreront le processus de vote. Faites lhypothse quil y a 5 votants
normaux, Nj IV5 et deux super-votants Si et S2. Voici le rsultat du vote n 1
Si

S -oui

S-2 Ni
non non

N2 N3
non non

N4
oui

N5
oui

Dans ce cas-l,seul compte le vote de Si et lersultat est oui .


Voici le rsultat du vote surle sujet suivant n 2 :
Si

S -oui

S2
S- non

Ni

non

N2
non

N3
non

N4
oui

N5
oui

Ici les deux super-votes sannulent et la majorit des non lemporte.


Sil nest pas ncessaire de cacher comment le vote a t tranch : par un super-vote ou
par une majorit de votes rguliers, c est une simple application du protocole de vote
sr. Sil est par contre important de garder cette information secrte, un protocole de
calcul rparti sr plus compliqu est ncessaire.
Ce type de vote peut exister dans la vie courante. Cela peut faire partie de la structure
dune socit o certaines personnes ont plus de pouvoir que d autres. Ou cela peut
faire partie des procdures de lONU o certaines nations ont plus de pouvoir que
dautres.

Protocoles rpartis inconditionnellement sr


Il sagit simplement dun cas particulier d un thorme plus gnral: un ensemble de n
participants peut calculer valuer nimporte quelle fonction n arguments de sorte que
chacun connatra le rsultat sans quun sous-ensemble de moins de n / 2 participants ne
puisse obtenir dautre information que leurs arguments et linformation inhrente au
rsultat. Pour les dtails, voir [121, 339, 1299, 622].

Chapitre 6

148

Protocoles sotriques

Evaluation rpartie sre de circuits


Alice a sa donne a, Bernard a sa donne b. Ensemble, ils dsirent calculer une certaine
fonction f{a,b) de manire quAlice napprenne rien sur la donne de Bernard et que
Bernard napprenne rien sur la donne d Alice. Le problme gnrique de calcul rparti
sr est aussi appel valu a tion rp a rtie sre d e circu its. Ici Alice et Bernard
peuvent crer un circuit boolen arbitraire. Ce circuit accepte les entres d Alice et
de Bernard et produit une sortie. Lvaluation sre de circuits est un protocole qui
accomplit trois choses :
1

. Alice peut entrer sa donne sans que Bernard ne puisse la connatre.

2. Bernard peut entrer sa donne sans quAlice ne puisse la connatre.


3. Alice et Bernard peuvent tous deux calculer la sortie en tant tous deux convain
cus que la sortie est correcte et que personne n a trich.
Les dtails concernant les valuations sres de circuits peuvent tre trouvs dans [832].

6.3

Diffusion de messages anonymes

Vous ne pouvez pas aller dner avec un groupe de cryptographes sans quil y ait du
chahut. Dans [327], David C h a u m introduit le Problme du Dner des Cryptographes:
Trois cryptographes sont en train de dner dans leur restaurant trois
toiles favori. Leur serveur les informe que des arrangements ont t pris
avec le matre dhtel pour que la note soit paye anonymement. L un des
cryptographes peut avoir pay le dner, ou cela peut tre la NSA. Les
trois cryptographes respectent leur droit respectif d effectuer un paiement
anonyme mais ils aimeraient bien savoir quand c est la NSA qui paie.
Comment les cryptographes, appels Alice, Bernard et Christine, dterminent-ils si lun
dentre eux paie le repas tout en prservant lanonymat du payeur?
C h a u m continue ainsi pour rsoudre le problme :
Chaque cryptographe lance une pice non biaise derrire son menu, entre
lui et le cryptographe sa droite, de telle faon queux deux seuls voient le
rsultat du lancer. Chaque cryptographe annonce alors haute voix si les
deux pices quil peut voir celle quil a lance et celle que son voisin de
gauche a lance sont tombes sur la mme face ou sur des faces opposes.
Si lun des cryptographes est le payeur, il annonce le contraire de ce quil
voit. Un nombre impair de diffrences annonc autour de la table indique
que lun des cryptographes paie laddition ; un nombre pair de diffrences
indique que la NSA paie (en faisant lhypothse que le repas n est pay
quune seule fois). Ainsi, si un cryptographe paie, aucun des deux autres
napprend quoi que ce soit concernant lidentit du payeur partir des
annonces.
Pour voir si cela marche, imaginez quAlice essaie de deviner quel autre cryptographe a
pay le dner (en faisant lhypothse que ni elle ni la NSA nont pay). Si elle voit deux

6.3

Diffusion de messages anonymes

149

faces diffrentes, alors les deux autres cryptographes, Bernard et Christine, ont tous
deux annonc identiques , ou ils ont tous deux annonc diffrentes . (Rappelezvous quun nombre impair de cryptographes annonant diffrentes indique que
lun dentre eux paie.) Si tous les deux ont dit diffrentes alors le payeur est le
cryptographe le plus proche de la pice qui est identique la pice cache (celle qui
a t lance entre Bernard et Christine). Si tous les deux ont dit identiques alors
le payeur est le cryptographe le plus proche de la pice diffrente de la pice cache.
De mme, si Alice voit deux faces identiques, alors soit Bernard a dit identiques et
Christine diffrentes ou inversment. Si la pice cache est la mme que les deux
pices quelle voit, alors le cryptographe qui a dit diffrentes est le payeur. Si la
pice cache est diffrente des deux pices quelle voit, alors le cryptographe qui a dit
identiques est le payeur. Dans tous les cas, Alice doit connatre le rsultat du lancer
entre Bernard et Christine pour dterminer qui a pay.
Ce protocole peut tre gnralis pour nimporte quel nombre de cryptographes : ils sont
tous assis en rond et lancent des pices entre eux. Mme deux cryptographes peuvent
effectuer le protocole: bien sr ils savent qui a pay mais quelquun qui observe le
protocole peut seulement dire si un des cryptographes a pay ou si la NSA a pay. Il
ne peut pas dire quel cryptographe a pay.
Les applications de ce protocole dpassent largement le cadre du restaurant. C est un
exemple d a b s e n c e i n c o n d i t i o n n e l l e d e m o y e n d e r e t r o u v e r l e x p d i t e u r e t
le d e s t i n a t a i r e . Un groupe d utilisateurs d un rseau disposent du protocole suivant
pour changer des messages anonymes.
1 Les utilisateurs s organisent sous forme dun anneau logique.
2 A intervalles rguliers les paires dutilisateurs adjacents lancent une pice entre
eux, en utilisant un protocole quitable de jeu pile ou face. Ils veillent ce que
tous leurs messages soient chiffrs de manire qu ils soient les seuls connatre
le rsultat du lancer.

3 A intervalles rguliers chaque utilisateur annonce soit identiques , soit dif


frentes .
Si les utilisateurs veulent diffuser cm message individuellement, ils commencent sim
plement inverser les annonces dans les rondes correspondant des 1 dans la repr
sentation binaire du message. Par exemple, si le message est 1001 , ils inversent
leur rponse, disent la vrit, disent la vrit et finalement inversent leur rponse.
En faisant lhypothse que les rsultats des lancers sont diffrentes , identiques ,
identiques , identiques , ils annoncent identiques , identiques , identiques ,
diffrentes .
Si les utilisateurs dtectent que le rsultat du protocole ne correspond pas au mes
sage quils essaient denvoyer, ils savent que quelquun dautre est galement en train
dessayer denvoyer un message. Ils arrtent alors de transmettre durant un nombre
alatoire de rondes avant dessayer nouveau. Les paramtres exacts doivent tre ba
ss sur le volume de messages circulant sur le rseau mais lide est claire.
Pour rendre les choses encore plus intressantes, les messages peuvent tre chiffrs par
les clefs publiques des uns et des autres. Alors, quand tout le monde reoit le message
(une ralisation concrte de cela ajouterait des en-ttes et des conclusions de messages
standards), seul le destinataire lgitime peut dchiffrer et lire le message. Personne
dautre ne sait qui la envoy. Personne ne sait qui peut le lire. L analyse de trafic, qui

150

Chapitre 6

Protocoles sotriques

trace et enregistre les motifs de communication entre les gens bien que les messages
soient eux-mmes chiffrs, est inutile dans ce cas-l.
Une alternative au lancer de pice entre participants adjacents est de partager un
fichier de bits alatoires. Peut-tre pourront-ils le ranger sur un CD-ROM, ou lun
des membres de la paire pourra engendrer un paquet de bits alatoires et les envoyer
lautre participant (en chiffrant le transfert bien sr) ? Une autre possibilit est de
convenir de lutilisation d un gnrateur pseudo-alatoire de nombres et ils peuvent
alors chacun engendrer la mme chane de bits pseudo-alatoires pour le protocole.
Un problme dans ce protocole est le suivant: si un participant malveillant ne peut
lire aucun message, il peut par contre fausser le systme sans tre pris en mentant
ltape 3. Il existe une modification de ce protocole qui permet de dtecter les
perturbations [1580, 1253] ; le problme sappelle le Dner des Cryptographes la
Discothque .

6.4

Argent lectronique

L argent est un problme. C est gnant transporter, cela peut rpandre les maladies,
et on peut vous le voler. L existence des cartes de crdit a largement rduit la quantit
de monnaie qui circule dans notre socit mais llimination complte de la monnaie
est virtuellement impossible. Cela narrivera jamais : les trafiquants de drogue et les
politiciens ne laccepteront jamais. Les cartes de crdit et les chques sont associes
un relev : vous ne pouvez pas cacher qui vous donnez de largent.
D un autre ct, les chques et les cartes de crdit autorisent une intrusion dans votre
vie prive un degr jamais imagin auparavant. Vous pourriez ne jamais avoir faire
la police de toute votre vie, mais la police peut surveiller vos transactions financires.
Ils peuvent voir o vous achetez de lessence, de la nourriture, qui vous appelez au
tlphone, tout cela sans bouger de leur ordinateur. Les gens ont besoin d un moyen
de protger leur anonymat pour protger leur vie prive.
Heureusement, il existe un protocole compliqu qui permet des messages authentiques
mais dont on ne peut retrouver lmetteur. Alice la lobbyiste peut transfrer de largent
lectronique au snateur Bernard de manire que la journaliste Estelle ne connaisse
pas lidentit dAlice. Bernard peut alors dposer cet argent lectronique sur son compte
en banque, mme si la banque na pas la moindre ide de qui est Alice. Mais si Alice
essaie de corrompre deux hommes politiques avec le mme argent lectronique chose
facile tenter avec un programme de copies de bits elle sera repre par la banque. Et
si Bernard essaie de dposer deux fois le mme argent lectronique sur deux comptes dif
frents, il sera repr mais Alice restera anonyme. On nomme aussi cela de largent
lectronique anonyme pour le diffrencier de largent lctronique avec relev comme
les cartes de crdit.
La demande sociale pour ce genre de choses est forte. Avec la monte dInternet dans
les transactions commerciales, il y a un appel grandissant pour la prservation de la vie
prive dans les rseaux et lanonymat dans les affaires3. D un autre ct, les banques et
les gouvernements ne veulent pas abandonner le contrle que leur procure les systmes
actuels de paiement avec relev. Ils y seront contreints pourtant. Tout ce dont il suffit
3.
Les gens ont de bonnes raisons dtre rtissants avant denvoyer leur numro de carte de crdit
via Internet.

6.4

Argent lectronique

151

pour Lancer largent lectronique, c est une institution de confiance qui changera les
nombres numriques contre de largent officiel.
Les protocoles dargent lectronique sont trs compliqus. Nous allons en mettre un
sur pied, tape par tape. Pour plus de dtails lisez [322, 344, 330, 340, 345]. Rendez
vous bien compte quil sagit l dun seul protocole dargent lectronique, il en existe
dautres.

Protocole n 1
Les quelques premiers protocoles sont des analogies matrielles des protocoles cryptographiques. Le protocole suivant est un protocole matriel pour des ordres de paiement
anonymes :
1 Alice prpare 100 ordres de paiement anonymes de 1000 francs.
2 Alice place chacun dentre eux avec une feuille de carbone dans 100 enveloppes
diffrentes. Elle donne le tout la banque.

3 La banque ouvre 99 enveloppes et confirme que chacune dentre elles contient


bien un ordre de paiement dun montant de 1 0 0 0 francs.

4 La banque signe la seule enveloppe non ouverte restante. La signature passe


travers le carbone sur lordre de paiement. La banque rend lenveloppe non
ouverte Alice et retire 1 000 francs de son compte.

5 Alice ouvre lenveloppe et utilise lordre de paiement chez un commerant.


6

Le commerant vrifie la signature de la banque pour s assurer que lordre de


paiement est lgitime.

7 Le commerant porte lordre de paiement la banque.


8

La banque vrifie sa signature et crdite le compte du commerant de


1 0 0 0 francs.

Ce protocole marche. La banque ne voit jamais lordre de paiement lors de la signature,


donc quand le commerant lapporte la banque, celle-ci ne sait pas quil est dAlice.
La banque est toutefois convaincue quil est valide grce sa signature. La banque
est persuade que le montant de lordre de paiement non ouvert est de 1 0 0 0 francs
(et non pas de 1 0 0 0 0 0 francs ou de 1 0 0 0 0 0 0 0 0 francs) grce la technique couperet-choisir (voir 5.1). Elle vrifie les 99 autres enveloppes, Alice na donc que 1 %
de chance de tromper la banque. Bien sr, en cas de tricherie, la banque infligera une
amende dun montant tel que cela dcouragera toute tentative. Si la banque refuse de
signer le dernier chque (si Alice est prise en flagrant dlit de tricherie) sans aucune
punition, Alice pourrait continuer jusqu ce quelle ait de la chance4.

Protocole n 2
Le protocole prcdent empche Alice d indiquer un montant suprieur ce quelle est
en droit de prtendre sur un ordre de paiement, mais rien ne lempche de photocopier
4. Les peines de prison sont de bons moyens de dissuasion.

152

Chapitre 6

Protocoles sotriques

lordre de paiement et de lutiliser deux fois. Pour viter cela nous devons compliquer
le protocole :
1 Alice prpare 100 ordres de paiement anonymes de 1000 francs chacun. Sur
chaque ordre de paiement elle ajoute une chane alatoire diffrente et unique,
suffisamment longue pour que les chances quun autre utilisateur utilise la
mme chane soient ngligeables.

2 Alice place chacun dentre eux avec une feuille de carbone dans 100 enveloppes
diffrentes. Elle donne le tout la banque.

3 La banque ouvre 99 enveloppes et confirme quil s agit bien dordres de paiement


pour un montant de 1 0 0 0 francs, et que les chanes alatoires uniques sont bien
diffrentes.

4 La banque signe la dernire enveloppe non ouverte. La signature passe travers


le carbone sur lordre de paiement. La banque rend lenveloppe non ouverte
Alice et retire 1000 francs de son compte.

5 Alice ouvre lenveloppe et utilise lordre de paiement chez un commerant.


6

Le commerant vrifie la signature de la banque pour s assurer que lordre de


paiement est lgitime.

7 Le commerant porte lordre de paiement la banque.


8

La banque vrifie sa signature et contrle sa base de donnes pour vrifier qu un


ordre de paiement avec la mme chane alatoire unique na pas dj t dpos
auparavant. Si tout est en ordre, la banque crdite le compte du commerant du
montant de 1000 francs. La banque enregistre la chane alatoire unique dans
sa base de donnes.

9 Si cet ordre de paiement a dj t dpos auparavant, la banque nacceptera


pas lordre de paiement.

Ds lors, si Alice essaie d utiliser une photocopie de lordre de paiement, ou si le com


merant essaie d encaisser une photocopie de lordre de paiement, la banque le dtec
tera.

Protocole n 3
Le protocole prcdent protge la banque de la tricherie mais il ne permet pas lidentifi
cation du tricheur. La banque ne sait pas si la personne qui a achet lordre de paiement
(la banque ne peut pas savoir que c est Alice) a essay de rouler le commerant ou si
le commerant a essay de rouler la banque. Le protocole suivant corrige ce dfaut :

1 Alice prpare 100 ordres de paiement anonymes de 1000 francs chacun. Sur
chaque ordre de paiement elle ajoute une chane alatoire diffrente et unique,
suffisamment longue pour que les chances quun autre utilisateur utilise la
mme chane soient ngligeables.

2 Alice place chacun dentre eux avec une feuille de carbone dans 100 enveloppes
diffrentes. Elle donne le tout la banque.

6.4

Argent lectronique

15S

3 La banque ouvre 99 enveloppes et confirme quil s agit bien dordres de paiement


pour un montant de 1 0 0 0 francs, et que les chanes alatoires uniques sont bien
diffrentes.

4 La banque signe la dernire enveloppe non ouverte. La signature passe travers


le carbone sur lordre de paiement. La banque rend lenveloppe non ouverte
Alice et retire 1 000 francs de son compte.

5 Alice ouvre lenveloppe et utilise lordre de paiement chez un commerant.


6

Le commerant vrifie la signature de la banque pour s assurer que lordre de


paiement est lgitime.

7 Le commerant demande Alice dcrire une chane didentification alatoire


sur lordre de paiement.
8

Alice s excute.

9 Le commerant apporte lordre de paiement la banque.


10 La banque vrifie la signature et contrle sa base de donnes pour vrifier quun
ordre de paiement avec la mme chane alatoire unique na pas dj t dpos
auparavant. Si tout est en ordre, la banque crdite le compte du commerant
du montant de 1000 francs. La banque enregistre la chane alatoire unique et
la chane alatoire didentification dans sa base de donnes.
1 1

Si la chane alatoire unique est dans sa base de donnes, la banque refuse


daccepter lordre de paiement. Ensuite, elle compare la chane didentification
avec celle qui est enregistre dans sa base de donnes. Si c est la mme, la
banque sait que c est le commerant qui a fait une photocopie de lordre de
paiement. Si elle est diffrente, la banque sait que c est la personne qui a achet
lordre de paiement qui la photocopi.

Ce protocole fait lhypothse que le commerant ne peut pas modifier la chane diden
tification une fois quAlice la crite sur lordre de paiement. Lordre de paiement peut
avoir une suite de petites cases que le commerant demandera Alice de remplir avec
des X ou des O. Lordre de paiement serait fait de papier qui se dchire si lon tente
deffacer.
Comme linteraction entre le commerant et la banque a lieu aprs quAlice a dpens
largent, le commerant reste avec un mauvais ordre de paiement sur les bras. Des
ralisations pratiques de ce protocole ncessitent quAlice attende prs de la caisse
pendant linteraction entre le commerant et la banque tout comme pour les cartes de
crdit aujourdhui.
Alice peut essayer de rouler le commerant. Elle peut essayer d utiliser une copie de
lordre de paiement une seconde fois en donnant la mme chane d identification
ltape 7. A moins que le commerant nenregistre les ordres de paiement quil reoit
dans une base de donnes, le commerant se fera rouler. Le protocole suivant limine
ce dfaut.

Protocole n 4
Sil savre que la personne qui a achet lordre de paiement a essay de rouler le
commerant, il incombe la banque de dterminer lidentit du tricheur. Pour ce faire
nous devons quitter le monde matriel pour celui de la cryptographie.

Chapitre 6

154

Protocoles sotriques

La technique du morcellement de secret peut tre utilise pour cacher le nom dAlice
dans lordre de paiement numrique.

1 Alice prpare n ordres de paiement anonymes dune somme donne.


Chaque ordre de paiement contient une chane alatoire unique diffrente, X ,
assez longue pour que la chance den avoir deux identiques soit ngligeable.
Sur chaque ordre de paiement, il y a aussi n paires de chanes de bits d identifi
cation, I i ,l 2 , . . . ,In- Cela fait n paires diffrentes sur chaque chque. Chacune
de ces paires est engendre de la faon suivante: Alice cre une chane qui
contient son nom, son adresse et toute autre information que la banque dsire
quant son identit. Ensuite elle coupe cette chane en deux morceaux en utili
sant le protocole de morcellement de secret (voir 3.6). Enfin elle met en gage
chaque morceau en utilisant un protocole de mise en gage de bits.
Par exemple, I37 est constitue de deux parties : Iz7G et IyjD Chaque partie
est un paquet de bits mis en gage dont on peut demander louverture Alice,
et dont louverture correcte peut tre instantanment vrifie. Toute paire I ^ G
et h rD Par exemple, rvle lidentit dAlice (mais pas l 37G et h%D). Chacun
des ordres de paiement ressemble ceci :
Montant :
. . . francs
Chane unique:
X
Chane didentification: I\ = (I\G,lyD)
h = { h a J 2 D)

ln
2

(^nci^np)

Alice camoufle les n ordres de paiement en utilisant le protocole de signature


aveugle. Elle donne le tout la banque.

3 La banque demande Alice de retirer le camouflage de n 1 ordres de paie


ment et confirme quils sont conformes. La banque vrifie le montant, la chane
unique et demande Alice de rvler toutes les chanes didentification.

4 Si la banque constate quAlice na pas fait de tentative de tricherie, elle signe


Tordre de paiement camoufl restant. La banque rend Alice l ordre de paie
ment camoufl et retire le montant de son compte.

5 Alice retire le camouflage de Tordre de paiement et lutilise chez un commer


ant.
6

Le commerant vrifie la signature de la banque pour s assurer de la lgitimit


de Tordre de paiement.

7 Le commerant demande Alice de rvler alatoirement la moiti gauche ou


la moiti droite de chacune des chanes didentit de Tordre de paiement. En
fait, le commerant donne Alice une chane d e slection alatoire de n
bits: bi, b-2 , ..., bn. Alice ouvre soit la partie gauche, soit la partie droite de L
suivant que bi vaut 0 ou 1.
8

Alice s excute.

9 Le commerant porte lordre de paiement la banque.

6.4

Argent lectronique

155

10 La banque vrifie la signature et contrle sa base de donnes pour vrifier quun


ordre de paiement avec la mme chane alatoire unique na pas t dpos
auparavant. Si tout est en ordre, la banque crdite le compte du commerant
du montant de 1000 francs. La banque enregistre la chane alatoire unique et
toutes les informations didentification dans sa base de donnes.

11 Si la chane alatoire unique est dans sa base de donnes, la banque refuse


daccepter lordre de paiement. Ensuite, elle compare la chane didentification
sur lordre de paiement avec celle qui est enregistre dans sa base de donnes.
5* c 'est la mme, la banque sait que c est le commerant qui a fait une photo
copie de l ordre de paiement. Si elle est diffrente, la banque sait que c est la
personne qui a achet lordre de paiement qui la photocopi. Comme le second
commerant qui a accept lordre de paiement dAlice lui a donn une
autre chane de slection que le premier commerant, la banque trouvera une
position de bit o lun des commerants a demand douvrir la moiti gauche
et lautre commerant a demand douvrir la moiti droite. La banque calcule
le ou exclusif des deux moitis pour retrouver lidentit dAlice.

Cest un protocole tonnant, aussi regardons-le sous diffrents angles.


Alice peut-elle tricher? Son ordre de paiement numrique nest rien d autre quune
chane de bits, donc elle peut la copier. Lutiliser une premire fois ne pose pas de
problme : elle excute tout le protocole et tout va trs bien. Le commerant lui donnera
une chane de slection alatoire ltape 7 et Alice ouvrira soit la partie gauche, soit
la partie droite de chaque I, ltape 8 . A ltapelO, la banque enregistrera toutes ces
donnes ainsi que la chane unique de lordre de paiement.
Quand Alice essaie d utiliser le mme ordre de paiement numrique une seconde fois,
le commerant (soit le mme commerant soit un autre) lui donnera une autre chane
de slection alatoire ltape 7. Alice doit sexcuter ltape 8 : ne pas le faire
signalerait immdiatement lanomalie au commerant. Si le commerant apporte lordre
de paiement la banque ltape 1 0 , la banque remarquera immdiatement quun ordre
de paiement avec la mme chane unique a dj t dpos. La banque compare alors
les moitis ouvertes des chanes d identification. Les chances que les deux chanes de
slection soient les mmes sont de 1 pour n ; cela a peu de chance de se produire dici
la prochaine re glaciaire. La banque trouve alors une paire dont la moiti gauche
a t ouverte la premire fois et la moiti droite a t ouverte la deuxime fois. Elle
calcule le ou exclusif des deux moitis et dcouvre le nom dAlice. La banque sait qui
a essay dutiliser cet ordre de paiement deux fois.
Le protocole ne ncessite pas la prsence d Alice tandis que la banque et le commerant
excutent leur part du protocole. Ce nest que si Alice triche que la banque connat
son identit. Alice ne peut pas empcher que son identit soit rvle. Elle ne peut pas
modifier la chane unique ni les chanes didentification car dans ce cas la signature de
la banque ne serait plus valable. Le commerant sen rendrait immdiatement compte
ltape 6 .
Alice peut essayer subrepticement de faire passer un ordre de paiement aux dpens
de la banque, un ordre sur lequel les chanes didentification ne rvleraient pas son
nom ou mieux encore, un ordre dont les chanes didentification donneraient le nom
de quelquun dautre. Les chances de russir cette ruse ltape 3 sont de 1 sur n. Ce
nest pas si improbable que cela mais si la pnalit est assez lourde, Alice nessaiera

156

Chapitre 6

Protocoles sotriques

pas. Ou, vous pouvez augmenter le nombre d ordres de paiement quAlice doit prparer
ltape 2 .
Est-ce que le commerant peut tricher? Ses chances sont encore moins grandes. Il
ne peut pas encaisser lordre de paiement deux fois : la banque dtecterait la double
utilisation de la chane de slection. Il ne peut pas reporter la faute sur Alice, seule
Alice peut ouvrir les chanes d identification.
Mme une collusion entre Alice et le commerant ne peut pas duper la banque. Comme
la banque signe lordre de paiement avec la chane unique, elle est sre de ne payer cet
ordre quune fois.
Quen est-il de la banque? A-t-elle un moyen de dterminer quun ordre de paiement
encaiss a t sign pour Alice? Alice est protge par le protocole de signature en
aveugle des tapes 2 5. La banque ne peut faire le lien, mme si elle garde un enre
gistrement complet de toutes les transactions. Bien mieux, la banque et le commerant
nont aucun moyen de se mettre ensemble pour dterminer qui est Alice. Alice peut
entrer dans le magasin et dans le plus complet anonymat faire ses achats.
Estelle peut tricher. Elle peut espionner la communication entre Alice et le commerant,
et si elle peut aller la banque avant lui, elle peut porter lordre de paiement la banque
en premier. La banque lacceptera, et mme pire, quand le commerant viendra porter
son ordre de paiement, il sera suspect de tricherie. Si Estelle vole et dpense largent
lectronique d Alice avant cell-ci, cest Alice qui sera suspecte de tricherie. Il ny a
aucun moyen d empcher cela; c est la consquence directe de lanonymat procur par
largent lectronique. Alice et le commerant doivent tous les deux protger leurs bits
comme ils le feraient avec des billets.
Ce protocole se situe quelque part entre les protocoles arbitrs et les protocoles autoarbitrs. Alice et le commerant font confiance la banque pour quelle honore les
ordres de paiement, mais Alice na pas confiance dans la banque en ce qui concerne
son identit.

Argent lectronique et crime parfait


Largent lectronique a aussi son mauvais ct. Parfois, les gens ne veulent pas autant
danonymat. Observons Alice en train de commettre le crime parfait [1577] :
1

Alice kidnappe un bb.

Alice prpare 10000 ordres de paiement anonymes de

000 francs chacun (ou

autant qu elle veut pour le montant qu elle veut).

3 Alice camoufle les 10 000 ordres de paiement en utilisant un protocole de signa


ture en aveugle. Elle envoie les rsultats aux autorits en menaant de tuer le
bb si les instructions suivantes ne sont pas suivies la lettre :
( a )

faites signer les 1 0 0 0 0 ordres de paiement par une banque;

(b) publiez les

rsultats dans un quotidien.

4 Les autorits s excutent.


5 Alice achte le journal, retire le camouflage des ordres de paiement, et com
mence les utiliser. Les autorits nont aucun moyen de faire le lien entre les
ordres de paiement et Alice.

6.4

Argent lectronique

157

6 Alice libre le bb.


Cette situation est autrement dramatique que toute autre impliquant des biens ma
triels (de lagent liquide par exemple). Comme il ny a pas de contact physique, la
police a moins de chances dapprhender le ravisseur.
En gnral, cependant, largent lectronique nest pas une bonne affaire pour les crimi
nels. Le problme vient du fait que lanonymat ne marche que dans un sens: lacheteur
est anonyme, mais pas le vendeur. De plus, le vendeur ne peut pas cacher le fait quil a
reu de largent lectronique. Avec largent lectronique, le gouvernement pourra faci
lement dterminer combien d argent vous recevez, mais pas comment vous le dpensez.

Argent lectronique pratique


Une socit nrlandaise, D ig i C a s h , possde la plupart des brevets existants en la
matire, et a ralis des protocoles d argent lectronique dans des produits qui fonc
tionnent. Toute personne intresse doit contacter DigiCash BV, Kruislaan 419,
1098 VA Amsterdam, Pays-Bas.

Autres protocoles dargent lectronique


Il existe dautres protocoles dargent lectronique; voir [708, 6 6 , 736, 1635, 985].
Certains dentre eux mettent en jeu des mathmatiques assez compliques. En gnral,
on peut distinguer diverses catgories de protocoles d argent lectronique.
Dans les systmes en ligne, le commerant doit communiquer la banque chaque
vente, ce qui ressemble aux protocoles actuels de carte de crdit. Sil y a un problme,
la banque reffuse dencaisser et Alice ne peut pas tricher.
Dans les systmes au ton om es, comme le protocole n 4, aucune communication entre
le commerant et la banque nest ncessaire durant la transaction. Ces systmes nem
pchent pas Alice de tricher, mais dtectent toute tricherie ventuelle. Alice sait que
cela arrivera, aussi elle ne triche pas.
Une autre solution est de crer une carte mmoire spciale (voir 24.13) contenat
une puce rsistante linvestigation appele observatrice [336, 346, 391]. La puce
observatrice garde une mini-base de donnes contenant toutes les dpenses dargent
lectronique faites avec cette carte. Si Alice essaye de copier de largent lectronique
et de le dpenser deux fois, la puce observatrice dtectera la tentative et empchera la
transaction. Comme la puce rsiste linvestigation, Alice ne peut effacer la mini-base
de donnes sans endommager la carte. L argent peut passer de main en main, et quand
il est finalement dpos, la banque peut dterminer qui a trich, sil y a lieu.
Les protocoles dargent lectronique peuvent tre classs selon un autre critre. Dans
les systmes de porte monnaie lectronique, on utilise des sommes fixes; on a alors
besoin de diffrentes pices reprsentant diffrents montants. Les chques lectro
niques permettent de rgler nimporte quel montant jusqu une valeur maximale et
la partie non dpense est rendue pour se faire rembourser.
Deux excellents et compltement diffrents protocoles dargent lectronique autonomes
se trouvent dans [227, 228, 229] et [565, 567, 566]. Un systme appel N e t C a s h pr
sente des proprits d anonymat plus restreintes [1057, 1056]. Un autre systme rcent
est [293].

Chapitre 6

158

Protocoles sotriques

Dans [1219], Tat.suaki O k a m o t o et Kazuo O h t a donnent la liste de 6 proprits que


devrait satisfaire un systme dargent, lectronique idal :
1. L indpendance. La scurit de largent lectronique ne doit dpendre d aucune
localisation physique. Largent peut tre transfr par des rseaux informatiques.
2. Scurit. L argent lectronique ne peut pas tre copi et rutilis.
3. Anonymat (absence de possibilit d identifier lmetteur). L anonymat
des utilisateurs est protg : personne ne peut retrouver les liens entre les utilisa
teurs et les achats.
4. Paiement hors-ligne. Quand un utilisateur paie un achat avec de largent lec
tronique, le protocole entre lutilisateur et le commerant est excut hors-ligne.
C est--dire, que le commerce na pas tre reli un ordinateur central pour
traiter le paiement de lutilisateur.
5. Transfrabilit. Largent lectronique peut tre transfr dautres utilisateurs.
6.

Divisibilit. Une pice d argent lectronique d un certain montant peut tre


subdivise en pices d argent plus petites de montants moins levs. (Bien sr,
les totaux doivent tre corrects au bout du parcours.)

Les protocoles prsents ici satisfont les proprits 1, 2, 3 et 4 mais pas 5 et 6 . Il


existe des systmes d argent lectronique en-ligne qui satisfont toutes les proprits
sauf la quatrime [322, 417, 1252]. Le premier systme d argent lectronique hors-ligne
qui satisfait les proprits 1, 2, 3 et 4, similaire ceux dcrits ci-avant, est dcrit
dans [344]. O k a m o t o et O h t a proposent un systme qui satisfait les proprits 1
5 [1217] ; ils proposent galement un systme qui satisfait les proprits 1 6 mais le
volume des donnes traiter pour lachat d un seul article est approximativement de
200 mga-octets. Un autre systme de porte monnaie lectronique est dcrit dans [524].
Le schma d argent lectronique propos dans [1219], des mmes auteurs, satisfait les
proprits 1 6 mais sans la ncessit de cet norme volume de donnes. La taille totale
du transfert de donnes pour un seul achat est d environ 2 0 kilo-octets et le protocole
peut tre effectu en quelques secondes. Les auteurs considrent que c est le premier
systme d argent lectronique idal sans possibilit didentification de lacheteur.

Cartes de crdit anonymes


Ce protocole [998] utilise plusieurs banques diffrentes pour prserver lidentit du
consommateur. Chaque consommateur possde un compte dans deux banques diff
rentes. La premire banque connat lidentit de la personne et lui procure du crdit.
La seconde ne connat le consommateur que sous un pseudonyme (similaire un compte
numrot dans une banque Suisse).
Le consommateur peut retirer des fonds dans la seconde banque en prouvant que le
compte est bien le sien. Cependant la banque ne connat pas la personne et ne veut pas
lui donner de crdit. La premire banque connat le client et transfert les fonds vers
la seconde banque sans savoir le pseudonyme. Le consommateur peut alors dpenser
ces fonds de manire anonyme. A la fin du mois, la seconde banque donne une note
la premire banque, dont la solvabilit lui inspire confiance. La premire banque

6.4

Argent lectronique

159

passe la note au consommateur; elle a confiance en sa solvabilit puisquelle le connat.


Quand le consommateur paye, la premire banque transfert des fonds additionnels vers
la seconde banque. Toutes les transactions se font par un intermdiaire, qui agit comme
une banque dEtat lectronique: il instaure des comptes entre les banques, fait passer
les messages et cr des relevs.
Les changes entre le client, le marchant, et les diverses banques sont abords dans
[998]. A moins que tout le monde ne se ligue contre le client, son anonymat est assur.
Cependant, ce nest pas de largent lectronique, la banque peut facilement tricher. Le
protocole procure aux clients les avantages de la carte de crdit sans dvoiler leur vie
prive.

Deuxime partie
Techniques cryptographiques

Chapitre 7

Longueur des clefs


7.1

Longueur des clefs secrtes

La scurit dun cryptosystme clef secrte dpend de deux choses : la solidit de


lalgorithme et la longueur de la clef. La premire caractristique est plus importante
mais la deuxime est plus facile illustrer.
Faisons lhypothse que la solidit de lalgorithme est parfaite. Cela est trs difficile
raliser en pratique mais nous supposerons que cest faisable dans cet exemple. Par
solidit parfaite, je veux dire quil nexiste pas de meilleur moyen de casser le crypto
systme que dessayer toutes les clefs possibles : on parlera alors d attaque exhaustive.
Pour lancer une telle attaque, un cryptanalyste a besoin d un petit bout de texte chiffr
et du texte en clair correspondant; une attaque exhaustive est une attaque texte en
clair connu. Dans le cas dun chiffrement par blocs, le cryptanalyste aura besoin d un
bloc de texte chiffr et du texte en clair correspondant: en gnral 64 bits. Obtenir cette
paire de texte chiffr et de texte en clair est plus facile que vous ne pourriez limaginer.
Un cryptanalyste peut obtenir une copie dun message en clair par certains moyens
et intercepter le texte chiffr correspondant. U est possible quil connaisse quelque
chose sur le format du texte chiffr; par exemple, cest un fichier crit sous W o r d , il
est prcd de lentte standard des courriers lectroniques, cest un fichier rpertoire
UNIX, une image au format T IF F , ou encore une fiche standard dans une base de
donne. Tous ces formats prsentent des octets prdfinis. Le cryptanalyste na pas
besoin de texte en clair pour lancer cette attaque.
Il est facile de calculer la complexit dune attaque exhaustive. Si la clef a 8 bits, il y a
28 = 256 clefs possibles. Il faudra donc 256 tentatives pour trouver la bonne clef et en
moyenne 128 suffiront. Si la clef a 56 bits, il y a alors 2 56 k 7,2 x 10ie clefs possibles. En
faisant lhypothse quun super-ordinateur peut essayer un million de clefs par seconde,
il faudra 2 000 ans pour trouver la bonne clef. Si la clef a 64 bits, il faudra alors 600 000
ans ce mme super-ordinateur pour trouver la bonne clef parmi les 2 64 1 , 8 x 1 0 19
clefs possibles. Si la clef a 128 bits, il faudra 1025 annes. L univers est g denviron
1010 ans, et donc 1025 ans est probablement suffisant. Avec une clef de 2 048 bits, un
million de super-ordinateurs hypothtiques travaillant en parallle passeraient 1 0 597
annes pour trouver la clf. D ici l, lunivers peut dj avoir implos ou stre rpandu
dans le nant.

164

Chapitre 7

Longueur des clefs

Avant de vous prcipiter pour inventer un cryptosystme avec une clef de 8 kilo-octets,
rappelez-vous quil y a une autre condition satisfaire : lalgorithme doit tre suffisam
ment solide pour quil ny ait pas d autre attaque possible que lattaque exhaustive. Ce
nest pas aussi facile quil y parat. La cryptographie est un art subtil. Les cryptosys
tmes qui semblent parfaits sont souvent mauvais. Des cryptosystmes solides peuvent
tre grandement affaiblis par de toutes petites modifications. Deux cryptosystmes so
lides utiliss ensemble sans prcautions peuvent interagir entre eux et produire des
textes cods faciles dchiffrer. Le meilleur conseil que lon puisse donner au cryp
tographe amateur est de suspecter tout nouvel algorithme et ce, mme avec un petit
brin de paranoa. Il vaut mieux avoir confiance en un algorithme parce que des crypto
graphes professionnels lont examin sous toutes ses coutures pendant de nombreuses
annes sans trouver de failles, plutt que parce que les inventeurs d un algorithme
clament haut et fort que leur algorithme est inviolable.
Rappelez vous une remarque importante faite au paragraphe 1.1 : la scurit dun cryp
tosystme doit rsider dans la clef et non pas dans les dtails de lalgorithme. Faites
toutes les hypothses suivantes : 1 - 1 attaquant a accs tous les dtails de votre algo
rithme. 2 il a accs autant de texte chiffr quil le souhaite et il peut attaquer votre
algorithme grce des textes chiffrs seulement. 3- il peut monter une attaque texte
en clair. 4il peut monter une attaque texte en clair choisi. Si votre cryptosystme
reste sr mme avec toute cette connaissance dans les mains de lattaquant, alors vous
avez atteint le niveau de scurit souhaitable.
Cet avertissement mis part, il y a suffisamment de marge de manuvre dans le
domaine de la cryptographie. Dans la vie de tous les jours, il y a des situations o un
tel niveau de scurit nest pas vraiment ncessaire. La plupart des attaquants nont
pas les connaissances et les ressources de nos Gouvernements, et mme ceux qui ont
de tels moyens ne sont pas forcment intresss casser votre cryptosystme. Si vous
avez lintention de comploter pour renverser un Gouvernement, alors tenez-vous en aux
algorithmes prouvs dcrits la fin de cet ouvrage. Pour les autres : amusez-vous !

Estimation du temps et du cot dune attaque exhaustive


Rappelez vous quune attaque exhaustive est une attaque texte en clair connu; elle
ne requiert quune petite quantit de texte chiffr et de texte en clair correspondant.
Si vous faites lhypothse que lattaque la plus efficace contre un algorithme est une
attaque exhaustive (une hypothse trs forte sil en est !), quelle doit tre la longueur
de la clef pour quune telle attaque soit impraticable?
Deux paramtres dterminent la vitesse dune attaque exhaustive : le nombre de clefs
tester et la vitesse de chaque test. La plupart des algorithmes clef secrte acceptent
comme clef nimporte quel motif de bits de longueur fixe. Lalgorithme DES a une
clef de 56 bits, il y a donc 256 clefs possibles. Certains algorithmes prsents dans cet
ouvrage ont une clef de 64 bits ; il y a donc 264 clefs possibles pour de tels algorithmes.
D autres encore ont une clef de 128 bits.
La vitesse laquelle on peut tester une clef est un facteur dterminant mais, toutefois, il
est moins important. Dans ce qui suit, je ferai lhypothse que le temps mis pour tester
une clef est le mme pour tous les algorithmes. Dans la ralit, pour un algorithme
donn, une clef pourrait tre teste deux, trois voire mme dix fois plus vite que pour
un autre algorithme. Ce petit facteur n est pas important car ce que nous regardons
ci-aprs c est ce qui rend une attaque exhaustive impraticable par un facteur un

7.1

Longueur des clefs secrtes

165

million ou plus !
La communaut cryptographique sest surtout concentre sur l attaque exhaustive de
lalgorithme DES. En 1977, Whitfield D i f f i e et Martin H e l l m a n [495] ont dcrit
une machine hypothtique. Elle serait compose dun million de processeurs et chacun
de ces processeurs serait capable de tester un million de clefs par seconde. Une telle
machine pourrait tester 256 clefs en 20 heures. Si une telle machine tait construite
pour attaquer une clef de 64 bits, elle testerait les 264 clefs en 214 jours.
Lattaque exhaustive est faite pour les processeurs parallles. Chaque processeur peut
tester un sous-ensemble des clefs. Les processeurs nont pas communiquer entre eux :
la seule communication ncessaire est un message indiquant la russite et la clef pour
laquelle elle a t obtenue. U ny a pas de contraintes de mmoire partage. Il est facile
de concevoir une telle machine parallle avec un million de processeurs, chacun d entre
eux calculant indpendamment des autres.
Plus rcemment, Michael Wiener a dcid de concevoir une machine spcialement d
die la recherche exhaustive [1599, 1600] L II a conu des puces et des cartes spciali
ses. Aprs estimation des prix, il sest aperu quon pouvait construire pour 1 million
de dollars une machine capable de casser une clef de 56 bits dans un temps moyen
de trois heures et demi (et sept heures au pire). De plus le rapport prix sur vitesse
est linaire. Le tableau 7.1 donne une gnralisation de ces rsultats pour diffrentes
longueurs de clef. Rappelez vous de la loi de M o o r e : la puissance de calcul des or
dinateurs double tous les 18 mois environ. Cela signifie que le cot est divis par 10
tous les cinq ans; ce qui cote 1 million de dollars en 1995 sera construit pour 100 000
dollars en lan 2000. Les ordinateurs systoliques pourraient mme faire mieux [726].

- Estimation du temps moyen dune attaque exhaustive par une machine


ddie construite en 1995.

Tab. 7.1

Cot
100 K$
IMS
10 M$
100 M$
1 G$
10 G$
100 G$
1 G$
10 G$

40
2 sec.
0 ,2 sec.
0 ,0 2 sec.
2 millisec.
0 , 2 millisec.
0 ,0 2 millisec.
2 microsec.
0 ,2 microsec.
0 ,0 2 microsec.

Longueur de la clef en bits


64
80
56
1 an
35 heures
700 sicles
3,5 heures 37 jours
70 sicles
2 1 min.
4 jours
7 sicles
2 min.
9 heures 70 ans
13 sec.
7 ans
1 heure
1 sec.
5,4 min.
245 jours
0 , 1 sec.
32 sec.
24 jours
3 sec.
2,4 jours
0 , 0 1 sec.
1 millisec.
0,3 sec.
6 heures

112

128

ans
1 0 1 3 ans
1 0 1 2 ans
1 0 1 1 ans
1 0 10 ans
1 0 9 ans
1 0 8 ans
1 0 7 ans
1 0 ans

1 0 19

1 0 14

1 0 18
1 0 17
1 0 16
1 0 15
1 0 14
1 0 13
1 0 12
10 11

ans
ans
ans
ans
ans
ans
ans
ans
ans

Pour les clefe de 56 bits, cest la porte de la plupart des grandes entreprises et
de nombreuses organisations criminelles. Les budgets militaires des nations les plus
industrialises permettraient de construire une machine casser les clefs de 64 bits.
Casser une clef de 80 bits est toujours hors de porte, mais si la tendance actuelle
continue, cela changera dans 30 ans seulement.
U est bien sr ridicule d estimer la puissance des ordinateur venir dans 30 ans.
Une avance dans quelque technologie de science-fiction pourrait faire de ces chiffres
1. II a conu la machine pour DES, mais lanalyse tient pout la plupart des algorithmes.

166

Chapitre 7

Longueur des clefs

une histoire drle. loppos, des limitations physiques encore inconnues pourraient
impliquer quils sont exagrment optimistes. En cryptographie, il vaut mieux tre
pessimiste. Opter pour un algorithme avec des clefs de 80 bits semble une vue trs
court terme. Il faut des clefs d au moins 112 bits.
Si un attaquant veut vraiment trouver une clef, tout ce qui lui reste faire est de d
penser le montant ncessaire. En consquence, il semble prudent destimer la valeur
minimale d une clef: quelle valeur peut tre attribue une clef avant que cela nait
un sens conomique de la trouver ? Pour donner un exemple extrme, si un message en
clair vaut 1,39 $, cela naurait pas grand sens de dpenser 10 million de dollars pour
trouver la clef. D un autre cte, si le message en clair vaut 100 million de dollars, alors
le dchiffrement de ce seul message justifierait la dpense. Notons aussi que la valeur
de certains messages dcrot rapidement avec le temps.

Mthodes logicielles de recherche exhaustive


Sans matriel spcialis et sans machines massivement parallles, une attaque exhaus
tive est significativement plus difficile. Une attaque exhaustive par logiciel est environ
1 0 0 0 fois plus lente quavec une machine ddie.
Lavantage dune attaque exhaustive par logiciel nest pas sa rapidit mais bien le
fait quelle est gratuite . Cela ne cote rien de faire chercher des clefs un micro
ordinateur quand il ne fait rien dautre. Sil trouve une clef, tant mieux. Sil nen trouve
pas, rien nest perdu. Rien nempche de mettre un rseau entier de micro-ordinateurs
la tche. Une exprience rcente avec lalgorithme DES a utilis le temps libre de
40 stations de travail pour tester 234 clefs en un seul jour [605]. A cette vitesse, cela
prendrait 4 millions de jours pour tester toutes les clefs mais si suffisamment de gens
essaient une attaque telle que celle-l, quelquun, quelque part sera peut-tre chanceux,
comme il est dit dans [605] :
Le nud dune attaque par logiciel est la pure malchance. Imaginez un r
seau informatique universitaire avec 512 stations de travail mises en rseau.
Sur certains campus ce serait un rseau de taille moyenne. Elles pourraient
mme tre rpandues de par le monde et elles coordonneraient leur activit
par courrier lectronique. Faisons lhypothse que chaque station de travail
est capable deffectuer 15 000 chiffrements par seconde ... En tenant compte
du surcot pour tester une clef et passer la clef suivante, ce chiffre est
ramen 8 192 tests par seconde par machine. Pour essayer toutes les clefs
possibles [de 56 bits] cela prendrait ainsi 545 ans (en faisant lhypothse
que le rseau est ddi cette tche 24 heures par jour). Notez quavec
ces donnes cela donne nos tudiants casseurs de code une chance sur
200 000 de trouver une clef en un jour. Sur un long week-end, leurs chances
passent 1 sur 66000. Plus le matriel est rapide, ou plus il y a d ordina
teurs disponibles, plus leurs chances augmentent. Ce ne sont pas de bons
rapports pour gagner au tierc mais cela nest cependant pas acceptable.
De tels rapports sont meilleurs que ce que la loterie nationale offre. Une
chance sur un million? Cela ne peut pas se reproduire en mille ans?
Il nest plus possible honntement de dire de telles choses. Est-ce un risque
acceptable de nos jours ?

7.1

Longueur des clefs secrtes

167

Lutilisation dun algorithme avec une clef de 64 bits au lieu de 56 bits rend ce type
dattaque 256 fois plus difficile. Avec une clef de 40 bits, la situation est nettement plus
dramatique. Un rseau de 400 ordinateurs, chacun capable de faire 32 000 chiffrements
par seconde, peut effectuer une attaque exhaustive contre une clef de 40 bits en une
seule journe2.
Lutilisation dune clef de 128 bits rend une telle attaque ridicule envisager.
Lindustrie estime que d ici 1996, il y aura 200 millions d ordinateurs de par le
monde. Cette estimation inclut tout depuis les super-ordinateurs Cray jusquaux nanoordinateurs. Si tous ces ordinateurs coopraient une attaque exhaustive raison de
1 million de chiffrements par seconde, cela prendrait encore 1 million de fois lge de
lunivers pour trouver la clef.

Rseaux neuronaux
Les rseaux neuronaux ne sont pas trs utiles pour la cryptanalyse, premirement
cause de la forme de lespace des solutions. Les rseaux neuronaux sont efficaces dans
les problmes o il y a une continuit des solutions, certains plus que dautres. Ceci
permet un rseau neuronal d apprendre et de proposer des solutions de plus en plus
adaptes au fur et mesure. Les opportunits dapprendre quelque chose quand on
casse un algorithme sont rares: soit on retrouve la clef, soit on ne la retrouve pas3.
Les rseaux neuronaux marchent bien dans les environnements structurs o il y a
quelque chose apprendre mais pas dans le monde de grande entropie et d apparent
chaos quest la cryptographie.

Virus
La difficult majeure dans une attaque de cette ampleur est de convaincre chaque
utilisateur individuel de se prter lexprience. Vous pourriez demander poliment mais
cela prendrait trop de temps. Pire mme, ils pourraient refuser. Vous pourriez essayer
dinvestir leurs machines la nuit mais ce serait encore plus coteux en temps. De plus,
vous risqueriez de finir en prison pour violation de domicile. Les virus informatiques
pourraient rpandre un programme de recherche exhaustive de clef efficacement sur un
nombre maximum dordinateurs.
Cette ide, particulirement insidieuse, a t prsente pour la premire fois dans [1595].
Lattaquant crit un virus informatique et le lche dans la nature. Ce virus-l ne refor
mate pas le disque dur, ou ne dtruit pas des fichiers ; tout ce quil fait cest travailler
une attaque exhaustive quand lordinateur na rien d autre faire. Diffrentes tudes
ont montr que les micro-ordinateurs sont inactifs 70 % 90 % du temps. Ainsi le
virus naurait aucune difficult pour trouver du temps pour accomplir sa tche. Si par
ailleurs il est bnin, il peut mme passer inaperu en continuant sa tche.
ventuellement, une des machines infectes trouvera la bonne clef. A ce point, il y deux
manires de procder. Premirement, le virus peut donner naissance un nouveau virus
diffrent. Celui-ci ne ferait rien d autre que se rpandre et dtruire toute copie de son
anctre, tout en transportant de machine en machine linformation concernant la bonne
2. En 1992, les algorithmes RC2 et RC4 ont t autoriss lexportation hors des Etats-Unis pour
autant que leur clef soit restreinte 40 bits (voir 13.8).
3. Du moins, cest vrai quand lalgorithme est bon.

Chapitre 7

168

Longueur des clefs

clef. Lors de ses prgrinations, il finirait par atterrir sur la machine de celui qui a lanc
lattaque initiale.
Une autre approche plus subtile consisterait afficher le message suivant sur lcran
de lordinateur infect qui a trouv la bonne clef :
Il y a un problme srieux cet ordinateur.
Veuillez appeler le numro de tlphone 1-800-123-4567
et lire le nombre de 64 bits suivant l oprateur:
xxxx xxxx xxxx xxxx
Il y a une prime de 100 $ la premire personne qui
communiquera cette information.
Quelle est lefficacit dune telle attaque? Faisons lhypothse quun ordinateur infect
essaie 1 000 clefs par seconde. C est nettement moins que ce que lon attendrait comme
vitesse, mais noublions pas que cet ordinateur est sens accomplir dautres tches.
Faisons galement lhypothse quun tel virus peut infecter 10 millions d ordinateurs.
Le virus pourrait casser une clef de 56 bits en 83 jours et une clef de 64 bits en 58
ans. Vous devrez peut-tre corrompre les auteurs de vaccins informatiques mais cest
votre problme. Toute augmentation de la vitesse des micro-ordinateurs ou du nombre
dordinateurs rendrait bien videmment cette attaque plus efficace.

La loterie chinoise
La loterie chinoise est une suggestion originale mais ralisable pour une machine
massivement parallle pour attaquer lalgorithme DES [1289]. Imaginez que lon incor
pore une puce de recherche exhaustive de clef, capable de faire un million de tests par
seconde dans chaque radio et dans chaque tlvision nouvellement construits. Chaque
puce est programme pour tester un ensemble diffrent de clefs et ce automatiquement,
ds quelle reoit une paire texte en clair, texte chiffr sur les ondes. Alors chaque
fois que le Gouvernement chinois veut casser une clef, il diffuse les donnes et toutes
les radios et les tlvisions du pays se mettent la tche. Eventuellement, la bonne
clef apparatra sur lcran de tlvision de quelquun, quelque part dans le pays. Le
Gouvernement chinois paie alors un prix cet heureux gagnant dune loterie un peu
particulire. Grce la promesse dune rcompense, le Gouvernement est sr que la
bonne clef sera transmise correctement et en prime, cela favorise la vente de radios et
de tlvisions contenant cette puce spciale.
Si chaque homme, femme et enfant en Chine possde une radio ou une tlvision,
la bonne clef, pour un algorithme qui utilise 56 bits pour la clef, sera trouve en 64
secondes. Si seulement un chinois sur dix possde une radio ou une tlvision (ce qui
est plus proche de la ralit), alors la bonne clef apparatra au bout de 11 minutes. La
bonne clef pour un algorithme 64 bits apparatra au bout de 4 heures et demie (45
heures si seulement un chinois sur dix possde une radio ou une tlvision).
Certaines modifications sont ncessaires pour rendre cette attaque praticable. Premi
rement, il serait plus facile que chaque puce essaie des clefs alatoires au lieu dun
ensemble prdtermin de clefs. Cela ne ralentirait lattaque que de 39 % (pas grand
chose en comparaison des chiffres que nous manipulons). De plus, le parti commu
niste chinois devrait convaincre chaque personne d couter ou de regarder une certaine

7.1

Longueur des clefs secrtes

169

mission un certain moment de la journe pour tre sr que toutes les radios et tl
visions sont oprationnelles au moment de la diffusion de la paire texte en clair, texte
chiffr . Finalement, chacun recevrait comme instruction de contacter le Central-PeuImporte-Son-Nom si jamais une clef apparat lcran et de lire les nombres qui y
figurent. Le Parti pourrait mme transformer cela en loterie : la personne qui trouve la
clef, reoit un prix.
Le tableau 7.2 montre lefficacit de la loterie chinoise pour diffrents pays et pour
diffrentes longueurs de clef. La Chine est clairement en bonne position pour conduire
une telle attaque, mais elle devrait quiper chaque homme, femme et enfant de sa
propre radio ou tlvision. Les Etats-Unis ont moins d habitants mais beaucoup plus
dquipement par tte dhabitant. Ltat du Wyoming pourrait casser une clef de 56
bits rien qu lui seul en moins dun jour.
Tab. 7.2 Estimations pour une attaque exhaustive pour la loterie chinoise (les donnes
concernant la population et le nombre de radios et tlvisions proviennent de 1995
World Almanac and Book o f Facts ) _____________________________________________

Contre
Chine
Etats-Unis
Irak
Isral
Wyoming (USA)
Morehead, NC (U SA)

Population
(approx.)
1190431000
260 714000
19890000
5051000
470 000
6100

Nombre de
tlvisions
et radios
257000000
739000000
4730000
3 640000
1330000
17300

Temps ncessaire
Clef de 56 bits
Clef de 64 bits
280 secondes
20 heures
97 secondes
6,9 heures
4,2 heures
44 jours
5,5 heures
58 jours
160 jours
15 heures
48 jours
34 annes

Biotechnologie
Si les biopuces sont possibles, il serait alors idiot de ne pas sen servir pour construire
un outil dattaque exhaustive rpartie. Considrez un animal hypothtique, malencon
treusement appel DESosaure [1289]. Il est constitu de cellules biologiques capables
de tester les clefs possibles. La paire texte en clair-texte chiffr est diffuse aux
cellules par un canal optique (ces cellules sont transparentes, vous voyez). Les solutions
sont transmises lorgane vocal du DESosaure par lintermdiaire de cellules spciales
qui se propagent dans le systme circulatoire de lanimal.
Un dinosaure typique a 1014 cellules (sans compter les bactries). Si chacune dentre
elles est capable d effectuer un million de chiffrements par seconde (daccord, cela est
un grand si ), retrouver une clef de 56 bits prendrait sept dix millimes de seconde.
Retrouver une clef de 64 bits prendrait moins de deux diximes de seconde. Retrouver
une clef de 128 bits prendrait encore 1 0 1 1 annes, malgr tout.
Une autre approche biologique serait dutiliser des algues modifies gntiquement pour
la cryptographie et qui seraient capables deffectuer des attaques exhaustives contre les
algorithmes cryptographiques [1289]. Ces organismes rendraient possible la ralisation
dune machine distribue avec plus de processeurs, car ils pourraient couvrir une grande
surface. La paire texte en clair-texte chiffr pourrait tre diffuse par satellite. Si un
organisme trouve le rsultat, il pourrait induire un changement de couleur des cellules
voisines pour communiquer le rsultat en retour au satellite.

170

Chapitre 7

Longueur des chefs

Faites lhypothse quune cellule d algue typique a la taille d un cube de 10 fi de ct


(cela est probablement une large estimation), alors 1 0 1 5 dentre elles peuvent remplir
un mtre cube. Dversez-les dans locan pour couvrir une superficie de 518 km2, sur
une paisseur deau d un mtre (vous vous dbrouillez pour savoir comment faire
moi je suis juste celui qui a les ides), et vous aurez 1 0 23 d entre elles flottant sur
locan (ce qui reprsente plus de 380 milliards de litres4). Si chacune d entre elles
peut essayer un million de clefs par seconde, elles retrouveront la clef dun algorithme
avec une clef de 128 bits en juste un peu plus de 100 ans5. Des perces dans la vitesse
de calcul des algues, du diamtre des algues ou mme dans la taille de la flaque sur
locan pourraient rduire ces nombres de faon significative.
Ne me parlez mme pas de la nanotechnologie.

Limitations thermodynamiques
Selon le second principe de la thermodynamique, une certaine quantit d nergie est
ncessaire pour reprsenter de linformation. Enregistrer un simple bit en changeant
ltat dun sytme requiert une quantit d nergie suprieure kT, o T est la temp
rature fondamentale du systme et A; la constante de B o l t z m a n . (Restez avec moi, la
leon de physique est presque termine.)
Etant donn que k = 1,38.10 16 et que la temprature ambiante de lunivers est de 3,2,
un ordinateur idal marchant 3,2 consommerait 4,4.10 ~ 16 chaque modification ou
effacement d un bit. Faire tourner un ordinateur une temprature plus basse que le
rayonnement cosmique environnant demanderait un apport nergtique suplmentaire
pour faire fonctionner une pompe chaleur.
Maintenant, le soleil dgage chaque anne une nergie gale 1 ,2 1 .1041 environ. Cest
assez pour effectuer 2 ,7 .1 0 56 changements de bit dans notre ordinateur idal; et assez
pour quun compteur de 18 7 bits prenne toutes ses valeurs. En construisant une sphre
de D y s o n autour du soleil et en captant toute son nergie pendant 32 ans, notre
ordinateur pourrait compter jusqu 2 192. Bien-sr il ne resterait pas assez d nergie
pour effectuer dautres oprations utiles avec ce compteur.
Mais il sagit juste d une toile, pas trs doue pour cela. Une supemova moyenne
dgage quelque chose comme 1051. (Environ cent fois plus d nergie serait dgage
sous forme de neutrinos, mais laissons les passer pour linstant.) Si toute cette nergie
pouvait tre canalise afin d effectuer un seul calcul gigantesque, un compteur de 219
bits pourrait passer par tous ses tats.
Ces nombres nont rien voir avec la technologie du matriel; ils sont les bornes sup
rieures autorises par la thermodynamique. Et ils impliquent fortement quune attaque
exhaustive contre des clefs de 256 bits restera impossible jusqu ce que les ordinateurs
soient construits avec autre chose que de la matire et fonctionnent ailleurs que dans
lespace.

7.2

Longueur des clefs publiques

Les fonctions sens unique ont t traites dans le paragraphe 2.3. Multiplier deux
grands nombres premiers est une fonction sens unique ; il est facile de multiplier les
4. Par comparaison, la catastrophe de VExxon Valdez a rpandu 38 millions de litres de ptrole.
5. Lexplosion dmographique rsultante des algues est votre problme.

7.2

Longueur des clefs publiques

171

nombres pour obtenir un produit, mais difficile de factoriser ce produit et de retrouver


les deux grands nombres premiers (voir 11.3). La cryptographie clef publique utilise
lide de faire une fonction sens unique brche secrte. En fait, c est un mensonge ;
factoriser est suppos tre un problme dur (voir 11.4). Pour chacun dentre-nous, il
semble ltre. Mais mme sil lest, personne ne peut prouver que les problmes durs
le sont vraiment. La plupart d entre-nous pensons que factoriser est dur, mais cela na
jamais t prouv mathmatiquement, dune faon ou dune autre.
Il est intressant de sy attarder un peu. Il est facile de simaginer dans 50 ans, en train
de se remmorer le bon vieux temps o lon pensait que la factorisation tait dure,
o la cryptographie tait base sur cette factorisation et o des entreprises gagnaient
de largent dans ce domaine. Il est facile d imaginer que les dveloppements futurs en
thorie des nombres rendront la factorisation plus simple ou que les dveloppements
en thorie de la complexit rendront la factorisation triviale. Il ny a aucune raison de
croire que ceci arrivera (et la plupart des personnes qui en savent assez pour se faire
leur propre opinion vous diront que cest peu probable) mais il ny a non plus pas de
raison de croire que cela narrivera pas.
Dans tous les cas, aujourdhui, les algorithmes dominants de chiffrement clef pu
blique sont bass sur la difficult de factoriser des grands nombres qui sont le produit
de deux grands nombres premiers. (D autres algorithmes reposent sur une chose ap
pele problme logarithmique discret mais, pour le moment, supposons que le mme
raisonnement sapplique.) Ces algorithmes sont aussi sensibles aux attaques exaustives,
mais dun type diffrent. Casser ces algorithmes ne veut pas ncessairement dire es
sayer toutes les clefs possibles ; casser ces algorithmes veut dire essayer de factoriser
un grand nombre (ou de prendre des logarithmes discrets dans un trs grand corps
fini un problme similaire). Si le nombre est trop petit, vous n avez aucune scurit.
Si le nombre est assez grand, vous tes protg contre toute la puissance de calcul mon
diale jusqu ce que le soleil devienne une nova (tant donne la connaisance actuelle
des mathmatiques). Le paragraphe 11.3 parle de factorisation avec plus de dtails
mathmatiques ; je me limiterai ici au temps ncessaire pour factoriser des nombres de
longueurs variables.
Factoriser des grands nombres est dur. Hlas pour les concepteurs d algorithmes, cela
devient plus facile. Pis encore, cela devient plus facile plus rapidement que les ma
thmaticiens lavaient prvu. En 1976, Richard G u y crivait : Je serais surpris que
quiconque puisse factoriser rgulirement des nombres dune taille de 1 0 80 sans forme
spciale durant ce sicle. [681]. En 1977, Ron RlVEST disait que factoriser un nombre
125 chiffres prendrait 40 quadrillions dannes [602]. En 1994, un nombre 129 chiffres
a t factoris [71]. Sil y a l une leon retenir, cest bien que faire des prdictions
est stupide.
Le tableau 7.3 montre les records de factorisation des douzes dernires annes.
Lalgorithme de factorisation le plus rapide tait alors le crible quadratique (voir 11.3).
Ces chiffres sont assez effrayants. Il est commun aujourdhui de voir des nombres de
512 bits utiliss dans des systmes oprationnels. Les factoriser, et par consquent
compromettre leur scurit, est tout fait dans le domaine du possible: lutilisation
de toutes les machines relies lInternet durant une paire de jours fris y suffirait.
La puissance de calcul est gnralement mesure en mips-ans : un ordinateur effectuant
un million dinstructions par seconde (mips) pendant une anne, soit peu prs 3 *
1013 instructions. Par convention, une machine d 1 mips est quivalente au DEC VAX

172

Chapitre 7

T a b . 7.3

Anne
1983
1985
1988
1989
1993
1994

Longueur des clefs

- Factorisation utilisant le crible quadratique

Nombre de dcimales
des nombres factoriss
71
80
90
12 0

Combien de fois un nombre de 512 bits


est plus dur factoriser
> 2 0 millions
> 2 millions
250000
30000
500

129

10 0

10 0

11/780. Donc un mips-an est lquivalent d un VAX 11/780 tournant pendant un an.
(Un Pentium 100 MHz est une machine de 50 mips; une machine Paragon d Intel
1800 processeurs est une machine de 50000 mips.)
En 1983, factoriser un nombre 71 chiffres demandait 0,1 mips-an ; la mme opration
en 1994 avec un nombre 129 chiffres demandait 5000 mips-an. Cette augmentation
insense de la puissance de calcul est principalement le rsultat de lintroduction du
calcul distribu, utilisant le temps d inactivit des stations de travail d un rseau. Cette
tendance a t initie par Bob S i l v e r m a n et dveloppe par Arjen L e n s t r a et Mark
M a n a s s e . En 1983, factoriser prenait 95 heures CPU sur un seul Cray X-M P ; en 199A
cela ncessitait 5000 mips-ans et utilisait le temps dinactivit de 1600 ordinateurs
travers le monde pendant environ huit mois. Les mthodes modernes de factorisation
se prtent ce genre de distribution des tches.
La situation sempire encore. Un nouvel algorithme de factorisation a remplac le crible
quadratique : le crible gnral sur corps numrique. En 1989, les mathmaticiens vous
auraient dit que le crible gnral sur corps numrique ne serait jamais pratique. En
1992, ils vous auraient dit que ctait pratique, mais seulement plus rapide que le
crible quadratique dans les cas de nombres plus de 130 150 chiffres. Aujourdhui,
il est reconnu tre plus rapide que le crible quadratique pour des nombres compre
nant bien moins de 116 chiffres [504, 637]. Le crible gnral sur corps numrique peut
factoriser un nombre de 512 bits plus de 10 fois plus rapidement que le crible qua
dratique. Lalgorithme tournerait moins dun an sur un Paragon Intel 1800. Le ta
bleau 7.4 nous donne le nombre de mips-ans ncessaires pour factoriser des nombres de
diffrentes tailles, en considrant les applications actuelles du crible gnral sur corps
numrique [1195].

Tab.

7.4 - Factorisation utilisant le crible gnral sur corps numrique


Nombre de bits
512
768
1024
1280
1536
2048

Mips-ans ncessaires pour factoriser


30000
2 * 10 8
3*10n
1 * 1 0 14
3 * 1016
3 * 102

7.2

Longueur des clefs publiques

113

Le crible gnral sur corps numrique est de plus en plus rapide. Les mathmaticiens
trouvent toujours des nouvelles optimisations, des nouvelles techniques. Il ny a aucune
raison de penser que cette tendance ne continuera pas. Un algorithme voisin, le crible
spcial sur corps numrique, peut dj factoriser des nombres dune forme spcialise (ce
sont des nombres gnralement pas utiliss pour la cryptographie) bien plus rapidement
que le crible gnral sur corps numrique peut factoriser des nombres gnraux de mme
taille. Il nest pas draisonnable de penser que le crible gnral sur corps numrique
peut tre optimis pour aller aussi vite [1195] ; il est d ailleurs fort possible que la NSA
sache dj comment faire. Le tableau 7.5 donne le nombre de mips-ans ncessaires
pour que le crible spcial sur corps numrique factorise des nombres de diffrentes
longueurs [1195].

Tab.

7.5 - Factorisation utilisant le crible spcial sur corps numrique


Nombre de bits
512
768
1024
1280
1536
2048

Mips-ans ncessaires pour factoriser


<200
10 0 0 0 0

3 * 107
3 * 109
2 * 1 0 11
4 * 1014

Lors dun atelier de lInstitut europen pour la scurit des systmes en 1991, les
participants ont convenu quun module de 1024 bits devrait tre suffisant pour des
secrets long terme jusquen 2005 [157]. Nanmoins, ils ajoutrent: Bien que les
participants de cet atelier pensent tre les plus qualifis dans leurs domaines respectifs,
cette dclaration [concernant la durabilit de la scurit] devrait tre considre avec
beaucoup de prudence. C est un bon conseil.
Le cryptographe avis est trs prudent lorsquil choisit la longueur de clefs publiques.
Pour dterminer de quelle longueur de clef vous avez besoin, il faut que vous considriez
la fois le niveau de scurit dsir et la dure de vie de la clef, ainsi que le nec plus
ultra de la factorisation. Aujourdhui, vous avez besoin dun nombre de 1024 bits pour
avoir le niveau de scurit que vous aviez en 1980 avec un nombre de 512 bits. Si
vous voulez que vos clefs restent sres pour les 20 prochaines annes, 1024 bits sont
probablement insuffisants.
Mme si vos secrets ne valent pas leffort investit pour factoriser votre module, vous
tes peut-tre en danger. Imaginez un systme bancaire automatique qui utilise le RSA
pour la scurit. Martin peut aller devant la justice et dclarer : Avez-vous lu dans
les journaux quen 1994 le RSA-129 a t cass et que les nombres de 512 bits peuvent
tre factoriss par toute organisation prte dpenser quelques millions de dollars et
attendre quelques mois? Pour sa scurit, ma banque utilise des nombres 512 bits,
et jen profite pour vous dire que ce nest pas moi qui ait effectu ces septs retraits.
Mme si Martin ment, il est probable que le juge somme la banque de sexpliquer.
Mais alors, pourquoi ne pas utiliser des clefs de 10000 bits? Vous pouvez, mais sachez
que plus votre clef sera longue, plus vous passerez de temps la calculer. Vous voulez
une clef assez longue pour quelle soit sre, mais assez courte pour que le calcul soit
faisable.

Chapitre 7

174

Longueur des clefs

Un peu plus haut dans ce paragraphe, j ai dit que faire des prdictions est stupide. Je
vais maintenant en faire quelques-unes. Le tableau 7.6 regroupe mes recommandations
pour les longueurs de clefs publiques, selon le niveau de scurit de votre clef que
vous dsirez. Il y a trois longueurs de clefs pour chaque anne, une pouvant supporter
les attaques individuelles, une sre pouvant supporter les attaques dune entreprise
majeure, et une pouvant supporter les attaques dun gouvernement.

T a b . 7.6

Anne
1995
2000

2005
2 0 10

2015

- Longueurs recommandes de clefs publiques (en bits)

contre un individu
768
1024
1280
1280
1536

contre une entreprise


1280
1280
1536
1536
2048

contre un gouvernement
1536
1536
2048
2048
2048

Voici quelques hypothses de [71] :


Nous pensons pouvoir acqurir 100 000 machines sans dvelopper d efforts
surhumains et en toute probit. En fait, nous ne lcherions pas un virus sur
Internet pour trouver les ressources pour nous. Beaucoup dorganisations
ont chacune des milliers de machines sur le rseau. Les utiliser demanderait
une grande diplomatie, mais ne devrait pas tre impossible. En considrant
la puissance moyenne de 5 mips et une dure d un an, il ne semble pas trop
draisonnable de sembarquer sur un projet qui exigera un demi-million de
mips-ans.
Le projet de factorisation d un nombre 129 chiffres a mobilis peu prs 0,03 pourcent
de la puissance de calcul globale dInternet [1195], et ils nont vraiment pas forc. Il
est raisonnable de penser quun projet ayant fait lobjet dune bonne campagne de
publicit puisse mobiliser 2 pourcents de la puissance de calcul mondiale pendant une
anne.
Supposons quun cryptanalyste puisse mettre la main sur 10000 mips-ans, une grande
entreprise peut en avoir 107 et un gouvernement 10. Supposons galement que la
puissance de calcul augmente dun facteur 10 tous les cinq ans. Enfin, supposons que
les progrs mathmatiques en matire de factorisation nous permettent de factoriser
des nombres gnraux la vitesse du crible spcial sur corps numrique. (Ce nest pas
encore possible, mais cette avance pourrait survenir tout moment.) Le tableau 7.6
recommande diffrentes longueurs de clefs pour la scurit en diffrentes annes.
Noubliez pas de prendre la valeur de la clef en considration. Les clefs publiques sont
souvent utilises pour scuriser des choses de grande valeur pour une longue dure:
la clef matresse dune banque pour un systme d argent lectronique, la clef quun
gouvernement utilise pour certifier ses passeports ou la clef publique d une signature
lectronique dun notaire. Cela ne vaut probablement pas la peine de passer des mois
de calcul pour casser la clef prive dun individu, mais si vous pouvez imprimer votre
propre argent avec une clef que vous avez cass, lide devient plus attrayante. Une clef
de 1024 bits est assez longue pour signer quelque chose qui sera vrifi dans la semaine,

7.2

Longueur des clefs publiques

175

le mois, ou mme quelques annes. Mais vous ne voulez srement pas vous retrouver
devant la justice dans 2 0 ans avec un document sign lectroniquement et voir la partie
oppose dmontrer comment contrefaire un document avec la mme signature.
Faire des prdictions au-del d un future proche est encore plus insens. Qui connait
les progrs qui vont tre effectu en calcul, en matire de rseau et en mathmatiques
dici lan 2020? Nanmoins, si on considre la situation dun point de vue gnral,
pour chaque dcade, nous pouvons factoriser des nombres deux fois plus longs que la
dcade prcdente. Ceci nous mne au tableau 7.7.
T ab. 7.7 - Prdictions de factorisation long terme
Anne
1995
2005
2015
2025
2035
2045

Longueur de clef (bits)


1024
2048
4096
8192
16384
32 768

Dun autre ct, la technologie de factorisation peut atteindre son apoge bien avant
2045. Dici vingt ans, nous serons peut-tre capable de factoriser nimporte quel
nombre. Je pense nanmoins que ceci est trs peu probable.
Tout le monde ne sera pas d accord avec mes recommandations. La NSA a mandat
des clefs de 512 1024 bits pour leur standard de signature lectronique (voir 20.1),
ce qui est bien moins que ce que je recommande pour une scurit long terme. Pretty
Good Privacy (voir 24.12) a une longueur de clef RSA maximum de 2047 bits. Arjen
LENSTRA, le plus clbre factorisateur mondial, refuse de faire des prdictions audel de 10 ans [960]. Le tableau 7.8 nous livre les recommandations sur la longueur de
clef de Ron R i v e s t , faites en 1990, que je considre bien trop optimistes [1334]. Bien
que son analyse paraisse correcte sur papier, les vnements rcents montrent que des
surprises arrivent rgulirement. Il semble logique de choisir ses clefs afin de se protger
de futures surprises.
T ab . 7.8

- Recommandations optimistes de
Anne
1990
1995
2000

2005
2 0 10

2015
2020

Faible
398
405
422
439
455
472
489

iv e s t

Moyenne
515
542
572
602
631
661
677

sur la longueur de clef (en bits)

Eleve
1289
1399
1512
1628
1754
1884
2017

Les estimations les plus basses parlent dun budget de 25 000 dollars, de lalgorithme
du crible quadratique et d un progrs technologique de 20 pourcents par an. Les es
timations moyennes parlent d un budget de 25 millions de dollars, de lalgorithme du

176

Chapitre 7

Longueur des clefs

crible gnral sur corps numrique et d un progrs technologique de 33 pourcents par


an. Enfin, les estimations les plus optimistes avancent un budget de 25 milliards de
dollars, un algorithme du crible gnral quadratique tournant la vitesse du crible
spcial sur corps numrique et un progrs technologique de 45 pourcents par an.
Il est toujours possible quun progrs en matire de factorisation me surprenne, mais
j ai intgr ceci dans mes calculs. Mais pourquoi me faire confiance? Je viens de prouver
ma stupidit en faisant des prdictions.

Calculs biologiques
Maintenant, cela devient trange. En 1994, Lonard M. A d l e m a n a trouv une m
thode pour rsoudre un problme N P complet (voir 1 1 .2 ) dans un laboratoire de
biochimie, en utilisant des molcules d ADN pour reprsenter les solutions du pro
blme [21]. (Ici, par solutions , on entend rponses et non pas liquide conte
nant des substances .) Le problme qu A d l e m a n a rsolu tait un cas particulier
du problme de trouver un chemin orient Hamiltonien : soit une carte avec des villes
connectes par des routes sens unique, trouvez un chemin de la ville A la ville Z qui
ne passe exactement quune seule fois par chaque ville de la carte. Chaque ville tait
reprsente par des chanes alatoires distinctes de 20 bases d ADN ; avec les techniques
conventionnelles de biologie molculaire, A d l e m a n a synthtis 50 picomoles (30 mil
lions de millions de molcules) de la chane dADN reprsentant chaque ville. Chaque
route tait aussi reprsente par une chane de 20 bases d ADN, mais ces chanes nont
pas t choisies de faon alatoire : elles ont t choisies judicieusement de manire ce
que la fin de la chane dADN reprsentant la route de la ville P la ville K ( route
P K ) ait tendance se rapprocher de la chane dADN reprsentant la ville P , et que
la fin de la route P K ait tendance se rapprocher de la ville K .
A d l e m a n a synthtis 50 picomoles dADN reprsentant chaque route, les a mix tous
ensemble avec lADN reprsentant toutes les villes et a ajout un enzyme ligase qui
noue ensemble les bouts de molcules d ADN. La relation judicieuse entre les chanes
dADN de la route et les chanes dADN de la ville fait que la ligase lie les chanes
dADN de la route entre-elles de manire lgale. C est--dire que lissue de la route
qui va de P A sera toujours relie au dbut d une route qui part de la ville K ,
jamais lissue d une autre route ou au dbut dune route qui part dune ville autre
que K . Aprs un temps de raction minutieusement limit, la ligase a construit un
grand nombre de chanes d ADN reprsentant des chemins multiroutes lgaux bien
qualatoires sur la carte.
De cette soupe de chemins alatoires, A d l e m a n peut retrouver la plus infime trace
(peut-tre mme une seule molcule) d ADN qui reprsente la rponse au problme. En
utilisant les techniques communes de la biologie molculaire, il carte toutes les chanes
d ADN qui reprsentent des chemins trop longs ou trop courts. (Le nombre de routes
dans le chemin cherch doit tre gal au nombre de villes moins un.) Ensuite, il carte
toutes les chanes d ADN qui ne passent pas par la ville A, puis celles qui ne passent
pas par la ville B, etc... Sil reste un ADN lissue de cette srie d liminations, la
squence de routes quil dcrit est la solution au problme de dcouverte d un chemin
orient Hamiltonien.
Par dfinition, toute instance d un problme N P complet peut tre transform, en
temps polynomial, en une instance de tout autre problme N P complet, et par cons
quent en un problme de dcouverte d un chemin orient Hamiltonien. Depuis les an

7.2

Longueur des clefs publiques

177

nes 1970, les cryptologues ont essay d utiliser les problmes N P c o m p l e t s pour la
crypotographie clef publique.
Bien que le cas rsolu par A d l e m a n fut modeste (sept villes sur sa carte, une nigme
qui peut tre rsolue en rflchissant quelques minutes), la technique en est ses
balbutiements et ne rencontrerait aucun obstacle tre tendue des problmes
plus consquents. C est pourquoi, les arguments propos des protocoles cryptographiques bass sur des problmes N P c o m p l e t s , arguments qui jusqualors commen
aient par Supposons quun adversaire possde un million de processeurs, chacun
dentre-eux pouvant effectuer un million de tests par seconde, pourraient bientt de
venir Supposons quun adversaire possde un millier de lieux de fermentation, chacun
ayant une capacit de 2 0 0 0 0 litres.

Ordinateurs quantiques
Attention, cela devient encore plus trange. Le principe sous-jacent de lordinateur
quantique inclut la dualit onde-particule dcouverte par Albert E i n s t e i n . Un photon
peut simultanment exister dans un grand nombre d tats. L exemple classique est celui
du photon qui se comporte comme une onde quand il rencontre un mirroir partiellement
argent ; il est la fois rflchi et transmis. C est tout comme une vague qui vient se jeter
sur une digue qui comporte une petite ouverture, la vague sera refoule mais passera
un peu travers la digue. Nanmoins, quand un photon est mesur, il se comporte
comme une particule et un seul tat peut tre dtect.
Dans [1449], Peter S h o r nous montre une conception d e machine factoriser qui repose
sur les principes de la mcanique quantique. A linverse dun ordinateur classique, qui
en fait est dans un tat unique, fixe, un moment donn, un ordinateur quantique a
une fonction d onde interne, qui est une superposition d une combinaison des tats de
base possibles. Les calculs transforment la fonction d ondulation, modifiant ainsi tout
lensemble des tats en une seule opration. De cette faon, un ordinateur quantique est
une amlioration par rapport lautomate classique tat fini : il utilise les proprits
quantiques afin de factoriser en temps polynomial ; ce qui nous permet thoriquement
de casser les cryptosystmes bass sur la factorisation ou le problme du logarithme
discret.
Le consensus est que les ordinateurs quantiques sont compatibles avec les lois fonda
mentales de la mcanique quantique. Nanmoins, il est peu probable quune machine
de factorisation quantique soit construite dans le futur. Un obstacle majeur est le pro
blme de dcohrence qui fait que des formes ondulatoires superposes perdent leur
distinction et que lordinateur ne marche pas. La dcohrence implique quun ordi
nateur quantique fonctionnant 1 Kelvin ne marche pas plus d une nanoseconde. De
plus, un trs grand nombre de portes serait ncessaire pour construire une machine
de factorisation quantique ; cela peut rendre sa construction impossible. Le concept
de SHOR ncessite un module complet dexponentiation en arithmtique modulaire.
Aucune horloge interne ne peut tre utilise, alors des millions, voire des milliards de
portes seraient ncessaires pour factoriser des nombres cryptographiquement signifi
catifs. Si n portes quantiques ont une probabilit minimum p d chouer, le nombre
moyen dessais par coup russi est de (1/(1 p))n- Le nombre de portes ncessaires
crot polynmialement avec la longueur en bits du nombre, donc le nombre dessais
ncessaires serait superexponentiel en la longueur des nombres utiliss (ce qui est pire
que factoriser par des divisions).

Chapitre 7

178

Longueur des clefs

Ainsi, alors que la factorisation quantique attire de nombreux chercheurs, il est extr
mement peu probable quelle soit jamais mise en pratique. Mais ne dites pas que je ne
vous ai pas prvenu.

7.3

Comparaison de la longueur des clefs


secrtes et des clefs publiques

Un systme sera attaqu au niveau de son point faible. Si vous concevez un systme qui
utilise la fois les cryptographies clef secrte et clef publique, les longueurs de clefs
pour chaque type de cryptographie devront tre choisies de faon ce quil soit aussi
difficile d attaquer le systme via lun ou lautre des mcanismes. Il nest pas logique
d utiliser un algorithme clef secrte de 128 bits avec un algorithme clef publique
de 386 bits, de mme quil nest pas logique d utiliser un algorithme clef secrte de
56 bits avec un algorithme clef publique de 1024 bits.
Le tableau 7.9 donne les longueurs des modules des algorithmes clef publique dont
la difficult de factorisation gale peu prs la difficult dune attaque exaustive pour
les longueurs de clefs secrtes usuelles.

T ab . 7.9 - Longueurs des clefs secrtes et des clefs publiques avec rsistances similaires

aux attaques exhaustives_____________________________________________

Longueur de clef secrte


56 bits
64 bits
80 bits
1 1 2 bits
128 bits

Longueur de clef publique


384 bits
512 bits
768 bits
1792 bits
2304 bits

Ce tableau nous dit que si vous tes assez soucieux pour votre scurit pour choisir
un algorithme clef secrte avec une clef de 1 1 2 bits, alors vous devriez choisir une
longueur de module d au moins 1792 bits pour votre algorithme clef publique. En
gnral, vous devriez choisir une longueur de clef publique plus sre que votre longueur
de clef secrte. Les clefs publiques demeurent gnralement plus longtemps et sont
utilises pour protger plus dinformations.

7.4

Attaques des anniversaires contre une


fonction de hachage sens unique

Il y a deux attaques exhaustives pour une fonction de hachage sens unique. La


premire est la plus vidente: soit H (A i), lempreinte dun message, un adversaire
aimerait tre capable de crer un autre document, A i', tel que II(A i) = II(A i').
La seconde attaque est plus subtile: un adversaire aimerait trouver deux messages
alatoires, A i et A i ', tel que H (A i) H (A i'). Cela sappelle une collision et cest
une attaque bien plus facile que la premire.

Quelle doit tre la longueur de clef?

7.5

179

Le paradoxe de lanniversaire est un problme statistique standard. Combien de per


sonnes doit-il y avoir dans une pice pour quil y ait de bonnes chances quau moins lune
dentre-elles ait la mme date danniversaire que vous? La rponse est 253. Maintenant,
combien de personnes doit-il y avoir pour quil y ait de bonnes chances quau moins
deux dentre-elles aient la mme date d anniversaire? La rponse est surprenante: 23.
Avec seulement 23 personnes dans une pice, il y a tout de mme 253 paires diffrentes
de personnes.
Trouver quelquun avec une date d anniversaire spcifique est analogue la premire at
taque ; trouver deux personnes avec la mme date danniversaire alatoire est analogue
la seconde attaque. Cette seconde attaque est plus connue sous le nom dattaque
des anniversaires.
Supposons quune fonction de hachage sens unique est sre et que la meilleure attaque
est lattaque exaustive. Elle produit un rsultat m bits. Trouver un message dont lem
preinte a une valeur donne exigerait de hacher 2m messages alatoires. Trouver deux
messages qui ont la mme empreinte nexigerait de hacher que 2 m / 2 messages ala
toires. Une machine qui hche un million de messages par seconde mettrait 600 000 ans
pour trouver un second message qui correspondrait une empreinte donne de 64 bits.
Cette mme machine pourrait trouver une paire de messages de mme empreinte en
peu prs une heure.
Comprenez que si les attaques des anniversaires vous inquitent, vous devriez choisir
une valeur de hachage deux fois plus longue que celle que vous pensez tre ncessaire.
Par example, si vous voulez rduire les chances que quelquun casse votre systme
moins de 1 pour'2 80, utilisez une fonction de hachage sens unique 160 bits.

7.5

Quelle doit tre la longueur de clef?

Il ny a pas de rponse unique cette question ; cela dpend de la situation. Pour


dterminer le niveau de scurit dont vous avez besoin, vous devez vous poser quelques
questions. Que valent vos donnes? Combien de temps doivent-elles rester confiden
tielles? Quelles sont les ressources de vos adversaires?
Une liste client peut bien valoir 1 000 dollars. Les donnes financires d un divorce
houleux doivent bien valoir 10000 dollars. Monter une campagne de publicit et de
marketing dun produit dune grande socit vaut srement 1 million de dollars. Les
clefs matresses d un systme dargent lectronique valent des milliards.
Dans le monde commercial, les secrets doivent seulement tre gards pendant quelques
minutes. Dans lindustrie journalistique, les secrets d aujourdhui font les grands titres
de demain. Les informations concernant le dveloppement de produits doivent srement
rester secrtes pendant un an ou deux. Les donnes du recensement amricain sont
lgalement gardes secrtes pendant 1 0 0 ans.
La liste des invits pour la fte danniversaire de votre sur nintresse que vos proches
curieux. Les secrets commerciaux d une compagnie intressent les compagnies rivales.
Les secrets militaires intressent des puissances mitaires rivales.
Vous pouvez mme spcifier vos desiderata de scurit en ces termes. Par exemple :
La longueur de clef doit tre telle quil ny ait pas une probabilit de plus
de 1 pour 2 32 quun attaquant dispos dpenser 1 0 0 millions de dollars
puisse casser le systme en moins d un an, mme en faisant lhypothse

180

Chapitre 7

Longueur des clefs

que la technologie progresse un taux de croissance de 30 % par an sur la


priode.
Le tableau 7.10, emprunt partiellement [157], estime le niveau de scurit requis
pour plusieurs types d informations.

Tab.

7.10 - Niveau de scurit ncessaire pour diffrents types dinformations

Type de trafic

Longvit

Informations militaires tactiques


Annonces de produits, fusions,
taux dintrt
Plans daffaires long terme
Secrets commerciaux
(e.g. la recette du Coca-Cola)
Secrets de la bombe H
Identits d espions
Affaires prives
Embarras diplomatiques
Donnes du recensement amricain

minutes/heures

Longueur de
clef minimum
56-64 bits

j ours/semaines
annes

64 bits
64 bits

dcades
> 40 ans
> 50 ans
> 50 ans
> 65 ans
1 0 0 ans

bits
128 bits
128 bits
128 bits
au moins 128 bits
au moins 128 bits
112

La puissance de calcul future est plus difficile valuer, mais vue de nez : lefficacit
des quipements de calcul divise par le prix double tous les 18 mois et augmente dun
facteur 10 tous les 5 ans [100]. Donc, d ici 50 ans, les ordinateurs les plus rapides seront
10 milliards de fois plus rapides quaujourdhui ! Gardons lesprit que ces chiffres ne
prennent en compte que des ordinateurs gnriques ; qui sait quel type de systme de
recherche cryptographique exhaustive pourra tre dvelopp dici 50 ans?
En faisant lhypothse quun algorithme cryptographique sera utilis pendant 30 ans,
vous pouvez avoir une ide du niveau de scurit quil doit offrir. Un algorithme conu
aujourdhui ne sera probablement pas dun usage gnralis avant lan 2 0 0 0 et sera tou
jours utilis en lan 2025 pour chiffrer des messages qui devront rester secrets jusquen
2075 ou plus tard.

7.6

Avertissement

Ce chapitre entier ne veut absolument rien dire. La notion de prdiction de la puis


sance de calcul dans les 10 annes venir, sans parler des 50 prochaines annes, est
absolument ridicule. Ces calculs ne doivent tre quune indication, rien de plus. Si le
pass est une indication, le futur sera bien diffrent de tout ce quon a pu prvoir.
Soyez prudent. Si vos clefs sont plus longues quil vous semble ncessaire, alors moins
de surprises technologiques vous concerneront.

Chapitre 8

Gestion des clefs


Alice et Bernard ont un systme de communication sr. Ils jouent au poker en aveugle,
ils signent simultanment des contrats et changent mme de largent lectronique.
Leurs protocoles sont srs. Leurs algorithmes sont le nec plus ultra. Malheureusement,
ils achtent leurs clefs la socit C l e f s e t c o n f i a n c e dEstelle dont le slogan est
Vous pouvez nous faire confiance : la scurit est le deuxime nom de lex-belle-mre
de notre voyageur de commerce.
Estelle na pas casser les algorithmes. Elle ne compte pas sur les failles subtiles dans
les protocoles. Elle peut utiliser leurs clefs pour lire tous les messages entre Alice et
Bernard sans lever le moindre petit doigt cryptographique.
Dans le monde rel, la gestion des clefs est la partie de la cryptographie la plus difficile.
Concevoir des algorithmes et des protocoles srs nest pas chose aise mais vous pouvez
compter sur un corps important de recherche acadmique. Garder les clefs secrtes est
encore plus dur.
Les cryptanalystes attaquent souvent les algorithmes clef secrte et les algorithmes
clef publique par leur gestion des clefs. Pourquoi Estelle svertuerait-elle casser un
algorithme cryptographique quand il lui est plus facile de retrouver les clefs cause d un
relchement dans les procdures de gestion des clefs? Pourquoi devrait-elle dpenser
1 0 millions de dollars pour construire une machine de cryptanalyse alors que 1 0 0 0
dollars suffirait corrompre un employ? Dpenser 1 million de dollars pour acheter
un employ des communications occupant un poste stratgique au sein dune ambassade
diplomatique peut se rvler tre une vrai affaire. Les W a l k e r s ont vendu pendant des
annes aux sovitiques les clefs de chiffrement de la marine amricaine. Le directeur du
contre-espionnage de la C IA sest vendu pour moins de 2 millions de dollars, femme
incluse. Cest beaucoup moins onreux que de construire de puissantes machines de
cassage de chiffrement et d employer de brillants cryptanalystes. Estelle peut voler
les clefs. Elle peut arrter ou kidnapper quelquun qui connat les clefs. Elle peut
sduire quelquun et lui soutirer les clefs de cette faon. (Les M a r i n e s qui gardaient
lambassade amricaine Moscou ntaient pas insensibles ce type d attaque.) Il
est beaucoup plus facile de trouver les points faibles chez une personne que dans un
systme cryptographique.
Alice et Bernard doivent protger leurs clefs au mme niveau de scurit que les donnes
quelles chiffrent. Si une clef nest pas change rgulirement, a pourrait tre une

Chapitre 8

182

Gestion des clefs

quantit norme de donnes. Malheureusement, beaucoup de produits commerciaux


dclarent tout simplement Nous utilisons DES et oublient tout le reste. Les rsultats
sont loins dtre concluants.
Par exemple, le programme D i s k l o c k pour M a c i n t o s h (version 2.1), vendu par la
plupart des marchands de logiciels, prtend offrir la scurit du chiffrement DES. Il
chiffre les fichiers en utisant le DES. Sa ralisation de lalgorithme DES est correcte.
Toutefois, D i s k l o c k stocke la clef DES avec le fichier chiffr. Si vous savez o regarder
pour trouver la clef et que vous voulez lire un fichier chiffr avec le DES de D i s k l o c k ,
retrouvez la clef dans le fichier chiffr et ensuite de dchiffrez le fichier laide de la
clef. Cela na pas d importance que le programme utilise le chiffrement DES la
ralisation est dnue de toute scurit. D autres informations concernant la gestion
des clefs peuvent tre trouves dans [463, 105, 1284, 1235, 775, 361]. Les chapitres
suivants soccupent des rsultats et des solutions.

8.1

Gnration de clefs

Le niveau de scurit dun algorithme dpend de la clef. Si vous utilisez un processus


cryptographiquement faible pour engendrer des clefs, alors tout votre systme est faible.
Estelle na pas essayer de cryptanalyser votre algorithme de chiffrement ; elle a juste
cryptanalyser votre algorithme de gnration de clefs.

Espaces de clefs rduits


Le DES a une clef de 56 bits. Dans une ralisation correcte, toute chane de 56 bits
peut tre la clef: il y a 2 56 ( 1016) clefs possibles. N o r t o n D i s c r e e t de M S-D O S
(versions 8.0 et antrieures) nautorisent que des clefs A SC II, forant le bit de poids fort
de chaque octet prendre la valeur zro, le programme convertit aussi les minuscules
en majuscules (ainsi le cinquime bit de chaque octet est toujours loppos du sixime)
et ignore le bit de poids faible de chaque octet, ne permettant finalement que 2 40 clefs
possibles. Ces mauvaises procdures de gnration de clefs rendent son DES dix mille
fois plus facile casser quune ralisation correcte.
Le tableau 8.1 donne le nombre de clefs possibles, suivant certaines contraintes sur
les chanes de caractres lentre. Le tableau 8.2 donne le temps requis pour une
recherche exhaustive travers toutes ces clefs, sur la base dun million de tentatives
par seconde. Notez quil n y a pas de diffrence en temps notable entre une recherche
exhaustive pour des clefs de 8 octets demble, et une recherche progressive o les clefs
de 4 octets sont essayes, puis de 5 octets, ainsi de suite jusqu 8 octets.

T a b . 8.1 - Nombre de clefs possibles pour diffrents espaces de clefs

Lettres minuscules (26)


Lettres minuscules et chiffres (36)
Caractres alphanumriques (62)
Caractres affichables (95)
Caractres ASCII (128)
Caractres ASCII 8 bits (256)

4 octets
460000
1700000
1,5 xlO7
8,1 xlO 7
2,7x10
4,3 x 109

5 octets
1,2 xlO7
6,0 xlO 7
9,2 x 10
7,7 xlO9
3,4 xlO 10
1,1 xlO 12

6 octets
3,1x10
2,2 x 109
5,7 xlO 10
7,4 xlO11
4,4 x 1012
2,8 x 1014

7 octets
8,0x 10
7,8 xlO10
3,5 xlO 12
7,0 xlO13
5,6 xlO 14
7,2 xlO 16

8 octets
2,1 xlO 11
2,8 xlO 12
2,2 xlO 14
6,6 xlO 15
7,2 xlO 16
1,8 xlO 19

8.1

183

Gnration de clefs

Tab. 8.2 - Recherche exhaustive de diffrents espaces de clefs (sur la base dun million
de tentatives par secondes)
Lettres minuscules (26)
Lettres minuscules et chiffres (36)
Caractres alphanumriques (62)
Caractres affichables (95)
Caractres ASCII (128)
Caractres ASCII 8 bits (256)

4 octets
0,5 s
1,7 s
15,0 s
1,4 mn
4,5 mn
1,2 h

5 octets
12 s
1 mn
15 mn
2,1 h
9,5 h
13 j

6 octets
5 mn
36 mn
16 h
8,5 j
51 j
8,9 ans

7 octets
2,2 h
22 h
41 j
2,2 ans
18 ans
2300 ans

8 octets
2,4 j
33 j
6,9 ans
210 ans
2 300 ans
580000 ans

Toute ralisation parallle et matrielle d une attaque exhaustive spcialise conviendra


ici. En testant un million de clefs par seconde (soit avec une machine, soit avec plusieurs
machines en parallle), il est envisageable de retrouver une clef de 8 octets faite de
lettres minuscules ou de lettres minuscules et de chiffres, une clef de 7 octets faite
de caractres alphanumriques, une clef de 6 octets de caractres affichables ou de
caractres ASCII, et une clef de 5 octets de caractres ASCII de 8 bits.
Et rappelez-vous, la puissance de calcul double tous les 18 mois. Si vous esprez voir
vos clefs rsister des attaques exhaustives pendant 1 0 ans, vous devriez revoir votre
copie.

Mauvais choix de clefs


Quand les gens choisissent leur clef par eux-mmes, ils font gnralement un mauvais
choix1. Ils choisiront bien plus probablement Barney que 9(hH/A . Ce n est pas
toujours d a de mauvaises habitudes de scurit ; Barney est plus facile retenir que
9(hH/A . Lalgorithme le plus sr du monde ne sera pas dune grande utilit pour
les utilisateurs qui choisissent le nom de leur pouse comme clef ou qui crivent leurs
clefs sur des petits bouts de papier dans leur portefeuille. Un algorithme de recherche
exhaustive intelligent nessaie pas toutes les clefs dans leur ordre numrique ; il essaie
dabord les clefs les plus videntes.
On appelle cela une attaque par dictionnaire, parce que lattaquant utilise un dic
tionnaire de clefs communes. Daniel K l e i n fut capable de retrouver 40 % des mots de
passe dun ordinateur moyen en utilisant ce systme [848, 849]. Non, il na pas essay
les mots de passe les uns aprs les autres en tentant de se connecter. Il a copi le dossier
chiffr du mot de passe et men son attaque dans son coin. Voici ce quil a essay :
1. Le nom de lutilisateur, les initiales, le nom du compte, et dautres informations
concernant la personne comme mot de passe possible. L un dans lautre, jusqu
130 mots de passe diffrents furent essays sur base de ces informations. Pour
un compte dsign par klone d un utilisateur appel D aniel V. K lein
les mots de passe suivants furent entre autres tents: klone, kloneO, k lo n e l,
k lo n el23, dvk, dvkdvk, d k le in , DKlein, le in a d , n ie lk , d vk lein , danielk,
DvkkvD, DANIEL-KLEIN, (k lo n e ), KleinD, etc.
2.

Des mots de diffrentes bases de donnes. Celles-ci comprennent les listes des
noms dhommes et de femmes (environ 16 0 0 0 au total) ; des noms d endroits (y

1 Note du traducteur : l inform ation reprise dans cette section est typiquem ent anglo-saxonne mais
elle est galement d application, moyennant de lgres m odifications, pou r les utilisateurs d expression
francophone.

184

Chapitre 8

Gestion des clefs

compris les variantes telles que sp a m , spanish , spaniard soient tous


considrs) ; des noms de personnages clbres ; des noms de dessins anims et
de personnages de dessins anims ; des titres, personnages et lieux de films ou
d histoires de science-fiction; des noms de cratures mythiques (collectes dans
la mythologie de B u l f i n c h et dans le dictionnaire des btes mythiques) ; des
sports (y compris les noms dquipes, les surnoms et les termes spcialiss) : des
nombres ( la fois crits en chiffre 2001 et crits en toute lettre tw elve ) ;
des chanes de caractres et de nombres ( a , aa , aaa , aaaa , etc.);
des syllabes chinoises ( partir de la romanisation P i d g i n du chinois, un systme
international standard pour crire du chinois sur un clavier anglais) ; la K m g
James Bible ; les termes de la biologie ; des mots familiers ou vulgaires (tels que
fuckyou , ibmsux , deadhead ) ; des motifs de clefs du clavier (tels que
qwerty , asdf , zxcvbn ) ; des abrviations (telles que roygb iv , les cou
leurs de larc-en-ciel en anglais ou o o t ta f agvah , un mnmonique pour retenir
les noms des 12 nerfs crniens en anglais) ; les noms de machines ( partir du fi
chier /etc/hosts) ; des personnages, pices ou lieux de luvre de SHAKESPEARE;
des mots communs du Yiddish ; des noms d astrodes ; et une collection de mots
de diffrents articles techniques publis par K l e i n lui-mme. Tout compris, plus
de 60000 mots diffrents furent considrs par utilisateur (en ignorant les dou
blons).
3. Des variantes des mots de ltape 2. Cela inclut : mettre la premire lettre en
majuscule, mettre un caractre de contrle comme premire lettre, mettre tout le
mot en majuscule, renverser le mot (avec et sans la mise en majuscule prcdente),
remplacer la lettre o par le chiffre 0 (ainsi le mot sc h o la r sera aussi
test comme schOlar ), remplacer la lettre 1 par le chiffre 1 (ainsi le
mot sch o la r sera aussi test comme sc h o la r ), et faire des remplacements
similaires de la lettre z par le chiffre 2 et la lettre s par le chiffre 5 .
Un autre test consistait mettre le mot au pluriel (peu importe si le mot tait
bien un substantif) avec suffisamment de subtilit de telle manire que d re ss
devenait d r e sse s , house devenait houses , et d a is y devenait
d a i s ie s . Les rgles de mise au pluriel ne furent pas seulement prises au pied
de la lettre par K l e in , ainsi datum devint datums (et non pas data ),
tandis que sphynx devint sphynxs (et non pas sphynges ). De la mme
faon, les suffixes -ed , -e r et -in g furent ajouts pour transformer
des mots tels que phase en phased , phaser et phasing . Ces
tests supplmentaires ajoutrent 1000 000 de mots la liste des mots de passe
possibles tester pour chaque utilisateur.

4. Diffrentes mises en majuscule des mots de ltape 2 qui ne furent pas considres
pour ltape 3. Cela inclut la mise en majuscule dune seule lettre toutes les
positions possibles (ainsi m ichael donne m ichael , miChael , micHael ,
michAel , etc.), la mise en majuscule de deux lettres ( M ichael , MiChael ,
MicHael , .. , mIChael , mlcHael , etc.), la mise en majuscule de trois
lettres, etc. La mise en majuscule dune seule lettre rajouta environ 400000 mots
tester par utilisateur tandis que la mise en majuscule de deux lettres rajouta
1500 000 de mots supplmentaires. La mise en majuscule de trois lettres aurait
rajout au moins 3000000 de mots par utilisateur sil y avait eu suffisamment de

8.1

Gnration de clefs

185

temps pour effectuer les tests. Tester les mises en majuscule de quatre, cinq et
six lettres savrait infaisable sans beaucoup plus de puissance de calcul.
5. Des mots de langues trangres pour des utilisateurs trangers. Le test spcifique
qui fut ralis tait dessayer des mots de passe chinois pour les utilisateurs chi
nois. La romanisation Pidgin des syllabes chinoises a t utilise, en combinant
les syllabes par une, deux ou trois pour former des mots. Comme aucun test ne
fut fait pour dterminer si les mots engendrs avaient un sens, une recherche ex
haustive fut entame. Comme il y a 298 syllabes chinoises dans le systme Pidgin,
il y a 158 404 mots de deux syllabes et un peu plus de 16 000 000 de mots de trois
syllabes. Un mode d attaque similaire peut tre aisment utilis pour la langue
anglaise en utilisant des rgles pour construire des mots prononables mais sans
aucun sens.
6.

Des paires de mots. L ordre de grandeur dun test exhaustif de ce type est stup
fiant. Pour simplifier le test, seuls les mots de trois et quatre caractres de long
de /usr/dic.t/words furent utiliss. Mme ainsi, le nombre de paires est de lordre
de dix millions.

Une attaque par dictionnaire est bien plus efficace quand elle est monte contre un
fichier de clefs plutt que contre une seule clef. Un seul utilisateur peut tre assez
malin pour choisir de bonnes clefs. Si un millier de personnes choisissent leur propre
clef comme mot de passe d accs un systme informatique, les chances sont leves que
le mot de passe d au moins une personne se trouve dans le dictionnaire de lattaquant.

Clefs alatoires
Les bonnes clefs sont des chanes alatoires de bits gnres par des processus automa
tiques. Si une clef a 64 bits de long, toutes les chanes possibles de 64 bits devraient
tre quiprobables. Engendrez les bits de la clef partir dune source alatoire fiable
(voir 17.14) ou d un gnrateur pseudo-alatoire de bits cryptographiquement sr
(voir chapitres 16 et 17). Si ces dispositifs automatiques ne sont pas disponibles, lancez
une pice de monnaie ou un d.
Cest important, mais ne vous laissez pas emporter dans une conversation quant
savoir si les bruits alatoires des sources audios sont plus alatoires que ceux des dchets
radioactifs. Aucun de ces bruits alatoires sera parfait, mais ils seront probablement
assez bons. Il est important d utiliser un bon gnrateur de nombre alatoire pour la
gnration de clef, mais il est encore plus important dutiliser de bons algorithmes de
chiffrement et de bonnes procdures de gestion de clefs. Si le fait que vos clefs soient
alatoires vous ennuie, utilisez la technique du broyage de clef, dcrite plus loin.
Certains algorithmes de chiffrement ont des clefs faibles : des clefs spcifiques qui sont
moins sres que les autres clefs. Je vous conseille de dtecter ces clefs et d en engendrer
une autre si vous en dcouvrez une. Le DES na que 16 ('lefs faibles sur 256, donc les
chances dengendrer Lune d elles sont incroyablement faibles. Il a t argument quun
cryptanalyste naurait pas la moindre ide quune clef faible est utilise et donc ne
tire pas avantage de leur utilisation accidentelle. Toutefois, dtecter les quelques clefs
faibles est tellement facile quil semble imprudent de ne pas le faire.
Engendrer des clefs pour les systmes de cryptographie clef publique est nettement
plus difficile car souvent les clefs doivent avoir certaines proprits mathmatiques

Chapitre 8

186

Gestion des clefs

(elles doivent parfois tre un nombre premier, un rsidu quadratique, etc.). Des tech
niques pour engendrer des grands nombres premiers alatoires sont dcrites dans le
paragraphe 11.5. La chose importante se rappeler du point de vue de la gestion des
clefs est que les germes de ces gnrateurs doivent tre compltement alatoires.
Engendrer une clef alatoire n est pas toujours possible. Parfois, il est ncessaire de
mmoriser votre clef2. Si vous devez engendrer une clef facile mmoriser, rendezla obscure. Lide est d avoir quelque chose de facile mmoriser mais de difficile
deviner. Voici quelques suggestions :
- Des paires de mots spars par un signe de ponctuation,
par exemple: tu rtle*m oose ou z o r c h ls p la t .
- Des chanes de caractres qui sont un acronyme de phrases plus longues, par
exemple Mein Luftkissenfahrzeug ist voiler Aale! donne la clef MLivA ! .

Phrases-mots de passe
Une meilleure solution est d utiliser une phrase entire au lieu dun seul mot et de
convertir cette phrase en une clef. Ces phrases sont appeles phrase clef Une technique
appele broyage de clef, transforme des phrases faciles mmoriser en des clefs
alatoires. Utilisez une fonction de hachage sens unique pour transformer un texte
de longueur quelconque en une chane de bits pseudo-alatoire.
Par exemple, le texte suivant facile mmoriser:
Mon nom est Ozymandias, roi des rois. Contemple mon uvre, O toi le
tout puissant, et dsespre.
pourrait tre broy pour donner la clef de 64 bits suivante (en hexadcimal) :
E6C1 4398 5AE9 0A9B
Bien sr, taper une phrase entire dans un ordinateur peut se rvler difficile. Les
bonnes ides pour rsoudre ce problme sont les bienvenues.
Si la phrase est assez longue, la clef rsultante sera alatoire. Ce que signifie exactement
assez longue est sujet interprtation. La thorie nous dit que langlais standard a
peu prs 1,3 bits d information par caractre (voir 11.1). Pour une clef de 64 bits,
une phrase clef d peu prs 49 caractres, ou de 10 mots normaux anglais, devrait
tre suffisante. A vue de nez, dites-vous que vous avez besoin de 5 mots pour 4 bits de
clef C est une hypothse modre, sachant que cela ne prend en compte ni les lettres
majuscules ou minuscules, ni lespacement, ni la ponctuation.
Cette technique peut mme tre utilise pour engendrer la clef prive des systmes
cryptographiques clef publique : le texte peut tre transform en un germe alatoire
et ce germe peut tre fourni un systme dterministe qui engendre la paire clef
prive, clef publique .
Si vous choisissez une phrase clef, choisissez quelque chose d unique et de facile retenir.
Ne choisissez pas des phrases extraites de la littrature, lexemple de Ozymandias
nest pas bon. Les uvres compltes de S h a k e s p e a r e et les dialogues de La guerre
des toiles (Star Wars) sont disponibles et peuvent tre utiliss pour une attaque
2. Constatez com bien de tem ps il vous faut pou r m m oriser 25e8 5 6 f2 e8ba c820.

8.1

Gnration de clefs

187

par dictionnaire. Choisissez quelque chose d obscur, mais de personnel. Injectez-y de la


ponctuation et des majuscules ; si vous pouvez, ajoutez-y des nombres et des symboles
non alphanumriques. Des mots anglais incorrects, voire des mots trangers, font que
votre phrase clef est moins sensible une attaque par dictionnaire. Une suggestion est
dutiliser une phrase choquante et dnue de sens : quelque chose d assez offensif
que vous saurez retenir mais que vous ncrirez srement pas.
Malgr tout ce qui a t crit ici, lobscurit ne remplacera pas le vrai hasard. Les
meilleurs clefs sont des clefs alatoires, difficiles retenir.

Gnration de clefs suivant le standard ANSI X 9.17


Le standard AN SI X 9.17 dsigne une mthode de gnration de clefs (voir figure
8.1) [57]. Ce processus n engendre pas des clefs faciles mmoriser : il est plus adapt
la gnration de clefs de session ou de nombres pseudo-alatoires au sein dun systme.
Lalgorithme cryptographique utilis pour engendrer les clefs est le DES triple mais ce
pourrait tre aussi bien tout autre algorithme.

F ig.

8 .1

Le standard ANSI X 9 .17 de gnration de clefs

Soit E k ( X ) le chiffrement DES de X avec la clef K . C est une clef spciale rserve
la gnration de clefs. Vo est un germe de 64 bits secret. T est une datation. Pour
engendrer la clef alatoire Ri, calculez :
Ri

Epc(Efi-(7'z)

Vi).

Pour engendrer U f i, calculez:


V%+ 1 E

( E k ( Ti ) R i ) .

Pour transformer Ri en une clef DES, ajustez simplement un bit sur huit pour la
parit. Si vous avez besoin dune clef de 64 bits, utilisez-la telle quelle. Si vous avez
besoin dune clef de 128 bits, engendrez une paire de clefs et joignez-les.

Gnration de clefs du Dpartement de la Dfense amricain


Le Dpartement de la Dfense amricain recommande lutilisation du DES en mode
OFB (voir 9.8) pour gnrer des clefs alatoires [1151]. Gnrez une clef DES partir
de vecteurs dinterruption de systme, de registres dtat de systme et de compteurs
de systme. Gnrez un vecteur dinitialisation partir de lhorloge du systme, de
lidentification du systme, de la date et de lheure. Pour le texte en clair, utilisez une
quantit de 64 bits gnre en externe: huit caractres taps par un administrateur
systme par exemple. Utilisez le rsultat comme votre clef.

Chapitre 8

188

8.2

Gestion des clefs

Espaces des clefs non linaires

Imaginez que vous tes une organisation militaire de cryptographie, fabriquant des
quipements de cryptographie pour vos troupes. Vous voulez utiliser un algorithme sr,
mais vous avez peur que cet quipement tombe entre des mains ennemies. La dernire
chose que vous voulez est que cet ennemi soit capable dutiliser cet quipement pour
protger ses propres secrets.
Si vous pouvez placer votre algorithme dans un module inviolable, voici ce que vous
pouvez faire. Vous pouvez exiger des clefs de forme spciale et secrte ; toutes les autres
clefs feront que le module chiffrera et dchiffrera en utilisant un algorithme svrement
affaibli. Vous pouvez vous arranger pour que les chances de tomber sur une clef correcte
soient de plus en plus faibles quand on ne connat pas cette forme spciale.
On appelle cela un espace de clef non linaire, car toutes les clefs ne sont pas de
force gale, (le contraire est un espace de clef linaire). Une manire facile de le faire est
de crer la clef en deux parties : la clef elle-mme et une chane fixe chiffre avec cette
clef. Le module dchiffre la chane avec la clef; si il obtient la chane fixe il utilise la
clef normallement, sinon, il utilise un algorithme diffrent, plus faible. Si lalgorithme a
une clef de 128 bits et une taille de 64 bits, la clef gnrale est de 192 bits ; ceci donne
lalgorithme une clef efficace de 2 128 et rduit les chances de trouver par hasard une
bonne clef un contre 2 64.
Vous pouvez mme tre encore plus subtil. Vous pouvez crer un algorithme tel que
certaines clefs sont plus fortes que d autres. Un algorithme peut ne prsenter aucune
clef faible qui soit vraiment trs mauvaise tout en ayant un espace de clef non
linaire.
Ceci ne marche que si lalgorithme est secret et si lennemi ne peut pas en analyser le
code machine, ou si la diffrence entre les niveaux de clefs est suffisamment subtile pour
que cela ne se remarque pas. La NSA la utilis avec ses algorithmes secrets dans ses
modules Overtake (voir 25.1). L ont-ils refait avec Skipjack (voir 13.12)? Personne
ne le sait.

8.3

Transfert de clefs

Alice et Bernard vont utiliser un algorithme cryptographique clef secrte pour com
muniquer de manire sre ; ils ont besoin d une clef commune. Alice engendre une clef
en utilisant un gnrateur alatoire de clefs. Maintenant elle doit la faire parvenir
Bernard, en toute scurit. Si Alice peut rencontrer Bernard quelque part (une alle
sombre, une pice sans fentre, ou sur un des satellites de Jupiter), elle peut lui donner
une copie de la clef. Sinon, ils ont un problme. La cryptographie clef publique rsout
ce problme lgamment et avec un minimum de prarrangements, mais ces techniques
ne sont pas toujours disponibles (voir 3.1). Certains systmes peuvent utiliser des ca
naux de communication alternatifs rputs pour tre srs. Alice peut envoyer Bernard
la clef par un messager de confiance. Elle peut lenvoyer par courrier certifi ou via un
service de livraison express. Elle peut crer un nouveau canal de communication avec
Bernard et esprer que personne ncoute celui-l.
Alice peut envoyer Bernard la clef secrte sur le canal de communication, celui quils
vont utiliser. C est idiot : si le canal garantit le chiffrement, envoyer la clef de chiffrement

8.3

Transfert de clefs

189

en clair sur le mme canal garantit que nimporte qui coutant le canal peut dchiffrer
toutes les communications.
Le standard X 9 .17 [57] dtermine deux types de clefs : les clefs de chiffrement de clefs
et les clefs de donnes. Les clefs de chiffrement de clefs chiffrent les autres clefs
pour la distribution. Les clefs de donnes chiffrent le trafic des messages. Ces clefs de
chiffrement de clefs doivent tre distribues manuellement (bien quelles puissent tre
en scurit dans un systme inviolable, tel quune carte puce), mais seulement trs
rarement. Les clefs de donnes sont distribues plus souvent. Vous trouverez plus de
dtails dans [82]. Ce concept de deux niveaux de clefs est trs utilis dans la distribution
de clefs.
Une autre solution au problme de distribution est de diviser la clef en plusieurs mor
ceaux (voir 3.6) et denvoyer chaque morceau par un canal diffrent. Un morceau
pourrait tre envoy par tlphone, un par courrier, un par courrier express, un par
pigeon voyageur, etc. (voir la figure 8.2). Comme un adversaire arrivant collecter
tous les morceaux sauf un ne pourra pas reconstruire la clef, cette mthode marchera
dans tous les cas except les cas extrmes. Le paragraphe 3.6 prsente des schmas
pour diviser une clef en plusieurs morceaux. Alice pourrait mme utiliser un schma
de partage de secret (voir 3.7), permettant Bernard de reconstruire la clef mme si
quelques morceaux se sont gars pendant la transmission.

F ig. 8.2 - Distribution de clef morcele


Alice envoie Bernard la clef de chiffrement de clefs de manire sre, soit en se ren
contrant en chair et en os, soit par la technique de morcellement prsente ci-dessus.
Une fois quAlice et Bernard disposent tous deux de la clef de chiffrement de clefs,
Alice peut envoyer Bernard les clefs de donnes journalires sur le mme canal de
communication. Alice chiffre chaque clef de donnes journalire avec la clef de chiffre
ment de clefs. Comme le volume chiffr avec la clef de chiffrement de clefs est faible,
elle ne doit pas tre change trop souvent. Toutefois, si la clef de chiffrement de clefs
est compromise alors tous les messages chiffrs avec toutes les clefs journalires sont
compromis, la clef de chiffrement des clefs doit tre stocke de manire sre.

190

Chapitre 8

Gestion des clefs

Distribution de clefs dans des grands rseaux


Des clefs de chiffrement de clefs, partages par des paires dutilisateurs, conviennent
bien dans des petits rseaux, mais deviennent rapidement incommodes quand le rseau
sagrandit. Comme chaque paire dutilisateurs doit changer des clefs, le nombre total
dchanges de clefs requis dans un rseau de n personnes est de n(n l ) / 2 .
Dans un rseau de 6 personnes, 15 changes de clefs sont ncessaires. Dans un rseau
de 1000 personnes, prs de 500 000 changes de clefs sont ncessaires. Dans ce cas,
la cration d un serveur central de clefs (ou de plusieurs serveurs) rend 1 opration
beaucoup plus efficace.
Alternativement, tout protocole de cryptographie clef secrte ou de cryptographie
clef publique du paragraphe 3.1 fournit un moyen de distribution de clefs sr.

8.4

Vrification de clefs

Quand Bernard reoit une clef, comment peut-il savoir que celle-ci vient bien dAlice
et non pas de quelquun qui se fait.passer pour Alice? Si Alice lui a donne lors dune
rencontre en chair et en os, cest facile. Si Alice a envoy la clef par un porteur de
confiance, alors Bernard doit avoir confiance dans le porteur. Si la clef est chiffre avec
une clef de chiffrement de clefs, alors Bernard doit avoir confiance dans le fait que seule
Alice a cette clef. Si Alice utilise un protocole de signature numrique pour signer la
clef, Bernard doit avoir confiance dans la base de donnes de clefs publiques quand il
vrifie la signature (il doit aussi croire qu Alice n a pas divulgu sa clef). Si le Centre
de Distribution des Clefs (C D C ) signe la clef publique dAlice, Bernard doit avoir
confiance dans le fait que la clef publique du C D C na pas t falsifie.
En fin de compte, quelquun qui contrle compltement tout le rseau autour de
Bernard peut lui faire croire ce quil veut. Martin peut envoyer un message chiffr
et sign en prtendant tre Alice. Quand Bernard essaie datteindre la base de donnes
de clefs publiques pour vrifier la signature dAlice, Martin peut fournir sa propre clef
publique. Martin peut inventer son propre C D C factice et remplacer les vraies clefs
publiques du C D C pour son propre usage. Bernard ne se rendra compte de rien.
Certaines personnes ont utilis cet argument pour clamer que la cryptographie clef
publique est inutile. Comme le seul moyen pour Alice et Bernard de sassurer que leur
clef nest pas falsifie est de se rencontrer en chair et en os, la cryptographie clef
publique namliore pas du tout la scurit.
Cette vision est nave. C est thoriquement vrai, mais la ralit est bien plus compli
que. La cryptographie clef publique, utilise avec des signatures numriques et des
C D C de confiance, rend bien plus difficile la substitution dune clef par une autre.
Bernard peut ne jamais tre tout fait certain que Martin ne manipule pas son uni
vers, mais Bernard peut tre certain que faire cela ncessite bien plus de ressources que
celles dont disposent la plupart des Martin du monde rel.
Bernard peut aussi vrifier la clef d Alice par tlphone, il entend alors sa voix. La
reconnaissance de la voix est un trs bon moyen d identification. Si c est une clef
publique, il peut la rciter en toute scurit en public. Si c est une clef secrte, il peut
utiliser une fonction de hachage sens unique pour vrifier la clef. P G P (voir 24.12)
et A T & T T SD (voir 24.18) utilisent tous les deux ce genre de vrification de clef.
Parfois, il peut mme tre sans importance de vrifier qui appartient une clef publique.

8.4

Vrification de clefs

191

Il peut tre ncessaire de vrifier quelle appartient bien la mme personne que celle
qui elle appartenait lan dernier. Si quelquun envoie un ordre de retrait une banque, la
banque ne doit pas sinquiter de savoir qui retire largent, elle doit seulement sassurer
que cest la mme personne que celle qui a dpos largent originellement.

Dtection derreurs pendant la transmission de clef


Parfois les clefs sont fausses pendant la transmission. Comme une clef fausse peut
signifier des mgaoctets de texte chiffr indchiffrables, cest un problme. Toutes les
clefs devraient tre transmises avec un certain type de dtection d erreurs et des bits de
correction derreur. De cette faon les erreurs de transmission peuvent tre facilement
dtectes, et si ncessaire la clef peut tre retransmise.
Une des mthodes le plus communment utilise est de chiffrer une valeur constante
avec la clef et denvoyer les 2 4 premiers octets du texte chiffr en mme temps que la
clef. Du ct du rcepteur, on fait la mme chose. Si les constantes chiffres concordent,
alors la clef a t transmise sans erreurs. Les chances pour une erreur de ne pas tre
dtecte vont de 1 pour 2 16 1 pour 2 32.

Dtection derreur de clef pendant le dchiffrement


Parfois, le destinataire veut vrifier si une clef particulire quil possde est la clef
secrte de dchiffrement. Si le texte en clair envoy est du type A SC II, il peut essayer
de dchiffrer et lire le message. Si le texte en clair est alatoire, il y a dautres techniques.
Lapproche nave est d attacher un b l o c d e v r i f i c a t i o n : une en-tte connue pr
cdant le texte en clair avant chiffrement. A la rception, Bernard dchiffre len-tte et
vrifie quelle est correcte. Ca marche, mais cela donne Estelle un texte en clair connu
pour laider cryptanalyser le systme. Cela rend aussi plus faciles les attaques contre
les chiffres clefs courtes comme le DES et les algorithmes exportables. Prcalculez
la somme de contrle une fois pour chaque clef, puis utilisez cette somme de contrle
pour dterminer la clef de chaque message que vous interceptez par la suite. Cest une
caractristique de toute somme de contrle de clef o ne sont pas incluses des donnes
alatoires ou tout du moins diffrentes. C est conceptuellement similaire lutilisation
dun sel pour gnrer des clefs partir de phrases-clefs.
Voici une meilleure faon de le faire [822] :
1 Gnrez un vecteur dinitialisation (diffrent de celui utilis pour le message).
2 Utilisez ce vecteur dinitialisation pour gnrer un grand nombre de bits : par
exemple 512.

3 Hachez le rsultat.
4 Utilisez les mme bits de lempreinte, par exemple 32, pour la somme de
contrle de la clef.

Ceci donne Estelle des informations, mais trs peu. Si elle essaie dutiliser les 32
bits de la valeur finale du hachage pour entreprendre une attaque massive, elle devra
effectuer de multiples chiffrements ainsi quun hachage par clef; une attaque massive
sur la clef elle-mme serait plus rapide.

Chapitre 8

192

Gestion des clefs

De plus, elle naura pas de valeurs de texte en clair connues essayer, et mme si elle
arrive choisir une valeur alatoire notre place, elle ne pourra pas choisir un de nos
textes, puisquils passent au hachage avant quelle puisse les voir.

8.5

Utilisation des clefs

Le chiffrement par logiciel est angoissant. Il est loin le temps o les simples microordinateurs taient sous le contrle de programmes isols. Maintenant, il y a le SYSTEM
7 du M a c i n t o s h , W i n d o w s N T et U NIX. Vous ne pouvez pas prvoir quand le
systme va interrompre lapplication de chiffrement en cours, crire le tout sur disque,
et soccuper dune tche urgente. Quand le systme redonne finalement la main au
chiffrement de ce qui doit tre chiffr, tout a lair normal. Personne ne ralise que
le systme a crit toute lapplication de chiffrement sur disque et quil a crit la clef
en mme temps. La clef est maintenant sur le disque, non chiffre jusqu ce que
lordinateur rcrive cet endroit nouveau. Cela peut prendre des minutes ou des
mois. Cela pourrait mme jamais se produire : la clef pourrait encore tre l quand
un adversaire passe le disque dur au peigne fin. Dans un environnement multitche
premptif, vous pouvez mettre votre application un niveau de priorit suffisamment
lev pour quelle ne soit pas interrompue. Cela diminuerait le risque. Mme ainsi, c est
encore trop hasardeux.
Les ralisations matrielles sont plus sres. De nombreux dispositifs sont conus pour
effacer la clef si lon essaie de les dcortiquer. Par exemple, la carte de chiffrement de
lIBM P S /2 a une unit en poxyde qui contient la puce DES, lalimentation et la
mmoire. Bien sr, vous devez faire confiance au fabricant pour quil ait ralis cela
correctement.
Quelques applications de communication, tels que les chiffreurs de tlphone, peuvent
utiliser des c l e f s d e s e s s i o n . Une clef de session est une clef quon utilise juste pour
une opration de communication une seule conversation tlphonique puis dont
on se dbarasse. Il n y a pas de raison de garder la clef aprs quelle ait t utilise. Et si
vous utilisez un protocole dchange de clef pour la transfrer, elle na pas besoin d tre
stocke avant d tre utilise. De ce fait, la clef est moins susceptible d tre compromise.

Contrler lusage de la clef


Avec certaines applications, il est prfrable de contrler comment une clef de session
est utilise. Certains utilisateurs en auront besoin seulement pour le chiffrement ou
le dchiffrement. Les clefs de session peuvent tre autorises lemploi sur certaines
machines ou certains moments. Pour grer ce genre de restrictions, un procd attache
la clef un V E C T E U R DE C O N TR L E (V C ) ; le vecteur de contrle dfinit les utilisations
et les restrictions de cette clef (voir 24.1) [1035, 1036]. Ce VC est hach puis combin
par ou exclusif avec une clef matresse ; le rsultat est utilis comme clef de chiffrement
pour chiffrer la clef de session. Cette clef de session ainsi chiffre est alors stocke avec
le VC. Pour retrouver la clef de session, hachez puis combinez par ou exclusif le VC
avec la clef matresse et utilisez le rsultat pour dchiffrer la clef de session chiffre.
Les avantages de ce procd sont que le VC peut tre dune longueur tout fait arbi
traire et quil est toujours stock en clair avec la clef chiffre. Ce procd est en partie
responsable de linviolabilit des matriels et de lincapacit des utilisateurs daccder

8.6

Mise jour des clefs

193

directement aux clefs. Ce systme est abord plus fond dans les chapitres 24.1 et
24.8.

8.6 Mise jour des clefs


Imaginez un lien de donnes chiffres o vous voulez changer vos clefs quotidiennement.
Il est souvent fastidieux de distribuer une nouvelle clef chaque jour. Une solution plus
facile est de gnrer une nouvelle clef partir de lancienne; quelquefois, on appelle
cela une m i s e j o u r d e s c l e f s .
Il suffit d une fonction de hachage sens unique. Si Alice et Bernard partagent la mme
clef et lutilisent simultanment avec la mme fonction sens unique, ils obtiendront
le mme rsultat. Puis ils peuvent prendre les bits dont ils ont besoin pour crer la
nouvelle clef.
La mise jour de clef marche, mais souvenez-vous que la nouvelle clef nest pas plus
sre que lancienne. Si Estelle a russi mettre la main sur lancienne clef, elle peut
effectuer lopration de mise jour de clef elle-mme. Nanmoins, si Estelle na pas
l'ancienne clef et lance une attaque seulement texte de chiffr sur le trafic chiffr,
cest une bonne manire pour Alice et Bernard de se protger.

8.7

Stockage des clefs

Le stockage de clefs le moins complexe est pour lutilisateur isol, Alice, qui chiffre
ses fichiers pour une utilisation future. Comme elle est la seule concerne, elle est la
seule responsable de sa clef. Certains systmes prennent une approche facile : la clef
est stocke dans le cerveau d Alice et jamais dans le systme. Alice doit mmoriser la
clef et lentrer chaque fois quelle a besoin quun fichier soit chiffr ou dchiffr.
Un exemple dun tel systme est donn par IPS [881]. Les utilisateurs peuvent soit
entrer directement leur clef de 64 bits, soit entrer la clef sous forme d une longue
chane de caractres. Le systme engendre alors une clef de 64 bits partir de la chane
de caractres, laide dune technique de broyage de clefs.
Une autre solution est de stocker la clef sur une carte piste magntique, une clef en
plastique avec une puce R O M (appele une clef R O M ), ou sur une carte puce [558,
559, 461]. Un utilisateur peut alors entrer sa clef dans le systme, en insrant sa carte
dans un lecteur spcial de la bote de chiffrement ou attach au terminal informatique.
Il peut lutiliser seulement dans les limites prcises par le vecteur de contrle.
La clef RO M est une trs bonne ide. Les personnes comprennent les clefs physiques,
ce quelles reprsentent et comment les protger. Mettre une clef cryptographique sous
cette mme forme rend le stockage et la protection de cette clef plus intuitive.
Cette technique est rendue encore plus sre en morcelant la clef en deux moitis et en
stockant une moiti dans le terminal et lautre moiti dans la clef R O M . Le procd
STU-III du gouvernement amricain de protection du tlphone fonctionne de cette
manire. Perdre la clef R O M ne compromet pas la clef cryptographique, changez-la
et tout rentre dans lordre. Ceci est aussi vrai dans le cas de la perte du terminal. De
cette faon, compromettre soit la clef R O M soit le terminal ne compromet pas la clef
cryptographique un adversaire doit avoir les deux moitis.

Chapitre 8

194

Gestion des clefs

Des clefs difficiles mmoriser peuvent tre stockes sous forme chiffre, en utilisant
quelque chose de similaire une clef de chiffrement de clefs. Par exemple, une clef
prive R SA peut tre chiffre par DES et stocke sur le disque. Pour rcuprer la clef
R SA , l'utilisateur doit donner la clef D ES au programme de dchiffrement.
Si les clefs sont engendres de manire dterministe (avec un gnrateur pseudo
alatoire de nombres cryptographiquement sr) il peut tre plus simple de rengendrer
les clefs partir d un mot de passe facile retenir chaque fois quelles sont ncessaires.
Lidal serait quune clef napparaisse jamais non-chiffre hors du module de chiffre
ment. Ce nest pas toujours possible, mais cest un but que nous devons atteindre.

8.8

Duplicata des clefs

Alice est le responsable financier de la socit Secrets, S.A. , Nous ne dvoilons pas
notre devise . Comme tout employ consciencieux, elle suit les consignes de scurit de
sa socit et chiffre toutes ses donnes. Malheureusement, elle ignore les consignes de
scurit routire pour traverser la rue et est renverse par un camion. Que fait Bernard,
le prsident de la socit?
Bernard est bien embarass, moins quAlice nait laiss une copie de sa clef. Le but
du chiffrement est de rendre les fichiers non rcuprables sans la clef. Ses fichiers seront
perdus jamais, moins quAlice soit une dbile ou quelle utilisait un logiciel de
chiffrement miteux.
Bernard peut viter cela de plusieurs manires. La plus simple est parfois appele
d p t d e c l e f (voir 4.14) : Bernard exige que ses employs mettent leur clef par crit
et la donnent au responsable de la scurit de lentreprise, qui les enfermera en lieu sr
(ou qui les chiffrera toutes avec une clef matresse). Maintenant, si Alice est tue sur
lautoroute, Bernard peut demander la clef dAlice son responsable de la scurit.
Bernard devrait aussi sassurer d avoir personnellement la combinaison du coffre, sinon
si le responsable de la scurit est lui aussi cras par un autre camion, Bernard serait
de nouveau frapp par la malchance.
Le problme avec ce systme de gestion de clefs est que Bernard doit avoir confiance
dans le responsable de la scurit pour que celui-ci ne fasse pas un mauvais usage des
clefs dont il a la garde. Plus important encore, tous les employs doivent avoir confiance
dans le responsable de la scurit pour quil ne fasse pas mauvais usage de leur clef.
Une bien meilleure solution est d utiliser un protocole de partage de secret (voir 3.7).
Quand Alice engendre la clef, elle partage galement celle-ci en un certain nombre de
morceaux. Elle envoie ensuite chaque morceau chiffr bien sr un employ
diffrent de la compagnie suivant en cela les consignes de scurit de la socit. Aucun
des morceaux nest la clef lui seul mais quelquun peut rassembler les morceaux et
peut ainsi reconstruire la clef. Maintenant, Alice est protge contre toute personne
malintentionne et Bernard est protg de la perte de toutes les donnes dAlice en
cas d accident. Ou encore, elle peut stocker tous les morceaux, chacun chiffr avec une
clef publique d un employ diffrent de la socit, sur son propre disque dur . De cette
faon, personne ne soccupe de la gestion des clefs tant que ce nest pas ncessaire.
Un autre schma de duplication de clef [194] utilise les cartes puce (voir 24.13)
pour le dpt temporaire des clefs. Alice peut mettre sa clef d ordinateur sur une carte
puce et la donner Bernard pendant quelle sabsente. Bernard peut utiliser la carte
pour avoir accs son ordinateur, mais comme la clef est inscrite dans la carte, Bernard

8.9

Clefs compromises

195

ne peut pas la connatre. Et le systme marche double sens : Bernard peut vrifier
que la clef permet laccs lordinateur d Alice, et quand Alice reviendra, elle pourra
vrifier si Bernard a utilis la clef et si oui, combien de fois.
Un tel schma nest pas applicable aux transmissions de donnes. Sur un tlphone
protg, la clef ne devrait exister que le temps de lappel. Pour le stockage de donnes,
comme on vient de le dire, le dpt de clef peut tre une bonne ide. Jai perdu environ
une clef tous les cinq ans, et ma mmoire est suprieure la moyenne. Si 200 millions
de personnes utilisaient la cryptographie, ce mme taux quivaudrait 40 millions de
clefs perdues annuellement. Je laisse un double des clefs de ma maison mon voisin,
au cas o je les perde. Si les clefs de la maison taient des clefs cryptographiques, et si
je les perdais, je ne pourrais plus jamais rentrer chez moi. Au mme titre que je garde
part un duplicata de mes donnes, il me semble logique de garder une copie de ses
clefs de chiffrement de donnes.

8.9

Clefs compromises

Tous les protocoles, techniques et algorithmes de ce livre ne sont srs que si la clef (la
clef prive dans un systme cryptographie clef publique) reste secrte. Si la clef
dAlice est perdue, vole, imprime dans un quotidien ou compromise dune faon ou
dune autre, alors toute sa scurit senvole.
Si la clef compromise tait celle d un systme cryptographique clef secrte, Alice doit
changer sa clef et esprer que le dommage caus est minimum. Si ctait une clef prive,
elle a de plus gros problmes ; sa clef publique est probablement sur tous les serveurs
du rseau. Et si Estelle a accs la clef prive dAlice, elle peut alors se faire passer
pour elle sur le rseau : elle peut lire du courrier chiffr, signer de la correspondance,
conclure des contrats, et ainsi de suite. Estelle peut devenir Alice.
Quand une clef prive est compromise il est vital de diffuser linformation le plus vite
possible travers le rseau. Toute base de donnes publique de clefs publiques doit tre
immdiatement avertie quune clef prive est corrompue, sinon quelquun qui nest pas
au courant pourrait chiffrer un message avec cette clef.
Il faut esprer quAlice sait quand sa clef a t compromise. Si un C D C gre les clefs,
Alice doit lavertir que sa clef a t compromise. Sil n y a pas de C D C , elle doit
alors avertir tous ses correspondants. Quelquun doit rendre public le fait que tout
message reu aprs la perte de la clef est suspect et que personne ne doit envoyer
de message Alice avec la clef publique associe. Lapplication devrait utiliser un
systme de datation et les utilisateurs peuvent alors diffrencier les messages suspects
des messages lgitimes.
Si Alice ne sait pas exactement quand sa clef a t compromise, les choses sont plus
difficiles. Alice peut vouloir annuler un contrat sign par la personne qui a vol la clef.
Si le systme le permet, alors tout un chacun a la possibilit d annuler un contrat rien
quen prtendant que sa clef a t compromise avant la signature du contrat. Seul le
juge pourra en dbattre.
Cest un problme trs srieux qui met en lumire les dangers que prend Alice en liant
son identit une seule clef. Alice ferait mieux d avoir diffrentes clefs pour diffrentes
applications tout comme elle a diffrentes clefs dans sa poche qui ouvrent diffrentes
serrures. D autres solutions ce problme sont la biomtrie, des limitations d utilisation
dune clef, linsertion de dlais et la contre-signature.

196

Chapitre 8

Gestion des clefs

Les procdures et les recommandations sont rarement optimales, mais elles sont ce que
lon peut faire de mieux. La morale de cette histoire est quil faut protger les clefs, et
les clefs prives par-dessus tout.

8.10

Longvit des clefs

Aucune clef de chiffrement ne doit tre utilise pour une priode indfinie. Elle devrait
expirer automatiquement tout comme un passeport ou une licence. 1 1 y a plusieurs
raisons cela :
- Plus la clef sera utilise longtemps, plus elle aura de chances dtre compromise.
Les gens mettent par crit les clefs, ils les perdent. Les accidents arrivent. Si
vous utilisez la mme clef pendant un an, il y a bien plus de chances quelle soit
compromise que si vous lutilisez un jour seulement.
Plus la clef est utilise longtemps, plus grande est la perte si la clef est compro
mise. Si la clef est utilise seulement pour chiffrer un seul document de budget
sur un serveur de fichiers, alors la perte de la clef ne compromet que ce document.
Si la mme clef est utilise pour chiffrer tous les budgets sur le serveur de fichiers
alors la perte est nettement plus catastrophique.
- Plus la clef est utilise longtemps, plus grande est la tentation pour quelquun de
fournir leffort ncessaire pour la retrouver mme si cet effort est une attaque
exhaustive. Retrouver une clef partage par deux units militaires pendant un
jour permettrait quelquun de lire et dengendrer des messages entre ces deux
units pendant un jour. Retrouver une clef partage par un tat-major de larme
pendant un an permettrait la mme personne de lire et dengendrer des mes
sages travers le monde entier pendant toute une anne. En ayant conscience
du budget, dans notre monde daprs-guerre froide, quelle clef choisiriez-vous
dattaquer?
- Il est en gnral plus facile d effectuer une cryptanalyse quand on a plus de texte
chiffr avec une mme clef.
Pour toute application cryptographique, il doit y avoir une consigne qui dtermine la
longvit dune clef. Des clefs diffrentes peuvent avoir des longvits diffrentes. Pour
un systme bas sur la connection, tel que le tlphone, il semble logique dutiliser une
clef pour la dure de lappel et d en utiliser une nouvelle chaque appel. Les systmes
ddis aux canaux de communication ne sont pas si vidents Les clefs devraient avoir
une dure de vie relativement courte, selon la valeur et la quantit de donnes chiffres
pendant une priode donne. La clef pour une liaison de communication 1 gigabit
par seconde doit tre change plus souvent que la clef pour une liaison par modem
9600 bauds. En faisant lhypothse quil existe une mthode efficace pour transmettre
des nouvelles clefs laide d une clef de chiffrement de clefs, les clefs de session doivent
tre changes au minimum chaque jour.
Les clefs de chiffrement de clefs ne doivent pas tre changes aussi souvent. Elles sont
utilises occasionnellement (grosso modo une fois par jour) pour lchange de clefs. Cela
gnre peu de texte chiffr au cryptanalyste, et le texte en clair correspondant na pas

8.11

Destruction des clefs

197

de forme particulire. Toutefois, si une clef de chiffrement de clefs est compromise, la


perte potentielle est norme : toutes les communications chiffres avec ces clefs. Dans
certaines applications, les clefs de chiffrement de clefs sont changes seulement une fois
par mois ou une fois par an. Vous devez comparer le danger induit par le maintien
dune clef pour un bon moment celui induit par la distribution d une nouvelle clef.
Les clefs de chiffrement utilises pour chiffrer des fichiers pour archivage ne doivent
pas tre changes souvent. Les fichiers peuvent rester chiffrs sur le disque pendant des
mois ou des annes avant quon en ait besoin nouveau. Les dchiffrer et les rechiffrer
avec une nouvelle clef chaque jour naugmente aucunement la scurit: cela donne
juste plus de matire premire au cryptanalyste. Une solution serait de chiffrer chaque
fichier avec une clef unique par fichier et ensuite de chiffrer toutes ces clefs avec une
clef de chiffrement de clefs. La clef de chiffrement de clefs devrait alors tre mmorise
ou stocke dans un endroit sr. Bien sr la perte de cette clef signifierait la perte de
toutes les autres clefs.
Les clefs prives des applications de cryptographie clef publique ont des dures de
vie variables en fonction de lapplication. Les clefs prives utilises pour les signatures
numriques et les preuves didentit doivent durer des annes (voire mme une vie
entire). Les clefs prives utilises pour jouer pile ou face peuvent tre ignores
directement aprs avoir termin le protocole. Mme si la scurit dune clef est suppose
durer toute une vie, il peut tre prudent de la changer de tant autre. Les clefs prives
de nombreux rseaux ne sont valables que deux ans ; aprs cela lutilisateur doit se
procurer une nouvelle clef prive. Lancienne clef doit toujours rester secrte au cas o
lutilisateur doive vrifier une signature numrique pour cette priode. Mais la nouvelle
clef devrait tre utilise pour signer de nouveaux documents, rduisant ainsi le nombre
de documents dont disposerait un cryptanalyste pour une attaque.

8.11

Destruction des clefs

Etant donn que les clefs doivent tre remplaces rgulirement, les vieilles clefs doivent
tre dtruites. Les vieilles clefs ont de la valeur, mme si elles ne sont plus jamais
utilises. Avec celles-ci, un adversaire peut lire d anciens messages chiffrs [70].
Les clefs doivent tre dtruites de manire sre (voir 10.9). Si la clef est crite sur un
bout de papier, le papier peut tre dchiquet ou brl. Veillez utiliser une machine
dchiqueter de trs bonne qualit : de nombreux mauvais dchiqueteurs sont sur le
march. Les algorithmes de ce livre sont protgs des attaques exhaustives qui cotent
des millions de dollars et qui prennent des millions d annes. Si un adversaire peut
retrouver votre clef en rcuprant la sortie de la machine dchiqueter dans votre
poubelle, et sil peut payer 1 0 0 chmeurs dans un pays pauvre 0 , 1 dollar par heure
pendant un an pour recoller les pages dchiquetes, cela ne reprsenterait que 26 0 0 0 $
bien dpenss.
Si la clef est dans une mmoire E E P R O M , la clef peut tre rcrite plusieurs fois. Si la
clef est dans une E P R O M ou une P R O M , la puce doit tre broye en mille morceaux
et dissmine aux quatre vents. Si la clef est stocke sur un disque d ordinateur, les bits
utiliss pour son stockage doivent tre rcrits plusieurs fois (voir 10.9) ou le disque
devrait lui-mme tre dchiquet.
Un problme potentiel est que, dans un ordinateur, les clefs peuvent tre facilement
copies et stockes en divers endroits. Tout ordinateur qui autogre sa mmoire, en

Chapitre 8

198

Gestion des clefs

crivant et en lisant continuellement la mmoire de travail sur le disque, ne fait quaug


menter le problme. Il ny a aucun moyen de sassurer que la clef a effectivement
t correctement efface, plus particulirement si le systme de conduite de lordina
teur contrle le processus d effacement lui-mme. Les plus paranoaques d entre vous
doivent envisager lcriture dun programme d effacement spcial qui balaie tous les
disques pour rechercher des copies du motif des bits de la clef dans les blocs non utili
ss et alors effacer ces blocs. Noubliez pas non plus deffacer le contenu de tout fichier
temporaire, ou du fichier de pagination ( swap file ) si ncessaire.

8.12

Gestion des clefs


pour la cryptographie clef publique

La cryptographie clef publique rend la gestion des clefs plus facile mais elle a ses
propres problmes. Chaque personne na quune clef publique, peu importe le nombre
dutilisateurs du rseau. Si Alice veut envoyer un message Bernard, elle doit se pro
curer la clef publique de Bernard. Elle peut lobtenir de plusieurs manires :
Elle peut lobtenir auprs de Bernard.
Elle peut lobtenir auprs dune base de donnes centrale.
Elle peut lobtenir partir de sa propre base de donnes prive.
Le paragraphe 2.5 prsente un certain nombre dattaques contre la cryptographie clef
publique, base sur Martin qui remplace la clef de Bernard par la sienne. Le scnario
est quAlice veut envoyer un message Bernard. Elle demande la base de donnes
publique et obtient la clef publique de Bernard. Mais Martin, qui est sournois, remplace
la clef de Bernard par la sienne. (Si Alice demande directement Bernard, Martin doit
intercepter la communication entre Alice et Bernard et remplacer la clef de Bernard par
la sienne.) Alice chiffre son message avec la clef de Martin et lenvoie Bernard. Martin
intercepte le message, le dchiffre, le lit. Il le rechiffre alors avec la vraie clef publique
de Bernard et envoie le rsultat Bernard. Ni Alice, ni Bernard ne remarquent quoi
que ce soit.

Certificat de clef publique


Un CE RTIFIC AT DE c l e f p u b l i q u e est constitu de la clef publique de quelquun si
gne par une personne de confiance. Les certificats sont utiliss pour contrecarrer les
remplacements dune clef par une autre [879]. Le certificat de Bernard dans la base
de donnes des clefs publiques contient bien plus que sa clef publique. Il contient des
informations concernant Bernard son nom, son adresse, etc. et il est sign par
quelquun en qui Alice a confiance : Ivan, habituellement connu sous le nom dautorit
de certification (A C en abrg). En signant la fois la clef et les informations concer
nant Bernard, Ivan certifie que ces informations sont correctes et que la clef publique
appartient bien Bernard. Alice vrifie la signature de Ivan et ensuite utilise la clef
publique en tant sre que cest bien celle de Bernard et de personne d autre. Les cer
tificats jouent un rle important dans nombre de protocoles clef publique tels que le
PE M [827] (voir 24.10) et le X .509 [309] (voir 24.9).

8.12

Gestion des clefs pour la cryptographie clef publique

199

Une caractristique complique non-cryptographique accompagne ce genre de systme.


Quelle est la signification de la certification? Ou, pour sexprimer autrement, qui est
investit du pouvoir de certification, et envers qui? Nimporte qui peut signer le certi
ficat dun autre, mais il faut un moyen de filtrer les certificats suspects : par exemple,
les certificats demploys dune compagnie signs par l A C pour une autre compagnie.
Normalement, une chane de certification transfre la confiance: une seule entit d
signe certifie des agents, ces agents certifient les A C des entreprises, lesquelles A C
certifient leurs employs.
Voici dautres questions qui demandent rflexion :
- Quel niveau de confiance en lidentit de quelquun est induit par son certificat ?
- Quelles sont les relations entre une personne et lA C qui certifie sa clef publique,
et comment ces relations peuvent tre impliques par le certificat?
- Qui peut-on dsigner comme tant la seule entit de confiance au sommet de
la chane de certification?
De quelle longueur devrait tre une chane de certification?
Lidal serait que Bernard suive une sorte de procdure d authentification avant que
lAC ne signe son certificat. De plus, une datation ou une indication de la priode de
validit du certificat est importante pour se protger des clefs compromises [467].
La datation nest pas suffisante. Les clefs peuvent tre invalides avant expiration, soit
pour des raisons de compromission ou administratives. C est pourquoi il est important
que lA C garde une liste des certificats invalids et que les utilisateurs la consulte
rgulirement. Ce problme de rvocation de clef est toujours difficile rsoudre.
Une paire clef publique, clef prive n est pas suffisante. Il est certain quune bonne
application de la cryptographie clef publique requiert des clefs distinctes pour le chif
frement et les signatures digitales. Cette sparation permet d avoir diffrents niveaux
de scurit, temps dexpiration, procdures de duplication, etc... Quelquun pourrait
signer des messages avec une clef de 2048 bits stocke dans une carte puce et va
lable pour 20 ans, alors quils pourraient utiliser une clef de 768 bits stocke dans un
ordinateur et valable pour six mois pour le chiffrement.
Une paire unique de clefs pour le chiffrement et la signature nest pas non plus suf
fisante. Une clef prive authentifie une relation ainsi quune identit, et les personnes
ont plus dune relation. Alice pourrait vouloir signer un document en tant quAlice,
lindividu, un autre en tant quAlice, vice-prsidente de la socit Monolith, S.A. , et
un troisime en tant quAlice, prsidente d une organisation communautaire. Certaines
de ces clefs sont plus importantes que d autres et demandent tre mieux protges.
Alice pourrait avoir stocker un duplicata de sa clef de travail auprs de lofficier de
scurit de lentreprise ; elle ne veut pas que lentreprise ait une copie de la clef avec
laquelle elle a sign un emprunt. Tout comme Alice a plusieurs clefs dans sa poche, elle
aura plusieurs clefs cryptographiques.

Gestion distribue des clefs


Dans certaines situations, ce genre de gestion des clefs centralise ne marchera pas.
Peut-tre quil ny a pas d A C en laquelle Alice et Bernard ont confiance. Peut-tre

200

Chapitre 8

Gestion des clefs

quAlice et Bernard nont confiance quen leurs amis. Peut-tre quAlice et Bernard
nont confiance en personne.
La gestion distribue des clefs, utilise dans le programme Pretty Good Privacy
(P G P ) (voir 24.12) rsout ce problme laide de parrains. Les parrains sont
dautres utilisateurs du systme qui peuvent signer les clefs publiques de leurs amis.
Par exemple, quand Bernard engendre sa clef publique, il en donne une copie ses
amis: Christine et David. Ils connaissent Bernard et donc ils signent chacun la clef
publique de Bernard et lui envoient une copie des clefs signes. Maintenant, Bernard
prsente sa clef publique une trangre, Alice; il la lui prsente avec les signatures
de ses deux parrains. Si Alice connat et a confiance en Christine, elle a des raisons
de croire que la clef de Bernard est valide. Si elle connat un peu et a quelque peu
confiance en Christine et David, elle a des raisons de croire que la clef de Bernard est
valide. Si elle ne connat ni Christine ni David, elle na aucune raison de faire confiance
la clef de Bernard.
Au fil du temps, Bernard rassemblera bien plus de parrains. Si Alice et Bernard gra
vitent dans les mmes cercles, les chances d Alice de connatre un des parrains de
Bernard sont leves. Pour se prmunir contre Martin qui remplace une clef par une
autre, un parrain doit sassurer que la clef de Bernard appartient bien celui-ci avant de
la signer. Le parrain peut demander que la clef soit communique lors d une rencontre
en chair et en os, ou vrifie par tlphone.
L avantage de ce mcanisme est quil ny a pas dA C en qui tout le monde doit avoir
confiance. Le dfaut est que lorsquAlice reoit la clef publique de Bernard, elle na
aucune garantie de connaitre un des parrains, et par consquent aucune garantie de
pouvoir avoir confiance dans la validit de cette clef.

Chapitre 9

Types et modes dalgorithmes


Il existe deux modles de base d algorithmes clef secrte : lalgorithme de chiffrement
par blocs et lalgorithme de chiffrement en continu. Les algorithmes de chiffrement
par blocs manipulent des blocs de texte en clair et de texte chiffr gnralement
de 64 bits mais quelquefois plus longs. Les algorithmes de chiffrement en continu
manipulent des flots de textes en clair et de textes chiffrs bit par bit ou octet par
octet (ou mme mot de 32 bits par mot de 32 bits). Avec un algorithme de chiffrement
par blocs, le mme bloc de texte en clair sera toujours chiffr en un mme bloc de
texte cliiffr, en utilisant la mme clef. Avec un algorithme de chiffrement en continu,
le mme bit ou octet de texte en clair sera chiffr en un bit ou un octet diffrent
chaque chiffrement.
Un mode cryptographique combine en gnral un algorithme cryptographique, une
sorte de rtroaction et des oprations simples. Les oprations sont simples car la scurit
est une fonction du chiffrement sous-jacent, et non du mode. De plus, le mode de
chiffrement ne devrait pas compromettre la scurit de lalgorithme dont il dcoule.
Il y a dautres motifs de scurit : les motifs dans un texte en clair doivent tre dissimu
ls, lentre de lalgorithme cryptographique doit tre rendue alatoire, la manipulation
du texte en clair par insertion derreurs dans le texte chiffr doit tre difficile et le chif
frement de plus dun message avec la mme clef doit tre possible. Nous discuterons
de tout ceci en dtails dans les paragraphes suivants.
Lefficacit est aussi prendre en considration. Le mode ne doit pas tre moins efficace,
de manire significative, que lalgorithme cryptographique sous-jacent. Dans certaines
circonstances, il est important que le texte chiffr ait la mme taille que le texte en
clair.
Une troisime considration concerne la tolrance aux fautes. Certaines applications
ont besoin de chiffrer ou de dchiffrer en parallle, alors que dautres ont besoin de
faire autant de prcalculs que possible. Avec encore d autres, il est important que le
processus de dchiffrement soit capable de surmonter des erreurs de bits dans le flot
de textes chiffrs, des pertes ou des rajouts de bits. Comme nous allons le voir, les
diffrents modes ont diffrents sous-ensembles de ces caractristiques.

202

9.1

Chapitre 9

Types et modes dalgorithmes

Carnet de codage lectronique

Le mode du c a r n e t d e c o d a g e l e c t r o n i q u e (E C B pour Electronic CodeBook )


est la mthode la plus vidente pour utiliser un algorithme de chiffrement par blocs
un bloc de texte en clair se chiffre en un bloc de texte chiffr. Comme un mme bloc de
texte en clair sera toujours chiffr en un mme bloc de texte chiffr, il est thoriquement
possible de crer un carnet de codage de textes en clair et de leurs textes chiffrs
correspondants. Nanmoins, si la taille du bloc est de 64 bits le carnet de codage
aura donc 264 entres ce qui est bien trop grand pour tre prcalcul et stock. Et
rappelez-vous, chaque clef a un carnet diffrent.
C est le mode opratoire le plus simple utiliser. Chaque bloc de texte en clair est
chiffr indpendamment. Vous navez pas chiffrer un fichier linairement : vous pouvez
dabord chiffrer les 1 0 blocs du milieu, ensuite les blocs de la fin puis ceux du dbut.
C est important pour des fichiers chiffrs auxquels on accde alatoirement, comme une
base de donnes. Si une base de donnes est chiffre par le mode ECB, alors nimporte
quel enregistrement peut tre ajout, effac, chiffr ou dchiffr indpendamment de
tous les autres en faisant lhypothse que les enregistrements ont un nombre entier de
blocs de chiffrement. Et le processus est drivable ; si vous avez de multiples processeurs
de chiffrement, ils peuvent chiffrer ou dchiffrer diffrents blocs qui nont aucun rapport
les uns avec les autres.
Le dfaut du mode E CB est que si un cryptanalyste a le texte en clair et le texte
chiffr de plusieurs messages, il peut commencer construire un carnet de codage sans
connatre la clef. Dans la plupart des situations du monde rel, des fragments de mes
sages ont tendance se rpter. Diffrents messages peuvent avoir des squences de bits
en commun Des messages engendrs par ordinateur, tel que le courrier lectronique,
peuvent avoir des structures rgulires. Les messages peuvent tre redondants ou avoir
de longues chanes de zros ou d espaces.
Si un cryptanalyste apprend que le texte en clair 5e081bc5 donne le texte chiffr
7ea593a4 , il est capable de dchiffrer ce bloc de texte chiffr ds quil apparat
dans un autre message. Si les messages chiffrs contenant beaucoup de redondances,
et quelles ont tendance apparatre aux mmes endroits dans diffrents messages,
un cryptanalyste peut obtenir beaucoup dinformations. Il peut mener des attaques
statistiques contre le texte en clair sous-jacent, sans se soucier du niveau de lalgorithme
de chiffrement par blocs.
Cette vulnrabilit est plus grande au dbut et la fin des messages o apparaissent
des en-ttes et des conclusions bien dfinies qui contiennent des informations concer
nant lexpditeur, le destinataire, la date, etc. Ce dfaut est parfois appel dbuts
strotyps et fins strotypes et sera vit par les modes dcrits ci-aprs.
Le ct positif est quil ny a pas de risque, au point de vue scurit, chiffrer de
multiples messages avec la mme clef. En fait, chaque bloc peut tre considr comme
un message part chiffr avec la mme clef. Les erreurs de bits dans le texte chiffr,
quand il est dchiffr, feront que le bloc entier de texte en clair sera incorrectement
dchiffr mais naffecteront pas le reste du texte en clair. Nanmoins, si un bit du texte
chiffr est accidentellement perdu ou rajout, le reste du texte chiffr sera incorrecte
ment dchiffr moins quil y ait une sorte de structure d encadrement pour raligner
les limites du bloc.

9.2

Bloc rejou

203

Remplissage
La plupart des messages ne se divisent pas exactement en un nombre entier de blocs
de 64 bits (ou de toute autre taille) : il y a d habitude un bloc court la fin. LECB
traite des blocs de 64 bits. Le rem plissage permet de rgler ce problme.
Remplissez le bloc avec un schma rgulier
des zros, des uns, des uns et des zros en
alternance pour complter le bloc. Si vous devez tre capable de retirer le remplissage
aprs le dchiffrement, ajoutez le nombre d octets de remplissage comme dernier octet
du dernier bloc. Par exemple, faites lhypothse que la taille des blocs est de 64 bits,
et que le dernier bloc contient 3 octets (24 bits). Cinq octets de remplissage sont
ncessaires pour transformer le dernier bloc en un bloc de 64 bits; ajoutez 4 octets
de 0 et un octet final avec le nombre 5. Aprs dchiffrement, dtruisez les 5 derniers
octets du dernier bloc dchiffr. Pour que cette mthode marche correctement, tous les
message doivent tre remplis. Mme si le texte en clair sachve la limite dun bloc,
vous devez remplir un bloc complet. Sinon, vous pouvez utiliser un caractre marqueur
de fin de fichier pour dlimiter la fin du texte en clair, puis remplir la suite de ce
caractre.
La figure 9.1 propose une alternative appele vol de texte chiffr [405]. E i n- i est le
dernier bloc en clair plein et M .n est le bloc final en clair court. Cn~j est le dernier bloc
chiffr plein et Cn est le bloc final chiffr court. C' est juste un rsultat intermdiaire
et ne fait pas partie du texte chiffr transmis.
Chiffrement

Mn-1

Dchiffrement

Mn

1r

Cnu

C
r

1f

Cn

ir
C

Mn

F ig. 9.1

9.2

1r

1r
C

Vol de texte chiffr en mode ECB

Bloc rejou

Un dfaut plus dangereux avec le mode E C B est que ladversaire pourrait modifier les
messages chiffrs sans connatre la clef, ni mme lalgorithme, de manire duper le
destinataire lgitime. Ce dfaut fut dcrit en premier dans [295],
Pour illustrer le problme, considrons un systme de transfert de fonds inter-bancaire
qui fait circuler de largent entre des comptes dans diffrentes banques. Pour rendre

204

Chapitre 9

Types et modes dalgorithmes

la vie plus facile pour le systme informatique de la banque, les banques se sont mises
daccord sur un format de message standard pour les transferts dargent qui ressemble
ceci :
Banque A : mettrice
Banque B: bnficiaire
Nom du dposant
Numro de compte du dposant
Montant du dpt

15 blocs
15 blocs
6 blocs
2 blocs
1 bloc

Un bloc correspond un chiffrement de bloc de 8 octets. Les messages sont chiffrs


laide dun algorithme de chiffrement par blocs en mode ECB.
Martin, qui coute les communications entre les deux banques, la banque d Alice et
la banque de Bernard, peut utiliser cette information pour senrichir. Premirement,
il programme son ordinateur pour enregistrer tous les messages chiffrs de la banque
dAlice vers la banque de Bernard. Ensuite, il transfre 100 dollars de la banque d Alice
vers son compte la banque de Bernard. Plus tard, il recommence. En utilisant son
ordinateur, il met les messages enregistrs en corrlation en cherchant une paire de
messages identiques. Ces messages sont ceux qui autorisent le transfert de 100 dollars
vers son compte. Sil y a plus dune paire de messages identiques (ce qui est trs
certainement probable), il fait un autre transfert et enregistre le rsultat. Finalement,
il isole le message qui a autoris la transaction.
Maintenant, il peut insrer volont ce message dans la liaison de communication.
Chaque fois quil envoie un message la banque de Bernard, un nouveau montant de
100 dollars est crdit sur son compte. Lorsque les deux banques contrleront la balance
de leurs transferts (probablement en fin de journe), elles dtecteront les autorisations
de transfert fantmes ; mais si Martin est malin, il aura dj retir largent et sera en
route vers une rpublique exotique o il ny a pas de loi d extradition. Et il a srement
commis son forfait avec des montants beaucoup plus levs que 1 0 0 dollars et avec de
nombreuses autres banques.
A premire vue, les banques pourraient aisment viter cela en rajoutant une datation
leurs messages.
Datation
Banque A : mettrice
Banque B : bnficiaire
Nom du dposant
Numro de compte dudposant
Montant du dpt

1 bloc
15 blocs
15 blocs
6 blocs
2 blocs
1 bloc

Deux messages identiques seraient facilement identifis avec ce systme. Mais, en utili
sant une mthode appele blocs rejous, Martin peut encore senrichir. La figure 9.2
montre que Martin peut extraire les huit blocs chiffrs correspondant son nom et
son numro de compte : les blocs 5 12. En analysant cette figure, Martin, dsormais
arm, ricane dans son coin.
Il intercepte alatoirement des messages de la banque d Alice vers la banque de Bernard
et remplace les blocs 5 12 dans le message avec les octets correspondant son nom et
son numro de compte. Ensuite, il les envoie la banque de Bernard.Il na pas savoir
qui est le dposant lgitime ; il n a mme pas connatre lemontantdu transfert (bien

9.3

Mode de chiffrement avec chanage de blocs

205

Numro de bloc
1

Banque
Datation mettrice

Banque
bnficiaire

10

Nom du dposant

11

12

Compte du
dposant

13

Montant

Cham p

FlG. 9 2 - Exemple dun dossier blocs chiffrs

quil puisse corrler les messages des diffrents transferts avec des montants diffrents
quil a effectus vers son compte, et ainsi dterminer les blocs chiffrs correspondant
certains montants). Simplement, il remplace les noms et les numros de compte par les
siens et il contemple le solde de son compte augmenter, (il faut que Martin soit prudent
et ne modifie pas le message de retrait, imaginez rien quune seconde que chacun ait
une longueur diffrente.)
Cela prendra plusieurs jours aux banques pour dtecter cela. Lorsquelles feront la
balance journalire des transferts, tout sera en ordre. Ce ne sera certainement pas
avant que lun des dposants honntes saperoive que largent ne lui a pas t crdit,
ou que quelquun remarque lactivit inhabituelle du compte de Martin, que les banques
dcouvriront lescroquerie. Martin nest pas stupide, et dici l il aura ferm son compte,
chang son nom et achet une villa en Argentine.
Les banques peuvent minimiser le problme en changeant frquemment de clef mais
Martin peut aussi travailler plus vite. Nanmoins, rajouter un C A M peut aussi r
soudre le problme. Pourtant, c est un dfaut fondamental en mode ECB. Martin peut
retirer, rpter ou changer des blocs volont. La solution est une technique appele
chanage.

9.3

Mode de chiffrement avec chanage de


blocs

Le chanage utilise une mthode de rtroaction car les rsultats du chiffrement du


bloc prcdent sont rutiliss comme entres pour le chiffrement du bloc courant. En
dautres termes, chaque bloc est utilis pour modifier le chiffrement du bloc suivant.
Chaque bloc chiffr dpend non seulement du bloc de texte en clair qui la engendr
mais aussi de tous les blocs de texte en clair qui prcdent celui-ci.
En mode de chiffrement avec chanage de blocs (C B C pour cipher block chaining ), le texte en clair est combin par ou exclusif avec le bloc chiffr prcdent
avant dtre chiffr. La figure 9.3a montre le chiffrement CBC en action. Aprs quun
bloc de texte en clair a t chiffr, le texte chiffr correspondant est aussi stock dans
un registre de rtroaction. Avant que le bloc suivant de texte en clair soit chiffr, il
est combin par ou exclusif avec le registre de rtroaction pour devenir la nouvelle
entre de lalgorithme de chiffrement. Le texte chiffr rsultant est nouveau stock
dans le registre de rtroaction pour tre combin par ou exclusif avec le bloc de texte
en clair suivant, et ainsi de suite jusqu la fin du message. Le chiffrement de chaque

Chapitre 9

206

Types et modes dalgorithmes

bloc dpend de tous les blocs prcdents.


M.

i-l

VI

M.

M. ,
1+1

Ci-l

i+J

M i-l

C:i+1

M.

' 'i

M.

'" i + l

(b) Dchiffrement CBC

(a) Chiffrement CBC

F ig. 9.3 - Mode de chiffrement par chanage de blocs


Le dchiffrement est aussi facile(voir la figure 9.3b). Un bloc de texte chiffr est dchiffr
normalement, et aussi sauv dans le registre de rtroaction. Une fois que le bloc suivant
a t dchiffr, il est combin par ou exclusif avec le contenu du registre de rtroaction.
Ensuite, le bloc suivant de texte chiffr est sauv dans le registre de rtroaction, et ainsi
de suite jusqu la fin du message.
Mathmatiquement, on peut crire :
Ct = E fc i- M t C j - i )

Mi = C i-! D n{Ct).

Vecteur dinitialisation
Le mode C B C ne produit des blocs chiffrs diffrents pour des mmes blocs en clair
seulement si un des blocs prcdents est diffrent. Deux messages identiques donneront
toujours le mme texte chiffr. Pis encore, deux messages qui commencent de la mme
faon donneront le mme texte chiffr jusqu la premire diffrence. Certains messages
ont un en-tte commun : un en-tte de lettre, une ligne Frorri dun message lectro
nique, par exemple. Bien quune attaque par blocs rejous soit toujours impossible, ce
dbut identique donne encore dutiles informations au cryptanalyste.
Evitez cela en chiffrant des donnes alatoires comme premier bloc. Ce bloc de donnes
alatoires est appel vecteur dinitialisation (IV pour initialization vector ),
variable d initialisation ou valeur initiale de chanage. LIV na pas de sens : il
est juste l pour rendre chaque message unique. Quand le destinataire dchiffre ce bloc,
il lutilise pour remplir le registre de rtroaction et lignore par ailleurs. Une datation
fait un bon IV. Sinon, utilisez des bits alatoires.

9.3

Mode de chiffrement avec chanage de blocs

201

Avec laddition de lIV , des messages en clair identiques donneront des messages chiffrs
diffrents. Il est donc impossible pour un espion de tenter une attaque par blocs rejous,
et encore plus difficile de constituer un carnet de codage. Bien que lIV devrait tre
unique par message chiffr avec la mme clef, ce nest pas une condition absolue.
LIV na pas besoin dtre tenu secret ; il peut tre transmis en clair avec le texte chiffr.
Si vous ntes pas persuad, considrez le raisonnement suivant. Nous possdons un
message de plusieurs blocs: B\, B 2 , ......., B ,. B\ est chiffr avec lIV. B 2 est chiffr
avec le texte chifr de Bi en tant quIV . B 3 est chiffr avec le texte chifr de B 2 en
tant quIV , etc. Donc, sil y a n blocs, il y a n 1 IV , mme si lIV original est gard
secret. Il ny a donc aucune raison de garder lIV secret ; lIV est juste un simple bloc
de texte chiffr un peu comme Bq qui commence la srie.

Remplissage
Le remplissage marche exactement comme dans le mode E B C , mais dans certaines
applications le texte chiffr doit avoir exactement la mme taille que le texte en clair.
Peut-tre quun texte en clair doit tre chiffr et mis exactement la mme place en
mmoire. Dans ce cas, vous devez chiffrer le dernier bloc court diffremment. Faites
lhypothse que le dernier bloc a j bits. Aprs avoir chiffr le dernier bloc complet,
rechiffrez le texte chiffr, slectionnez les j bits les plus gauche du texte chiffr deux
fois et combinez le rsultat par ou exclusif avec le bloc court pour donner le texte
chiffr. Cela est illustr par la figure 9.4.
M

n-2

Pn (j-bits de long)

-*0

Slectionne
les j-bits

-e

les plus a gauchi


n-2

n 1

C (j-bits de long)

F ig. 9.4 - Mthode de chiffrement pour le dernier bloc


La faiblesse ici est que bien que Martin ne puisse pas retrouver le dernier bloc, il
peut le modifier systmatiquement en changeant des bits du texte chiffr. Si les tout
derniers bits du texte chiffr contiennent de linformation vitale, c est une faiblesse. Si
les derniers bits contiennent simplement des informations de gestion, ce nest pas un
problme.
Le vol de texte chiffr est une meilleure mthode (voir la figure 9.5) [405]. M _ i est le
dernier bloc en clair plein et M n est le bloc final en clair court. Cn^\ est le dernier bloc
chiffr plein et Cn est le bloc final chiffr court. C ' est juste un rsultat intermdiaire

208

Chapitre 9

Types et modes dalgorithmes

et ne fait pas partie du texte chiffr transmis. Lavantage de cette mthode est que
tous les bits d un message en clair passent par lalgorithme de chiffrement.

Propagation derreurs
Le mode C B C peut tre dcrit comme une rtroaction du texte chiffr du ct du
chiffrement et une alimentation en texte chiffr du ct du dchiffrement. Ceci a des
consquences sur les erreurs. Une erreur d un seul bit dans un bloc de texte en clair
va affecter le bloc de texte chiffr correspondant et tous les blocs de textes chiffrs qui
suivent. Ce nest pas de grande porte parce que le dchiffrement va inverser cet effet
et le texte en clair retrouv aura la mme seule erreur.
Les erreurs dans le texte chiffr sont plus frquentes. Elles peuvent tout simplement
provenir d un bruitage de la liaison ou d un disfonctionnement du dispositif de stockage.
En mode C B C , une erreur d un seul bit dans le texte chiffr affecte un bloc, et un bit
du texte en clair reconstruit. Le bloc contenant lerreur est compltement brouill. Le
bloc suivant a une erreur de 1 bit au mme endroit que le bit erron.
Cette transformation dune petite erreur dans le texte chiffr en une grande erreur
dans le texte en clair est appele amplification derreur. Cest un handicap majeur.
Les blocs aprs le deuxime ne sont pas affects par lerreur, donc le mode C B C est
auto-rparateur. Deux blocs sont affects par une erreur mais le systme rcupre
et continue fonctionner correctement pour tous les blocs suivants. Le C B C est un
exemple d algorithme de chiffrement par blocs utilis d une manire auto-synchronise,
mais seulement au niveau du bloc.
Bien que le mode C B C rcupre rapidement les erreurs de bits, il ne rcupre pas du
tout les erreurs de synchronisation. Si un bit est ajout ou perdu dans le flot de texte
chiffr, alors tous les blocs suivants sont dcals d un bit et le dchiffrement va produire
du charabia indfiniment. Tout cryptosystme qui utilise le mode C B C doit sassurer
que la structure des blocs reste intacte, soit par encadrement soit en stockant les
donnes dans des paquets de plusieurs blocs.

9-4

Algorithmes de chiffrement en continu

209

Problmes de scurit
Des problmes potentiels sont causs par la structure mme du C B C . Primo, du fait
quun bloc de texte chiffr affecte les blocs suivants dune manire simple, Martin peut
ajouter des blocs la fin d un message chiffr sans tre dtect. Ce sera coup sr
dchiffr en charabia, mais dans certaines situations, ce nest pas dsirable.
Si vous utilisez le C B C , vous devriez structurer votre texte en clair de faon savoir
o le message sarrte et de pouvoir dtecter les rajouts de blocs supplmentaires.
Secundo, Martin peut altrer un bloc de texte chiffr pour introduire des changements
voulus dans le bloc dchiffr de texte en clair. Par exemple, si Martin change un seul
bit de texte chiffr, le dchiffrement du bloc entier sera incorrect, mais le bloc suivant
comportera une erreur d 1 bit en lieu et place du bit correspondant. Il y a des situations
o ceci est dsirable. Le message en clair entier devrait inclure une sorte de contrle
redondant ou une authentification.
Finalement, bien que les motifs du texte en clair soient dissimuls par le chanage, les
trs longs messages auront encore des motifs. Le paradoxe de lanniversaire prvoit
quil y aura des blocs identiques aprs 2m / 2 blocs, o m est la taille du bloc. Pour un
bloc d une taille de 64 bits, a reprsente peu prs 34 giga-octets. Un message doit
tre incroyablement long avant que ce ne soit un problme.

9.4

Algorithmes de chiffrement en continu

Les algorithmes de chiffrement en continu convertissent le texte en clair en texte chiffr


1 bit la fois. La ralisation la plus simple d un algorithme de chiffrement en continu
est illustre par la figure 9.6. Un gnrateur de codons 1 engendre un flux de bits
(appelons-les codons) : k\, k,2 , k%, ... , fcj. Ce flux est combin par ou exclusif avec le
flux de bits du texte en clair m j, ?7i2 , m 3 , ..., m ,, pour produire le flux de bits du texte
chiffr.
Ci = mi h

F ig. 9.6 - Chiffrement en continu


1. Note du traducteur : le term e c o d o n a t utilis pou r allger la traduction de termes techniques
anglo-saxons qui n ont pas d quivalents simples en franais.

210

Chapitre 9

Types et modes dalgorithmes

Du ct du dchiffrement, les bits du texte chiffr sont combins par ou exclusif avec
un flux identique de codons pour retrouver les bits du texte en clair.
rrii = a kt

Comme :
ml k i @ki = ml

tout va bien.
La scurit du systme dpend entirement des dtails internes du gnrateur de co
dons. Si le gnrateur de codons engendre un flux continu de zros, le texte chiffr sera
identique au texte en clair et toute lopration sera inutile. Si le gnrateur de codons
engendre un motif rptitif de 16 bits, lalgorithme nest rien dautre que le simple
algorithme du ou exclusif qui nest pas du tout sr (voir 1.4). Si le gnrateur de
codons engendre une suite de bits alatoires (pas pseudo-alatoires, vraiment alatoires
voir 2 .8 ), vous avez la technique du masque jetable et une scurit parfaite.
La scurit des algorithmes de chiffrement en continu concrets est entre les deux ex
trmes (ou exclusif et masque jetable) idalement, elle est plus proche du masque
jetable. Le gnrateur de codons engendre un flux de bits qui ont lair alatoires, mais
en fait il est dterministe et il peut tre reproduit de faon infaillible au moment du
dchiffrement. Plus la sortie du gnrateur est alatoire, plus il est difficile pour le
cryptanalyste de le casser.
Si, nanmoins, le gnrateur de codons engendre le mme flot de bits chaque fois quon
lactive, le systme cryptographique rsultant sera facile casser. Un exemple montrera
mieux pourquoi.
Si Estelle a un texte chiffr et le texte en clair correspondant, elle peut combiner par
ou exclusif le texte en clair avec le texte chiffr pour retrouver le flux de codons. Ou, si
elle dispose de deux textes chiffrs avec le mme flux de codons, elle peut les combiner
par ou exclusif pour obtenir le rsultat de la combinaison par ou exclusif des deux
textes en clair. C est facile casser et elle peut alors combiner par ou exclusif un des
textes en clair avec le texte chiffr pour retrouver le flux de codons.
Maintenant, chaque fois quelle intercepte un message chiffr, elle a les codons nces
saires pour dchiffrer le message. De plus, elle peut dchiffrer et lire tout texte chiffr
quelle aurait intercept avant. Quand Estelle obtient une seule paire texte en clair,
texte chiffr , elle peut tout lire.
Cest pourquoi tous les algorithmes de chiffrement en continu utilisent des clefs. La sor
tie du gnrateur de codons est une fonction de la clef.Maintenant, si Estelle a une paire
texte en clair, texte chiffr , elle peut seulement lire les messages chiffrs avec une
seule clef. Changez la clef et ladversaire se retrouve la case dpart. Les algorithmes
de chiffrement en continu sont spcifiquement utiles pour chiffrer des communications
continues : un lien T - l entre deux ordinateurs, par exemple.
Un gnrateur de codons est compos de trois parties de base (voir la figure 9.7). Ltat
interne dcrit ltat courant du gnrateur de codons. Deux gnrateurs de codons, avec
la mme clef et le mme tat interne, produisent le mme flux de codons. La fonction
de sortie prend ltat interne et engendre un codon (un bit). La fonction tat-suivant
prend ltat interne et engendre un nouvel tat interne.

9.5

Chiffrement autosynchrone, en continu

F ig. 9.7

9.5

211

A lintrieur dun gnrateur de codons

Chiffrement autosynchrone en continu

Dans un algorithme de chiffrement autosynchrone en continu, chaque bit du flux


de codons est une fonction d un nombre fixe de bits du texte chiffr qui prcde [1383].
Les militaires appellent cela un chiffrement clef automatique (C T A K pour ciphertext auto key ). L ide de base a t brevete en 1946 [6 6 8 ].
La figure 9.8 illustre un chiffrement autosynchrone en continu. Ltat interne est une
fonction des n bits prcdents du texte chiffr. La complexit cryptographique rside
dans la fonction de sortie qui prend ltat interne et qui engendre un codon.
Comme ltat interne dpend entirement des n bits prcdents du texte chiffr, au
dchiffrement, le gnrateur de codons se synchronisera automatiquement avec le g
nrateur de codons du chiffrement aprs avoir reu n bits de texte chiffr.

FlG. 9.8 - Un gnrateur de codons autosynchrone

Chapitre 9

212

Types et modes dalgorithmes

Dans des ralisations intelligentes de ce mode, chaque message commence avec un


en-tte alatoire long de n bits. Cet en-tte est chiffr, transmis et dchiffr. Le dchif
frement en sera incorrect, mais aprs ces n bits les deux gnrateurs de codons seront
synchroniss.
Linconvnient du chiffrement autosynchrone en continu est quil est sujet la propa
gation derreur. Pour chaque bit de texte chiffr corrompu durant la transmission, le
gnrateur de codons de dchiffrement produira n codons errons. Donc, pour chaque
erreur de texte chiffr, il y aura n erreurs correspondantes dans le texte en clair, jusqu
ce que le bit corrompu sorte de ltat interne.

Problmes de scurit
Les systmes de chiffrement autosynchrone en continu sont aussi vulnrables aux at
taques par blocs rejous. D abord, Martin enregistre quelques bits de texte chiffr. Puis,
un peu plus tard, il place cet enregistrement dans la communication. Aprs quelque
charabia initial pendant que le rcepteur se resynchronise, le vieux texte chiffr sera
dchiffr normalement comme lgitime. Le rcepteur na aucun moyen de dterminer
que ces donnes ne sont pas courantes, mais quil sagit de vieilles donnes rejoues. A
moins quun systme de datation soit utilis, Martin peut convaincre une banque de
crditer son compte plusieurs fois en rptant toujours le mme message (en suppo
sant que la clef nait pas chang, bien sr). D autres faiblesses dans ce type de schma
pourraient tre exploites dans le cas de frquentes resynchronisations [412].

9.6

Chiffrement rtroaction

Un bloc chiffr peut aussi tre utilis en tant que chiffrement autosynchrone en continu ;
cela sappelle le mode de chiffrement rtroaction (C F B pour Cipher Feedback ).
Avec le mode C B C , le chiffrement ne peut pas commencer avant quun bloc complet
de donnes ait t reu. C est un dfaut dans certaines applications rseaux. Dans
lenvironnement d un rseau sr, par exemple, un terminal doit pouvoir transmettre
chaque caractre lordinateur central ds quil est entr. Quand les donnes traiter
se prsentent sous forme de paquets de la taille de loctet, le mode C B C ne fonctionnera
pas.
En mode C F B , les donnes peuvent tre chiffres par units plus petites que la taille
de bloc. L exemple suivant chiffre un caractre ASCII la fois (on parle alors de CFB
8 bits). Mais le chiffre 8 nest pas sacr, vous pouvez chiffrer les donnes un bit
la fois en utilisant un C F B 1 bit, bien quutiliser un chiffrement complet dun bloc
pour un seul bit reprsente beaucoup de travail ; un chiffrement en continu serait une
meilleure ide. (Rduire le nombre de rondes dun chiffrement par blocs pour acclrer
les choses nest pas recommand [1280] ) Vous pouvez aussi utiliser un C FB 64 bits,
ou tout autre C F B n bit o n est infrieur ou gal la taille du bloc.
La figure 9.9 illustre un C FB 8 bits appliqu un algorithme de chiffrement par
blocs de 64 bits. Un algorithme de chiffrement par blocs en mode C F B manipule une
file dattente de la taille dun bloc dentre. Initialement, la file dattente est remplie
avec un IV , comme en mode C B C . La file d attente est chiffre et les huit bits les plus
gauche du rsultat sont combins par ou exclusif avec le premier caractre de 8 bits
du texte en clair pour devenir les 8 premiers bits du texte chiffr. Ce caractre peut

9.6

213

Chiffrement rtroaction

maintenant tre transmis. Les mmes huit bits sont placs dans les huit bits les plus
droite de la file dattente et tous les autres bits sont dcals de huit positions vers la
gauche. Les huit bits les plus gauche sont ignors. Le caractre en clair suivant est
alors chiffr de la mme manire. Le dchiffrement est le processus inverse. Des deux
cts, chiffrement et dchiffrement, lalgorithme de chiffrement par blocs est utilis
dans son mode de chiffrement.

F ig. 9.9 - Mode de chiffrement rtroaciion

bits

Si n est la taille du bloc de lalgorithme, alors un C FB n bit ressemble ceci (voir


la figure 9.10) :
Ci = A4t E k {C%- i)

M.i = Ci EK(Ci~i).

F i g . 9 .1 0

- CFB n bit avec un algorithme n bit

Chapitre 9

Types et modes dalgorithmes

Tout comme le mode C B C , le mode C FB lie les caractres du texte en clair entre eux
de manire que le texte chiffr dpende de tout le texte en clair qui prcde.

Vecteur dinitialisation
Pour initialiser le processus C FB , lentre de lalgorithme de blocs doit tre initie par
un IV. Tout comme lIV du mode C B C , il na pas besoin dtre secret.
Nanmoins, lIV doit tre unique2. Si le lIV du mode C F B nest pas unique, un
cryptanalyste peut retrouver le texte en clair correspondant. LTV doit tre chang
avec chaque message. Ce peut tre un nombre de srie, qui augmente aprs chaque
message et qui ne se rpte pas tout au long de la vie de la clef. Pour des donnes
chiffres stocker, cela peut tre une fonction de lindex utilis pour rechercher les
donnes.

Propagation derreurs
Avec le mode C F B , une erreur dans le texte en clair affecte tous les textes chiffrs
suivants et cette erreur est inverse par le dchiffrement. Une erreur dans le texte
chiffr est plus intressante considrer. Le premier effet d une erreur d un seul bit
dans le texte chiffr est de provoquer une erreur dun seul bit dans le texte en clair.
Aprs cela, cette erreur entre dans le registre dcalage, o elle embrouille tout jusqu
ce quelle ressorte la fin du registre. En mode C FB 8 bits, 9 octets de texte en clair
dchiffr sont embrouills par une erreur dun seul bit dans le texte chiffr. Aprs cela,
le systme rcupre et tous les textes en clair suivants sont dchiffrs correctement.
En gnral, en mode C F B n bit, une seule erreur dun texte chiffr affectera le
dchiffrement du bloc prsent et des m /n 1 blocs suivants, o m est la taille du bloc
Un problme subtil avec ce type de propagation derreur est que si Martin connat le
texte en clair de la transmission, il peut changer 1 tat de certains bits dun bloc donn
et ainsi le faire dchiffrer en ce quil veut. Le bloc suivant peut tre dchiffr comme
du charabia, mais les dgts peuvent dj avoir t accomplis. Et il peut changer les
derniers bits d un message sans tre dtect.
Le mode C F B est aussi autorparateur pour ce qui est des erreurs de synchronisation.
Lerreur entre dans le registre dcalage, embrouille 8 octets de donnes, jusqu ce
quelle ressorte lautre bout. Le C FB est un exemple d algorithme de chiffrement par
blocs utilis comme algorithme de chiffrement autosynchrone en continu.

9.7

Chiffrement synchrone en continu

Dans un algorithme de chiffrement synchrone en continu, le flux de codons


est engendr indpendamment du flux du message. Les militaires appellent cela un
chiffrement clef automatique de clef (K A K pour Key Auto-Key ). Du ct du
dchiffrement, un autre gnrateur de codons produit un flux identique de codons, les
uns aprs les autres. Tout se passe bien tant que les deux gnrateurs sont synchrones.
Si lun des deux saute une tape du cycle ou si un bit du texte chiffr est perdu pendant
la transmission, alors chaque caractre du texte chiffr aprs lerreur ne pourra plus
tre dchiffr correctement.
2. C est diffrent de l IV du m od e C B C , qui devrait tre unique mais n a pas l tre.

9.7

215

Chiffrement synchrone en continu

Si cela arrive, lmetteur et le rcepteur doivent resynchroniser leurs gnrateurs de


codons avant de continuer. Pour compliquer les choses, ils doivent le faire de faon
ce quaucune partie du flux de codons ne soit rutilise, et donc la solution simpliste
qui consiste revenir un tat antrieur ne marchera pas.
Un avantage, toutefois, est que les chiffrements synchrones en continu ne propagent
pas les erreurs de transmission. Si un bit est corrompu durant la transmission (ce qui
est nettement plus probable que de perdre un bit) alors seul le bit erron sera mal
dchiffr. Tous les bits qui prcdent ou qui suivent ne seront pas affects.
Comme un gnrateur de codons doit engendrer le mme flux au chiffrement et au d
chiffrement, il doit tre dterministe. Comme il est ralis par une machine tats finis
(cest--dire, un ordinateur), la suite finira par se rpter. Ces gnrateurs de codons
sont appels priodiques. Except pour les masques jetables, tous les gnrateurs de
codons sont priodiques.
Un gnrateur de codons doit avoir une longue priode, bien plus longue que le nombre
de bits que le gnrateur devra produire entre deux changements de clef. Si la priode
est plus courte que le texte en clair, alors diffrentes parties du texte en clair seront
chiffres de la mme manire un gros dfaut. Si un cryptanalyste connat une partie
du texte en clair, il peut reconstituer une partie du flot de clefs et lutiliser pour en
savoir plus sur le texte en clair. Mme si le cryptanalyste na que le texte chiffr, il peut
combiner par ou exclusif les parties chiffres avec le mme flot de clefs et obtenir les
combinaisons par ou exclusif du texte en clair avec ce dernier. C est juste un algorithme
de combinaison par ou exclusif avec une trs longue clef.
La longueur suffisante d une priode dpend de lapplication. Un gnrateur de codons
qui chiffre un lien T 1 en continu chiffrera 237 bits par jour. La priode du gnrateur
de codons doit tre bien plus grande que cela, mme si la clef est change tous les
jours. Si la priode est assez longue, vous nauriez devoir changer la clef que chaque
semaine ou chaque mois.
Le chiffrement synchrone en continu protge aussi contre les insertions et les omissions
dans le texte chiffr, car elles causeraient un perte de synchronisation et seraient tout
de suite dtectes. En revanche, il ne protge pas tout fait contre la modification
dun bit. Tout comme en mode C F B , Martin peut modifier certains bits du flux. Sil
connat le texte en clair, il peut faire lopration de faon imposer le texte dchiffr.
Les bits suivants seront dchiffrs incorrectement (jusqu ce que le systme rcupre),
mais dans certaines applications, Martin peut occasionner beaucoup de dommages.

Attaque par insertion


Les algorithmes de chiffrement synchrone en continu sont vulnrables une attaque
par insertion [100]. Martin a enregistr un flux de texte chiffr, mais il ne connat pas
le texte en clair o le flux de codons utilis pour chiffrer le texte en clair.
Texte en clair original:
Flux de codons original:
Texte chiffr original:

mi

m2

h
Cl

fe2
Cl

m3
k3
c3

m4
c4

Martin insre un seul bit connu, m ', dans le texte en clair aprs m,\ et sarrange pour
faire chiffrer ce nouveau texte en clair avec le mme flux de codons. Il enregistre le

Chapitre 9

216

Types et modes dalgorithmes

texte chiffr rsultant :


Nouveau texte en clair:
Flux de codons original:
Texte chiffr mis jour :

mi

m'

ki

k2

Cl

C2

m2
k3

m3

c3

C4

7714
k

En faisant lhypothse quil connat la valeur de m ', il peut dterminer tout le texte en
clair aprs ce bit partir du texte chiffr original et du nouveau texte chiffr :
k2 c 2 m 'i et donc rri2 = c2 k2
k3 = c 3 rri2 , et donc m 3 = c 3 A'3

fc3 = C4 m.3 , et donc

7714

= c4

Martin na mme pas connatre la position dans laquelle le bit a t insr ; il doit
juste comparer le texte chiffr avec le texte chiffr mis jour et dterminer partir
de quel endroit ils diffrent. Pour se protger contre cette attaque, il ne faut jamais
utiliser le mme flux de codons pour chiffrer deux messages diffrents.

9.8

Mode de rtroaction de sortie

Le mode de r tr o a c tio n d e so rtie (O F B pour Output-feedback ) est une mthode


qui consiste utiliser un algorithme de chiffrement par blocs comme un algorithme de
chiffrement synchrone en continu. Il est similaire au mode C FB , sauf que n bits du bloc
de sortie prcdent sont mis dans les positions les plus droite de la file d attente (voir
la figure 9.11). Le dchiffrement est linverse de ce processus. Cela sappelle lOFB
n bit. Des deux cts, chiffrement et dchiffrement, lalgorithme de chiffrement par
blocs est utilis dans son mode de chiffrement. Cette mthode est parfois appele
r tro a ctio n interne, parce que le mcanisme de rtroaction est indpendant la fois
des flots de texte en clair et de texte chiffr [295].
Si n est la taille du bloc dun algorithme, alors un O FB n bits ressemble ceci (voir
la figure 9.12) :
Ct A L St

; St = EK(St- i )

M , = Cr St

; Sx Ej((St- i ) .

Si est ltat, qui est indpendant soit du texte en clair soit du texte chiffr.
Une caractristique intressante du mode O F B est qu une grosse partiedu travail peut
tre effectue sparment, avant mmeque
le message en clair
nexiste.Puis,quand
le message arrive, il peut tre combin par ou exclusif avec le produit de lalgorithme
pour produire le texte chiffr.

Vecteur dinitialisation
Le registre dcalage de lO F B doit aussi tre charg initialement avec un IV. Il
devrait tre unique mais na pas besoin d tre secret.

9.8

Mode de rtroaction de sortie

F i g . 9.11

217

- Mode de rtroaction de sortie 8 bits

Propagation derreurs
Le mode O F B na pas d amplification derreur. Une erreur d un seul bit dans le texte
chiffr occasionne une erreur dun seul bit dans le texte en clair rcupr. Cela peut
tre utile dans certaines transmissions analogiques numrises, comme la voix ou la
vido numrise, o une erreur occasionnelle dun bit peut tre tolre mais pas lam
plification derreur.
D autre part, la perte de synchronisation est fatale. Si les contenus des registres dca
lage de chiffrement dune part et de dchiffrement dautre part ne sont pas identiques,
alors le texte en clair rcupr sera du charabia. Tout systme qui utilise le mode OFB
doit avoir un mcanisme de dtection de perte de synchronisation, et un mcanisme

F i g . 9 .1 2

- OFB n bits avec un algorithme n bits

Chapitre 9

218

Types et modes dalgorithmes

pour remplir les deux registres dcalage avec un nouveau (ou le mme) IV pour
resynchroniser.

Problmes de scurit avec le mode OFB


Une analyse du mode O FB [590, 430, 431, 790] dmontre que le mode O F B ne peut
tre utilis que si la taille de la rtroaction est gale la taille des blocs. Par exemple,
vous ne pouvez utiliser quun algorithme 64 bits avec un O FB 64 bits. Bien que le
Gouvernement amricain autorise d autres tailles de rtroaction pour le DES [1156],
vitez-les.
Le mode O F B combine par ou exclusif un flot de clefs avec le texte. Ce flot de clefs
se rptera. Il est important quil ne se rpte pas avec la mme clef, sinon, il ny a
pas de scurit. Quand la taille de la rtroaction gale celle du bloc, lalgorithme de
chiffrement par blocs agit comme une permutation des valeurs de m bit (o m est la
longueur de bloc) et la longueur moyenne de cycle est 2m 1. Pour un bloc de 64 bits,
sa longueur est norme. Quand la taille n de la rtroaction est infrieure celle du
bloc, la longueur moyenne de cycle tombe environ 2 " /2. Pour un bloc de 64 bits, a
ne reprsente que 2 32, ce nest pas assez long.

Algorithmes de chiffrement en continu avec le mode OFB


Un algorithme de chiffrement en continu peut aussi fonctionner en mode OFB. Dans
ce cas, la clef affecte la fonction de ltat suivant (voir la figure 9.13). La fonction
rsultante ne dpend pas de la clef ; trs souvent c est quelque chose de simple, comme
un seul bit de ltat interne ou la combinaison par ou exclusif de multiples bits de ltat
interne. La complexit cryptographique se trouve dans la fonction de ltat suivant ;
cette fonction est dpendante de la clef. Cette mthode est aussi appele rtroaction
interne [295], car le mcanisme de rtroaction est interne lalgorithme de gnration
de clef.

F i g . 9 .1 3

Un gnrateur de codons en mode de rtroaction de sortie

Dans une variante de ce mode, la clef dtermine juste ltat initial du gnrateur de

9.9

Mode compteur

219

codons. Une fois que la clef aura rgl ltat interne du gnrateur, celui-ci marchera
sans problme.

9.9

Mode compteur

Les algorithmes de chiffrements par blocs en mode compteur utilise des suites de
nombres en entre de lalgorithme [826, 496, 718]. Au lieu d utiliser la sortie du chiffre
ment pour remplir le registre dcalage, lentre du registre est un compteur. Aprs
chiffrement d un bloc, le compteur est augment dune certaine valeur, typiquement
un. Les proprits de synchronisation et de propagation d erreurs sont les mmes que
pour le mode O FB . Le mode compteur rsoud le problme de sortie de n bit du mode
OFB o n est plus petit que la longueur de bloc.
Rien propos du compteur nest sacr ; il ne doit pas compter toutes les entres pos
sibles dans lordre. Vous pouvez utiliser tous les gnrateurs de suites alatoires des
chapitres 16 et 17, quils soient cryptographiquement srs ou pas, en entre de lalgo
rithme de blocs.

Algorithmes de chiffrement en continu en mode compteur


Les algorithmes de chiffrement en continu en mode compteur ont des fonctions
dtat-suivant simples et des fonctions de sortie compliques qui dpendent de la clef.
Cette technique, illustre dans la figure 9.14 a t suggre dans [496, 718]. La fonction
dtat-suivant peut tre aussi simple quun compteur qui rajoute une unit ltat
prcdent.

F i g . 9.14

- Un gnrateur de codons en mode compteur

Dans un chiffrement en continu en mode compteur, il est possible dengendrer le ie bit


de la clef k, sans avoir engendrer dabord tous les bits prcdents. Il suffit de mettre
le compteur manuellement la valeur du ie tat et d engendrer le bit. C est utile pour
protger des fichiers de donnes accs alatoire: vous pouvez dchiffrer un bloc de
donnes spcifique sans dchiffrer tout le fichier.

Chapitre 9

220

9.10

Types et modes dalgorithmes

Autres modes

Mode de chanage de blocs


Pour utiliser un algorithme de chiffrement par blocs en mode de chanage de b locs
(B C pour block chaining ), il suffit de combiner par ou exclusif lentre du chiffre
ment par bloc avec le ou exclusif de tous les blocs de texte chiffr prcdents. Tous
comme pour le mode C B C , un IV dmarre le processus.
Mathmatiquement cela ressemble :
Ci = EK (M i Ft)

Fi+i = Fz C%

M Z= FZ D k (Cz)

Fl+1 = Ft Ci.

Tout comme pour le mode C B C , le processus de rtroaction du mode B C amplifie les


erreurs dans le texte en clair. Le dfaut principal du mode B C vient du fait que le
dchiffrement dun bloc chiffr dpend de tous les blocs chiffrs prcdents, une seule
erreur dans le texte chiffr fausse le dchiffrement de tous les blocs chiffrs suivants.

Mode de chiffrement par chanage de blocs avec propagation


Le mode dech iffrem en t par chanage d e b lo c s avec p rop a g a tion (P C B C pour
Propagating cipher block chaining ) [1084] est similaire au mode C B C , except que
le bloc de texte chiffr prcdent et le bloc de texte en clair prcdent sont tous deux
combins par ou exclusif avec le bloc de texte en clair courant avant chiffrement (ou
aprs dchiffrement) (voir la figure 9.15).
C%= E K ( M t ffi Ct- i M ,- i )
Adj =

M t- i D k (Cz)

Le mode P C B C est utilis dans K e r b e r o s v e r s i o n 4 (voir 24.5) pour effectuer la


fois le chiffrement et le contrle d intgrit en une passe. En mode P C B C , une erreur
dans le texte chiffr occasionne un dchiffrement incorrect de tous les blocs qui suivent.
Cela signifie que vrifier un bloc standard la fin du message permet de sassurer de
lintgrit de tout le message.
Malheureusement, il y a un dfaut ce mode [876]. Echanger deux blocs de texte chiffr
occasionne un dchiffrement incorrect des deux blocs de texte en clair correspondants,
mais cause de la nature de lopration de ou exclusif avec le texte en clair et le
texte chiffr, ces erreurs se compensent et sannulent. Donc un systme de vrification
d intgrit qui ne regarde que les quelques derniers blocs de texte dchiffrs, peut tre
amen accepter un message partiellement embrouill. Bien que personne n ait trouv
comment exploiter ce dfaut, K e r b e r o s VERSION 5, est pass au mode C B C une fois
que le dfaut a t dcouvert.

Mode de chiffrement par chanage de blocs avec sommes de


contrle
Le ch iffrem en t par chanage d e b lo c s avec som m es d e co n tr le (C B C C pour
Cipher block chaining with checksum ) est une variante du mode C B C [1620]. Gardez

9.10

Autres modes

221

F ig. 9.15 Mode de chiffrement par chanage de blocs avec propagation

une combinaison par ou exclusif de tous les blocs de texte en clair, et combinez-la par ou
exclusif avec le dernier bloc de texte en clair avant chiffrement. Le mode C B C C sassure
que tout changement effectu un quelconque des blocs chiffrs change le rsultat
dchiffr du dernier bloc. Si le dernier bloc contient un type de contrle d intgrit ou
une constante, alors lintgrit du texte en clair dchiffr peut tre vrifie avec peu de
frais supplmentaires.

Rtroaction de la sortie avec une fonction nonlinaire


La r tr o a c tio n d e la sortie avec un e fo n ctio n n on lin aire (O F B N L F pour
Output feedback mode with a nonlinear function ) [777] est une variante des deux
modes O F B et E C B o la clef change avec chaque bloc:
Ci = EKl{ M t)

K i = EK {Ki- 1)

M i = D Kt(Ci)

K i ~ E K ( K i ^ i)

Une erreur dun seul bit dans le texte chiffr ne se rpercute que dans un seul bloc en
clair. Nanmoins, si un seul bit est perdu ou ajout, alors il y a une propagation infinie
derreurs. Avec un algorithme de chiffrement par blocs qui a un algorithme compliqu
de gestion de clef, comme le DES, ce mode est lent. Je ne connais pas de cryptanalyse
de ce mode.

Encore dautres modes


Dautres modes sont possibles, bien quils ne soient pas couramment utiliss. Le mode
de chanage d e te x te en cla ir (P B C pour plaintext block chaining ) est comme
le mode C B C sauf que le texte en clair prcdent est combin par ou exclusif avec le

222

Chapitre 9

Types et modes dalgorithmes

bloc de texte en clair au lieu du texte chiffr. Le mode de chiffrem ent rtroaction
du te x te en clair (P F B pour plaintext feedback ) est comme le mode C FB , sauf
que c est le texte en clair, et non pas le texte chiffr, qui est utilis pour la rtroaction.
Ces deux modes permettent les attaques texte en clair choisi afin de rsister aux
attaques texte en clair connu. Il y a aussi le mode de chiffrem ent p a r b lo cs avec
chanage des diffren ces en tre b lo c s d e te x te en clair (C B C P D pour cipher
block chaining of plaintext diffrence ). Je suis persuad que c est encore plus trange.
Si un cryptanalyste a une machine de recherche exaustive de clefs, alors il peut re
trouver la clef sil peut deviner un des blocs de texte en clair. Certains de ces modes
tranges reviennent un chiffrement lger avant d appliquer lalgorithme de chiffre
ment : par exemple, combiner le texte par ou exclusif avec une chane de caractres
secrte ou le permuter. A peu prs nimporte quoi dinhabituel permet d viter ce type
de cryptanalyse.

9.11

Choix dun mode opratoire de chif


frement

Si la simplicit et la vitesse sont vos critres principaux, le mode ECB est le plus facile
et le plus rapide utiliser pour un algorithme de chiffrement par blocs. C est aussi le
plus faible. Non seulement un algorithme est vulnrable lattaque des blocs rejous,
mais en mode EC B , il est plus facile cryptanalyser. Je ne recommande donc pas le
mode ECB pour le chiffrement des messages.
Pour le chiffrement de donnes alatoires, telles que d autres clefs, lECB est un bon
mode utiliser. Comme les donnes sont courtes et alatoires, aucun des points faibles
du mode E C B n ont d importance pour cette application.
Pour du texte en clair normal, utilisez plutt les modes C B C , C FB , ou O FB . Celui
que vous choisirez dpendra de vos exigences spcifiques. Les deux tableaux 9.1 et 9.2
rsument la scurit et lefficacit des diffrents modes.
Le mode C B C convient en gnral pour chiffrer des fichiers. L augmentation du niveau
de scurit est significative ; et bien quil puisse y avoir des erreurs de bit dans les don
nes stockes, il n y a presque jamais d erreurs de synchronisation. Si votre application
est une ralisation logicielle, le mode C B C est presque toujours le meilleur choix.
Le mode C FB plus spcifiquement le mode C F B 8 bits est gnralement le mode
de choix pour chiffrer des flots de caractres quand chaque caractre doit tre trait
individuellement, comme c est le cas pour le lien entre un terminal et un ordinateur
central. Le mode O FB est gnralement utilis pour les systmes synchrones grande
vitesse o la propagation derreurs est inacceptable. Le mode O FB est aussi le mode
de choix quand du pr-traitement est requis.
Le mode O F B est le mode de choix dans un environnement o il y a beaucoup d erreurs,
car il ne les propage pas.
Restez lcart des modes tranges. L un des quatre modes de base E C B , CBC,
OFB et C F B
est adquat pour presque nimporte quelle application. Ces modes ne
sont pas exagrment complexes et probablement ne diminuent pas le niveau de scurit
du systme. Bien quil soit possible quun mode compliqu puisse augmenter le niveau
de scurit d un systme, il est plus probable quil naugmente que sa complexit.

9.12

Intercalation

T a b . 9.1 - R s u m

223

d e s m o d e s d e c h if f r e m e n t s p a r b l o c s

ECB
Scurit

C BC
Scurit

Les motifs des textes en clair ne sont


pas dissimuls.
L entre de lalgorithme de chiffrement
par bloc nest pas alatoire ; c est comme
le texte en clair.
+ Plus d un seul message peut tre chiffr
avec la mme clef.
Le texte en clair est facile manipuler ;
des blocs peuvent tre retirs, rpts ou
interchangs.

+ Les motifs des textes en clair sont


dissimuls en combinant par o u e x c l u s i f
avec le bloc chiffr prcdent.
+ Lentre de lalgorithme de chiffrement
par bloc est alatoire en combinant par
o u
e x c l u s i f avec le bloc chiffr prcdent.
+ Plus d un seul message peut tre chiffr
avec la mme clef.
+ / Le texte en clair est quelque peu
difficile manipuler; des blocs peuvent
tre retirs du dbut et de la fin du
message, des bits du premier bloc peuvent
tre changs, et la rptition permet des
changements contrls.

Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est jusqu un bloc
plus long que le texte en clair, du fait du
remplissage.
Pas de pr-traitement possible.
+ Le traitement est paralllisable.

Tolrance aux fautes


Une erreur dans le texte chiffr affecte
tout un bloc du texte en clair.
Une erreur de synchronisation est
irrcuprable.

Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est jusqu un bloc plus
long que le texte en clair, sans compter
lIV.
Pas de pr-traitement possible.
+ /
Le traitement nest pas drivable;
le dchiffrement est paralllisable et
supporte laccs alatoire.

Tolrance aux fautes


Une erreur dans le texte chiffr affecte
tout un bloc du texte en clair et le bit
correspondant du bloc suivant.
Une erreur de synchronisation est
irrcuprable.

Aucun des modes tranges na de meilleures proprits pour la propagation derreurs


et pour les mcanismes de rcupration derreurs.

9.12

Intercalation

Dans la plupart des modes, le chiffrement dun bit (ou dun bloc) dpend du chiffre
ment du bit (ou du bloc) prcdent. Cela rend souvent impossible la paralllisation du
chiffrement. Prenez par exemple du matriel qui fait du chiffrement en mode CBC.
Mme si ce matriel contient quatre puces de chiffrement, une seule peut marcher la
fois. La puce suivante a besoin du rsultat de la puce prcdente pour commencer

Chapitre 9

224

T a b . 9.2 - R s u m

Types et modes dalgorithmes

d e s m o d e s d e c h if f r e m e n t s p a r b l o c s

CFB
Scurit

FB/Compteur
Scurit

+ Les motifs des textes en clair sont


dissimuls.
+ Lentre de lalgorithme de chiffrement
par bloc est alatoire.
+ Plus d un seul message peut tre
chiffr avec la mme clef pourvu quun IV
diffrent soit utilis.
+ / Le texte en clair est quelque peu
difficile manipuler; des blocs peuvent
tre retirs du dbut et de la fin du
message, des bits du premier bloc peuvent
tre changs, et la rptition permet des
changements contrls.

+ Les motifs des textes en clair sont


dissimuls.
+ L entre de lalgorithme de chiffrement
par bloc est alatoire.
+ Plus dun seul message peut tre
chiffr avec la mme clef pourvu quun IV
diffrent soit utilis.
Le texte en clair est trs facile
manipuler ; tout changement dans le texte
chiffr affecte directement le texte en clair.

Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est de la mme taille
que le texte en clair, sans compter lIV.
+ / Le chiffrement n est pas parallli
sable; le dchiffrement est drivable et
supporte laccs alatoire.
Du pr-traitement est possible avant
lapparition d un b loc; le bloc de texte
chiffr prcdent peut tre chiffr.

Tolrance aux fautes


Une erreur dans le texte chiffr affecte
le bit correspondant du texte en clair et
le bloc suivant.
-I- Des erreurs de synchronisation de la
taille d un bloc sont rcuprables. Le
mode C F B 1 bit peut rcuprer aprs
le rajout ou la perte de bits.

Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est de la mme taille
que le texte en clair, sans compter lIV.
Du pr-traitement est possible avant
lapparition du message.
+ / Le traitement OFB nest pas pa
ralllisable ; le traitement compteur est
paralllisable.

Tolrance aux fautes


Une erreur dans le texte chiffr affecte
seulement le bit correspondant du texte
en clair.
+ Une erreur de synchronisation est
irrcuprable.

travailler.
La solution est d in terca ler les multiples flots de chiffrement. (Ce nest pas un chiffre
ment multiple, ceci sera abord dans les paragraphes 15.1 et 15.2). Au lieu d utiliser
une seule chane en mode C B C , utilisez-en quatre. Les premier, cinquime et un bloc
sur quatre par la suite sont chiffrs en modes C B C avec un IV. Les second, sixime et
un bloc sur quatre par la suite sont chiffrs en modes C B C avec un autre IV , et ainsi
de suite. LTV total est plus long quil laurait t sans intercalaires.
Cest comme si vous chiffriez quatre messages diffrents avec la mme clef et quatre
diffrents IV. Ces messages sont tous intercals.

9.13

Chiffrement par blocs vs chiffrement en continu

225

Cette astuce peut aussi tre utilise pour augmenter la vitesse de matriels de chiffre
ment. Si vous avez trois puces de chiffrement, chacune capable de chiffrer des donnes
33 mgabits/seconde, vous pouvez les intercaler pour chiffrer un seul canal de donnes
100 mgabits/seconde.
La figure 9.16 montre trois flots parallles intercals en mode C FB . L ide peut aussi
marcher en modes C B C et O FB , et avec autant de flots parallles que dsir. Souvenezvous juste que chaque flot a besoin de son propre IV. Il ne doit pas tre partag.

F ig. 9.16

9.13

Mode de chiffrement par chanage de blocs avec propagation

Chiffrement par blocs vs chiffrement


en continu

Bien que les systmes de chiffrement par blocs et les systmes de chiffrement en continu
soient trs diffrents, des systmes de chiffrement par blocs peuvent tre utiliss en
tant que systmes de chiffrement en continu et des systmes de chiffrement en continu
peuvent tre utiliss en tant que systmes de chiffrement par blocs. La meilleure dfi
nition de la diffrence que j ai trouve est celle de Ranier R u e p p e l [1364] :
Les systmes de chiffrement par blocs agissent sur des donnes avec une
transformation fixe des grands blocs de donnes en clair; les systmes de
chiffrement en continu agissent avec une transformation variant avec le
temps des chiffres en clair individuels.
Dans le monde rel, les systmes de chiffrement par blocs sont plus gnraux (ils
peuvent tre utiliss dans nimporte lequel des quatres modes) et les systmes de chif
frement en continu sont plus faciles analyser mathmatiquement. Il y a beaucoup
de travail thorique effectu sur lanalyse et la conception des systmes de. chiffrement
en continu ; la plupart de ces travaux sont effectus en Europe, je ne sais pour quelle
raison. Ils ont t utiliss par les militaires du monde entier depuis linvention de llec
tronique. Cela semble changer dornavant ; rcemment, une grande quantit darticles
thoriques sur les systmes de chiffrement par blocs ont t publis. Il y aura peut-tre
que bientt une thorie sur le modle des systmes de chiffrement par blocs aussi riche
que la thorie sur la conception des systmes de chiffrement en continu.

226

Chapitre 9

Types et modes dalgorithmes

Ceci mis part, les diffrences entre ces deux systmes se trouvent dans les ralisations.
Les systmes de chiffrement en continu qui ne chiffrent et ne dchiffrent quun bit
la fois ne sont pas vraiment adapts des ralisations logicielles. Les systmes de
chiffrement par blocs sont nettement plus faciles raliser en logiciel, car ils vitent
les manipulations de bits qui sont coteuses en temps de calcul et ils oprent sur
des donnes dans des blocs de taille raisonnable. D un autre ct, les systmes de
chiffrement en continu sont mieux adapts des ralisations matrielles car ils peuvent
tre raliss de faon trs efficace dans du silicone.
Ce sont des considrations importantes. Il semble logique pour un appareil de chiffre
ment dun canal digital de communications de chiffrer chaque bit quand il arrive. C est
ce que lappareil voit. D un autre ct, il semble illogique pour un logiciel de chiffre
ment de chiffrer chaque bit sparment. Il y a des exemples prcis o le chiffrement de
chaque bit et de chaque octet est ncessaire dans un systme informatique chiffrer
le lien entre le clavier et le microprocesseur, par exemple mais gnralement le bloc
de chiffrement devrait au moins tre de la largeur du bus de donnes.

Chapitre 10

Utilisation des algorithmes


Considrez la scurit (scurit des donnes, scurit des communications, scurit de
linformation,...) comme une chane. La scurit du systme entier nest pas plus forte
que le plus faible des maillons. Tout doit tre sr: les algorithmes cryptographiques,
les protocoles, la gestion des clefs, et bien plus. Si vos algorithmes sont sophistiqus
mais que votre gnrateur de nombre alatoire est mauvais, un cryptanalyste judicieux
attaquera votre systme par la gnration des nombres alatoires. Si vous comblez
cette lacune mais oubliez de bien effacer la partie de la mmoire qui contient la clef,
un cryptanalyste cassera votre systme par cette voie. Si vous faites tout correctement
mais accidentellement envoyez un courrier lectronique de la copie de vos dossiers srs
au Wall Street Journal, autant que vous ne fassiez rien du tout.
Ce nest pas juste. En tant que concepteur de systme sr, vous devez vous prot
ger contre tous les moyens possibles dattaque, alors quil suffit un cryptanalyste
dexploiter la moindre faille dans votre systme de scurit !
La cryptographie nest quune partie de la scurit, et souvent une trs petite partie.
C est la partie mathmatique pour rendre un systme sr, ce qui est diffrent d effec
tivement rendre un systme sr. La cryptographie a ses grands pontes : des gens
qui passent tant de temps discuter propos de la longueur idale de clef quils en
oublient tout le reste. Si la police secrte veut savoir ce quil y a dans votre ordinateur,
il leur est plus facile de pntrer chez vous et dinstaller une camra qui enregistre tout
ce qui apparat sur votre cran que de cryptanalyser votre disque dur.
De plus, la vue traditionnelle de la cryptographie comme tant une technologie es
pion contre espion devient de moins en moins approprie. Plus de 99 pourcents de la
cryptographie utilise dans le monde ne protge pas de secrets militaires ; cest dans des
applications telles que les cartes bancaires, les cartes de chanes de tlvision payantes,
les pages autoroutiers, les cartes daccs aux immeubles et aux ordinateurs, les termi
naux de loterie et les pr-paiements de compteurs lectriques [44, 45] quelle se trouve.
Dans ces applications, le rle de la cryptographie est de rendre la petite criminalit
un peu plus difficile ; lexemple de ladversaire bien financ avec toute une arme de
cryptanalystes dans une pice remplie d ordinateurs ne sapplique pas ici.
La plupart de ces applications ont utilis de la cryptographie bas de gamme, mais les
attaques victorieuses menes contre elles nont rien voir avec la cryptanalyse. Elles im
pliquaient des employs vreux, des oprations judicieuses de piratage, des ralisations

228

Chapitre 10

Utilisation des algorithmes

stupides, des rats d intgration et des idioties alatoires. (Je recommande fortement
le papier de Ross A n d e r s o n Pourquoi les cryptosystmes ont chou [45] ; il de
vrait tre lu par toute personne voluant dans ce domaine.) Mme si la N SA a admis
que la plupart des checs de scurit dans sa zone d intrt sont dus des checs de
ralisations, et non pas des checs au niveau des algorithmes et des protocoles [1125].
Dans ces exemples, peu importe si la cryptographie tait bonne ou pas ; les attaques
victorieuses lont compltement surpasse.

10.1

Choix dun algorithme

Quand on en arrive jauger et choisir les algorithmes, les gens ont plusieurs choix :
- Ils peuvent utiliser un algorithme publi, croyant que les algorithmes publis ont
t dcortiqus par de nombreux cryptographes ; si personne ne la encore cass,
alors il doit tre trs bon.
- Ils peuvent faire confiance un fabricant, croyant quun fabricant connu a une
rputation dfendre et quil ne risquera pas cette rputation en vendant des
quipements ou des programmes avec des algorithmes de mauvaise qualit.
- Ils peuvent faire confiance un consultant indpendant, croyant quun consul
tant impartial est mieux quip pour faire une valuation fiable des diffrents
algorithmes.
- Ils peuvent faire confiance au Gouvernement, croyant que le Gouvernement est
digne de confiance et quil ne tromperait pas ses citoyens.
- Ils peuvent crire leur propre algorithme, croyant que leurs comptences en cryp
tographie nont pas leur pareil et quils ne doivent avoir confiance en personne
dautre queux-mme.
Chacune de ces croyances est problmatique, mais la premire semble tre la plus
sense. Placer votre confiance dans un seul fabricant, consultant ou gouvernement
revient chercher des ennuis. La plupart des gens qui portent ltiquette consultant
en scurit (mme des firmes clbres) ne connaissent en gnral rien au chiffrement.
La plupart des fabricants en scurit ne sont pas fiables. Les meilleurs cryptographes
au monde travaillent pour la NSA, mais ils ne disent pas tout ce quils savent. Les
intrts quils poursuivent ne sont pas conformes ceux des citoyens. Et mme si vous
tes un gnie, crire votre propre algorithme et ensuite lutiliser sans lavoir soumis
lexamen critique des pairs est de linconscience pure.
Les algorithmes de ce livre sont publiques. La plupart ont t divulgus dans la littra
ture publique et ont t cryptanalyss par des experts dans le domaine. Je mentionne
tous les rsultats publis, positifs et ngatifs. Je nai pas accs aux cryptanalyss en
treprises par la myriade d organisations de scurit militaire de par le monde (qui sont
probablement meilleures que les institutions acadmiques elles le font depuis plus
longtemps et elles sont mieux finances), donc il est possible que ces algorithmes soient
plus faciles casser quils ne le paraissent. Mme ainsi, il est bien plus probable quils
soient plus srs quun algorithme conu et ralis en secret par une socit spcialise
en scurit.

10.1

Choix dun algorithme

229

Le point faible de ce raisonnement est que nous ne connaissons pas les capacits des
nombreuses organisations militaires de cryptanalyse.
Quels algorithmes la NSA peut-elle casser? Pour la majorit dentre nous, il est impos
sible de le dire. Si vous tes arrt en possession dun ordinateur chiffr avec DES, il
est peu probable que le FB I produise le contenu dchiffr comme pice conviction ; le
fait quils peuvent casser lalgorithme est souvent un secret bien plus important que les
informations qui sont alors dchiffres. Pendant la deuxime guerre mondiale, il tait
interdit aux Allis d utiliser une information dchiffre du trafic Ultra des Allemands,
moins quils aient pu plausiblement obtenir linformation autrement. La seule faon de
pousser la NSA reconnatre sa capacit casser un algorithme donn est de chiffrer
une information tellement importante quils ne pourront pas faire autrement que de la
divulguer publiquement. Ou, mieux encore, crez une blague trs drle et envoyez-la
par courrier lectronique chiffr des correspondants ambigus dans des pays suspects.
Les employs de la NSA sont aussi des hommes; je doute quil puisse garder une si
bonne blague secrte.
Une bonne hypothse de travail est que la N SA peut lire chaque message quelle choisit,
mais quelle ne peut pas lire tous les messages quelle choisit. La NSA est limite par
ses ressources et doit faire un choix dans ses cibles. Une autre bonne hypothse est
quelle prfre casser autre chose que des codes ; cette prfrence est si forte quelle se
rsoudra casser les codes seulement quand elle voudra prserver le secret quelle a lu
le message.
Dans tous les cas, la meilleure chose que la plupart d entre-nous peuvent faire est de
choisir parmi des algorithmes publiques qui ont raisonnablement rsist une obser
vation publique et des cryptanalyss.

Algorithmes pour lexportation


Pour exporter un algorithme hors des Etats-Unis, il faut lautorisation du Gouver
nement amricain (plus exactement, de la N SA voir 25.1). Il est gnralement
admis que ces algorithmes autoriss lexportation peuvent tre casss par la NSA.
Bien que personne nait admis cela pour la postrit, voici quelques indices de ce que la
NSA est suspecte, en priv, de suggrer aux socits qui veulent exporter des produits
cryptographiques :
- Laissez passer un bit de la clef de temps autre cach dans le texte chiffr ;
- Ramenez la clef effective quelque chose dans la gamme des 30 bits. Par exemple,
tandis quun algorithme pourrait accepter une clef de 100 bits, la plupart de ces
clefs peuvent tre quivalentes ;
Utilisez un IV fix, ou chiffrez un en-tte fix au dbut de chaque message chiffr.
Cela facilite une attaque texte en clair choisi ;
engendrez quelques octets alatoires, chiffrez-les avec la clef, et placez le texte en
clair et le texte chiffr de ces octets alatoires au dbut du message chiffr. Cela
facilite galement une attaque texte en clair connu.
La NSA reoit une copie du code source, mais les dtails de lalgorithme restent cachs
pour les autres. Il est vident que personne ne fait de publicit quant ces faiblesses,

Chapitre 10

230

Utilisation des algorithmes

mais faites attention si vous achetez un produit de chiffrement amricain qui a t


approuv pour Pexport.

10.2

La cryptographie clef publique vs la


cryptographie clef secrte

Cryptographie clef publique ou cryptographie clef secrte? Quelle est la meilleure?


Cette question na aucun sens mais est lobjet d un dbat depuis que la cryptographie
clef publique a t invente. Ce dbat suppose que les deux types de cryptographie
peuvent tre compars d gal gal. Ils ne le peuvent pas.
N e e d h a m et S c h r o e d e r [1159] remarquent que le nombre de messages et leur lon
gueur sont bien plus grands dans les algorithmes clef publique que dans les algo
rithmes clef secrte. Leur conclusion montre que lalgorithme clef secrte est plus
efficace que lalgorithme clef publique. Bien que cela soit vrai, cette analyse oublie le
gain significatif en scurit de la cryptographie clef publique.
Whitfield D if f ie crit [490, 492] :
En envisageant la cryptographie clef publique comme une nouvelle forme
de cryptosystme plutt quune nouvelle forme de gestion de clefs, je me
prpare aux critiques tant du point de vue de la scurit que de la perfor
mance. Les opposants remarqurent rapidement que le systme R S A tait
1000 fois plus lent que le DES et ncessitait des clefs presque 10 fois plus
grandes. Bien quil ft clair ds le dbut que lutilisation des systmes
clefs publiques pouvait tre limite lchange des clefs pour la cryptogra
phie conventionnelle ( clef secrte), il ntait pas immdiatement clair que
cela ft ncessaire. Dans ce contexte, la proposition de construire des sys
tmes hybrides [879] fut salue comme une invention en soi.

La cryptographie clef publique et la cryptographie clef secrte sont deux choses


diffrentes ; elles rsolvent des problmes de types diffrents. La cryptographie clef
secrte est meilleure pour chiffrer des donnes. Elle est infiniment, plus rapide et nest
pas prdispose des attaques texte chiffr choisi. La cryptographie clef publique
peut faire des choses que la cryptographie clef secrte ne permet pas ; elle est adapte
pour la gestion des clefs et une myriade de protocoles exposs dans la Partie I.
D autres installations ont t exposes dans la Partie I : fonctions de hachage sens
unique, codes dauthentification de message , etc... Le tableau 10.1 numre les diff
rents types d algorithmes et leurs proprits [806].

10.3

Chiffrement des canaux de communi


cation

Cest le problme classique dAlice et de Bernard: Alice veut envoyer Bernard un


message sr. Que fait-elle? Elle chiffre le message.
En thorie, ce chiffrement peut tre effectu dans nimporte quelle couche OSI
(Interface de systmes ouverts, Open Systems Interface en Anglais) du modle

10.3

Chiffrement des canaux de communication

ab

. 1 0 .1 - C

lasses

Confidentialit
Algorithmes
Algorithmes
Algorithmes
Algorithmes

de chiffrement clef secrte


de chiffrement clef publique
de signature digitale
d change de clef

Fonctions de hachage sens unique


Codes d authentification de message

231

d a l g o r it h m e s

Authentification

Intgrit

Clef

Gestion

Oui
Oui
Non

Non
Non
Oui
Optionnel
Non
Oui

Non
Non
Oui
Non

Oui

Oui
Non
Non

Oui
Oui

Oui
Non
Oui
Non
Non

de communication. (Voir le standard darchitecture de scurit OSI pour plus dinfor


mations [310].) En pratique, le chiffrement a lieu soit dans les basses couches (une et
deux), soit dans les hautes couches. Sil seffectue dans les basses couches, il est appel
chiffrement lien par lien; tout ce qui passe par un lien de donnes particulier est
chiffr. Si le chiffrement seffectue dans des couches plus leves, il est appel chif
frement de bout en bout ; les donnes sont chiffres de faon slective et restent
chiffres jusqu ce quelles soient dchiffres par le destinataire final dsign. Chaque
approche a ses avantages et ses inconvnients.

Chiffrement lien par lien


Lendroit le plus simple pour rajouter le chiffrement se trouve dans la couche physique
(voir la figure 10.1). Cela est appel chiffrement lien par lien. Les interfaces avec la
couche physique sont gnralement standardises et il est facile de connecter un dispo
sitif de chiffrement cet endroit. Ces dispositifs chiffrent toutes les donnes qui passent
par eux, incluant les donnes elles-mmes, les informations de routage et les informa
tions du protocole. Ils peuvent tre utiliss sur tous les types de liens de communication
numrique. Par ailleurs, tout dispositif de commutation ou de stockage intelligent sur
le parcours entre lmetteur et le rcepteur doit dchiffrer le flux de donnes avant de
le traiter.
Ce type de chiffrement est trs efficace. Comme tout est chiffr, un cryptanalyste ne
peut obtenir aucune information sur la structure de linformation. Il na pas la moindre
ide de qui parle qui, de la longueur des messages envoys, quel moment de la journe
ils communiquent, etc. On parle alors de scurit du flot de trafic : non seulement
lennemi na pas accs linformation, mais il ignore aussi la destination et le volume
de cette information.
La scurit ne dpend daucune technique de gestion du trafic. La gestion des clefs est

ig

10.1 - Chiffrement au niveau des liens

Chapitre 10

232

Utilisation des algorithmes

aussi simple : seules les deux extrmits d une ligne doivent partager une clef et elles
peuvent changer leur clef indpendamment du reste du rseau.
Imaginez-vous une ligne de communication synchrone, chiffre en mode C FB 1 bit.
Aprs linitialisation, cette ligne peut fonctionner indfiniment, rcuprant automati
quement des erreurs de bit ou de synchronisation. La ligne chiffre ds que des messages
sont envoys partir d une extrmit vers lautre ; sinon, elle chiffre et dchiffre des
donnes alatoires. Estelle na aucune ide de la date des messages envoys ou non;
elle na pas d ide du dbut et de la fin des messages. Tout ce quelle voit est un flux
continu de bits qui ont lair alatoires.
Si la ligne de communication est asynchrone, le mme mode C FB 1 bit peut tre
utilis. La diffrence est que ladversaire peut obtenir de linformation sur le taux de
la transmission. Si cette information doit rester secrte, prenez des prcautions en
envoyant des messages factices entre les communications utiles.
Le plus gros dfaut du chiffrement lien par lien est que chaque lien physique du rseau
doit tre chiffr : laisser un seul lien non chiffr compromet la scurit de tout le rseau.
Si le rseau est grand, le cot peut rapidement devenir prohibitif pour ce type de
chiffrement.
De plus, tous les nuds du rseau doivent tre protgs, car ils vhiculent des donnes
non chiffres. Si tous les utilisateurs du rseau se font confiance mutuellement et si tous
les nuds sont en lieu sr, cela peut tre acceptable. C est toutefois improbable. Mme
dans une socit, linformation doit tre garde secrte au sein dun dpartement. Si
le rseau se trompe de chemin pour acheminer une information, tout le monde peut la
lire. Le tableau 10.2 rsume les avantages et les inconvnients du chiffrement lien par
lien.

Ta

10.2 - Chiffrement au niveau physique: avantages et inconvnients

Avantages
Opration plus simple, puisquelle est transparente pour lutilisateur. Tout est chiffr
avant d tre envoy sur le lien.
Un seul jeu de clefs par lien est ncessaire.
Fournit une scurit du flot de traffic, puisque chaque information de routage est
chiffre.
Le chiffrement est en ligne.
Inconvnients
Les donnes sont vulnrables dans les nuds intermdiaires.

Chiffrement de bout en bout


Un autre approche consiste mettre le dispositif de chiffrement entre la couche rseau
et la couche de transport. Le dispositif de chiffrement doit pouvoir interprter les
donnes d aprs les protocoles jusqu la couche trois et chiffrer seulement les units
de donnes de transport qui sont alors recombines avec les informations de routage
non chiffres et envoyes aux couches infrieures du protocole.

10.3

Chiffrement des canaux de communication

233

Cette approche vite le problme du chiffrement/dchiffrement au niveau de la couche


physique. En utilisant le chiffrement de bout en bout, les donnes restent chiffres
jusqu ce quelles atteignent leur destination finale (voir la figure 10.2). Le dfaut
principal du chiffrement de bout en bout est que les informations de routage pour les
donnes ne sont pas chiffres; un bon cryptanalyste peut pas mal apprendre de qui
parle qui, quel moment et pendant combien de temps, sans mme connatre le
contenu de ces conversations. La gestion des clefs est galement plus difficile car les
utilisateurs doivent sassurer quils ont bien des clefs communes.

F ig . 10.2 - Chiffrement de bout en bout

Construire un dispositif de chiffrement de bout en bout est difficile. Chaque systme


de communication particulier a ses propres protocoles. Parfois, les interfaces entre ces
niveaux ne sont pas bien dfinies, rendant la tche plus difficile encore.
Si le chiffrement a lieu dans une couche haute de larchitecture de communication,
comme les couches application et prsentation, alors cela peut tre indpendant du
type de rseau de communication utilis. C est toujours du chiffrement de bout en
bout, mais la ralisation du chiffrement ne doit pas se proccuper des codes de ligne,
de la synchronisation entre les modems, des interfaces physiques, etc. Dans les temps h
roques de la cryptographie lectromcanique, le chiffrement et le dchiffrement avaient
entirement lieu hors ligne : cela ne fait quune tape de moins.
Le chiffrement dans ces hautes couches interagit avec le logiciel de lutilisateur. Le lo
giciel est diffrent pour des architectures dordinateur diffrentes et donc le chiffrement
doit tre optimis pour diffrents systmes informatiques. Le chiffrement peut tre ra
lis par le logiciel ou par du matriel ddi. Dans ce dernier cas, lordinateur enverra
les donnes au matriel ddi pour les chiffrer, avant de les envoyer vers les couches
infrieures de larchitecture de communication pour tre transmises. Ce processus re
quiert quelque intelligence et nest pas adapt aux terminaux non intelligents. De plus,
il peut y avoir des problmes de compatibilit entre les diffrents types dordinateurs.
Le plus gros inconvnient du chiffrement de bout en bout est quil permet lanalyse
de trafic. C est lanalyse de messages chiffrs: do ils viennent, o ils vont, de quelle
longueur ils sont, quand ils ont t envoys, quelle frquence, sils concident avec
des vnements extrieurs tels que des rendez-vous, et bien plus. Beaucoup de bonnes
informations sont enterres dans ces donnes et un cryptanalyste voudra mettre les
mains dessus. Le tableau 10.3 prsente les aspects positifs et ngatifs du chiffrement
de bout en bout.

Combinaison des deux


Le tableau 10.4, emprunt [1254], compare les chiffrements lien par lien et de bout
en bout. Combiner les deux, bien qutant trs cher, est le moyen le plus efficace de

Chapitre 10

234

Utilisation des algorithmes

T a b . 10.3 - Chiffrement lien par lien : avantages et inconvnients

Avantages
Niveau de secret plus lev.
Inconvnients
Requiert un systme de gestion des clefs plus complexe.
Lanalyse de trafic est possible, puisque linformation de routage nest pas chiffre.
Le chiffrement est hors-ligne.

rendre sr un rseau. Le chiffrement de tout lien physique rend toute analyse des
informations de routage impossible, tandis que le chiffrement de bout en bout rduit
le danger des donnes non chiffres aux diffrents nuds du rseau. Les gestions des
clefs des deux schmas peuvent tre compltement spares : les gestionnaires de rseau
peuvent soccuper du chiffrement au niveau physique, tandis que les individus peuvent
avoir la responsabilit du chiffrement de bout en bout.

Tab. 10.4
C

Comparaison des chiffrements lien par lien et de bout en bout

h if f r e m e n t l ie n

par

l ie n

h if f r e m e n t

de

bo u t en

bout

Scurit dans les machines htes


Message expos chez lhte envoyeur.
Message chiffr chez lhte envoyeur.
Message expos dans les nuds interm- Message chiffr dans les nuds interm
diaires.
diaires.
Rle de lutilisateur
Effectu par lhte envoyeur.
Transparent pour lutilisateur.
L hte maintient le chiffrement.
Un service pour tous les utilisateurs.
Peut tre ralis en matriel.
Tous ou aucun messages chiffrs.

Effectu par le processus denvoi.


Lutilisateur effectue le chiffrement.
Lutilisateur doit trouver lalgorithme.
Lutilisateur slectionne le chiffrement.
Plus facilement effectu dans le logiciel.
Lutilisateur choisit de chiffrer ou pas,
pour chaque message.

Exigences de la ralisation
Ncessite une clef par paire dutilisa
Ncessite une clef par paire dhtes.
Ncessite un matriel ou un logiciel de teurs.
Ncessite un matriel ou un logiciel de
chiffrement chaque hte.
chiffrement chaque nud.
Effectue lauthentification des nuds.
Effectue lauthentification des utilisa
teurs.

10. Jf

10.4

Chiffrement des donnes des fins de stockage

2S5

Chiffrement des donnes des fins de


stockage

Chiffrer des donnes pour les stocker et les rcuprer plus tard peut tre utilis dans
le modle dAlice et de Bernard. Alice envoie toujours un message Bernard, mais
dans ce cas Bernard est Alice dans un temps futur. Nanmoins, le problme est
fondamentalement diffrent.
Dans les canaux de communication, les messages en transit nont pas de valeur intrin
sque. Si Bernard ne reoit pas un message particulier, Alice peut toujours le renvoyer.
Ceci nest pas vrai pour le stockage des donnes chiffres. Si Alice ne peut pas dchiffrer
son propre message, elle ne peut pas remonter le temps et le rechiffrer. Elle la perdu
jamais. Ceci veut dire que les applications de chiffrement pour le stockage des donnes
devraient avoir des mcanismes pour empcher des erreurs irrcuprables de sinfiltrer
dans le texte chiffr.
La clef de chiffrement a la mme valeur que le message, elle est seulement plus pe
tite. En effet, la cryptographie convertit de gros secrets en petits. Etant plus petites,
elles peuvent facilement tre perdues. Les procdures de gestion des clefs devraient
considrer que les mmes clefs seront utilises maintes fois et que les donnes pourront
demeurer sur disque pendant des annes avant d tre dchiffres.
De plus, les clefs seront prsentes pendant une longue priode. Une clef utilise pour
une liaison tlphonique devrait, ce qui serait idal, exister juste le temps de la commu
nication. Une clef utilise pour le stockage des donnes peut servir pendant des annes
et doit par consquent tre stocke de manire sre pendant des annes.
Dautres problmes spcifiques au chiffrement des donnes informatiques en vue de
stockage sont numrs dans [361] :
- Les donnes peuvent aussi exister sous forme de texte en clair, soit sur un autre
disque, dans un autre systme informatique ou sur papier. Il y a plus doccasions
pour des cryptanalystes de monter une attaque texte en clair connu.
- Dans les applications de bases de donnes, des parcelles de donnes peuvent tre
plus petites que la taille de blocs de la plupart des algorithmes. Cela donnera un
texte chiffr qui peut tre largement plus grand que le texte en clair.
- La vitesse des priphriques dentre et sortie ncessite une grande vitesse de
chiffrement et de dchiffrement, et une ralisation matrielle du chiffrement sera
probablement ncessaire. Pour certaines applications, des algorithmes haute
vitesse pourraient tre ncessaires.
- Un stockage sr et de longue dure pour les clefs est ncessaire.
- La gestion des clefs est nettement plus complique, car diffrentes personnes
doivent accder diffrents fichiers, diffrentes portions dun mme fichier, etc.
Si les fichiers chiffrs ne sont pas structurs en enregistrements et champs, comme dans
les fichiers de texte, laccs est facile : tout le fichier est dchiffr avant usage. Si les
fichiers chiffrs sont des fichiers dune base de donnes, la solution est problmatique.
Dchiffrer toute la base de donnes pour accder un seul enregistrement est inefficace,

2S6

Chapitre 10

Utilisation des algorithmes

mais chiffrer les enregistrements indpendamment peut tre sujet une attaque du type
des blocs rejous.
De plus, vous devez tre sr que le fichier non chiffr est effac aprs le chiffrement
(voir 10.9). Pour plus de dtails et un autre aperu, consultez [427, 571].

Drfrencer les clefs


Quand vous chiffrez un disque dur volumineux, vous avez deux options. Vous pouvez
chiffrer toutes les donnes en nutilisant quune seule clef. Cela fournit au cryptana
lyste une grande quantit de texte chiffr analyser et rend impossible de multiples
utilisateurs de voir seulement des parties du disque. Ou, vous pouvez chiffrer chaque
fichier avec une clef diffrente, forant les utilisateurs mmoriser une clef diffrente
pour chaque fichier.
La solution et de chiffrer chaque fichier avec une clef spare et de chiffrer ces clefs avec
une autre clef connue des utilisateurs. Chaque utilisateur ne doit se souvenir que de
cette clef. Des utilisateurs diffrents peuvent avoir diffrents sous-ensembles des clefs
de chiffrement de fichier chiffrs avec leur clef. Il peut mme y avoir une clef matresse
qui chiffre toutes les clefs de chiffrement de fichier. Ceci est mme plus sr car les
clefs de chiffrement de fichier sont alatoires et moins vulnrables une attaque par
dictionnaire.

Chiffrements au niveau du disque vs chiffrements au niveau des


fichiers
Il y a deux manires de chiffrer un disque dur : au niveau des fichiers et au niveau du
disque. Le chiffrement au niveau des fichiers signifie que tous les fichiers sont chiffrs
sparment. Pour utiliser un fichier qui a t chiffr, vous devez d abord le dchiffrer,
puis lutiliser et enfin le rechiffrer.
Le chiffrement au niveau du disque garantit un disque logique dans lordinateur de
lutilisateur o toutes les donnes y sont chiffres. Bien effectu, cela fournit une scurit
qui, au del du choix dun bon mot de passe, ne demande pas grand chose de la part
de lutilisateur. Nanmoins, le disque doit tre beaucoup plus complexe quun simple
programme de chiffrement de fichier, car il doit soccuper d allouer de nouveaux secteurs
des fichiers, de recycler de vieux secteurs, de traiter des requtes de lecture et de mise
jour des accs alatoires pour toute donne sur le disque, etc...
En pratique, le disque demande un mot de passe lutilisateur avant de dmarrer. Ceci
gnre une clef matresse de dchiffrement qui peut alors tre utilise pour dchiffrer
les clefs de dchiffrement ncessaires pour les diffrentes donnes.

Fournir un accs alatoire un disque chiffr


La plupart des systmes devraient tre capable daccder aux secteurs dun disque de
manire alatoire. Ceci implique des complications quant lutilisation de nombreux
algorithmes de chiffrement en continu et dalgorithmes de chiffrement par blocs dans
tout mode de chanage. Plusieurs solutions sont possibles.
Utilisez ladresse secteur pour gnrer un IV unique pour chaque secteur qui est chiffr
ou dchiffr. Le dfaut est que chaque secteur sera toujours chiffr avec le mme IV.
Assurez-vous que cela ne pose pas de problme de scurit.

10.5

Chiffrement matriel vs chiffrement logiciel

231

Pour la clef matresse, gnrez un bloc pseudo-alatoire aussi grand quun secteur.
(Vous pouvez le faire en utilisant un algorithme en mode O F B par exemple.) Pour
chiffrer tout secteur, combinez d abord par ou exclusif avec ce bloc pseudo-alatoire,
puis chiffrez normalement avec un algorithme de chiffrement par blocs en mode ECB.
Cela sappelle E C B + O F B (voir 15.4).
Comme C B C et C FB sont des modes de rcupration d erreurs, vous pouvez utilisez
tous les blocs du secteur sauf les premiers et seconds pour gnrer un IV pour ce
secteur. Par exemple, lIV du secteur 3 001 peut tre le hachage de toutes les donnes du
secteur, mis part les premiers 128 bits. Aprs avoir gnr lIV , chiffrez normalement
en mode C B C . Pour dchiffrer le secteur, vous utilisez les 64 bits du second bloc
du secteur en tant quIV puis dchiffrez le reste du secteur. Ensuite, en utilisant les
donnes dchiffres, vous rgnrez lIV et dchiffrez les premiers 128 bits.
Vous pouvez utiliser un algorithme de chiffrement par blocs avec une taille de bloc
assez grande pour pouvoir chiffrer tout le secteur dun coup. C R A B (voir 14.6) en
est un exemple.

10.5

Chiffrement matriel vs chiffrement


logiciel

Chiffrement matriel
Jusqu il y a peu, tous les quipements de chiffrement taient des ralisations ma
trielles ddies. Ces botes de chiffrement/dchiffrement se branchaient sur les lignes
de communications et chiffraient toutes les donnes passant sur la ligne. Bien que le
chiffrement en logiciel prenne de limportance aujourdhui, le matriel est toujours le
choix qui est fait par les militaires et les applications commerciales srieuses. La NSA,
par exemple, nautorise que le chiffrement par le matriel. Il y a plusieurs raisons
cela.
La premire est la vitesse. Comme nous le verrons dans la troisime Partie, les algo
rithmes de chiffrement consistent en de nombreuses oprations compliques sur des bits
de texte en clair. On ne trouve pas sous le sabot dun cheval des ordinateurs qui com
prennent ce genre d oprations en standard. Les deux algorithmes de chiffrement les
plus courants, le DES et R SA , ne fonctionnent pas bien sur des processeurs gnraux.
Bien que certains cryptographes aient essay de rendre les algorithmes plus facilement
ralisables en logiciel, le matriel ddi gagnera toujours la course de vitesse.
De plus, le chiffrement est souvent une tche de calcul intensif. Mobiliser le processeur
principal de lordinateur pour cela est inefficace. Confier le chiffrement une autre puce,
mme si cette puce nest quun autre processeur, rend tout le systme plus rapide.
La deuxime raison est la scurit. Un algorithme de chiffrement fonctionnant sur
un ordinateur commun na pas de protection physique. Martin peut utiliser diffrents
outils de dbogage et subrepticement modifier lalgorithme sans que qui que ce soit sen
rende compte. Les dispositifs de chiffrement matriels peuvent tre bien encapsuls pour
prvenir cela. Des botes lpreuve de linvestigation peuvent empcher que quelquun
modifie le dispositif de chiffrement matriel. Des puces VLSI ddies peuvent tre
recouvertes d un film protecteur chimique spcial tel que toute tentative daccder
lintrieur provoque la destruction des circuits logiques de l a puce. Les puces C l i p p e r

Chapitre 10

238

Utilisation des algorithmes

T ab. 10.5 - Chiffrements au niveau des fichiers vs au niveau du disque


C

h if f r e m e n t a u

n iv e a u

d e s f ic h ie r s

h if f r e m e n t

au

n iv e a u

du

d is q u e

Bnfices
Facilit de ralisation et dutilisation.
Les fichiers temporaires, de travail, et
Flexibilit.
autres, peuvent tre gards dans le
Baisse de performance trs faible.
disque sr.
Les utilisateurs peuvent transfrer des fiIl est