Vous êtes sur la page 1sur 220

Pascal Lafourcade et Malika More

25 ÉNIGMES
LUDIQUES
POUR S’INITIER
À LA
CRYPTOGRAPHIE
Découvrez aussi :
- J.-G. Dumas, P. Lafourcade, A. Tichit et S. Varrette, Les blockchains en
50 questions – Comprendre le fonctionnement et les enjeux de cette
technologie, Dunod, 2019.
- J.-G. Dumas, P. Lafourcade, P. Redon, Architectures de sécurité pour
internet – Protocoles, standards et déploiement, Dunod, 2020.
- J.-G. Dumas, J.-L. Roch, S. Varrette, E. Tannier, Théorie des
codes – Compression, cryptage, correction, Dunod, 2018.
- S. Ghernaouti, Cybersécurité – Analyser les risques, mettre en œuvre les
solutions, Dunod, 2019.
- D. Vergnaud, Exercices et problèmes de cryptographie, Dunod, 2018.

Direction artistique : Élisabeth Hébert


Graphisme de couverture : Pierre-André Gualino

© Dunod, 2021, pour ce retirage corrigé


11 rue Paul Bert, 92240 Malakoff
www.dunod.com
ISBN 978-2-10-082998-9
Table des matières

Avant-propos v

1 Les énigmes à résoudre 1

1 Un message dans le texte ☆ . . . . . . . . . . . . . . . . . . . . . . 3

2 Les secrets de Jules ☆ . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Une image mystérieuse ☆☆☆ . . . . . . . . . . . . . . . . . . . . 7

4 Un chiffrement presque allemand ☆☆ . . . . . . . . . . . . . . . . 9

5 Un méli-mélo de caractères ☆ . . . . . . . . . . . . . . . . . . . . . 11

6 Vous avez dit sûr, ... sûr ☆☆ . . . . . . . . . . . . . . . . . . . . . . 13

7 Une modification invisible ☆ . . . . . . . . . . . . . . . . . . . . . . 15

8 Chiffrer deux fois n’est pas deux fois plus sûr ☆☆ . . . . . . . . . 17

9 Le protocole de Diffie-Hellman pour établir une clé ☆☆ . . . . . 19

10 Le partage de Shamir ☆☆☆ . . . . . . . . . . . . . . . . . . . . . . 21

11 Un regroupement de nombres ☆☆☆ . . . . . . . . . . . . . . . . 23

12 Des chiffrés mélangés ☆ . . . . . . . . . . . . . . . . . . . . . . . . . 25

13 Prouver sans dévoiler ☆☆☆ . . . . . . . . . . . . . . . . . . . . . 27

14 Le mythe de l’antivirus ☆☆☆☆ . . . . . . . . . . . . . . . . . . . 29

15 Désassembler une fonction de hachage ☆☆ . . . . . . . . . . . . 31

16 Des images qui en cachent d’autres ☆☆ . . . . . . . . . . . . . . . 33

17 L’homme du milieu ☆☆☆ . . . . . . . . . . . . . . . . . . . . . . . 35

18 La consommation électrique en dit trop ☆☆☆ . . . . . . . . . . 37

19 Le digicode lumineux ☆☆ . . . . . . . . . . . . . . . . . . . . . . . 41

20 Des couples clairs chiffrés ☆☆☆ . . . . . . . . . . . . . . . . . . . 43

21 Un chiffrement malléable ☆☆ . . . . . . . . . . . . . . . . . . . . . 45

22 Payer en bitcoins ☆☆☆ . . . . . . . . . . . . . . . . . . . . . . . . 47

i
25 énigmes ludiques pour s'initier à la cryptographie

23 La solidité d’un mot de passe ☆☆ . . . . . . . . . . . . . . . . . . . 49

24 Un vote naïf ☆☆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

25 Des indices qui deviennent compromettants ☆☆ . . . . . . . . . 53

2 Les indices ... en cas de besoin 55

1 Indices de niveau 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2 Indices de niveau 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3 Indices de niveau 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3 Les solutions 71

1 Un message dans le texte ☆ . . . . . . . . . . . . . . . . . . . . . . 73

2 Les secrets de Jules ☆ . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3 Une image mystérieuse ☆☆☆ . . . . . . . . . . . . . . . . . . . . 81

4 Un chiffrement presque allemand ☆☆ . . . . . . . . . . . . . . . . 85

5 Un méli-mélo de caractères ☆ . . . . . . . . . . . . . . . . . . . . . 91

6 Vous avez dit sûr, ... sûr ☆☆ . . . . . . . . . . . . . . . . . . . . . . 95

7 Une modification invisible ☆ . . . . . . . . . . . . . . . . . . . . . . 99

8 Chiffrer deux fois n’est pas deux fois plus sûr ☆☆ . . . . . . . . . 107

9 Le protocole de Diffie-Hellman pour établir une clé ☆☆ . . . . . 111

10 Le partage de Shamir ☆☆☆ . . . . . . . . . . . . . . . . . . . . . . 115

11 Un regroupement de nombres ☆☆☆ . . . . . . . . . . . . . . . . 119

12 Des chiffrés mélangés ☆ . . . . . . . . . . . . . . . . . . . . . . . . . 123

13 Prouver sans dévoiler ☆☆☆ . . . . . . . . . . . . . . . . . . . . . 127

14 Le mythe de l’antivirus ☆☆☆☆ . . . . . . . . . . . . . . . . . . . 133

15 Désassembler une fonction de hachage ☆☆ . . . . . . . . . . . . 137

16 Des images qui en cachent d’autres ☆☆ . . . . . . . . . . . . . . . 141

17 L’homme du milieu ☆☆☆ . . . . . . . . . . . . . . . . . . . . . . . 147

18 La consommation électrique en dit trop ☆☆☆ . . . . . . . . . . 151

19 Le digicode lumineux ☆☆ . . . . . . . . . . . . . . . . . . . . . . . 157

20 Des couples clairs chiffrés ☆☆☆ . . . . . . . . . . . . . . . . . . . 159

ii
Table des matières

21 Un chiffrement malléable ☆☆ . . . . . . . . . . . . . . . . . . . . . 163

22 Payer en bitcoins ☆☆☆ . . . . . . . . . . . . . . . . . . . . . . . . 167

23 La solidité d’un mot de passe ☆☆ . . . . . . . . . . . . . . . . . . . 173

24 Un vote naïf ☆☆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

25 Des indices qui deviennent compromettants ☆☆ . . . . . . . . . 181

Tables des figures 189

Crédits photographiques 191

Liste des abréviations 193

Bibliographie 195

Glossaire 201

Index 203

iii
iv
Avant-propos

Ces 25 énigmes sont des challenges que nous vous proposons pour vous faire

découvrir des concepts importants de la cryptographie en vous amusant. Elles

nécessitent plus ou moins de logique, de réflexion et d’astuce. Cependant, elles

sont toutes accessibles à l’aide d’outils mathématiques abordés au lycée et ne

demandent a priori pas de connaissances particulières en cryptographie ni en

sécurité informatique.

Pour chaque énigme, nous avons conçu trois niveaux progressifs d’indices,

qui se trouvent dans un chapitre séparé. Ainsi, si après avoir commencé à réflé-

chir, vous êtes bloqué, vous trouverez avec les indices une aide graduée pour

vous donner un coup de pouce et vous mettre sur la piste de la solution.

La difficulté des énigmes est indiquée par des étoiles. Le niveau facile est re-

présenté par ☆. Les énigmes de ce niveau sont accessibles à tous, moyennant


parfois un peu de persévérance.

Le niveau intermédiaire est noté par ☆☆. Dans ces énigmes, la réflexion ou
les calculs sont plus complexes, et il arrive que la solution repose sur une astuce

un peu moins évidente que dans le premier niveau.

Le niveau ☆☆☆ est le niveau difficile. Il comporte des énigmes qui néces-
sitent beaucoup de réflexion ou qui demandent des connaissances en mathé-

matiques de la fin du lycée. Ces énigmes de niveau ☆☆☆ se rapprochent du



mode CTF , qui est le mode de fonctionnement des challenges de hacking.

Enfin, une énigme bien plus difficile que les autres a été notée ☆☆☆☆.
Elle consiste en effet à démontrer un résultat surprenant et important en sécu-

rité informatique. Les trois indices seront-ils suffisants pour permettre aux lec-

teurs les plus habiles de la résoudre ?

Ces 25 énigmes visent à introduire des concepts de cryptographie ou de sé-

curité informatique. Nous commençons par les énigmes dont les notions sous-

jacentes sont les plus anciennes, remontant parfois à l’Antiquité. Cependant,

seules six des vingt-cinq énigmes sont datées d’avant 1945. Ainsi, la majorité

des énigmes de cet ouvrage portent sur des idées apparues après les débuts de


Capture The Flag

v
25 énigmes ludiques pour s'initier à la cryptographie

♯ ∤
l’informatique en 1946 et ceux d’Internet en 1969. Les thèmes des énigmes

abordent des chiffrements historiques, des chiffrements modernes, mais aussi

les attaques par canaux cachés et les principes de la cryptomonnaie Bitcoin.

La plus grande partie de cet ouvrage est constituée des solutions détaillées

de toutes les énigmes. En guise de clin d’œil, chaque solution est accompagnée

d’une citation scientifique ou littéraire en rapport avec l’énigme ou sa solution.

Les énigmes, indices et solutions contiennent de nombreux encarts biogra-

phiques, historiques, techniques, mathématiques ou culturels en rapport avec

le concept présenté. Ils sont représentés respectivement par :

1
JAN

En fin d’ouvrage, un glossaire explicite les termes techniques importants in-

troduits tout au long du texte.



Enfin, ces énigmes sont issues de 50 énigmes cryptographiques en ligne .

Elles s’inscrivent dans la démarche de l’Informatique Sans Ordinateur, initiée



par Computer Science Unplugged , qui vise à proposer des activités ludiques,

réalisables sans ordinateur, pour découvrir des concepts de la science infor-

matique. Elles sont issues de plusieurs années d’expérimentations, à l’occasion

d’activités de diffusion de la culture scientifique, auprès d’élèves du CM2 à la

terminale, d’étudiants, d’enseignants et du grand public.

Remerciements : Nous remercions Cédric Lauradoux pour nous avoir mon-

tré la voie pour la création de ces énigmes. Nous adressons aussi nos remer-

ciements à Guenaëlle De Julis, Emmanuel Delay et Matthieu Giraud pour leurs

contributions à l’élaboration du contenu de ce livre. De plus, nous exprimons

également notre gratitude à Flavien Binet, Jean-Luc Blanc, Olivier Blazy, Orel

Cosseron, Colette More, Benoît Petitcollot, Maxine Pouzet, Léo Robert, Elias

Tahhan-Bittar et Christel Tahhan-Doumat pour leurs commentaires et sugges-

tions constructives, à la suite de leurs relectures assidues.

Clermont-Ferrand, le 9 juillet 2021.



Malika More et Pascal Lafourcade .


Le premier ordinateur entièrement électronique, a été construit en 1946 par Presper Eckert et

John William Mauchly. Il s’appele ENIAC pour Electronic Numerical Integrator and Computer.

Le 2 septembre 1969, Len Kleinrock, Stephen Crocker et Vinton Cerf ont, pour la première fois

de l’Histoire, réussi à échanger des données entre deux ordinateurs reliés par un câble. C’est ce qui

a permis par la suite de créér le réseau Arpanet, ancêtre d’Internet.



https://sancy.iut-clermont.uca.fr/~lafourcade/mission-crypto.html

https://csunplugged.org/

Nous serons heureux de répondre à vos questions par email.

vi
Depuis toujours, des groupes cachés utilisent des codes,

saurez-vous les percer ?

vii
viii
1

Les énigmes à
résoudre
2
1 Un message dans le texte ☆

Le principe de la stéganographie est de cacher un message ou un


mot comme le ferait un habile
magicien avec un objet. Et ainsi faire croire que la réalité n'
est pas ce qu'elle est. Pour cela,
le magicien envoie un
message au spectateur pour détourner son attention de l'objet
caché qu'il ne doit pas voir, par exemple un lapin
dans son chapeau ou une colombe dans sa manche. Dans
cette prestidigitation comme en stéganographie le secret de l'
énigme réside dans l'art de dissimuler les choses.

Énigme 1 : Ce texte cache un message secret, saurez-vous le découvrir ?

Stéganographie

Cette énigme illustre la différence entre cryptographie et stéganogra-

phie. La stéganographie, du grec ancien steganós (couvert, qui ne laisse

rien dépasser) et graphein (écrire), signifie que le message secret est

simplement dissimulé, mais reste lisible par toute personne qui sait com-

ment le trouver. Par opposition, en cryptographie, qui vient aussi du grec

ancien kruptos (caché) et graphein (écrire), le message secret n’est pas

directement accessible : pour pouvoir le lire, le destinataire doit effec-

tuer une transformation plus ou moins complexe en fonction des garan-

ties de sécurité souhaitées.

3
25 énigmes ludiques pour s'initier à la cryptographie

Hérodote (484-445 avant J.-C.)


1
JAN

Hérodote est considéré comme le premier historien. Dans ses ouvrages,

il relate deux techniques de stéganographie :

▶ dans le Livre VII au paragraphe 239, il écrit que Démarate envoie un

message caché à Xerxès. Le message est d’abord écrit sur une plan-

chette de bois, puis recouvert de cire pour que la tablette semble

être vierge et ainsi pouvoir la transmettre en toute discrétion ;

▶ dans le Livre V au paragraphe 35, Hérodote indique que Histiée uti-

lise un esclave pour transmettre un message à son gendre Arista-

goras. Il rase la tête de l’esclave, lui tatoue le messsage sur la peau

du crâne, et attend que ses cheveux repoussent. Ensuite, il l’envoie

à Aristagoras, qui n’aura plus qu’à lui raser la tête de nouveau pour

accéder au message. L’esclave peut ainsi faire passer en toute sé-

curité le message de son maître à travers les lignes ennemies.

Dans ces deux exemples, les messages secrets sont dissimulés à la vue

des indésirables, mais ils restent lisibles par toute personne qui sait com-

ment les trouver.

Un autre exemple de dissimula-

tion des messages secrets, bien

connu et simple à réaliser à la mai-

son, est l’utilisation d’encre invi-

sible, aussi appelée encre sympa-

thique. Cette technique était déjà

employée au premier siècle avant

J.-C., comme le décrit Pline l’An-

cien dans ses textes. Pour cela, il


Figure 1 – Hérodote.
suffit d’écrire sur un rouleau de

papyrus (une feuille de papier blanche fait aussi l’affaire) avec du lait de

l’euphorbe tithymallus (le jus de citron fonctionne aussi). Une fois que

le message a séché, la feuille est comme vierge et le texte est dissimulé.

Pour révéler le texte, il suffit de chauffer légèrement la feuille à l’aide de

la flamme d’une lampe à huile (ou à l’aide d’un fer à repasser). La chaleur

va faire apparaître comme par magie le message écrit en marron.

4
2 Les secrets de Jules ☆

Énigme 2 : Dans la cave d’un bâtiment de l’U.S. Navy, des brouillons de lettres,

certaines chiffrées et d’autres en clair, ont été retrouvés dans un vieux carton.

À l’aide la lettre de la figure 2, saurez-vous décrypter celle de la figure 3 ?

Le 26 avril 1942 à Washington D.C.,

À qui de droit,

J’ai fait des découvertes importantes sur la cryptanalyse de la machine

ENIGMA. J’ai utilisé mes connaissances en cryptographie antique pour

protéger mes travaux des curieux, mais je n’ai aucun doute qu’un expert en

cryptographie saura y accéder.

Elizebeth Smith Friedman.

Post-Scriptum : Portez ce vieux whisky au juge blond qui fume.

Figure 2 – Un brouillon en clair retrouvé dans la cave.

Oh 28 dyulo 1942 d Zdvklqjwrq G.F.,

D txl gh gurlw,

Pd ghfrxyhuwh sruwh vxu od vwuxfwxuh gh od pdfklqh HQLJPD. Hooh shu-

phw gh idluh ghv vxffhvvlrqv gh vxevwlwxwlrqv hw gh shupxwdwlrqv. M’dl

dxvvl o’lpsuhvvlrq txh od vwuxfwxuh ghv phvvdjhv hfkdqjhv hvw vrxyhqw od

phph, fh txh qrxv doorqv hvvdbhu g’hasorlwhu.

Holchehwk Vplwk Iulhgpdq.

Srvw-Vfulswxp : Sruwhc fh ylhxa zklvnb dx mxjh eorqg txl ixph.

Figure 3 – Un brouillon chiffré retrouvé dans la cave.

5
25 énigmes ludiques pour s'initier à la cryptographie

ENIGMA
1
JAN

Avant la création de machines électroméca-

niques, les chiffrements étaient réalisés à la main

par des personnes instruites qui savaient écrire.

Avec les progrès de la mécanique, des ma-

chines à chiffrer utilisant des roues et des en-

grenages, et plus tard l’électricité, ont été fa-

briquées. Une des plus célèbres est la machine

ENIGMA, utilisée par l’armée allemande durant

la Seconde Guerre mondiale. De nos jours, les

chiffrements sont effectués de manière électro- Figure 4 – Machine

nique : par exemple, les serveurs des sites inter- ENIGMA.



net en https (voir page 155) chiffrent l’ensemble des communications

de façon transparente pour les utilisateurs.


HyperText Transfer Protocol Secure

Elizebeth Smith Friedman (1892-1980)

Elizebeth Smith Friedman est considé-

rée comme la première femme cryptana-

lyste aux États-Unis. Le livre The Woman

Who Smashed Codes par Jason Fagone

(non traduit en français) retrace sa vie.

Travaillant à l’U.S. Navy, elle a participé à

la cryptanalyse de la machine ENIGMA Figure 5 – Elizebeth Smith

utilisée par l’armée allemande pour chif- Friedman.

frer les communications pendant la Seconde Guerre mondiale (cette

histoire est racontée dans l’ouvrage de Simon Singh [Sin99]). Les lettres

utilisées dans cette énigme sont complètement imaginaires.

La méthode de chiffrement de la machine ENIGMA a été cassée par les

cryptanalystes de l’armée britannique travaillant à Bletchley Park en par-

tie grâce à une idée similaire à celle utilisée pour cette énigme. En effet,

les militaires allemands commençaient par la date dans leurs communi-

cations quotidiennes et terminaient par « Heil Hitler ». Ces répétitions ont

grandement aidé les chercheurs anglais à cryptanalyser ces échanges.

6
Une image mystérieuse
3
☆☆☆

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMNOxdoIIodkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMWOc ,okKXNNNXOOOOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMNx, oKWWNKOOOOOOXXNWWKONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMOdOOWNNOkkOKXXXKOxdddkOXKONMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMOkKOWNOkNMMMMMMMMMMWKxccdkKkKMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMWoKxNXxOMMMMMMMMMMMMMMMXxcIOOkKMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMOkOxMXoMMMMMMMMMMMMMMMMMWkdoOKdNMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWXdMMMMMMMMMMMMMMMMMMN1dxNOkMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWXdMMMMMMMMMMMMMMMMMMMckdWXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWKdMMMMMMMMMMMMMMMMMMMIkoNXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWKdMMMMMMMMMMMMMMMMMMMIkoNXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxNKdMMMMMMMMMMMMMMMMMMMIkoXXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxNKdMMMMMMMMMMMMMMMMMMMIkoXXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxNKdMMMMMMMMMMMMMMMMMMMIkoXXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMk0kxWKdMMMMMMMMMMMMMMMMMMMoxIOKkMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxWKdMMMMMMMMMMMMMMMMMMMWNNNNWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxWXoMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMKxkOxoxkOOkOOOOkOOOOKKKKKKXXXXXXXXKKOxkXMMMMMMMMMMMMMMMMMMMMM
MMMMMMMddkxxckKKKXXKOoIIodOKNNNNNNNNWWWWWWWN, dMMMMMMMMMMMMMMMMMMMMM
MMMMMMModkxdckKKKKXKOdooodOKXNNNNNNNNNWWWWWN, dMMMMMMMMMMMMMMMMMMMMM
MMMMMMModkxdckKKKKXKOdoooxOKXNNNNNNNNNNWWWWN, xMMMMMMMMMMMMMMMMMMMMM
MMMMMMMddOxxIkKKKKXKOdoodxOKXNNNNNNNNNNNWWWN, xMMMMMMMMXkxdoxKMMMMMM
MMMMMMMdxOkxIkKKKKKKOdoodxOKXXXXXXXNNNNNNNWNIckMMMMMKdc:cc :,..oWMMM
MMMMMMMxxOkxIkKKKKKKOdooddxxxxx,. ,xOOOKKXNNo1OMMWOIccIxOXXk':cOMMMM
MMMMMMMkxOkdIxOOKKKOkdoooIIIIc. ..'''''..'.'.IocIodKWMMMMM:cxOMMMM
MMMMMMMkxkxdIxOOOOOOkdoIoodxxdI. ..''''',.:IoooodOMMMMMMMO:dkNMMMM
MMMMMMMOdkxdIxOO0OOOkoooodkOOOO. 'OkkxxdooI..:ccdOMMMMMMMOcdxKMMMMM
MMMMMMMOdxdoIdOOOOOOxoooodkOOOO. .xOOOOOOOOoIx:..OMMMMMXdcoxKMMMMMM
MMMMMMMOdxdoIdkkkkOkxoooodkOOOx. .IOOOOOOOOoIO:..:KXOkoc1okWMMMMMM
MMMMMMMOdxdoIdkkkkkkxoooodxOOOOIIoxOOOOOOOKOoIOOcI:.:cccoONMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxoooooxkOOOOOOOOOOOOOOKOoIOMNOkxxxOXMMMMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxoIIooxkOOOOOOOOOOOOOOKOoIOMMMMMMMMMMMMMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxoIIIodkOOOOOOOOOOOOOOOOIIOMMMMMMMMMMMMMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxIIIIIdkOOOOOOOOOOOOOkdIcxXWWWMMMMMMMMMMMMMMMMMM
MMMMMMW0oxdoIoxkkkkkdIcccIdkkkxxdooIIccIIodkOKXXNNWWWWWMMMMMMMMMMMMM
MMWWWWWXxoooIIxdddooc..::ccccccIodxkOOOOOKKKXXXNNNNWWWWWWWMMMMMMMMMM
MMMWWWNXKOxoIIIIIIoodxxkOOOOOOOKKKKKKKXXXXXXXNNNNNNWWWWWWWWWMMMMMMMM
MMMMWWWWNNNXXXXKKKKKKKKXXXXXXXXXXXXXXXXNNNNNNNNNNWWWWWWWWWWWWMMMMMMM


Énigme 3 : Cette image en ASCII art cache un nombre secret compris entre

32 et 63. Saurez-vous le découvrir ?


American Standard Code for Information Interchange

7
25 énigmes ludiques pour s'initier à la cryptographie

ASCII art

L’image utilisée dans cette énigme est un exemple de ce qu’on appelle

l’art ASCII, ou ASCII art en anglais. Il s’agit tout simplement d’utiliser des

caractères pour composer des dessins. Cette pratique est appréciée des

geeks et remonte aux débuts de l’informatique.

L’image de cette énigme a été générée avec l’utilitaire jp2a sous Linux,

qui permet de transformer une image au format JPEG en ASCII art.

Voici quelques exemples générés avec un autre utilitaire Linux appelé

figlet ou sur le site https://patorjk.com/software/taag

_ ____ ____ ___ ___


/ \ / ___| / ___|_ _|_ _|
/ _ \ \___ \| | | | | |
/ ___ \ ___) | |___ | | | |
/_/ \_\____/ \____|___|___|

_|_| _|_|_| _|_|_| _|_|_| _|_|_|


_| _| _| _| _| _|
_|_|_|_| _|_| _| _| _|
_| _| _| _| _| _|
_| _| _|_|_| _|_|_| _|_|_| _|_|_|

.d8b. .d8888. .o88b. d888888b d888888b


d8' `8b 88' YP d8P Y8 `88' `88'
88ooo88 `8bo. 8P 88 88
88~~~88 `Y8b. 8b 88 88
88 88 db 8D Y8b d8 .88. .88.
YP YP `8888Y' `Y88P' Y888888P Y888888P

_____ _____ _____ _____


/\
/ ____|/ ____|_ _|_ _|
/ \ | (___ | | | | | |
/ /\ \ \___ \| | | | | |
/ ____ \ ____) | |____ _| |_ _| |_
/_/ \_\_____/ \_____|_____|_____|


Joint Photographic Experts Group

8
Un chiffrement presque
4
allemand ☆☆

Le 27 avril 1942 à Bletchley Park,

À qui de droit,

Nous avons obtenu une machine ENIGMA et sommes en bonne voie pour

en percer les secrets.

Alan Turing.

Post-Scriptum : Buvez de ce whisky que le patron juge fameux.

Figure 6 – Une lettre en clair retrouvée dans la cave.

DX AV VX VF AA GG FX DF DX VG XX XA VV AA AD DX AV GD AF DD DX

AV VA FG AA FX DV,

AA FV GF DF AG AV AG FX FF DF GD,

FA AV FX AF DF FG FF GF FX AF AV GA FD FF GF GG AV DX DX AV GA,

FD FF GF GA AA GG FF FD GA FX AV GF GA GA DF AA AG AV AF DD DF

AX AX FX AV FX FV GF AV DX FV GF AV GA FA AV GA GA AA DA AV GA

AV FD GG FF VA AV GA FG AA FX DX AV GA AA DX DX AV FA AA FD AG

GA.

AA DX AA FD GD GF FX DF FD DA.

FG FF GA GD - GA AF FX DF FG GD GF FA : AD GF GG AV VD AG AV AF

AV GV DD DF GA DV VA FV GF AV DX AV FG AA GD FX FF FD DG GF DA

AV AX AA FA AV GF GX.

Figure 7 – Une lettre chiffrée retrouvée dans la cave.

9
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 4 : Dans le carton d’archives de la Seconde Guerre mondiale retrouvé

dans la cave d’un bâtiment de l’US Navy qui contenait les brouillons des lettres

de l’énigme 2 page 5, il y avait aussi les deux lettres des figures 6 et 7. Saurez-

vous décrypter celle de la figure 7 ?

Alan Turing (1912-1954)

Alan Turing, mathématicien britannique,

est un des pères fondateurs de la science

informatique. Il a apporté des contribu-

tions fondamentales, souvent préfigura-

trices, à de nombreux domaines, depuis

l’informatique théorique jusqu’à l’intelli-

gence artificielle, la construction des pre-

miers ordinateurs, et la morphogénèse.

Ses contributions en cryptographie

sont restées complètement inconnues,

même dans le monde scientifique,


Figure 8 – Alan Turing.
jusqu’au milieu des années 1970, car elles

relevaient du secret militaire, avant d’être déclassifiées progressivement.

En effet, il a travaillé pendant la Seconde Guerre mondiale au centre

de recherches secret de Bletchley Park en Angleterre (aujourd’hui

devenu un musée), où des scientifiques et des ingénieurs ont réussi la

cryptanalyse du chiffrement de la machine ENIGMA, utilisée par l’armée

allemande (voir figure 4 page 6). Les lettres (complètement imaginaires)

de cette énigme font référence à cette période passionnante de la vie

d’Alan Turing. En 2014, elle a été racontée dans le film The Imitation

Game, avec Benedict Cumberbatch dans le rôle de Turing.

Concrètement, il s’agit de trouver le réglage des différents rotors de la

machine ENIGMA, qui est le même un jour donné pour toutes les ma-

chines, mais qui change tous les jours. Pour cela, les chercheurs uti-

lisent leur connaissance du fonctionnement de la machine, mais aussi

des imprudences dans la rédaction des messages. Cependant, pendant

de longs mois, le processus est trop lent, rendant leurs efforts inutiles, car

la clé n’est pas découverte avant le changement de code quotidien.

10
Un méli-mélo de caractères
5

92Leirav49l1aW2ànishnogt.CD.

iuAqrdde,toi

iaJ’ssaumeiruqareuéqAslemellsdanliutneissetdutaspsceénhouqtiopeseru

rerndrclaatypylnalpseidusciff.eil

ziElteebimhSrFthmdie.an

Figure 9 – Un brouillon chiffré retrouvé dans la cave.

Énigme 5 : Le brouillon de lettre de la figure 9 a été trouvé dans la cave d’un

bâtiment de l’U.S. Navy, dans le même carton d’archives que les messages des

énigmes 2 page 5 et 4 page 9. Saurez-vous le décrypter ?

11
12
6 Vous avez dit sûr, ... sûr ☆☆

Il existe une méthode de chiffrement extrêmement sûre pour échanger entre

deux personnes un nombre secret M (par exemple 8). Elles choisissent simple-
ment ensemble à l’avance un nombre K (disons 5) qui leur servira de clé secrète
partagée. Le chiffrement de M consiste à calculer le nombre C = M + K (c’est-

à-dire 13), et le déchiffrement de C s’effectue en calculant C − K = (M + K ) − K

(et le résultat est bien 8). Ne connaissant pas K , un intrus qui intercepterait C

n’aurait aucun moyen de découvrir M . Dans la suite de cette énigme, le mes-

sage M chiffré avec la clé K (appelé C ci-dessus) est noté {M }K . Cette notation

classique en cryptographie est utilisée plusieurs fois dans ce livre.

Cependant, Alice et Bob veulent éviter de se rencontrer pour choisir K en-

semble. Heureusement, il existe un protocole de communication sans clé par-

tagée permettant de conserver le chiffrement décrit précédemment. Ce pro-

tocole, appelé le protocole à trois passes de Shamir, n’est pas utilisé dans la vie

réelle. Il a été présenté par Carlsen dans l’article [Car94] pour introduire l’at-

taque qui fait l’objet de cette énigme, dite attaque par oracle.

Pour qu’Alice communique un nombre secret M à Bob, ils choisissent chacun


une clé secrète ( K A pour Alice et K B pour Bob) et échangent trois messages :

▶ Alice chiffre le message M avec sa clé KA et envoie le résultat à Bob :

{M }K A qui vaut 51 ;

▶ Bob ne peut pas déchiffrer ce message car il ne connaît pas K A, mais il


chiffre le message reçu avec sa clé secrète K B et envoie le résultat à Alice :
{{M }K A }K B qui vaut 69 ;

▶ Alice déchiffre le message reçu avec sa clé K A et envoie le résultat à Bob :


{M }K B qui vaut 60.

Énigme 6 : Saurez-vous découvrir le nombre secret M?

13
25 énigmes ludiques pour s'initier à la cryptographie

Condition sur le chiffrement utilisé dans ce protocole

Tous les chiffrements ne conviennent pas. En effet, pour qu’Alice renvoie

{M }K B {{M }K A }K B , alors qu’elle ne connaît pas K B , il


lorsqu’elle reçoit

faut que : {{M }K A }K B = {{M }K B }K A . Le message qu’elle reçoit est alors


égal à {{M }K B }K A et elle peut le déchiffrer avec sa clé K A pour obtenir

{M }K B . Le chiffrement de l’énigme possède bien cette propriété.

One Time Pad

Ce chiffrement a été proposé par Gilbert Vernam (1890-

1960) en 1917. Dans son article [Bel11], Steven M. Bellovin

montre que ce chiffrement a été inventé par Frank Miller

trente-cinq ans plus tôt. Il est considéré comme parfaite-

ment sûr, puisqu’il existe une preuve mathématique qu’un

chiffré ne laisse percevoir absolument aucune information



sur le message clair associé. L’acronyme OTP qui se tra- Figure 10

duit par masque jetable, fait référence au fait que, pour – Gilbert

assurer la sécurité du système, la clé ne doit être utilisée Vernam.

qu’une seule fois, et donc changer à chaque nouveau message chiffré.

L’opération qui permet de chiffrer et de déchiffrer les messages s’appelle

le ou exclusif et se note ⊕. Le message M et la clé K sont tous deux écrits


en binaire et ont le même nombre de bits. Le calcul du message chiffré

M ⊕ K se fait bit par bit, avec les règles suivantes : 0⊕0=0, 0⊕1=1, 1⊕0=1,
⊕1=0, comme dans l’exemple ci-dessous.
1

1 0 0 1 1 M
⊕ 0 0 1 1 0 K
1 0 1 0 1 M ⊕K

De plus, pour déchiffrer un message chiffré C , il suffit de calculer


C ⊕ K = M . En effet, il est facile de vérifier que K ⊕ K = 00 …0.
Pour revenir à l’énigme, ce chiffrement peut-être utilisé dans le proto-

cole à trois passes de Shamir, puisqu’il possède bien la propriété que

(M ⊕ K A) ⊕ K B = (M ⊕ K B ) ⊕ K A. Cependant, ce n’est pas recom-


mandé, puisque l’énigme montre qu’il est vulnérable à cette attaque.


One-Time Pad

14
Une modification invisible
7

De nombreux protocoles de communications d’Internet utilisent un code dé-

tecteur et correcteur d’erreurs, qui sert à vérifier que les transmissions de mes-

sages entre deux participants (disons Alice et Bob) ne subissent pas de pertur-

bations (par exemple électromagnétiques, ou des rayures sur un DVD). Suppo-

sons qu’Alice veuille transmettre à Bob le message M suivant :

« Les Grecs ont inventé des codes qui permutent. »

Un nombre N est calculé à partir des caractères du message M , et transmis en


même temps que lui. Pour cette énigme, il est inutile de donner les détails de

ce calcul, et il y a d’ailleurs de nombreuses façons de faire.

À la réception, Bob obtient un message M et un nombre N . Si la transmission


s’est bien passée, M et N sont ceux qui ont été émis par Alice. Cependant, il

arrive que des perturbation se produisent et engendrent des erreurs de trans-



mission. Pour savoir si c’est le cas, Bob recalcule un nombre N à partir des ca-

ractères du message M qu’il a reçu. Ensuite, il compare N N reçu.
au nombre

S’il y a une différence entre N et N , Bob est certain que la transmission a été
perturbée : il détecte une erreur. Si en revanche les deux nombres sont égaux,

alors Bob sait que la transmission s’est probablement déroulée normalement.

Plusieurs procédures de détection d’erreurs possèdent la propriété que le

nombre N associé à un message M ne dépend pas de l’ordre des caractères

dans ce message. En se servant de cette propriété, un intrus peut intercepter

le message M d’Alice et le modifier, de sorte que Bob ait l’impression de rece-


voir un message intact alors qu’il a en fait été perturbé. Ces codes détectent très

bien les erreurs involontaires de transmission, mais il est possible pour un intrus

d’introduire volontairement des changements dans les messages, à condition

de respecter les règles pour ne pas être détecté.

Énigme 7 : Saurez-vous découvrir les deux lettres qu’un plaisantin malicieux

peut intervertir dans la phrase envoyée par Alice pour en modifier le sens ?

15
25 énigmes ludiques pour s'initier à la cryptographie

Wesley Peterson (1924-2009)

Wesley Peterson est un mathématicien et infor-

maticien américain, qui a inventé en 1961 le code

correcteur d’erreurs appelé Contrôle de redon-



dance cyclique (CRC ). En 1999, il a reçu le Prix

Japonais pour ses travaux sur les codes correc-

teurs. Le code CRC est utilisé dans de nombreux

standards d’Internet pour s’assurer que les mes-

sages sont transmis sans modification. Figure 11 – Wesley

Peterson.

Cyclic Redundancy Check


Ce prix récompense « les accomplissements originaux et exceptionnels en sciences

ou en technologie ayant fait avancer les frontières de la connaissance et servi la cause de la

paix et de la prospérité de l’humanité ».

La scytale

Une des premières techniques cryptographiques connues est l’utilisa-

tion de la scytale spartiate, dès le Vème siècle avant J.-C., par les habi-

tants de la cité grecque. Il s’agit d’un bâton, autour duquel est enroulée

une lanière de cuir. L’expéditeur écrit son message sur la lanière, puis la

déroule : les lettres du texte original sont ainsi permutées. La lanière peut

alors être transportée facilement, par exemple en l’utilisant comme cein-

ture. Pour déchiffrer, le destinataire l’enroule à son tour sur un bâton de

même diamètre, ce qui lui permet de retrouver le message clair.

16
Chiffrer deux fois n’est pas
8
deux fois plus sûr ☆☆

Avec une méthode de chiffrement symétrique, les algorithmes de chiffre-

ment et de déchiffrement sont publics, et la sécurité repose sur une clé secrète

K , qui sert à la fois à chiffrer et à déchiffrer.


Pour chiffrer le message M à l’aide de la clé secréte K , Alice calcule le chiffré

C = E NC (K , M ). Pour déchiffrer le message chiffré C à l’aide de la clé K , Bob


calcule M = DE C (K , C ) . Un attaquant a découvert M et C , mais le chiffrement

ne permet pas d’en déduire K . Or l’attaquant voudrait connaître la clé K pour

pouvoir lire les prochains messages chiffrés d’Alice. Il sait seulement que K est

un nombre composé de n bits en binaire.

Pour découvrir K , l’attaquant décide d’essayer de chiffrer M avec toutes les

valeurs possibles de la clé pour tenter de retrouver C : c’est une attaque par re-

cherche exhaustive. Puisqu’il sait que la longueur de la clé qu’il cherche est de

n bits, il devra tester, dans le pire des cas, tous les nombres composés de n bits,
n
et il y en a 2 .
Pour avoir une meilleure sécurité, Alice a l’idée de chiffrer deux fois son mes-

sage avec deux clés différentes K1 et K2 :

C = E NC (K2 , E NC (K1 , M ))

De cette façon, elle se dit que, en supposant que K1 et K2 comportent toutes les
n n 2n
deux n bits, l’attaquant devra effectuer dans le pire des cas 2 × 2 = 2 tests
pour découvrir les deux clés.

Énigme 8 : Saurez-vous vous montrer un attaquant astucieux, et trouver un

moyen pour découvrir les deux clés beaucoup plus efficacement ?

E NC (K , M) et DE C (K , C ) pour représenter le résultat de la procédure de chif-



Les notations

frement d’un message M avec une clé K (respectivement de déchiffrement d’un chiffré C avec une
clé K ) sont classiques en cryptographie. E NC est l’abréviation de to encrypt, qui signifie chiffrer en

anglais, et DE C est celle de to decrypt, qui signifie déchiffrer.

17
25 énigmes ludiques pour s'initier à la cryptographie

Principe de Kerckhoffs (1835-1903)


1
JAN

Dans cette énigme, il est précisé que les algorithmes de chiffrement et

de déchiffrement sont publics, et que la sécurité repose sur le secret par-

tagé de la clé de chiffrement/déchiffrement. Il s’agit d’un principe essen-

tiel en cryptographie moderne.

En 1883, dans son essai La Cryptographie militaire, le linguiste et crypto-

graphe néerlandais Auguste Kerchoffs propose six règles pour la crypto-

graphie. Le second principe qu’il établit est le plus célèbre : il stipule que

la sécurité d’un système cryptographique doit dépendre uniquement de

la clé secrète et non du secret de l’algorithme de chiffrement. Ce pré-

cepte, précurseur pour son temps, est de nos jours systématiquement

pris en compte en cryptographie. Par exemple, les algorithmes de chif-

frement et de déchiffrement des standards cryptographiques modernes


∗ ♯
comme RSA ou AES respectent ce principe et sont connus de tous.


Rivest Shamir Adelman


Advanced Encryption Standard

Chiffrements pour la téléphonie

Les chiffrements A3, A8 et A5 ont été développés pour sécuriser les

communications téléphoniques par les opérateurs entre 1982 et 1991, et

n’ont jamais été publiés officiellement. Malgré cela, des travaux d’analyse

des appareils les utilisant ont permis de découvrir les algorithmes cor-

respondants et ensuite d’en réaliser la cryptanalyse. En 2006 et 2007,

les constructeurs ont décidé de ne plus les utiliser, car ils avaient trop de

failles connues. Cet exemple montre que ces chiffrement n’étaient pas

sûrs et que la sécurité d’un chiffrement ne doit pas reposer sur le fait que

son algorithme est tenu secret. Il est préférable que les algorithmes cryp-

tographiques soient publics pour que la communauté scientifique puisse

les étudier et apporter des garanties de sécurité, ou trouver des failles

éventuelles. Les meilleurs exemples sont le chiffrement RSA ou le stan-

dard AES, qui sont considérés comme sûrs, car ils sont largement étudiés

et se sont montrés résistants, à ce jour, à de nombreuses attaques.

18
Le protocole de Diffie-

9 Hellman pour établir une

clé ☆☆

Alice et Bob souhaitent convenir ensemble d’une clé secrète pour chiffrer

leurs futures communications, sans pour autant prendre le risque de se rencon-

trer. Ils vont pour cela utiliser le protocole de Diffie-Hellman pour établir une clé

partagée, détaillé ci-dessous.

Alice et Bob ont accès à deux nombres publics : un nombre premier p et un


nombre compris entre 2 et p − 1, appelé générateur et noté g . Le nombre pre-
mier p est très grand pour assurer la sécurité.
Alice tire un entier aléatoire a compris entre 2 et p − 1, et Bob tire un entier

aléatoire b compris entre 2 et p − 1. Le protocole de Diffie-Hellman pour échan-

ger une clé fonctionne comme suit :

a
1. Alice envoie à Bob : le reste ga de la division de g par p (c’est un entier

compris entre 0 et p − 1)
b
2. Bob envoie à Alice : le reste gb de la division de g par p

Un intrus a accès aux nombres ga et gb échangés par Alice et Bob. Cependant,


lorsque p et g sont très grands, le temps de calcul nécessaire pour découvrir la
valeur de a à partir des valeurs de p , g et ga , même avec les meilleurs ordinateurs,

est beaucoup trop long pour que cela soit envisageable.

Alice et Bob calculent ensuite un nombre commun gab : ce nombre est le reste
(gb )
a
de la division de par p (pour Alice), qui est aussi égal au reste de la division
(ga )
b
de par p (pour Bob).
Ils échangent ensuite des messages chiffrés avec cette clé partagée gab .

Énigme 9 : Saurez-vous imaginer comment un intrus, qui peut lire, intercepter

ou modifier les messages échangés entre Alice et Bob, peut déchiffrer toutes

leurs futures communications ?

19
25 énigmes ludiques pour s'initier à la cryptographie

Whitfield Diffie (1944-) et Martin Hellman (1945-)

Ce protocole a été proposé en

1976 par Whitfield Diffie et Martin

Hellman dans leur article [DH76].

En 2015, ils ont obtenu le Prix

Turing pour l’ensemble de leurs

contributions, en particulier l’at-

taque dite Meet in the middle

présentée dans l’énigme 8

page 17, mais aussi le protocole


Figure 12 – Whitfield Diffie et
de Diffie-Hellman pour échanger
Martin Hellman.
une clé. Il permet à Alice et Bob

de construire une nouvelle clé secrète en n’échangeant qu’un seul

message chacun. Ce protocole est utilisé dans les communications



sécurisées sur Internet, par exemple dans le protocole TLS qui permet

d’accéder à un site web en chiffrant les données échangées entre le



serveur et le client. En 1994, ils ont aussi reçu le Prix EFF Pioneer Award,

qui honore les personnes ayant contribué à l’émancipation des individus

grâce à l’informatique.


Transport Layer Security


Electronic Frontier Foundation

20
Le partage de Shamir
10
☆☆☆

En 1979, le cryptographe israélien Adi Shamir a inventé une technique élé-

gante pour qu’un nombre secret ne soit accessible que si au moins k personnes
collaborent. Cette technique est appelée le partage de secret.

Pour illustrer le fonctionnement de cette méthode avec k = 3, il suffit que


chacune des personnes impliquées reçoive les coordonnées (x , y ) d’un point
du plan, différent pour chacun. Ces points ne sont pas choisis au hasard : ils ap-

partiennent tous à une certaine courbe dont l’équation est de la forme :

2
y = ax + bx + s

Les paramètres a, b et s ne sont pas donnés, et le nombre secret est s , le terme


constant de l’équation de cette courbe.

Alice, Bob et Carol ont respectivement reçu les points :

▶ A = (−2, −2),
▶ B = (1, 4),
▶ C = (2, 2).
Énigme 10 : Saurez-vous découvrir le nombre secret s?

Adi Shamir (1952-)

Adi Shamir est un des trois inventeurs du chiffrement RSA. En 2002, il a

obtenu le Prix Turing avec ses deux collègues (Ronald Rivest et Leonard

Adleman) pour cette découverte en 1977.

Parmi ses nombreuses autres contributions, en 1986, avec Amos Fiat,

il a proposé la transformation dite de Fiat-Shamir pour rendre non-

interactive une preuve à divulgation nulle de connaissance interactive

(voir l’énigme 13 page 27 et sa solution page 127). En 1990, avec Eli Biham,

il a introduit une nouvelle technique d’attaque des chiffrements symé-

triques, appelée la cryptanalyse différentielle. Il est aussi à l’origine de la

21
25 énigmes ludiques pour s'initier à la cryptographie

cryptographie visuelle avec Moni Naor (1961-) en 1994 (voir l’énigme 16

page 33 et sa solution page 141).

Récemment, en 2014, il a également pro-

posé une technique de cryptanalyse par

canaux cachés (voir l’énigme 18 page 37 et

sa solution page 151) reposant sur une ana-

lyse acoustique des ordinateurs. En effet,

en écoutant simplement le bruit émis par le

processeur d’un ordinateur qui déchiffre un

message avec l’algorithme RSA, Adi Shamir

et ses collaborateurs ont pu retrouver la clé

secrète utilisée.

Pour en revenir à cette énigme, en 1979,


Figure 13 – Adi Shamir.
dans son article de deux pages How to

Share a Secret [Sha79], Adi Shamir invente le protocole de partage de

secret utilisé dans cette énigme, qui porte désormais son nom. Ce pro-

tocole permet de partager un nombre secret s entre un nombre quel-

conque de personnes, de telle sorte que, dès qu’au moins k d’entre elles
collaborent, elles sont capables de découvrir le secret s . Dans son article,
Adi Shamir présente son protocole comme une solution originale au pro-

blème suivant, proposé par Chung Laung Liu, dans un ouvrage d’intro-

duction à la combinatoire publié en 1968.

« Onze scientifiques travaillent sur un projet secret. Ils souhaitent enfer-

mer les documents dans une armoire afin que celle-ci puisse être ouverte

si et seulement si au moins six des scientifiques sont présents. Quel est le

plus petit nombre de cadenas nécessaires ? Quel est le plus petit nombre

de clés de cadenas que chaque scientifique doit posséder ? »

22
Un regroupement de
11
nombres ☆☆☆

255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255


0 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 0 0 0
0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0
0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0
0 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 0 0 0
255 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 255 255 255 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 255 255 255 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 255 255 255 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 255 255 255 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 255 255 255 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 0 0 0 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 255 0 0 255 0 0 0 0 0
255 255 255 255 255 255 0 0 0 255 0 0 0 0 0 0 0 0 255 255 255
255 255 255 255 255 255 0 0 0 255 0 0 255 0 0 255 0 0 0 0 0
255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 255 255 255

Énigme 11 : Saurez-vous découvrir le secret caché dans ces nombres ?

23
24
12 Des chiffrés mélangés ☆

Alice a laissé ce petit fichier sur son bureau. Les onze messages qu’il contient

sont bien trop courts pour être décryptés.

1. CA CLWD AGQ XWTQ


2. QD KLE KADQ GWOEECA
3. TSIB NSNAINP WITTI BJZSII
4. GWOEECA HWONA WD DA NAOQ TAGNLTAT
5. VI BJZS WJNSJHHI VI DJNS
6. IHWJSI NH AFGZH NSNAINP
7. XWTQ WO KLE RQFTRNAI CR
8. NH DJNS WJAAIHWI NZIH
9. RXWOT KLE
10. SDFJNA WPRE KADQ DSEWQU
11. GJNG AFGZH OIVZIHG ZHZ
Énigme 12 : Saurez-vous classer ces messages en deux ensembles, correspon-

dant à deux chiffrements distincts ? Puis, en réordonnant les premières lettres

de l’ensemble le plus petit et les dernières lettres de l’ensemble le plus grand,

vous découvrirez deux nombres secrets écrits en français.

25
25 énigmes ludiques pour s'initier à la cryptographie

Shafi Goldwasser (1958-) et Silvio Micali (1954-)

En 2012, Shafi Goldwasser et

Silvio Micali obtiennent le Prix

Turing pour leurs travaux sur

la formalisation des modèles

de sécurité pour les chiffe-

rements à clé publique (voir

l’article [GM84]). Ils ont mon-

tré qu’un chiffrement déter- Figure 14 – Shafi Goldwasser

ministe ne peut pas assurer et Silvio Micali.

l’indistinguabilité des messages clairs, alors qu’un chiffrement probabi-

liste garantit cette propriété de sécurité.

26
Prouver sans dévoiler
13
☆☆☆

Peggy et Victor sont tous les deux devant le couloir d’entrée de la grotte cir-

culaire représentée sur le dessin de la figure 15. Au fond de cette grotte, il y a une

porte qui s’ouvre avec un code secret et permet de relier les deux extrémités.

Victor ne connaît pas le code, tandis que Peggy prétend pour sa part en avoir

connaissance. Elle souhaite convaincre Victor qu’elle dit vrai, bien entendu sans

lui révéler aucune information.

Énigme 13 : Saurez-vous imaginer comment Peggy peut atteindre son but ?

porte avec

un code

Figure 15 – Grotte circulaire.

27
28
Le mythe de l’antivirus
14
☆☆☆☆

Alice reçoit une publicité pour un nouvel antivirus, qui se présente comme

parfait, c’est-à-dire qu’il prétend être capable d’analyser n’importe quel pro-

gramme informatique et de déterminer sans jamais se tromper si ce programme

est un virus ou pas.

Énigme 14 : Saurez-vous montrer à Alice que cette publicité pour un antivirus

parfait est mensongère ?

Courte histoire des logiciels malveillants


1
JAN

Le terme de virus a été utilisé pour la première fois en 1972, dans le roman

de science-fiction de l’Américain David Gerrold intitulé When HARLIE

Was One, où apparaît un programme qui se reproduit, appelé VIRUS.

L’histoire de l’informatique montre

que l’évolution des logiciels mal-

veillants (malware en anglais) suit de

près l’évolution des ordinateurs, ce

qui est en quelque sorte naturel. Les

pirates forgent méticuleusement les

codes pour exécuter leurs ordres.


Figure 16 – Quelques
En 1982, le lycéen américain Rich
disquettes.
Skrenta a écrit le premier virus de

l’histoire de l’informatique, appelé Elk Cloner. Il s’agissait d’un virus

du secteur de lancement des disquettes, infectant les ordinateurs

Apple II. Sur la figure ci-contre, les trois formats les plus courants des

disquettes sont présentés. Ces supports de données externes réinscrip-

tibles étaient assez fragiles et ne permettaient de stocker qu’une petite

quantité d’information, comparé aux clés USB, carte SD et disques durs

externes de plusieurs gigaoctets des années 2010.

29
25 énigmes ludiques pour s'initier à la cryptographie

Ensuite, le virus appelé Brain, conçu par les deux frères pakistanais Basit

et Amjood Farooq Alvi en 1986, était le premier virus qui infectait des PC

du constructeur IBM . Il agissait en remplaçant le secteur d’amorçage

des disquettes par une version qui contenait une copie du virus.

Du côté des vers qui se propagent sur les

réseaux, le premier d’entre eux sur Inter-

net était le ver Morris, écrit en 1988 par un

étudiant de l’université Cornell aux États-

Unis, Robert Tappan Morris (1965-).

Enfin, le premier rançongiciel (ou ransom-

ware en anglais) a été conçu par l’Améri-

cain Joseph L. Popp en 1989. Il s’appelait

AIDS/PC Cyborg et était envoyé à l’aide


Figure 17 – Robert
d’une disquette par courrier postal aux
Tappan Morris.
membres d’une liste de diffusion d’infor-

mation sur le SIDA. Il demandait 189 US$ aux victimes pour rendre leur

ordinateur de nouveau utilisable.

En 2010, le ver Stuxnet a été découvert. L’analyse de son code a conduit

à penser que son objectif était de se propager le plus possible, et de ne se

déclencher qu’une fois qu’il aurait atteint des centrifugeuses iraniennes

d’enrichissement d’uranium. Ensuite, ce virus aurait fait exploser les cen-

trifugeuses. Il s’agirait du premier virus informatique qui aurait pu poten-

tiellement avoir un impact physique sur la sécurité des personnes.

En 2017, le rançongiciel Wannacry a infecté de nombreux ordinateurs

dans plus de 150 pays. Il a touché des entreprises, qui ont parfois fait

faillite après avoir perdu leurs données informatiques, mais aussi paralysé

des machines dans les services de certains hopitaux, mettant en danger

la vie des patients.

En 2020, le virus EMOTET, découvert en 2014, s’attaque à nouveau aux

entreprises et administrations françaises. Il se propage par un e-mail

qui contient des pièces jointes dangereuses. Il est aussi modulaire, ce

qui signifie qu’il a la capacité de télécharger et d’installer d’autres pro-



grammes, par exemple un keylogger .


International Business Machines Corporation


Programme qui enregistre toutes les touches saisies par un utilisateur, ce qui lui per-

met par exemple de s’emparer des mots de passe.

30
Désassembler une fonction
15
de hachage ☆☆

Une fonction de hachage est une fonction qui permet de calculer, à partir de

n’importe quel message, une chaîne de caractères de longueur limitée, appelée

le haché du message.

Une fonction de hachage est déterministe, c’est-à-dire que le résultat du cal-

cul pour deux messages identiques est toujours le même. Cette propriété est

utilisée pour l’authentification par mot de passe. En effet, au lieu de stocker les

mots de passe en clair sur un serveur, il est souhaitable de stocker uniquement

leurs hachés. Ainsi, l’utilisateur reste le seul à connaître son mot de passe. Pour

l’authentification, le serveur calcule le haché du mot de passe entré par l’utili-

sateur, et vérifie qu’il est bien identique à celui qui est stocké dans sa base de

données. Cette technique est détaillée dans l’énigme 25 page 53.

Par ailleurs, une fonction de hachage doit posséder plusieurs propriétés de

sécurité (voir page 186). Par exemple, comme l’illustre cette énigme, une fonc-

tion de hachage doit être résistante à la collision, c’est-à-dire qu’il ne doit pas

être facile de trouver deux messages distincts qui ont le même haché.

login H(login) login H(login) login H(login)

25 28 22

24 16 22

Figure 18 – Logins et logins hachés.

Figure 19 – Alphabet sur un afficheur 14 segments.

31
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 15 : Dans cette énigme, ce ne sont pas les mots de passe des utilisa-

teurs qui sont hachés, à l’aide d’une certaine fonction notée H, mais leurs iden-

tifiants. Le tableau de la figure 18 page précédente montre les valeurs des ha-

chés de certains identifiants. La figure 19 page précédente donne les représen-

tations des 26 lettres de l’alphabet utilisées dans cette énigme. À partir de ces

informations, saurez-vous découvrir le calcul auquel correspond la fonction de

hachage H , calculer le haché de JAMES et trouver un autre prénom qui pro-


voque une collision avec lui ?

Ronald Rivest (1947-)

Ronald Rivest est le R du célèbre chiffrement

RSA. Il est aussi l’inventeur de plusieurs algo-

rithmes de chiffrement et de hachage comme



les fonctions RC (RC2, RC4, RC5, et RC6)

d’une part, et les fonctions MD (MD2, MD4,

MD5 et MD6) d’autre part. Pour certaines de ces

fonctions de hachage, les chercheurs ont main-

tenant montré qu’il est possible de trouver faci- Figure 20 – Ronald

lement des collisions. En 2002, Ronald Rivest a Rivest.

reçu le Prix Turing pour l’invention de RSA avec ses deux collègues. En

2006, il s’est interessé au vote électronique et a publié le système de vote

ThreeBallot qui permet au votant de vérifier que son bulletin a bien été

pris en compte, tout en préservant le secret de son vote.


Rivest Cipher


Message Digest

32
Des images qui en cachent
16
d’autres ☆☆

Énigme 16 : À partir des deux images chiffrées de la figure 21, saurez-vous dé-

couvrir un nombre secret ?

Figure 21 – Les deux images cachant le nombre secret.

33
34
17 L’homme du milieu ☆☆☆

Alice et Bob souhaitent convenir ensemble d’une clé secrète pour chiffrer

leurs futures communications, sans pour autant prendre le risque de se ren-

contrer. Après leur mésaventure racontée dans l’énigme 9 page 19, ils décident

d’utiliser un autre protocole d’échange de clé, le protocole de Needham-Sch-

roeder, détaillé ci-dessous.

Avec une méthode de chiffrement asymétrique, les procédures de chiffre-

ment et de déchiffrement sont publiques, et chaque participant X possède une


clé de chiffrement publique pk (X ) connue de tous et une clé de déchiffrement
privée sk (X ) que lui seul connaît. Le chiffré du message m par la clé pk (X ) est

noté {m }pk (X ) , et bien entendu, la clé privée sk (X ) permet de retrouver le mes-

sage m à partir du message chiffré {m }pk (X ) .

Le protocole de Needham et Schroeder permet à deux personnes, qui pos-

sédent leurs clés publiques respectives, par exemple Alice et Bob, d’établir une

nouvelle clé partagée. Ce protocole consiste en trois échanges de messages :

▶ Alice choisit un nombre aléatoire Na et envoie à Bob un message chiffré


avec la clé publique pk (B ) de Bob, contenant son nom A et le nombre
qu’elle a choisi :

{A, Na }pk (B )

▶ Bob déchiffre ce message chiffré, voit qu’Alice est l’expéditeur, choisit un

nombre aléatoire Nb et envoie à Alice un message chiffré avec la clé pu-


pk (A), contenant Na et Nb :

blique d’Alice

{Na , Nb }pk (A)

▶ Alice déchiffre le message chiffré avec sa clé privée sk (A), et envoie à Bob
pk (B ) de Bob :

le message Nb , chiffré avec la clé publique

{Nb }pk (B )

Pour lui prouver qu’il a bien déchiffré son message, donc qu’il est bien Bob.

Pour lui prouver qu’elle a bien déchiffré son message, et donc qu’elle est bien Alice.

35
25 énigmes ludiques pour s'initier à la cryptographie

À l’issue de ces échanges, Alice et Bob disposent d’un nombre secret par-

tagé Nb , qu’ils utilisent comme clé secrète pour chiffrer leurs futures communi-
cations avec un chiffrement symétrique.

L’exécution de ce protocole entre deux personnes est appelée une session.

Les auteurs Roger Needham (1935-2003) et Michael Schroeder (1945-) ont

démontré que, s’il y a une seule session entre deux participants, alors le pro-

tocole est sûr.

Les nombres Na et Nb sont appelés des nonces, un terme issu d’un adjec-

tif anglais signifiant utilisé seulement une fois. Ils sont générés aléatoirement

à chaque session et garantissent une certaine fraîcheur des communications,

c’est-à-dire que les messages ne sont pas ceux de sessions antérieures.

Énigme 17 : En utilisant deux sessions du protocole, saurez-vous trouver com-

ment un intrus, avec qui Alice joue entièrement le protocole, peut apprendre

Nb alors que Bob est persuadé de communiquer avec Alice ?

Chiffrement à clé publique

Dans un tel chiffrement, dit aussi asymétrique, la clé de chiffrement est

connue de tous (publique), de sorte que n’importe qui peut chiffrer un

message. En revanche, seul le destinataire d’un message chiffré, qui pos-

sède la clé secrète de déchiffrement associée à la clé publique, peut le

déchiffrer. La sécurité de tous les chiffrements asymétriques repose sur

le fait qu’il est impossible, en pratique, de découvrir une clé privée de dé-

chiffrement à partir de la clé publique de chiffrement correspondante.

L’invention du premier chiffrement à clé publique RSA en 1976 est une

avancée majeure de la cryptographie moderne.

36
La consommation

18 électrique en dit trop

☆☆☆

La méthode de chiffrement à clé publique (ou chiffrement asymétrique) RSA

est le chiffrement le plus utilisé dans le monde, par exemple dans les commu-

nications sécurisées sur Internet avec le protocole TLS de https.

Alice possède une clé de chiffrement RSA publique, composée de deux en-

tiers e et n, et une clé de déchiffrement RSA privée, composée du seul nom-


bre d . Bien entendu, les nombres e , n et d ne sont pas choisis n’importe com-
ment (voir page 39). De plus, pour assurer la sécurité de ce chiffrement, ces

nombres doivent être très grands (plusieurs centaines de chiffres).

Lorsqu’Alice reçoit un message secret C qui a été chiffré avec sa clé de chif-
frement RSA publique ( e et n), elle (ou plutôt le processeur de son ordinateur) le
d
déchiffre en calculant le reste de la division de C par n . Le message clair obtenu

est un entier compris entre 0 et n − 1.

Comme d est très grand, ce calcul ne peut pas se faire simplement en mul-

tipliant C × C × C × . . . × C × C (d fois), puis en faisant la division du résultat

par n , cela prendrait trop de temps de faire les d − 1 multiplications nécessaires.

Heureusement, il existe des algorithmes qui permettent d’aller plus vite. L’un

d’eux s’appelle l’algorithme d’exponentielle rapide. L’exemple ci-dessous vous

montrera son fonctionnement.


13
Pour calculer 5 , il faut commencer par décomposer l’exposant 13 en une
3 2 0
somme de puissances de 2, ce qui donne 13 = 8 + 4 + 1 = 2 + 2 + 2 .
(2 +2 +2 ) (2 ) (2 ) (2 )
3 2 0 3 2 0
13
Ceci permet d’écrire 5 =5 =5 ×5 ×5 .

(2 )
0
1
Deux propriétés des puissances sont maintenant nécessaires : a = a = a,
= (a )
(b+1)
(2 ) ((2 )×2) (2 )
b b 2
et a =a , pour n’importe quel entier a.
(2 )
i
L’algorithme d’exponentielle rapide consiste à calculer les 5 successifs par

des élévations au carré, tout en faisant au fur et à mesure les multiplications né-
13
cessaires pour obtenir 5 .

37
25 énigmes ludiques pour s'initier à la cryptographie

▶ au départ, la valeur du produit est 1;


(2 )
0
▶ ensuite, 5 = 5 ; il est utilisé dans le produit, donc la nouvelle valeur du
produit est 1 × 5 = 5;

= (5 ) = 5 = 25 ; il n’est pas utilisé dans le produit ;


(2 ) (2 )
1 0 2
2
▶ calcul de 5

= (5
) = 25 = 625 ; il est utilisé dans le produit, donc la
(2 ) (2 )
2 1 2
2
▶ calcul de 5
nouvelle valeur du produit est 5 × 625 = 3 125 ;

= (5
) = 625 = 390 625 ; il est utilisé dans le produit,
(2 ) (2 )
3 2 2
2
▶ calcul de 5
donc la nouvelle valeur du produit est 3 125 × 390 625 = 1 220 703 125, et

ceci termine le caclul.

13
Les opérations effectuées pour calculer 5 = 1 220 703 125 avec cet algo-
rithme sont donc dans l’ordre : un produit, deux élévations au carré, un produit,

une élévation au carré et un dernier produit. Bien sûr, cet algorithme est rela-

tivement compliqué, mais il a permis de faire seulement 3 élevations au carré


13
et3 multiplications pour calculer 5 au lieu des 12 multiplications nécessaires
en calculant plus simplement 5 × 5 × 5 × . . . × 5. Il faut savoir également que

cet algorithme est très efficace sur des grands nombres, car plus l’exposant est

grand, plus le gain de nombre d’opérations à effectuer augmente.

Or, dans un processeur, le circuit électronique calculant un carré est différent

de celui calculant un produit de deux nombres différents, et le second calcul

consomme plus d’énergie que le premier. Cette propriété est à la base d’une

attaque de RSA dite par canal caché.

Figure 22 – Consommation électrique du processeur d’Alice.

Énigme 18 : La figure 22 représente la trace de la consommation électrique

du processeur de l’ordinateur d’Alice pendant le déchiffrement d’un message

chiffré par la méthode RSA avec l’algorithme d’exponentielle rapide. Saurez-

vous découvrir la clé de déchiffrement RSA privée d d’Alice ?

38
18 La consommation électrique en dit trop ☆☆☆

Les calculs de RSA

Pour générer une paire de clés RSA, il faut d’abord choisir p et q , deux
nombres premiers distincts et calculer leur produit n = p × q , appelé mo-
dule de chiffrement. Ensuite, il faut calculer Φ (n ) = (p − 1) × (q − 1)

qui est appellé l’indicatrice d’Euler de n , une notion inventée par le ma-

thématicien suisse Leonhard Euler (1707-1783). Il reste alors à choisir un

Φ (n) et strictement inférieur à Φ (n). La clé



entier naturel e premier avec

publique RSA est composée de n et de e .


de e mod Φ (n ), lui

La clé secrète associée est l’entier naturel d , inverse

aussi strictement inférieur à Φ (n ). Le calcul de d est réalisable efficace-

ment en utilisant l’algorithme d’Euclide étendu.

Le message M doit être strictement inférieur au module n. En effet,

les calculs de chiffrement et de déchiffrement s’effectuant mod n, ils

donnent des résultats dans Z/nZ : le message déchiffré est un entier


strictement inférieur au module n . Si ce n’est pas le cas du message clair

initial M , il ne pourra pas être retrouvé intact.

Le chiffrement de M avec la clé publique (n , e ) s’effectue en calculant :

e
C =M mod n

Ensuite, pour déchiffrer C avec la clé secrète d , il faut effectuer le calcul :


d
M=C mod n

La preuve que le message initial M est bien le résultat de l’opération de

déchiffrement repose sur une propriété d’arithmétique modulaire qui re-

monte au dix-septième siècle, appelée le petit théorème de Fermat et

démontrée par Pierre de Fermat (1607-1685). Les opérations de chiffre-

ment et de déchiffrement de RSA utilisent l’élévation à une puissance, et

les nombres impliqués sont très grands, il est donc important que cette

opération soit rapide. C’est ce qui explique l’utilisation de l’algorithme

d’exponentielle rapide.


Deux entiers sont premiers entre eux lorsque leur unique diviseur commun est 1. Par

exemple 15 et 28 sont premiers entre eux, mais 15 et 21 ne le sont pas.


a et b sont inverses l’un de l’autre modulo n lorsque leur produit est égal
Deux entiers

à 1 modulon, c’est-à-dire a × b = 1 mod n. Par exemple, 3 et 9 sont inverses l’un de l’autre


modulo 26, car 3 × 9 = 27 = 1 mod 26. Le nombre a possède un inverse modulo n si et
seulement si a et n sont premiers entre eux.

39
25 énigmes ludiques pour s'initier à la cryptographie

La sécurité de RSA

Comme la clé publique est constituée de e et n, il est possible de décou-


vrir les nombres premiers p et q en factorisant le module n = p × q . À partir
de là, les calculs de Φ (n ) = (p − 1)(q − 1), puis de la clé secrète d = e
−1

mod n sont rapides. Ainsi, la sécurité du chiffrement RSA repose sur le fait
qu’il n’existe pas encore d’algorithme permettant de factoriser efficace-

ment des produits de grands nombres premiers.

Avec l’augmentation de la rapidité des processeurs au cours du temps,

des nombres premiers de plus en plus grands sont nécessaires pour as-

surer la sécurité du chiffrement RSA. Ainsi, la longueur des clés RSA pré-
∗ ♯
conisée en 2020 par le NIST et l’ANSSI est au minimum de 2 048 bits

et une taille de 4 096 bits est fortement recommandée.

Jusqu’en 2004, la loi française en matière d’utilisation de la cryptogra-

phie était très restrictive. Ainsi, en 1999, un décret permet l’utilisation

de clés de 128 bits, la taille utilisée couramment à cette époque, mais

l’utilisation de clés plus longues reste fortement limitée. Fort heureuse-

ment, la loi pour la confiance dans l’économie numérique de 2004 a tout

changé, puisque son article 30 stipule : « l’utilisation des moyens de cryp-

tologie est libre ». C’est en particulier l’essor du commerce en ligne qui a

fait évoluer la législation.

Il faut enfin savoir que l’arrivée de l’ordinateur quantique, si elle se

concrétise, mettra fin à la sécurité du chiffrement RSA. En effet, l’algo-

rithme de Shor, inventé en 1994 par Peter Willinston Shor (1959-), bien

avant la réalisation du premier ordinateur quantique, permet de factori-

ser très rapidement le produit de deux nombres premiers, mêmes très

grands. Autrement dit, cet algorithme quantique rend possible de re-

trouver la clé secrète du chiffrement RSA à partir de la clé publique. Il

permet aussi de casser les chiffrements basés sur le logarithme discret,

comme le chiffrement d’ElGamal (voir page 149).


National Institute of Standards and Technology


Agence nationale de la sécurité des systèmes d’information

40
19 Le digicode lumineux ☆☆

La porte d’entrée de l’immeuble où habite Alice s’ouvre avec un digicode qui

possède dix touches portant les chiffres de 0 à 9 et deux voyants lumineux : un


rouge et un vert. Le code est composé de quatre chiffres.

Quand un chiffre correct est tapé, le voyant vert s’allume, mais sitôt qu’un

chiffre incorrect est tapé, le voyant vert s’éteint, le rouge s’allume et il faut re-

commencer à taper le code depuis le début.

Par exemple, si le code est 1234 et qu’Alice tape par inadvertance 124, les cou-
leurs des voyants sont les suivantes :

▶ 1 ↝ le voyant vert s’allume


▶ 2 ↝ le voyant vert reste allumé
▶ 4 ↝ le voyant vert s’éteint, le rouge s’allume et le code est annulé

Énigme 19 : Saurez-vous calculer le nombre maximal d’essais qu’un intrus as-

tucieux mais malchanceux devra effectuer pour ouvrir la porte ?

41
42
Des couples clairs chiffrés
20
☆☆☆

Les 17 messages ci-dessous sont chiffrés avec le même chiffrement inconnu.

1. 4ca79 ba6ec 3503a 725c4


2. 1f681 bde88 7fe61
3. 31702 624d8 7cf0d 620e8 11c08 8c086
4. 2c234 bde88 3b784
5. 5d146 3e89f bde88 6c4b4 2c234 bde88 3b784
6. 4ca79 7844a 7a962 805c8 bde88 4ca79 8c9eb
7. 2c234 239a6 4ca79 85d00
8. 2c234 bde88 7a962 373ae 7a962 3e89f 8cd2b
9. 4ca79 d51ab 7a962 3e89f 8c086 373ae bde88 4ca79 8c9eb
10. 2c234 12f54 f456d
11. 12d51 725c4 4ca79 620e8 7a962 3e89f 8c086 8cd2b
12. 4ca79 8c086 7844a bde88 8cd2b
13. 2c234 239a6 2c234 f982a
14. 4ca79 7844a 7a962 3e89f 10418 bde88 8c9eb6
15. a6bfc bde88 25c5d
16. 85079 7844a dd02c bde88 85079 7844a
17. 4ca79 85d00 bde88 a8796
Alice a découvert que les quatre phrases suivantes font partie des messages

clairs correspondants, mais elle ne sait pas desquels il s’agit.

▶ le jour se lève

▶ tu ne tueras pas ton prochain

▶ le code de son appartement est 15

▶ il est de retour de son voyage

Énigme 20 : Saurez-vous découvrir à quels messages chiffrés correspondent

ces quatre phrases, et décrypter certains autres messages ?

43
44
Un chiffrement malléable
21
☆☆

Pour rappel, la notation {a}k représente le message chiffré associé au mes-


sage clair a à l’aide de la clé k . Un chiffrement est dit partiellement homomorphe
lorsqu’il possède la propriété suivante : {a }k × {b }k = {a + b }k .

Autrement dit, le produit des messages chiffrés associés à deux messages

(nombres) clairs est égal au message chiffré associé à la somme de ces deux

nombres. Par exemple, le produit du message chiffré associé à 3 et du message

chiffré associé à 4 est égal au message chiffré associé à 7 = 4 + 3.


Un chiffrement partiellement homomorphe permet de manipuler des don-

nées chiffrées sans y avoir accès. Par exemple, il pourrait s’agir de calculer la

somme des salaires des cryptographes réunis lors d’un dîner, ceci sans qu’ils ne

puissent apprendre le salaire les uns des autres. Pour cela, il suffit que chaque

convive chiffre son salaire avec un chiffrement partiellement homomorphe. Il

faut alors multiplier les salaires chiffrés, pour obtenir un message chiffré qui cor-

respond à la somme des salaires. Ensuite, les cryptographes déchiffrent le chif-

fré obtenu, pour découvrir la somme de leurs salaires. Le problème du dîner des

cryptographes a été introduit par David Chaum en 1985. Dans ce problème,

trois cryptographes apprennent que leur dîner a été payé, soit par l’un d’entre

eux, soit par la NSA . Ils souhaitent savoir qui a payé, mais sans révéler l’iden-

tité éventuelle de la personne. À cette époque, les chiffrements homomorphes

n’existaient pas, et David Chaum proposa un protocole différent pour résoudre

ce problème, maintenant célèbre.

Dans cette énigme, Alice et Bob utilisent un chiffrement partiellement ho-

momorphe. Une personne malveillante, Ève, a obtenu ces informations :


▶ Le chiffré du message 42 vaut c ×c .
′′
▶ Le chiffré du message 55 vaut c × c .

′ ′′
▶ Le chiffré du message 10037 vaut c × c × c × c × c .

Énigme 21 : Saurez-vous découvrir la valeur du message clair qui correspond

au message chiffré c?

National Security Agency

45
25 énigmes ludiques pour s'initier à la cryptographie

Craig Gentry (1972-)

En 1978, Ronald Rivest et ses collègues,

dans l’article [RAD78], ont posé la ques-

tion de savoir s’il existait un chiffrement

qui permette de travailler sur les données

chiffrées sans connaître les valeurs mani-

pulées, autrement dit, un chiffrement ho-

momorphe. Pendant une trentaine d’an-

nées, de nombreuses tentatives POUR

créer un tel chiffrement, proposées par


Figure 23 – Craig Gentry.
de célèbres cryptographes, ont vu le jour,

mais elles n’offraient que des chiffrements partiellement homomorphes,

comme celui évoqué dans cette énigme. La question de l’existence

d’un chiffrement totalement homomorphe, permettant de faire à la fois

des additions et des multiplications sur les données, est restée ouverte

jusqu’en 2009. C’est à cette date, en effet, que Craig Gentry, employé

d’IBM, a inventé le premier chiffrement totalement homomorphe (Fully

Homomorphic Encryption FHE), publié dans l’article [Gen09].

Cette publication a représenté une révolution conceptuelle dans la com-

munauté de la recherche en cryptographie. Sur le plan pratique, malheu-

reusement, ce premier chiffrement n’était pas réellement utilisable : il fal-

lait plusieurs heures pour chiffrer et déchiffrer des messages, et, de plus,

les messages chiffrés occupaient plusieurs mégaoctets, même pour de

petits messages clairs.

Cependant, ce premier chiffrement a permis de mettre sur la voie de

nombreux chercheurs, qui, depuis, n’ont cessé d’en améliorer l’idée ini-

tiale, jusqu’à rendre les chiffrements totalement homomorphes, de nos

jours, utilisables en pratique. Par exemple, la bibliothèque SEAL, déve-

loppée par Microsoft, permet de chiffrer des messages avec un chiffre-

ment totalement homomorphe en quelques secondes, avec des mes-

sages chiffrés qui restent de taille raisonnable.

46
22 Payer en bitcoins ☆☆☆

Le bitcoin est la première cryptomonnaie décentralisée, c’est-à dire qu’elle se

passe d’une autorité centrale et qu’elle utilise des primitives cryptographiques

pour assurer sa sécurité. Elle a été inventée en 2009 par Satoshi Nakamoto.

Pour qu’un paiement en bitcoins entre deux individus puisse être fait, il faut

que des personnes, volontaires pour jouer le rôle de la banque, et appelées des

mineurs, résolvent une sorte de casse-tête mathématique appelé objectif de

hachage : trouver un nombre entier n tel que le résultat du calcul d’une cer-
taine fonction de hachage, à partir de cette valeur n et des informations de la
transaction, possède une certaine propriété.

Dans cette énigme, la fonction de hachage utilisée considère qu’un mes-

sageM est formé de caractères : chiffres, lettres minuscules ou majuscules, sans


accents, sans espaces. Le haché H (M ) du message M est la somme des valeurs

en ASCII de chacun de ses caractères (voir figure 24 page suivante). Ainsi, le

haché du message Pi314 est :

H (Pi314) = ASCII(P) + ASCII(i) + ASCII(3) + ASCII(1) + ASCII(4)


= 80 + 105 + 51 + 49 + 52 = 337 .

Autrement dit, si le message M est composé des k caractères m1 m2 . . . mk , alors


son haché H (M ) est défini comme suit :
i =k
H (M ) = ∑ ASCII(mi )
i =1

Il faut remarquer que le haché H (M ) du message M peut être vu comme un

message composé de chiffres, pour lequel il est également possible de calculer

un haché H (H (M )), etc.


La validation d’une transaction, représentée par un montant m transmis par
x à y , nécessite la connaissance du haché de la transaction précédente, noté p .

Les fonctions de hachage utilisées dans la vie réelle sont plus compliquées.

47
25 énigmes ludiques pour s'initier à la cryptographie

Lettre ASCII Lettre ASCII Lettre ASCII Lettre ASCII

A 65 N 78 a 97 n 110
Chiffre ASCII
B 66 O 79 b 98 o 111
0 48
C 67 P 80 c 99 p 112
1 49
D 68 Q 81 d 100 q 113
2 50
E 69 R 82 e 101 r 114
3 51
F 70 S 83 f 102 s 115
4 52
G 71 T 84 g 103 t 116
5 53
H 72 U 85 h 104 u 117
6 54
I 73 V 86 i 105 v 118
7 55
J 74 W 87 j 106 w 119
8 56
K 75 X 88 k 107 x 120
9 57
L 76 Y 89 l 108 y 121

M 77 Z 90 m 109 z 122

Figure 24 – Table de conversion ASCII.

Il y a d’autres paramètres importants, comme la date, qui seront ignorés dans

cette énigme, pour simplifier. De plus, l’objectif de hachage est de trouver un

entier n tel que :

H (H (x y mpn)) soit divisible par 3 et par 5.

Énigme 22 : Alice ( x = A) paye à Bob (y = B) 5 bitcoins (m = 5). Sachant que p


vaut 42, saurez-vous calculer le plus petit entier n permettant la validation de
cette transaction entre Alice et Bob ?

48
La solidité d’un mot de passe
23
☆☆

Il est bien connu que les mots de passe sont des éléments importants de la

sécurité informatique. Parmi les caractéristiques importantes qui influent sur la

solidité d’un mot de passe, il y a sa longueur.

Voici quelques éléments qui permettent de mesurer l’effet du nombre de ca-

ractères d’un mot de passe.

▶ Sur un clavier standard, il y a 105 caractères imprimables (lettres minus-

cule ou majuscule, chiffres, accents, ponctuations, symboles).

▶ La vitesse du processeur d’un ordinateur en 2020 est de l’ordre de 3 GHz,

ce qui signifie qu’il exécute environ 3 milliards d’opérations à la seconde.

▶ L’espérance de vie des humains en 2020 est de 80 ans environ.

Énigme 23 : En considérant qu’un mot de passe est vérifié en une opération,

saurez-vous calculer le nombre de caractères que doit comporter un mot de

passe pour que la durée d’une vie humaine ne suffise pas à le découvrir par

recherche exhaustive avec un ordinateur actuel ?

ANSSI

L’ANSSI, créée en 2009, publie des recommandations en termes de sé-

curité informatique. Cette entité est l’autorité nationale française en ma-

tière de sécurité et de défense des systèmes d’information. Elle a plu-

sieurs rôles comme la prévention, la protection, la réaction et la labelli-

sation de solutions de sécurité, mais aussi la formation. En 2012, la publi-

cation de son logo a donné lieu à un challenge de sécurité.

49
25 énigmes ludiques pour s'initier à la cryptographie

En effet, en regardant de plus près l’image, il y a, dans le cercle blanc inté-

rieur, un texte chiffré, qui indiquait aux curieux qu’il y avait quelque chose

à chercher. L’agence a mis six mois pour concevoir son logo et y cacher

des énigmes. Ce challenge faisait appel à la fois à de la stéganographie,

de la cryptographie et de la rétro-ingénierie, mais surtout à l’imagination

et à l’intelligence des participants. Il a fallu 23 mois pour que toutes les

étapes soient résolues. Le 13 janvier 2014, Pierre Bienaimé (Ingénieur en

R&D chez Arkoon-Netasq) a ainsi découvert, le premier, que la solution

était le message décrypté par Georges Painvain en 1918, lorsqu’il a vaincu

le chiffrement allemand ADFGVX (voir page 87).

50
24 Un vote naïf ☆☆

Pour organiser un référendum où les élèves de sa classe peuvent choisir la

proposition A, la proposition B ou voter blanc, le professeur d’Alice et Bob dé-


cide d’utiliser le protocole suivant.

A, B et Blanc . Puis il
Il prépare sur une feuille de papier trois cases, étiquetées

écrit dans la caseA un nombre rA tiré aléatoirement, dans la case B un nombre


rB tiré aléatoirement, dans la case Blanc un nombre rBlanc tiré aléatoirement. Il
retient ces trois nombres, mais ne les communique pas aux élèves.

Pour voter, chaque élève à tour de rôle s’isole, gomme le nombre dans la case

correspondant à son choix, lui ajoute +1 et écrit le résultat du calcul dans la case
vide. Les élèves respectent le protocole et ne trichent pas.

Une fois que tous les élèves ont voté, le professeur retranche les nombres

aléatoires rA , rB et rBlanc au total de chaque case pour découvrir les résultats.

Énigme 24 : Avec ce protocole, saurez-vous imaginer dans quelles conditions

Alice et Bob peuvent découvrir, sans tricher mais en coopérant au moment du

vote, le vote d’un de leurs camarades ?

Le vote électronique en France

Dès 1969, le ministre de l’Intérieur Raymond Marcellin autorisait l’utili-

sation de machines à voter, totalement mécaniques à l’époque. Depuis

cette date, seules quelques villes de France ont expérimenté ces dispo-

sitifs. Cependant, en 2021, suite à un projet de loi du gouvernement, les

Français n’ont jamais autant parlé de cyber-élections.

Le souci majeur avec les machines à voter est qu’il est très difficile de

pouvoir les auditer et d’être sûr qu’il n’y a pas de fraudes possibles, ni

de portes dérobées (backdoors) logicielles ou matérielles. De plus, les

codes de ces machines, produites par des sociétés privées, ne sont pas

publics, ce qui rend leur vérification difficile.

51
25 énigmes ludiques pour s'initier à la cryptographie

o ∗
La délibération n 2010-371 du 21 octobre 2010 de la CNIL fixe les

garanties minimales suivantes, indispensables au respect des principes

d’intégrité, d’unicité, d’anonymat et de confidentialité du vote :

▶ l’expertise des systèmes, des codes sources, des mécanismes de

scellement et de chiffrement par un expert indépendant formé par

la CNIL ;

▶ la séparation, dès le poste de l’électeur, des informations sur son

identité et du détail de son vote et la transmission par des canaux

sécurisés ;

▶ la mise en place de mesures physiques et logiques garantissant la

sécurité des données personnelles (systèmes informatiques indé-

pendants et algorithmes publics de chiffrement réputés forts) ;

▶ la possibilité donnée à une commission électorale indépendante

de contrôler à tout moment l’effectivité des mesures de sécurité.

En mai 2012, pour la première fois, les Français de l’étranger ont pu voter

pour un scrutin national à travers un scrutin numérique.



En 2015, la plateforme open source de vote en ligne Belenios a vu le

jour. Elle est écrite en OCaml et développée par des chercheurs de

Nancy (Véronique Cortier, Stéphane Glondu et Pierrick Gaudry). Ou-

verte à tous, elle permet soit de mettre en œuvre une élection sur le ser-

veur du site, soit de déployer le système de vote sur son propre serveur.

Le système Belenios offre des propriétés de sécurité comme l’anonymat

des bulletins, la vérification individuelle que son vote a bien été compté

et la vérification universelle, qui consiste à pouvoir s’assurer que le résul-

tat correspond à la somme des bulletins.


Commission nationale de l’informatique et des libertés


https://www.belenios.org/

Objective Categorical Abstract Machine Language

52
Des indices qui deviennent
25
compromettants ☆☆

En 2013, une des bases de données de la société Adobe, qui contenait plus

de 153 millions de mots de passe, a fuité sur Internet. Heureusement, les mots

de passe des utilisateurs n’étaient pas stockés en clair, mais hachés.

Dans cette énigme, la fonction de hachage (déjà utilisée dans l’énigme 22



page 47) est la suivante : un mot de passe W est formé de caractères : chiffres,

lettres minuscules ou majuscules, sans accent, sans espace. Le haché H (W ) du


mot de passe W est la somme des valeurs en ASCII de chacun de ses caractères

(voir figure 24 page 48). Ainsi, le haché du mot de passe Pi314 est :

H (Pi314) = ASCII(P) + ASCII(i) + ASCII(3) + ASCII(1) + ASCII(4)


= 80 + 105 + 51 + 49 + 52 = 337.

Au lieu de stocker sur le serveur, dans une base de données, le mot de passe

Pi314 en clair, il est souhaitable de stocker uniquement son haché, 337. Ainsi,
l’utilisateur reste le seul à connaître son mot de passe. Pour l’authentification,

lorsque l’utilisateur entre un mot de passe, le serveur en calcule le haché, puis le

compare à celui qui est stocké dans la base. Si les deux valeurs sont différentes,

il est certain que le mot de passe entré n’est pas correct, et la connexion est

refusée. Dans le cas contraire, la connexion est autorisée. Cette technique est

évoquée dans l’énigme 15 page 31.

Le hachage des mots de passe est une précaution élémentaire dans la ges-

tion d’une base de données d’utilisateurs. Malheureusement, dans le cas de la

fuite, en 2013, de la base de données de la société Adobe, pour chaque login

était aussi stocké, en clair, dans la base de données, un indice. Cette information

était destinée à permettre à l’utilisateur de retrouver son mot de passe en cas

d’oubli, mais représentait potentiellement une faille de sécurité, comme illustré

dans cette énigme.

Énigme 25 : Grâce à la base de données de la figure 25 page suivante, saurez-

vous découvrir trois mots de passe différents de certains utilisateurs ?


Les fonctions de hachage utilisées dans la vie réelle sont plus compliquées.

53
25 énigmes ludiques pour s'initier à la cryptographie

LOGIN INDICE H(password)

Alice Yellow 709

Arnaud Incassable 555

Bart Élément 74 431

Blaise Musique 637

Bob Numbers 964

Camille Bataille Stalingrad Cubisme 824

Carlton 1 to 9 122

David Electric 709

Édouard Noces de Figaro 637

Étienne Love 169

Ève Pokémon 709

François Métal 404

Jules Mon prénom 515

Lisa Mendeleiev 74 349

Lucie <3 169

Matthieu Flûte Enchantée 637

Nadia Naissance Hawking Demoiselles d’Avignon 824

Nathalie Nintendo 709

Paul Longueur 16 161

Philippe Réponse universelle Guernica 824

Rémi Mendeleiev Mo Peintre 824

Robert Amadeus 637

Sonia Hard Rock 666

Stéphane Mort Celsius Pablo 824

Valéry Compositeur 637

William Numbers - 0 779

Xavier Marche Turque 637

Figure 25 – Une base de données de mots de passe avec indices.

54
2

Les indices ... en


cas de besoin
56
1 Indices de niveau 1

Énigme 1. Un message dans le texte ☆


Observez la disposition du texte, elle n’est pas aléatoire.

Énigme 2. Les secrets de Jules ☆


Observez la structure des deux lettres.

Énigme 3. Une image mystérieuse ☆☆☆


Observez attentivement les caractères formant l’image.

Énigme 4. Un chiffrement presque allemand ☆☆


Le texte chiffré ne contient pas de chiffres.

Énigme 5. Un méli-mélo de caractères ☆


Il n’y a pas d’espaces.

Énigme 6. Vous avez dit sûr, ... sûr ☆☆


Réécrivez le protocole en explicitant le chiffrement.

57
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 7. Une modification invisible ☆


Les contrepèteries, c’est l’art de caler les sons.

Énigme 8. Chiffrer deux fois n’est pas deux fois plus

sûr ☆☆
Écrivez les équations de déchiffrement.

Énigme 9. Le protocole de Diffie-Hellman pour éta-

blir une clé ☆☆


L’intrus peut intercepter des messages et envoyer des messages.

Énigme 10. Le partage de Shamir ☆☆☆


Écrivez trois équations à partir des trois points.

Énigme 11. Un regroupement de nombres ☆☆☆


Comptez le nombre de nombres par ligne.

Énigme 12. Des chiffrés mélangés ☆


Chercher à déchiffrer est inutile, mieux vaut observer.

Énigme 13. Prouver sans dévoiler ☆☆☆


Peggy entre la première dans la grotte.

Énigme 14. Le mythe de l’antivirus ☆☆☆☆


Faites une preuve par contradiction.

58
1 Indices de niveau 1

Énigme 15. Désassembler une fonction de hachage

☆☆
Y-a-t-il des collisions ?

Énigme 16. Des images qui en cachent d’autres ☆☆


Cherchez les différences et les similarités.

Énigme 17. L’homme du milieu ☆☆☆


Alice joue une session avec l’intrus.

Énigme 18. La consommation électrique en dit trop

☆☆☆
Vérifiez l’ordre dans lequel les bits de la clé sont utilisés.

Énigme 19. Le digicode lumineux ☆☆


Il faut se servir des voyants lumineux pour éviter de tester tous les codes.

Énigme 20. Des couples clairs chiffrés ☆☆☆


Comptez le nombre de mots par phrase.

Énigme 21. Un chiffrement malléable ☆☆


Écrivez les équations.

Énigme 22. Payer en bitcoins ☆☆☆


Le nombre cherché est plus proche de 100 que de 0.

59
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 23. La solidité d’un mot de passe ☆☆


Calculez combien il y a de secondes dans 80 ans, sans tenir compter des an-

nées bissextiles.

Énigme 24. Un vote naïf ☆☆


Chacun vote à son tour de manière honnête, même les deux complices.

Énigme 25. Des indices qui deviennent compromet-

tants ☆☆
Observez les collisions.

Énigme 26. Premier regard.

Elle est sous vos yeux depuis le début, comme sur le parachute du rover Per-

severance, qui s’est posé sur Mars le 22 février 2021.

60
2 Indices de niveau 2

Énigme 1. Un message dans le texte ☆


Cherchez juste quelques mots bien choisis.

Énigme 2. Les secrets de Jules ☆


C’est la même personne qui a écrit les deux lettres, le même jour.

Énigme 3. Une image mystérieuse ☆☆☆


Cherchez dans cette image six caractères qui se démarquent des autres.

Énigme 4. Un chiffrement presque allemand ☆☆


Il s’agit encore de deux lettres.

Énigme 5. Un méli-mélo de caractères ☆


Tous les caractères sont présents.

Énigme 6. Vous avez dit sûr, ... sûr ☆☆


Parmi les nombres échangés, trouvez ceux qui contiennent le message et

ceux qui contiennent les clés.

61
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 7. Une modification invisible ☆


Le texte modifié ne parle plus de cryptographie.

Énigme 8. Chiffrer deux fois n’est pas deux fois plus

sûr ☆☆
Déchiffrez C une fois avec la clé K2 et observez le résultat.

Énigme 9. Le protocole de Diffie-Hellman pour éta-

blir une clé ☆☆


Alice et Bob suivent le protocole à la lettre.

Énigme 10. Le partage de Shamir ☆☆☆


Les inconnues sont a, b et s .

Énigme 11. Un regroupement de nombres ☆☆☆


Regroupez les nombres par trois.

Énigme 12. Des chiffrés mélangés ☆


Cherchez les similarités.

Énigme 13. Prouver sans dévoiler ☆☆☆


Victor ne sait pas par où est passée Peggy.

62
2 Indices de niveau 2

Énigme 14. Le mythe de l’antivirus ☆☆☆☆


Construisez un programme qui utilise l’antivirus parfait et qui, quel que soit le

comportement de ce dernier, aboutit à une contradiction.

Énigme 15. Désassembler une fonction de hachage

☆☆
Aline possède une lettre de plus que Léna.

Énigme 16. Des images qui en cachent d’autres ☆☆


Un pixel de l’image cachée correspond à 4 pixels sur chaque image chiffrée.

Énigme 17. L’homme du milieu ☆☆☆


Bob pense parler à Alice.

Énigme 18. La consommation électrique en dit trop

☆☆☆
La solution est dans les motifs.

Énigme 19. Le digicode lumineux ☆☆


Faut-il vraiment taper chaque fois les 10 chiffres entre 0 et 9 ?

Énigme 20. Des couples clairs chiffrés ☆☆☆


Observez les répétitions des mots en clair et des chiffrés.

63
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 21. Un chiffrement malléable ☆☆


Mettez des parenthèses.

Énigme 22. Payer en bitcoins ☆☆☆


Commencez par faire le calcul avec n = 0 pour bien comprendre l’objectif.

Énigme 23. La solidité d’un mot de passe ☆☆


Quel est le temps de calcul pour énumérer tous les mots de passe ?

Énigme 24. Un vote naïf ☆☆


L’ordre des votants est crucial.

Énigme 25. Des indices qui deviennent compromet-

tants ☆☆
Rassemblez les indices.

Énigme 26. Premier regard.

Blocs de cinq

64
3 Indices de niveau 3

Énigme 1. Un message dans le texte ☆


Savoir ce qu’est un acrostiche pourrait vous être utile.

Énigme 2. Les secrets de Jules ☆


Le post-scriptum est un pangramme.

Pangramme

Un pangramme est une phrase qui contient l’ensemble des lettres de l’al-

phabet. Les membre de l’OuLiPo ont proposé des pangrammes auto-

descriptifs, c’est-à-dire qui constituent une phrase vraie à propos d’eux-

mêmes. Par exemple : « Ce pangramme autodescriptif en hommage à

Douglas Hofstadter, Lee Sallows, Jacques Pitrat, Nicolas Graner et Éric

Angelini contient exactement dix-sept a, un b, onze c, huit d, trente-cinq

e, cinq f, neuf g, six h, vingt-quatre i, deux j, un k, sept l, six m, vingt-six n,

onze o, huit p, huit q, onze r, quinze s, vingt-sept t, dix-sept u, quatre v,

deux w, neuf x, un y, et cinq z. »

Énigme 3. Une image mystérieuse ☆☆☆


Le nombre secret est écrit en binaire. Le chiffre 0 est différent de la lettre ma-
juscule O et le chiffre 1 est différent de la lettre minuscule l.

65
25 énigmes ludiques pour s'initier à la cryptographie

La représentation binaire des nombres naturels

Les nombres naturels sont les nombres entiers positifs ou nuls : zéro, un,

deux, trois, quatre, etc. Afin d’expliquer comment sont représentés ces

nombres en binaire, il est utile de revenir d’abord sur l’écriture usuelle des

nombres, appelée représentation décimale.

Le système décimal, appelé aussi base dix, est notre système quotidien

de représentation des nombres. Il s’agit d’un système de numération po-

sitionnelle, c’est à dire que la valeur d’un chiffre dépend de sa position

dans le nombre : unité, dizaine, centaine etc. Compter en base dix signifie

d’abord utiliser dix symboles pour écrire les nombres : ce sont les chiffres

de 0 à 9. Cela signifie ensuite compter par paquets de dix, ce qui se traduit


par le fait que chaque chiffre dans un nombre est associé à une puissance

de dix, selon sa position. Par exemple, le nombre 2345 est composé de :


▶ cinq unités ;

▶ quatre dizaines (une dizaine est un paquet de dix unités) ;

▶ trois centaines (une centaine contient dix paquets de dix unités) ;

▶ et deux milliers (un millier correspond à dix paquets de dix paquets

de dix unités).

Autrement dit :

2345 = 2 × 1000 + 3 × 100 + 4 × 10 + 5 × 1


= 2 × 10 × 10 × 10 + 3 × 10 × 10 + 4 × 10 + 5 × 1
3 2 1 0
= 2 × 10 + 3 × 10 + 4 × 10 + 5 × 10
0
Par convention, 1=a pour n’importe quel nombre a. Pour représenter
un nombre en binaire (en base deux), il n’y a que deux symboles, 0 et 1,
mais toujours le même principe : compter par paquets de deux. Cela se

traduit par le fait que chaque chiffre dans un nombre binaire est associé

à une puissance de deux, toujours avec la notation usuelle de gauche à

droite. Ainsi, 11010 est le nombre composé de zéro unité, une deuzaine
(un paquet de deux unités), zéro quatraine (deux paquets de deux), une

huitaine (deux paquets de deux paquets de deux) et une seizaine (deux

paquets de deux paquets de deux paquets de deux).

seizaine huitaine quatraine deuzaine unité

1 1 0 1 0

66
3 Indices de niveau 3

Autrement dit, en revenant à l’écriture habituelle en base dix :


4 3 2 1 0
11010 = 1 × 2 + 1 × 2 + 0 × 2 + 1 × 2 + 0 × 2
ce qui donne (en remplaçant les puissances de deux par leur valeur) :

110101 = 1 × 16 + 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1 = 26
Le même nombre est donc représenté en base dix par 26 et en base deux
par 11010. C’est pourquoi il est important de préciser quelle représenta-
tion des nombres est utilisée quand il y en a plusieurs : ainsi 1000 en base
dix, c’est mille, mais 1000 en base deux, c’est huit. Et en base cinq (les cinq

symboles 0, 1, 2, 3, et 4 sont utilisés et il faut faire des paquets de cinq), ce

même 1000 représenterait cent vingt-cinq (un paquet de cinq paquets

de cinq paquets de cinq unités).

Plus généralement, soit b = bk bk −1 . . . b1 b0 un nombre en binaire de lon-


gueur k + 1, la formule suivante le transforme en nombre décimal :
i =k
∑ bi × 2
i

i =0

Énigme 4. Un chiffrement presque allemand ☆☆


Un pangramme est une aide précieuse.

Énigme 5. Un méli-mélo de caractères ☆


Groupez les caractères par paquets de quatre.

Énigme 6. Vous avez dit sûr, ... sûr ☆☆


Vous pourriez soustraire des nombres échangés.

Énigme 7. Une modification invisible ☆


c et m.

67
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 8. Chiffrer deux fois n’est pas deux fois plus

sûr ☆☆
Testez l’égalité entre un chiffré et un déchiffré.

Énigme 9. Le protocole de Diffie-Hellman pour éta-

blir une clé ☆☆


Alice pense parler à Bob et Bob pense parler à Alice.

Énigme 10. Le partage de Shamir ☆☆☆


En procédant par substitution, vous pouvez résoudre le système d’équations.

Énigme 11. Un regroupement de nombres ☆☆☆


Dans le domaine des images numériques, la couleur des pixels est codée en
△ ↯
RGB (en français RVB ).

Pixel

Une image numérique est composée de petits carrés appelés des pixels,

comme une mosaïque. Par exemple une image de taille 640 × 480 est
composée de 640 pixels de large et 480 pixels de haut. Chaque pixel

possède une couleur. Pixel est l’abréviation de PICture ELement, qui si-

gnifie élément d’image en anglais.

Énigme 12. Des chiffrés mélangés ☆


L’un des ensembles contient cinq messages et l’autre en contient six.


Red-Green-Blue


Rouge-Vert-Bleu

68
3 Indices de niveau 3

Énigme 13. Prouver sans dévoiler ☆☆☆


La répétition aide à convaincre Victor.

Énigme 14. Le mythe de l’antivirus ☆☆☆☆


Un programme qui ne fait rien n’est pas un virus. Cette remarque pourra vous

être utile pour imaginer un programme qui débouche sur une contradiction.

Énigme 15. Désassembler une fonction de hachage

☆☆
Comptez les segments noirs.

Énigme 16. Des images qui en cachent d’autres ☆☆


Superposition !

Énigme 17. L’homme du milieu ☆☆☆


Alice déchiffre pour l’intrus.

Énigme 18. La consommation électrique en dit trop

☆☆☆
Analysez les pics de consommation pour retrouver des motifs : soit un carré

seulement (bit égal à 0) ; soit un carré suivi d’une multiplication (bit égal à 1).

Énigme 19. Le digicode lumineux ☆☆


À la fin, vous devez quand même ouvrir la porte.

69
25 énigmes ludiques pour s'initier à la cryptographie

Énigme 20. Des couples clairs chiffrés ☆☆☆


Une fois les 4 phrases trouvées, propagez les connaissances.

Énigme 21. Un chiffrement malléable ☆☆


Pour soustraire, il faut diviser.

Énigme 22. Payer en bitcoins ☆☆☆


Un programme informatique peut vous aider.

Énigme 23. La solidité d’un mot de passe ☆☆


Le nombre de lettres d’un mot de passe est un entier.

Énigme 24. Un vote naïf ☆☆


Les deux complices doivent encadrer leur victime.

Énigme 25. Des indices qui deviennent compromet-

tants ☆☆
Un peu de culture générale vous aidera.

Énigme 26. Premier regard.

Hanc epistulam latine scriptum est.

70
3

Les solutions
72
Un message dans le texte
1

« The best books [...] are those that tell you what you know already. »

« Les meilleurs livres [...] sont ceux qui racontent ce que l’on sait déjà. »

Georges Orwell, « 1984 », 1949.

Pour résoudre cette énigme, il faut remarquer que le texte est étrangement

découpé. Ce découpage peut paraître aléatoire, mais il permet en réalité de

faire usage d’une figure de style littéraire, l’acrostiche. Il s’agit en quelque sorte

d’une forme de stéganographie littéraire, qui dissimule un message à l’intérieur

d’un texte. Pour cette énigme, il faut lire le premier mot de chaque ligne pour

obtenir le message caché :

« Le mot magicien est le message caché dans cette énigme »

George Sand (1804-1876)

Un acrostiche est un texte, un poème,

des vers, qui ont un double sens (parfois

grivois), obtenu en ne lisant que la pre-

mière lettre de chaque phrase ou vers, ou

le premier mot ou encore une phrase ou

un vers sur deux. Il existe de nombreux

acrostiches célèbres en littérature.

Un des plus connus, mais peut-être apo-

cryphe, est le texte ci-dessous, souvent

présenté comme une lettre de George

Sand à son amant, le poète Alfred de


Figure 26 – George Sand.
Musset. Il prend un tout autre sens en ne

lisant qu’une phrase sur deux. Il est facile d’imaginer que George Sand

sur un balcon s’amuse en le faisant.

73
25 énigmes ludiques pour s'initier à la cryptographie

Je suis très émue de vous dire que j’ai

bien compris l’autre soir que vous aviez

toujours une envie folle de me faire

danser. Je garde le souvenir de votre

baiser et je voudrais bien que ce soit

là une preuve que je puisse être aimée

par vous. Je suis prête à vous montrer mon

affection toute désintéressée et sans cal-

cul, et si vous voulez me voir aussi

vous dévoiler sans artifice mon âme

toute nue, venez me faire une visite.

Nous causerons en amis, franchement.

Je vous prouverai que je suis la femme

sincère, capable de vous offrir l’affection

la plus profonde comme la plus étroite

en amitié, en un mot la meilleure preuve

dont vous puissiez rêver, puisque votre

âme est libre. Pensez que la solitude où j’ha-

bite est bien longue, bien dure et souvent

difficile. Ainsi en y songeant j’ai l’âme

grosse. Accourrez donc vite et venez me la

faire oublier par l’amour où je veux me

mettre.

La réponse du poète :

Quand je mets à vos pieds un éternel hommage

Voulez-vous qu’un instant je change de visage ?

Vous avez capturé les sentiments d’un cœur

Que pour vous adorer forma le Créateur.

Je vous chéris, amour, et ma plume en délire

Couche sur le papier ce que je n’ose dire.

Avec soin, de mes vers lisez les premiers mots

Vous saurez quel remède apporter à mes maux.

Et la conclusion de son amante :

Cette insigne faveur que votre cœur réclame

Nuit à ma renommée et répugne à mon âme.

Cette technique littéraire est proche de la stéganographie car le mes-

sage secret est lisible par tous ceux qui savent comment y accéder.

74
2 Les secrets de Jules ☆

« There are two kinds of cryptography in this world : cryptography that will stop

your kid sister from reading your files, and cryptography that will stop major

government from reading your files. »

« Il y a deux sortes de cryptographies dans le monde : la cryptographie qui

empêche votre petite sœur de lire vos fichiers, et la cryptographie qui

empêche le Gouvernement de lire vos fichiers. »

Bruce Schneier, « Applied Cryptography », 1986.

Pour découvrir le chiffrement utilisé dans la lettre de la figure 3 page 5, il faut

remarquer les similarités de structure avec la lettre de la figure 2 page 5. Ainsi,

la première observation est que le lieu où la lettre a été écrite, le début, la signa-

ture et la fin de la lettre semblent correspondre. Il en découle que :

▶ Le 26 avril 1942 à Washington D.C. est le message clair du message chiffré

Oh 28 dyulo 1942 d Zdvklqjwrq G.F. (à part le jour du mois).

▶ D txl gh gurlw est le chiffré de À qui de droit.

▶ Elizebeth Smith Friedman est chiffré par Holchehwk Vplwk Iulhgpdq.

Ces indices permettent de commencer à remplir le tableau suivant pour es-

sayer de trouver comment ce chiffrement fonctionne.

Clair a b c d e f g h i j k l m n o p q r s t u v w x y z

Chiffré d e f g h i j k l o p q r t u v w x y z c

Ensuite il y a deux façons de résoudre cette énigme.

Tout d’abord, chercher une logique dans la construction du tableau ci-dessus

et s’apercevoir que les lettres de l’alphabet sont simplement décalées de trois

rangs vers la droite dans l’ordre alphabétique, permet de compléter le tableau

suivant, puis de trouver le texte en clair de la figure 27 page suivante.

Clair a b c d e f g h i j k l m n o p q r s t u v w x y z

Chiffré d e f g h i j k l m n o p q r s t u v w x y z a b c

75
25 énigmes ludiques pour s'initier à la cryptographie

La seconde manière consiste à remplacer dans le message chiffré toutes les

occurrences des lettres apprises avec le déchiffrement des premières phrases.

Il est alors facile de terminer le déchiffrement grâce au sens des mots du texte.

Le lecteur qui remarque que le Post-Scriptum de la lettre de la figure 3 page 5

est un pangramme (voir page 65) peut utiliser cette phrase pour trouver la cor-

respondance de toutes les lettres de l’alphabet.

Ce code secret historique s’appelle le chiffrement de César, car il a été in-

venté à l’époque de l’empereur romain Jules César. Il s’agit d’un exemple simple

de chiffrement par substitution (chaque lettre est remplacée par une autre).

La connaissance de couples clair/chiffré est souvent un avantage considé-

rable pour décrypter un message, comme dans cette énigme. La face cachée

de celle-ci donne un message important aux cryptographes.

Le 28 avril 1942 à Washington D.C.,

À qui de droit,

Ma découverte porte sur la structure de la machine ENIGMA. Elle permet

de faire des successions de substitutions et de permutations. J’ai aussi

l’impression que la structure des messages échangés est souvent la même,

ce que nous allons essayer d’exploiter.

Elizebeth Smith Friedman

Post-Scriptum : Portez ce vieux whisky au juge blond qui fume.

Figure 27 – Lettre déchiffrée de l’énigme 2 page 5.

Analyse des fréquences

L’analyse des fréquences, ou analyse fréquentielle, est une méthode de

cryptanalyse qui repose sur le fait que chaque lettre de l’alphabet repré-

sente un pourcentage relativement fixe de n’importe quel texte dans une

langue donnée, pourvu qu’il soit assez long. Ainsi, en français, la lettre e

est très largement la plus utilisée, avec une fréquence d’apparition qui

dépasse 15 %. Il y a ensuite, toujours en français, les lettres a (moins de

10 %), i, s, t, etc.. comme indiqué sur le diagramme ci-dessous.

76
2 Les secrets de Jules ☆

16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
a b c d e f g h i j k l mn o p q r s t u v w x y z

Lorsqu’un message est chiffré avec un chiffrement par substitution,

comme le chiffrement de César, chaque lettre de l’alphabet est toujours

chiffrée par la même lettre. Ainsi, le message chiffré est vulnérable à une

attaque par analyse des fréquences.

Dans la lettre chiffrée d’Elizebeth Friedman (voir figure 3 page 5, en sup-

posant qu’elle écrive en français), la lettre la plus utilisée est h, qui est pré-

sente 51 fois, et représente 15,7 % des caractères. Il semble ainsi raison-

nable de supposer que h est le chiffré de e. Dans l’ordre décroissant, les

lettres v, l, w et d sont ensuite les plus présentes, et il est possible de faire

l’hypothèse qu’elles correspondent au groupe a, i, s et t.

Les cryptanalystes des siècles passés ont perfectionné cette tech-

nique, en établissant des tables de fréquences des lettres pour diverses

langues, et en tenant compte non seulement des lettres isolées, mais

aussi des regroupements de deux ou trois lettres (digrammes et tri-

grammes) les plus courants, par exemple en français es ou le. Un des

premiers cryptanalystes célèbres est le philosophe et savant arabe Al-



Kindi au neuvième siècle.


Il existe un concours de cryptographie appelé Concours Alkindi. Il est organisé chaque

année depuis 2015 et s’adresse aux élèves des classes de quatrième, troisième et seconde

( https://www.concours-alkindi.fr).

77
25 énigmes ludiques pour s'initier à la cryptographie

Fréquences et langages

Les fréquences d’apparition des lettres de l’alphabet sont différentes se-

lon les langues. Le diagramme ci-dessous concerne l’anglais et n’est pas

identique à celui du français. L’étude des fréquences d’apparition des

caractères formant un message chiffré inconnu peut renseigner sur la

langue d’origine de celui-ci, même s’il n’est pas possible de le décrypter.

16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
a b c d e f g h i j k l mn o p q r s t u v w x y z

Chiffrement de Vigenère

Au seizième siècle, le diplomate français Blaise de Vigenère a conçu un

chiffrement basé sur le chiffrement de César, mais dans lequel l’utilisa-

tion d’un mot-clé permet de changer à chaque lettre la valeur du dé-

calage utilisé. Par exemple si le mot-clé est CESAR alors il faudra faire

d’abord un décalage de 2, puis de 4, puis de 18, puis de 0 (la lettre A cor-


respond à un décalage de 0) et enfin de 17 lettres vers la droite dans l’al-

phabet. Pour chiffrer la phrase ESOPE RESTE ICI ET SE REPOSE,


qui est plus longue que le mot-clé, il faut recopier le mot-clé autant de

fois que nécessaire pour avoir un décalage pour chaque lettre. Finale-

ment, le chiffré est GWGPV TIKTV KGA EK UI JEGQWW.


clair : E S O P E R E S T E I C I E T S E R E P O S E
clé : C E S A R C E S A R C E S A R C E S A R C E S
chiffré : G W G P V T I K T V K G A E K U I J E G Q W W

78
2 Les secrets de Jules ☆

Pour déchiffrer, il faut effectuer les décalages inverses avec le mot-clé.

Ce chiffre de Vigenère n’est plus vulnérable directement à l’analyse des

fréquences, car il divise par la longueur (inconnue) du mot-clé la taille

du texte à analyser, rendant les calculs plus difficiles. Il a cependant été

cassé en 1863 par le major prussien Friedrich Kasiski (1805-1881).

Une autre technique pour contrer l’analyse des fréquences est d’utiliser

un chiffrement homophonique. L’idée est d’associer plusieurs symboles

pour une lettre. Par exemple, si la lettre e apparaît en moyenne 17 fois

plus souvent que la lettre w, alors elle aura 17 symboles différents comme

chiffrés. Cela permet de lisser en quelque sorte l’apparition des symboles

dans le texte chiffré, rendant l’analyse des fréquences impuissante. En

contrepartie, cette technique demande un temps plus long pour le dé-

chiffrement et nécessite aussi de mémoriser une plus grande table de

correspondance des symboles.

Palindrome

Un palindrome est une phrase qui se lit dans les deux sens. Le palindrome

« ESOPE RESTE ICI ET SE REPOSE » a été inventé par Jacques Ca-


pelovici, également connu sous le pseudonyme de Maître Capelo, cé-

lébre grammairien arbitre des Jeux de 20 heures entre 1976 et 1987, mais

aussi du jeu télévisé Les chiffres et les lettres dans les années 1990.

Les grecs et les romains pratiquaient déjà les palindromes. Un des pa-

lindromes romains les plus connus est « SATOR AREPO TENET OPERA
ROTAS ». Il signifie « Le semeur à son araire tient les roues (du destin) »
et a été retrouvé en de nombreux lieux et en particulier dans les ruines

de Pompéi. Ce palindrome est connu sous le nom de carré Sator, car il

est possible de le représenter dans un carré magique. Ainsi cette phrase

peut être lue de haut en bas, de bas en haut, de gauche à droite et de

droite à gauche, ou encore en sens inverse.

S A T O R

A R E P O

T E N E T

O P E R A

R O T A S

79
25 énigmes ludiques pour s'initier à la cryptographie

Ainsi les mots forment un acrostiche (voir page 73), un mésostiche et un



téléstiche. . Ce palindrome est un symbole de reconnaissance secret

des premiers chrétiens car il ne contient que des lettre de l’expression

« Pater Noster ».

Un des plus longs palindromes de la langue française a été publié en

1969 par l’écrivain Georges Perec (1936-1982) sous le titre 9691. Ce texte

comporte 5 566 lettres, soit le produit de la multiplication palindromique


11 × 23 × 2 × 11.

En utilisant respectivement les premières lettres, les lettres médianes et les dernières

lettres lues de bas en haut.

OuLiPo

Le groupe de littérature inventive et innovante OuLiPo, contrac-

tion de l’Ouvroir de Littérature Potentielle, a été créé au ving-

tième siècle en France. Des écrivains célèbres comme Ray-

mond Queneau ou Georges Perec ont fait partie de ce collec-



tif. Georges Perec a publié en 1969 le plus long lipogramme

de la langue française avec son roman La Dispa-

rition. Si le texte de cet ouvrage était chiffré par

un chiffrement par substitution, comme le chif-

frement de César, il serait difficile de le déchif-

frer par une analyse fréquentielle. En effet, tout

au long de ses 300 pages, il ne contient pas une Figure 28 – Georges

seule fois la lettre e, qui d’habitude est la lettre la Perec.

plus utilisée en français. Un autre exemple de lipogramme est l’ouvrage

Les Revenentes, encore de Georges Perec, qui cette fois-ci ne contient

que la lettre e comme voyelle.


Texte dans lequel une lettre ne figure pas.

80
Une image mystérieuse
3
☆☆☆

« Ars ipsi secreta magistro. »

« Un art caché au maître lui-même. »

Jean Robert du Carlet, thèse publiée en 1644.

Le nombre secret caché dans l’image en ASCII art est un nombre écrit en bi-

naire. Pour trouver ce nombre, il faut retrouver les six caractères 0 et 1 parmi
tous ceux composant l’image.

0 est différent de la lettre majuscule O et le chiffre 1


En particulier, le chiffre

est différent de la lettre minuscule l.


Dans la figure 29 page suivante, les six caractères 0 et 1 que contient l’image

originale sont surlignés en gris. Ils forment le nombre en binaire 101010 qu’il

reste à convertir en décimal, pour obtenir le nombre 42, puisque :

5 4 3 2 1 0
1×2 +0×2 +1×2 +0×2 +1×2 +0×2 = 32 + 0 + 8 + 0 + 2 + 0
= 42

Les détails de la conversion des nombres binaires en nombres décimaux sont

donnés dans l’indice de niveau trois de cette énigme (voir page 66).

Évidemment, il est difficile de percevoir la différence entre les symboles de la

lettre l et du chiffre 1, mais aussi entre la lettre O et le chiffre 0. Ces particula-


rités typographiques sont à l’origine de cette énigme et permettent de mieux

représenter la réalité de la stéganographie sur des images numériques.

En effet, pour représenter une image, celle-ci est découpée en de nombreux

pixels, chacun ayant une couleur, représentée par un nombre entier entre 0 et

255 (en binaire, entre 00000000 et 11111111). Ainsi, une technique simple pour

dissimuler un message dans une image consiste à remarquer que changer le

bit de poids faible de la valeur numérique associée à une couleur est quasiment

imperceptible pour un œil humain.

Par exemple, les deux gris représentés en binaire par 10100101 et 10100100
respectivement, qui diffèrent uniquement par leur dernier bit, sont indiscer-

nables (voir ci-dessous). Ici, la botte secrète du cryptographe réside dans le gris.

81
25 énigmes ludiques pour s'initier à la cryptographie

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMNOxdoIIodkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMWOc ,okKXNNNXOOOOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMNx, oKWWNKOOOOOOXXNWWKONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMOdOOWNNOkkOKXXXKOxdddkOXKONMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMOkKOWNOkNMMMMMMMMMMWKxccdkKkKMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMWoKxNXxOMMMMMMMMMMMMMMMXxcIOOkKMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMOkOxMXoMMMMMMMMMMMMMMMMMWkdoOKdNMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWXdMMMMMMMMMMMMMMMMMMN1dxNOkMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWXdMMMMMMMMMMMMMMMMMMMckdWXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWKdMMMMMMMMMMMMMMMMMMMIkoNXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOOxWKdMMMMMMMMMMMMMMMMMMMIkoNXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxNKdMMMMMMMMMMMMMMMMMMMIkoXXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxNKdMMMMMMMMMMMMMMMMMMMIkoXXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxNKdMMMMMMMMMMMMMMMMMMMIkoXXxMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMk0kxWKdMMMMMMMMMMMMMMMMMMMoxIOKkMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxWKdMMMMMMMMMMMMMMMMMMMWNNNNWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMkOkxWXoMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMKxkOxoxkOOkOOOOkOOOOKKKKKKXXXXXXXXKKOxkXMMMMMMMMMMMMMMMMMMMMM
MMMMMMMddkxxckKKKXXKOoIIodOKNNNNNNNNWWWWWWWN, dMMMMMMMMMMMMMMMMMMMMM
MMMMMMModkxdckKKKKXKOdooodOKXNNNNNNNNNWWWWWN, dMMMMMMMMMMMMMMMMMMMMM
MMMMMMModkxdckKKKKXKOdoooxOKXNNNNNNNNNNWWWWN, xMMMMMMMMMMMMMMMMMMMMM
MMMMMMMddOxxIkKKKKXKOdoodxOKXNNNNNNNNNNNWWWN, xMMMMMMMMXkxdoxKMMMMMM
MMMMMMMdxOkxIkKKKKKKOdoodxOKXXXXXXXNNNNNNNWNIckMMMMMKdc:cc :,..oWMMM
MMMMMMMxxOkxIkKKKKKKOdooddxxxxx,. ,xOOOKKXNNo1OMMWOIccIxOXXk':cOMMMM
MMMMMMMkxOkdIxOOKKKOkdoooIIIIc. ..'''''..'.'.IocIodKWMMMMM:cxOMMMM
MMMMMMMkxkxdIxOOOOOOkdoIoodxxdI. ..''''',.:IoooodOMMMMMMMO:dkNMMMM
MMMMMMMOdkxdIxOO0OOOkoooodkOOOO. 'OkkxxdooI..:ccdOMMMMMMMOcdxKMMMMM
MMMMMMMOdxdoIdOOOOOOxoooodkOOOO. .xOOOOOOOOoIx:..OMMMMMXdcoxKMMMMMM
MMMMMMMOdxdoIdkkkkOkxoooodkOOOx. .IOOOOOOOOoIO:..:KXOkoc1okWMMMMMM
MMMMMMMOdxdoIdkkkkkkxoooodxOOOOIIoxOOOOOOOKOoIOOcI:.:cccoONMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxoooooxkOOOOOOOOOOOOOOKOoIOMNOkxxxOXMMMMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxoIIooxkOOOOOOOOOOOOOOKOoIOMMMMMMMMMMMMMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxoIIIodkOOOOOOOOOOOOOOOOIIOMMMMMMMMMMMMMMMMMMMMM
MMMMMMMOdxdoIokkkkkkxIIIIIdkOOOOOOOOOOOOOkdIcxXWWWMMMMMMMMMMMMMMMMMM
MMMMMMW0oxdoIoxkkkkkdIcccIdkkkxxdooIIccIIodkOKXXNNWWWWWMMMMMMMMMMMMM
MMWWWWWXxoooIIxdddooc..::ccccccIodxkOOOOOKKKXXXNNNNWWWWWWWMMMMMMMMMM
MMMWWWNXKOxoIIIIIIoodxxkOOOOOOOKKKKKKKXXXXXXXNNNNNNWWWWWWWWWMMMMMMMM
MMMMWWWWNNNXXXXKKKKKKKKXXXXXXXXXXXXXXXXNNNNNNNNNNWWWWWWWWWWWWMMMMMMM

Figure 29 – Image annotée de l’énigme 3 page 7.

Il est donc possible de cacher un message dans une image en le codant en bi-

naire dans les bits de poids faibles des pixels de l’image. Ce message est secret,

sauf pour ceux qui savent où regarder dans l’image.

gris 10100101 gris 10100100

82
3 Une image mystérieuse ☆☆☆

Tatouage numérique de documents

Le watermarking (tatouage numérique) dérive de la stéganographie. En

effet, cette technique consiste à cacher dans un document numérique

une information, par exemple le nom de son auteur, sous la forme d’une

marque, qui rappelle un tatouage. Cette marque ne doit pas pouvoir être

altérée ou supprimée. De plus, elle doit le plus souvent rester imper-

ceptible et être robuste aux différentes transformations numériques que

peut subir le document, par exemple la compression, la manipulation, le

recadrage ou la retouche d’image. Il existe plusieurs types de tatouages :

Visible : Cette technique consiste à mettre une marque visible, comme

un copyright sur une image par exemple.

Invisible : Le tatouage est cette fois non perceptible pour un utilisateur.

Fragile : C’est un tatouage invisible, très sensible aux modifications,

pour détecter d’éventuelles altérations subies par le document.

Réversible : Ce type de tatouage est souvent utilisé sur des images

médicales, car il offre la possibilité d’être ôté pour permettre une

meilleure analyse de l’image numérique.

83
84
Un chiffrement presque
4
allemand ☆☆

« German codes are a puzzle. A game, just like any other game. »

« Les codes allemands sont comme des énigmes. Un jeu, comme n’importe

quel autre jeu. »

Le personnage d’Alan Turing, dans le film « Imitation Game », 2014.

Pour cette énigme, la mise en page et la ponctuation des deux textes sont de

précieux indices. L’utilisation de couples de lettres, appartenant à l’ensemble

ADFGVX, ne semble également pas anodine.

Pour commencer, comme le texte de la figure 7 page 9 semble être lui aussi

une lettre, il est naturel de penser que le déchiffré de

AA FV GF DF AG AV AG FX FF DF GD
est le texte suivant :

A q u i d e d r o i t
Le tableau ci-dessous est obtenu à partir de ces informations :

a b c d e f g h i j k l m n o p q r s t u v w x y z

AA AG AV DF FF FV FX GD GF

De même, le chiffré suivant :

DX AV VX VF AA GG FX DF DX VG XX XA VV
AA AD DX AV GD AF DD DX AV VA FG AA FX DV
correspond au texte clair suivant :

L e 3 0 a v r i l 1 9 4 2
a B l e t c h l e y P a r k
En effet, certaines lettres confirment les conjectures faites auparavant. De

plus, le jour du mois sur deux chiffres VX VF est forcément 30, puisqu’il ne peut

commencer ni par 1 (VG) ni par 2 (VV), qui apparaissent dans l’année 1942. Le

tableau correspondant à la substitution est donc complété comme suit en ajou-

tant les nombres de 0 à 9 :

85
25 énigmes ludiques pour s'initier à la cryptographie

a b c d e f g h i j k l m n o p q r

AA AD AF AG AV DD DF DV DX FF FG FV FX

s t u v w x y z 0 1 2 3 4 5 6 7 8 9

GD GF GG VA VF VG VV VX XA XX

Dans la figure 30, la lettre est partiellement déchiffrée avec ces informations.

L e 3 0 a v r i l 1 9 4 2 à B l e t c h l e y P a r k,

A q u i d e d r o i t,

FA e r c i p o u r c e GA FD o u v e l l e GA, FD o u GA a v o FD GA r e u GA GA

i a d e c h i AX AX r e r q u e l q u e s FA e GA GA a DA e GA e FD v o y e GA p a

r l e GA a l l e FA a FD d GA.

A l a FD T u r i FD DA.

P o GA t - GA c r i p t u FA : B u v e VD d e c e GV hisky que le patron juge

fameux.

Figure 30 – Lettre partiellement déchiffrée de l’énigme 4 page 9.

Pour continuer la cryptanalyse, il est possible d’obtenir les chiffrés correspon-

dant aux lettres s et m (respectivement GA et FA) à partir de l’expression Post-

Scriptum. De plus, la signature d’Alan Turing donne que g est chiffré par DA.

Ensuite, du reste du texte, il découle que FD chiffre n et que AX chiffre f. En-

fin, le pangramme du Post-Scriptum donne les lettres manquantes z, w, j et x.

Finalement, le texte clair est celui de la figure 31.

Le 30 avril 1942 à Bletchley Park,

À qui de droit,

Merci pour ces nouvelles, nous avons réussi à déchiffrer quelques messages

envoyés par les Allemands.

Alan Turing.

Post-Scriptum : Buvez de ce whisky que le patron juge fameux.

Figure 31 – Lettre déchiffrée de l’énigme 4 page 9.

86
4 Un chiffrement presque allemand ☆☆

A D F G V X

A a b c d e f

D g h i j k l

F m n o p q r

G s t u v w x

V y z 0 1 2 3

X 4 ? ? ? ? 9

Il est possible de remarquer que les lettres et les chiffres peuvent être arran-

gés dans un carré. En suivant cette logique, il est possible de conjecturer la re-

présentation des chiffres manquants 5, 6, 7 et 8. Malheureusement, il se pour-

rait que cela ne soit pas le bon choix, parmi toutes les possibilités restantes.

Chiffrement ADFGVX
1
JAN

Le chiffrement utilisé dans cette énigme, construit à l’aide du carré de

la présente page, est une version simplifiée du chiffrement ADFGVX,

conçu par le lieutenant de l’armée allemande Fritz Nebel (1891-1977)

pendant la Première Guerre mondiale et utilisé en 1918. Il a été rapide-

ment cassé par le lieutenant français Georges Painvin (1886-1980). Fritz

Nebel a construit le carré en s’inspirant du carré de Polybe et a ajouté en

plus une transposition (c’est-à-dire un mélange des lettres), qui n’est pas

utilisé dans l’énigme, ce que reflète son titre de Chiffrement presque al-

lemand. Les lettres A, D, F, G, V et X, utilisées pour construire le carré, ne

sont pas n’importe lesquelles.

Comme les messages militaires sont transmis

en code morse à cette époque, ces lettres ont

été choisies parce que leurs représentations en

morse sont très différentes les unes des autres,

ce qui limite les erreurs de transmission : A ;

D ; F ; G ; V et X . C’est

aussi pour cette raison que ce chiffrement s’ap- Figure 32 – Georges

pelait intialement GEDEFU 18 (GEheimschrift Painvin.

DEr FUnker 1918, « chiffre des radiotélégraphistes 1918 »). Il est pos-

sible de personnaliser la substitution utilisée, par exemple en plaçant les

lettres et les chiffres dans un autre ordre à l’intérieur du carré, ou choisis-

sant d’autres lettres que A, D, F, G, V et X.

87
25 énigmes ludiques pour s'initier à la cryptographie

Polybe (208 avant J.-C. - 126 avant J.-C)


1
JAN

Polybe est un historien et politicien grec de l’Antiquité, grand admirateur

de la République romaine. Dans son ouvrage Histoire, vol. X, il décrit une

technique de chiffrement qui est maintenant appelée carré de Polybe.

Le principe de ce chiffrement par substitution a été repris par Félix-Marie

Delastelle dans son Traité élémentaire de cryptographie en 1902, ainsi

que par Fritz Nebel en 1918 pour son chiffrement ADFGVX.

La base, en suivant l’approche de Polybe, est de commencer par un mes-

sage. Les lettres de l’alphabet sont écrites dans un carré de taille 5 par 5.

Le chiffré d’une lettre correspond aux coordonnées de la case dans la-

quelle elle se trouve. Comme il n’y a que 25 cases le I et le J sont souvent


placés dans la même case. Pour obtenir des variantes de ce chiffrement,

il est possible de choisir une clé comme POLYBEMAUDIT et de compléter


avec les lettres de l’alphabet restantes comme dans le carré ci-dessous.

Ainsi le chiffré de HELLO est 4121131312.


1 2 3 4 5

1 P O L Y B

2 E M A U D

3 I/J T C F G

4 H K N Q R

5 S V W X Z

Code morse

Le code morse, du nom de son créateur Samuel Morse (1791-1872), a été

inventé en 1832 pour la télégraphie. Il code chaque lettre de l’alphabet et

chaque chiffre de 0 à 9 en utilisant les deux signes et . Ce codage a eu

de nombreuses utilisations, car ces deux symboles peuvent être simple-

ment représentés par un signal court et un signal long (impulsion élec-

trique ou radio, son, lumière, geste, etc.). Le tableau ci-dessous donne

les correspondances des lettres et des chiffres avec le code morse inter-

national. Le choix de la suite de symboles pour chaque caractère est lié

d’une part à sa fréquence en anglais (les lettres les plus utilisées ont des

codes plus courts que les lettres les moins utilisées, voir le diagramme

page 78), et d’autre part à la désambiguïsation des lettres proches.

88
4 Un chiffrement presque allemand ☆☆

A M Y

B N Z

C O 0

D P 1

E Q 2

F R 3

G S 4

H T 5

I U 6

J V 7

K W 8

L X 9

Bombe et Colossus

À Bletchley Park, pendant la

Seconde Guerre mondiale, pour

accélérer les calculs de déchif-

frement du code de la machine

ENIGMA, Alan Turing conçoit

une machine (pas électronique,

mais électromécanique), ap-

pelée la Bombe. Effectivement

construite et utilisée, elle permet

enfin, chaque jour, de trouver Figure 33 – Une Bombe de Turing

suffisamment vite le résultat au musée de Bletchley Park.

attendu. L’accès aux communications militaires allemandes ainsi permis

est une contribution très importante à l’effort de guerre, dont il est

avancé qu’elle aurait raccourci de deux ans la durée des hostilités. Du

point de vue de la science informatique, il faut noter que cette Bombe

est une machine à calculer spécialisée, mais pas encore un véritable

ordinateur. En effet, en termes techniques, il ne s’agit pas d’un méca-

89
25 énigmes ludiques pour s'initier à la cryptographie


nisme de calcul Turing-complet , ce qui signifie qu’elle ne permet pas

d’effectuer n’importe quel calcul.

Une autre machine célèbre, le Colossus, a été construite pendant la Se-

conde Guerre mondiale à Bletchley Park, pour accélérer le décryptage

d’un autre code, appelé code de Lorenz.


Un langage de programmation est dit Turing-complet s’il est possible d’écrire tous

les programmes imaginables avec son jeu d’instructions. Cette propriété rend le langage

aussi universel et polyvalent qu’une machine de Turing. Ce concept tire son nom d’un ar-

ticle théorique fondamental d’Alan Turing en 1936, intitulé On Computable Numbers, with

an Application to the Entscheidungsproblem.

Le Prix Turing

Le prestigieux Prix Turing, ainsi nommé en hommage à Alan Turing, est

décerné chaque année depuis 1966. Il est vu comme l’équivalent pour

l’informatique du Prix Nobel.

Bien qu’il soit aujourd’hui reconnu comme un des pères fondateurs de

l’informatique, la fin de la vie d’Alan Turing est malheureusement assez

triste. En effet, il a été poursuivi et condamné en raison des lois qui pé-

nalisaient l’homosexualité à l’époque au Royaume-Uni. Il s’est suicidé à

l’âge de 42 ans, en mangeant une pomme empoisonnée au cyanure. Il a

été gracié à titre posthume par la reine Elizabeth II en 2013.

En plus de certains des cryptographes mentionnés dans cet ouvrage,

voici quelques exemples de noms célèbres de l’informatique ayant reçu

le Prix Turing pour leurs travaux : en 1968, Richard Hamming (systèmes

de codage automatique, de détection et correction d’erreurs) ; en 1969,

Marvin Minsky (intelligence artificielle) ; en 1974, Donald Knuth (ana-

lyse des algorithmes, conception de langages de programmation) ; en

1982, Stephen Cook (complexité du calcul informatique) ; en 1985, Ri-

chard Karp (théorie des algorithmes, NP-complétude) ; en 1991, Robin

Milner (systèmes de preuves formelles Logic for Computable Functions,

langage de programmation ML, calcul de systèmes communicants) ; en

2000, Andrew Yao (théorie de la calculabilité, génération de nombres

pseudo-aléatoires, cryptographie, complexité de la communication) ; en

2013, Leslie Lamport ( systèmes distribués et concurrents).

90
Un méli-mélo de carac-
5
tères ☆

« If you think technology can solve your security problems, then you don’t

understand the problems and you don’t understand the technology. »

« Si vous pensez que la technologie peut résoudre vos problèmes de sécurité

alors vous n’avez rien compris aux problèmes ni à la technologie. »

Bruce Schneier, « Secrets & Lies, Digital Security in a Networked World », 1985.

Cette fois, tous les caractères du message en clair sont présents dans la lettre

à décrypter. Le tout est trop confus. Il faut remarquer, comme indiqué dans les

indices, que les espaces ne comptent pas et que la ponctuation et les apos-

trophes sont considérées comme des caractères au même titre que les lettres

et les chiffres. Ensuite, en se souvenant des énigmes 2 page 5 et 4 page 9, dans

lesquelles il fallait aussi décrypter une lettre, il est possible de deviner que la

lettre est encore écrite selon le même modèle. Cela permet de commencer à

chercher une logique dans ce chiffrement en comparant le lieu et la date de

ces lettres, après avoir enlevé les espaces, avec la partie correspondante de la

lettre de cette énigme :

Le26avril1942àWashingtonD.C. et

Le28avril1942àBletchleyPark

à comparer avec :

92Leirav49l1aW2ànishnogt.CD.

Il y a une correspondance avec les lettres, écrites à Washington, de l’énigme 2

page 5. Suivant cette hypothèse, en regardant les quatre premiers caractères, il

apparaît que Le29 est chiffré en 92Le. Cela correspond à la permutation notée
4312, ce qui signifie que la chaîne de caractères 1234 est chiffrée en 4312.

irav de-
En faisant de même sur les 4 caractères suivants de la lettre chiffrée,

vient avri, ce qui correspond au clair attendu. En faisant de même sur le reste
de la lettre et en ajoutant des espaces, le message clair donné dans la figure 34

page suivante apparaît. Cette lettre est encore une fois purement imaginaire.

91
25 énigmes ludiques pour s'initier à la cryptographie

Le 29 avril 1942 à Washington D.C.

À qui de droit,

J’ai aussi remarqué que les Allemands utilisent des astuces phonétiques

pour rendre la cryptanalyse plus difficile.

Elizebeth Smith Friedman.

Figure 34 – Lettre en clair de l’énigme 5 page 11.

Le chiffrement d’ENIGMA

La machine ENIGMA utilise à la fois plusieurs substitutions et plusieurs

permutations, en alternant les deux.

En effet, faire deux sustitutions d’affilée n’augmente pas la sécurité, car

c’est équivalent à faire une seule substitution. Par exemple, dans un mes-

sage, décaler chaque lettre de l’alphabet de trois rangs (A devient D, B

devient E, etc., c’est le code de César), puis recommencer dans le mes-

sage obtenu, revient à décaler chaque lettre de six rangs dans le message

initial (A devient G, B devient H, etc.).

De même, faire deux permutations d’affilée est équivalent à en faire une

seule. Par exemple, la permutation 4213 suivie de la permutation 3214 re-

vient à faire la permutation 1243.

Ainsi, pour augmenter la difficulté de la cryptanalyse, il faut alterner per-

mutations et substitutions, comme dans la machine ENIGMA.

Claude Shannon (1916-2002)

Claude Shannon est le père de la théorie de l’information. En 1949, dans

son article Communication Theory of Secrecy Systems, il introduit plu-

sieurs concepts essentiels en cryptographie.

En particulier, il définit la notion d’entropie mathématique, qui est au

cœur de la sécurité car elle permet de quantifier la quantité d’informa-

tion contenue dans un message. C’est aussi dans cet article qu’apparaît la

notion de chiffrement parfait (voir page 96). De même, il introduit les no-

tions de confusion et de diffusion, qui sont des propriétés que doit pos-

92
5 Un méli-mélo de caractères ☆

séder un système de chiffrement pour être sûr, au sens de la théorie de

l’information. Par exemple, une substitution

des lettres de l’alphabet apporte de la confu-

sion pour le système de chiffrement qui l’utilise,

parce que le texte obtenu n’est pas reconnais-

sable. D’autre part, une permutation des lettres

du message apporte de la diffusion, parce que

les lettres qui composent chaque mot sont dis-

persées dans le texte chiffré. Les deux propriétés

sont nécessaires à la sécurité du chiffrement.

Des méthodes classiques de chiffrement



comme DES et AES font appel à une suc-

cession de boîtes P (permutations, apportant Figure 35 – Claude

de la diffusion) et de boîtes S (substitutions, Shannon.

apportant de la confusion).


Data Encryption Standard

Standards de chiffrement symétriques : DES et AES

Après la Seconde Guerre mondiale, les progrès des ordinateurs ont per-

mis aux cryptographes de concevoir des chiffrements plus complexes, et

donc plus sûrs, que la machine ENIGMA.

En 1973, le NIST lance une compétition internationale pour définir un

standard de chiffrement symétrique. Utiliser un chiffrement symétrique

était à cette époque le seul moyen de communiquer de manière sé-

curisée entre deux personnes car le premier chiffrement asymétrique,

RSA, n’a été inventé que quelques années plus tard (voir l’énigme 18

page 37). Les spécifications de ce concours demandaient aux chercheurs

de concevoir un chiffrement symétrique qui chiffre un message de 64

bits en un chiffré de 64 bits à partir d’une clé de 56 bits.

Le gagnant de cette compétition fut le chiffrement Lucifer, conçu en 1971

par Horst Feistel, qui travaillait pour IBM. Ce chiffrement effectue, à par-

tir du message en clair, seize fois des substitutions, permutations et mé-

langes avec les seize clés dérivées de la clé initiale. En comparaison, les

cinq rotors de la machine ENIGMA ne permettaient en quelque sorte

que cinq de ces opérations. La différence augmente significativement la

difficulté de casser ce chiffrement par les méthodes alors connues. Luci-

93
25 énigmes ludiques pour s'initier à la cryptographie

fer devient le DES en 1976, après que la NSA a modifié les substitutions

présentes dans le chiffrement originel de Feistel. Dans les années 2000,

la NSA a expliqué que ces changements étaient dûs au fait que les nou-

velles substitutions rendaient le chiffrement plus résistant à des attaques

connues de ses services à l’époque, mais qui ne seront publiquement dé-

voilées que quelques années plus tard.

Avec les avancées en termes de communication et le développement

d’Internet dans les année 1990, il devenait nécessaire d’avoir un chiffre-

ment qui permette de chiffrer plus de 64 bits à la fois. De plus, la puis-

sance de calcul ayant augmenté, le chiffrement DES est devenu plus at-

taquable par les machines, suivant la loi de Moore . Afin de pallier ces

problèmes, le schéma Triple DES a été proposé. Il s’agit de chiffrer un

message trois fois avec l’algorithme DES et deux clés K1 et K2 . Le premier


chiffrement se fait avec la clé K1 , le second avec la clé K2 et, pour des rai-
sons de compatibilité, le troisième chiffrement s’effectue avec la clé K1 .

Ainsi, si K1 = K2 cela revient à faire un seul chiffrement DES. Comme évo-

qué dans la solution de l’énigme 8 page 107, cette technique est sensible

à une attaque dite de rencontre au milieu (Meet in the middle).

En 1997, le NIST lança une nouvelle compétition pour définir un nouveau

standard, appelé AES, qui prend un message de 128 bits, une clé de chif-

frement, et produit un message chiffré de 128 bits. Il y a eu quinze candi-

dats et, en 1999, le NIST a choisi cinq finalistes pour une étude plus pous-

sée. En 2000, le chiffrement Rijndael, conçu par deux cryptographes

belges, Joan Daemen et Vincent Rijmen, est devenu le nouveau stan-

dard. Ce chiffrement propose trois tailles de clés différentes (128, 192 et

256 bits), pour lesquelles il effectue respectivement 10, 12 ou 14 répéti-

tions d’opérations de décalage, d’ajout de la clé, de substitution ou de

mélange des bits. En 2020, AES est le chiffrement symétrique le plus uti-

lisé. Il est souvent implanté au niveau matériel (hardware) sur les cartes

mères ou les cartes graphiques afin d’accélérer son exécution.


Cette loi empirique, énoncée en 1965 par Gordon E. Moore, un des trois fondateurs

d’Intel, dit que la puissance de calcul des ordinateurs double environ tous les 18 mois.

94
Vous avez dit sûr, ... sûr
6
☆☆

« Fully secure systems don’t exist today and they won’t exist in the future. »

« Les systèmes parfaitement sûrs n’existent pas aujourd’hui et ils n’existeront

pas dans le futur. »

Adi Shamir, RSA Conference, 2015.

D’après les messages entre Alice et Bob et le protocole, il en découle :

51 = M + KA
69 = (M + K A ) + K B
60 = M + KB

Il s’agit de déduire le messageM , bien qu’il circule toujours en étant chiffré.


Par exemple, il est tout d’abord possible de trouver K B , en soustrayant la pre-
mière équation à la deuxième 69−51 = 18 = ((M + K A)+ K B )−(M + K A) = K B .

Ensuite, le message M = 42 est découvert en soustrayant K B à la troisième

équation 60 − 18 = 42 = (M + K B ) − K B ) = M . Un calcul similaire est possible

en trouvant d’abord K A au lieu de K B .

Avec le chiffrement utilisé par Alice et Bob, le protocole à trois passes de Sha-

mir n’assure pas le secret de leurs communications, puisqu’un attaquant peut

découvrir le message M sans connaître leurs clés. Il existe des chiffrements (un
peu plus compliqués, par exemple à base de RSA, voir l’énigme 18 page 37) qui

permettent d’utiliser ce protocole sans que l’attaquant ne puisse découvrir le

message, mais se posent alors des problèmes liés à l’authentification des pro-

tagonistes (voir l’énigme 9 page 19).

« Vous avez dit bizarre... bizarre. »

Le titre de cette énigme est un clin d’œil au film Drôle de drame, de Mar-

cel Carné sur un scénario de Jacques Prévert, sorti en 1937. Il contient

de nombreux dialogues irréels, devenus cultes. La réplique « Vous avez

95
25 énigmes ludiques pour s'initier à la cryptographie

dit bizarre... bizarre. » est proférée à propos d’un couteau, lors d’un dî-

ner entre les personnages joués par Louis Jouvet et Michel Simon. Ils

prennent leur canard, alors que la femme du cousin est soit disant chez

une copine, pour échapper à l’évêque.

Définition d’un chiffrement parfait

Un chiffrement est dit parfait, au sens de la théorie de l’information,

lorsqu’un attaquant ne disposant que d’un message chiffré ne peut en

déduire aucune information sur le message clair. Cette notion a été in-

troduite par Claude Shannon en 1949 (voir page 92). Celui-ci a aussi dé-

montré que pour qu’un chiffrement soit parfait, il est nécessaire que la

clé soit aussi longue que le message à chiffrer. Le chiffrement One Time

Pad satisfait ces deux propriétés. La démonstration en est donnée dans

les deux prochains encadrés.

Pour donner un sens mathématique à la notion de chiffrement parfait, il

est nécessaire d’introduire quelques notations et un peu de probabilités.

Soit M l’ensemble des messages clairs possibles, K l’ensemble des clés


possibles et C l’ensemble des messages chiffrés possibles, dans le cas du
chiffrement considéré. Pour tout message m ∈ M (se lit m appartenant

à M ) et toute clé k ∈ K , le message chiffré obtenu à partir de m et k est

un élément c ∈ C , avec c = {m }k .

Un chiffrement est dit parfait lorsque la connaissance du chiffré c n’ap-

porte aucune information sur le clair m . Autrement dit la probabilité d’ob-

server le message m connaissant c est identique à la probabilité d’obser-

ver m sans autre connaissance a priori. En langage des probabilité, où Pr

se lit probabilité d’observer et le symbole | se lit sachant, cela s’écrit :

Pr(m∣c ) = Pr(m)

Longueur de la clé d’un chiffrement parfait

La clé d’un chiffrement parfait doit être au moins aussi longue que le

message, en voici la preuve. Un raisonnement par l’absurde permet de

montrer que pour qu’un chiffrement soit parfait, le nombre de clés pos-

sibles doit nécessairement être au moins aussi grand que le nombre de

messages clairs possibles, ce qui se note ∣K∣ ≥ ∣C∣.

96
6 Vous avez dit sûr, ... sûr ☆☆

Supposons que ce ne soit pas le cas, c’est-à-dire ∣K∣ < ∣C∣ (il y a moins de
clés possibles que de clairs possibles). Prenons un certain chiffré c0 pour
lequel nous ne connaissons ni le clair m0 ni la clé k0 vérifiant c0 = {m0 }k .
0
En testant toutes les clés possibles pour déchiffrer c0 , nous obtenons une

liste de ∣K∣ messages clairs m ∈ M (en espérant que m0 soit dedans). Or,

par hypothèse, le nombre de clés est plus petit que le nombre de clairs

m1 ∈ M qui n’est pas dans notre


possibles. Ainsi, il existe au moins un clair

Pr(m1 ∣c0 ) = 0 alors que Pr(m1 ) ≠ 0.


liste. Ainsi,

Ceci n’est pas possible car le chiffrement est parfait : pour tout clair m ∈

M et chiffré c ∈ C : Pr(m∣c ) = Pr(m). C’est donc que notre hypothèse


∣K∣ < ∣C∣ est incorrecte. Par conséquent, ∣K∣ ≥ ∣C∣ : dans un chiffrement
parfait, il y a au moins autant de clés possibles que de clairs possibles.

Lorsque les messages sont les mots binaires d’une certaine longueur,

comme dans le cas de One Time Pad, cela signifie que les clés doivent

comporter au moins autant de bits que les messages.

One Time Pad est un chiffrement parfait

Lorsque le chiffrement est One Time Pad, les ensembles M, K et C sont


tous les trois égaux à l’ensemble des mots binaires d’une certaine lon-

gueur, notée n. Les clés sont aléatoires, ou de façon synonyme équipro-


Pr(k ) = ∣K∣1 −n
bables, ce qui signifie que = 21n = 2 . Enfin, c = m ⊕ k , et
aussi m = c ⊕ k , et k = m ⊕ c , à cause des propriétés de l’opération ⊕.

D’après la définition donnée plus haut, pour montrer que One Time Pad

est un chiffrement parfait, il suffit de vérifier que pour tout clair m ∈ M,


et pour tout chiffré c ∈ C , l’égalité Pr(m∣c ) = Pr(m) est vérifiée.
En probabilités, il existe une relation entre observer m connaissant c et

observer m et c simultanément (noté Pr(m et c )) :

Pr(m et c ) = Pr(m∣c ) × Pr(c )

qui peut se réécrire

Pr(m et c )
Pr(m∣c ) =
Pr(c )
Nous allons utiliser cette relation pour montrer que Pr(m∣c ) = Pr(m).

97
25 énigmes ludiques pour s'initier à la cryptographie

Comme c = m ⊕ k , observer simultanément m et c revient à observer


simultanément m et la clé k = m ⊕ c . Nous pouvons donc écrire :

Pr(m et c ) Pr(m et k )
Pr(m∣c ) =
Pr(c ) Pr(c )
=

Or, les clairs m et les clés k peuvent être choisis de façon complètement
indépendante. En probabilités, lorsque que 2 événements sont indépen-

dants, la probabilité de les observer simultanément revient à multiplier la

probabilité de les observer chacun :

Pr(m et k ) = Pr(m) × Pr(k )

Dans notre cas, l’équiprobabilité des clés permet d’écrire Pr(m et k ) =


Pr(m) × 2
−n
. Ainsi, la relation précédente devient :

Pr(m) × 2
−n
Pr(m∣c ) =
Pr(c )

Il reste à calculer Pr(c ), qui peut se décomposer en parcourant l’en-

semble des messages m1 , m2 , ...m2n ∈ M comme suit :

Pr(c ) = Pr(c et m1 ) + . . . + Pr(c et m2n )

Ensuite comme ci-dessus, il est possible de réécrire pour chaque mes-

sage mi (où ki = mi ⊕ c ) :

c ) = Pr(mi ki ) = Pr(mi ) × Pr(ki ) = Pr(mi ) × 2


−n
Pr(mi et et

Pr(c ) = (Pr(m1 ) + . . . + Pr(m2n )) × 2 . Or, les mes-


−n
Puis en factorisant,

sages mi décrivent l’ensemble des clairs possibles M, donc la propriété

des probabilités totales donne : Pr(m1 ) + . . . + Pr(m2n ) = 1.

En conclusion, Pr(c ) = 2
−n
et

Pr(m) × 2
−n
Pr(m∣c ) =
2−n
= Pr(m)

C’est bien le résultat attendu.

98
Une modification invisible
7

« Le vaincu de son cœur. »

Victor Hugo, « Les Quatre Vents de l’esprit », 1881.

Pour résoudre l’énigme et trouver le message modifié, il suffit de trouver la

contrepèterie associée à la phrase :

« Les Grecs ont inventé des codes qui permutent. »

Elle est obtenue en intervertissant les deux lettre en gras :

« Les Grecs ont inventé des modes qui percutent. »

D’ailleurs, en Grèce et dans divers lieux de la capitale, il est courant de voir

des personnes avec de jolis polos.

Cette énigme montre que les propriétés algébriques de certains opérateurs

(ici, le fait que le nombre calculé ne dépend pas de l’ordre des caractères du

message) peuvent permettre de monter des attaques.

C’est aussi l’occasion d’introduire le concept de code détecteur et correc-

teur d’erreurs. Il ne s’agit plus de cryptographie : lorsque des données numé-

riques sont stockées ou transmises, des perturbations (par exemple électro-

magnétiques) peuvent les endommager. Les codes détecteurs et correcteurs

d’erreurs permettent, dans une certaine mesure, de détecter si les données ont

été altérées et si c’est le cas, de reconstituer les données d’origine par un méca-

nisme de correction. Ces codes sont utilisés dans les télécommunications, mais
¶ ∮
aussi dans les supports de stockage numériques que sont les CD , DVD et

disques Blu-ray, de façon complètement transparente pour l’utilisateur.


Compact Disc


Digital Versatile Disc

99
25 énigmes ludiques pour s'initier à la cryptographie

Code correcteur et cryptographie

Les codes correcteurs permettent de corriger un message en suppri-

mant jusqu’à un certain point le bruit ou les erreurs qui se seraient intro-

duits dans la communication. Pour sa part, la cryptographie a pour but de

chiffrer des messages pour que seules les personnes autorisées puissent

les lire, ce qui semble bien différent. Pourtant, des chercheurs ont déve-

loppé des chiffrements à base de codes correcteurs. L’idée est de consi-

dérer que le processus de correction constitue l’algorithme de déchiffre-

ment, tandis que l’ajout des erreurs sur un message initial forme le pro-

cessus de chiffrement. Par exemple, avec le code par répétition (voir en-

cadré page 103), qui permet de détecter et corriger une erreur, pour chif-

frer le message 0, il s’agit de créer le mot de code correspondant 000 et

d’y ajouter une erreur aléatoire pour obtenir par exemple le chiffré 010.

Pour déchiffrer ce message, il suffit alors de détecter et corriger l’erreur

pour obtenir le message en clair.

Cette idée fonctionne car, en 1978, Elwyn Ralph Berlekamp, Robert

McEliece et Henk van Tilbørg ont montré que, au sein de certains en-

sembles de codes correcteurs, trouver l’algorithme de correction et de

décodage correspondant à un algorithme de codage donné, est un pro-

blème difficile. Cela assure qu’un de ces ensembles de codes correcteurs

peut être utilisé pour construire un chiffrement asymétrique. En 1978,

Robert McEliece proposa un premier chiffrement sur ce principe. Par la

suite d’autres chiffrements basés sur les codes ont vu le jour, par exemple

le chiffrement de Reed-Solomon.

Avec l’arrivée de l’ordinateur quantique, les chiffrements asymétriques

reposant sur des problèmes comme la factorisation de nombres entiers,

pour RSA, ou le logarithme discret, pour ElGamal, ne seront plus sûrs,

car il deviendra possible de résoudre ces problèmes très rapidement.

En revanche, les problèmes à base de codes correcteurs resteront dif-

ficiles, même en disposant d’un ordinateur quantique. Cette propriété

assure que certains de ces codes correcteurs peuvent être utilisés pour

construire des chiffrements asymétriques durables. En effet, les chiffre-

ments asymétriques, essentiels aujourd’hui en cryptographie, sont tous

basés sur des problèmes appelés problèmes difficiles, ce qui signifie que,

sans la clé secrète, il n’est pas possible de décrypter un message chif-

fré en temps raisonnable (autrement dit, la puissance de calcul des or-

dinateurs actuels n’est pas suffisante, seul l’algorithme de déchiffrement

100
7 Une modification invisible ☆

avec la clef secrète est utilisable). Avec les chiffrements basés sur les ré-

seaux (latice based), les chiffrements à base de codes sont des solutions

d’avenir pour la cryptographie post-quantique.

Ordinateur quantique

Un tel ordinateur repose sur les principes de la mécanique quantique. Au

lieu de manipuler des bits qui valent soit 0 soit 1, un ordinateur quantique
manipule des qubits ou qbits, qui peuvent prendre toutes les valeurs pos-

sibles sur une sphère de rayon un. Cela offre de nouvelles manières de

concevoir des algorithmes pour ce type de machines. Par exemple, un

célèbre algorithme quantique inventé par Peter Shor en 1994, permet

de factoriser le produit de deux nombres premiers en temps polynomial,

ce que personne ne sait faire avec les ordinateurs actuels. Le concept

de l’ordinateur quantique est né dans les années 1990, mais c’est seule-

ment en 2001 qu’IBM a pu factoriser 15 en 3×5 en utilisant un calculateur


quantique muni d’une mémoire de 7 qubits. En 2020, l’ordinateur quan-
tique le plus puissant comporte 72 qubits et est développé par Google.
Pour l’instant, les freins au développement des ordinateurs quantiques

sont des limitations physiques liées à l’instabilité des qubits.

Code de parité

▶ Pour transmettre du texte en utilisant le code de parité, chaque

lettre est d’abord représentée en binaire à l’aide de son code ASCII

(voir la table de conversion ASCII de la figure 24 page 48). Par

exemple, les caractères du mot HELLO, dont les codes ASCII sont

72 69 72 72 79, sont représenté sur 7 bits par 1001000 1000101

1001100 1001100 1001111.

▶ Ensuite, le code ASCII de chaque caractère est complété par un

huitième bit, appelé bit de parité, et placé à gauche.

▶ Ce bit de parité est calculé de telle sorte que le nombre total de 1

est toujours pair. Par exemple 100 1101 donne 0 100 1101 et 110 0111

donne 1 110 0111.

▶ Finalement, le mot HELLO devient : 01001000 11000101 11001100

11001100 11001111

101
25 énigmes ludiques pour s'initier à la cryptographie

Détection des erreurs

N’importe quel mot de 8 bits comportant un nombre pair de 1 est sus-

ceptible d’être le message émis, et n’importe quel mot de 8 bits est sus-

ceptible d’être le message reçu, selon les perturbations subies pendant

la transmission. En supposant que le message émis est 1110 1000, voici

quelques exemples de messages reçus possibles :

Message envoyé Message reçu Contrôle

(a) 1110 1000 1110 1000 OK

(b ) 1110 1000 1110 1001 anomalie

(c ) 1110 1000 0100 1100 anomalie

(d ) 1110 1000 0011 0000 OK

▶ Ce tableau montre que le code de parité permet de détecter une

anomalie lorsqu’il y a un nombre impair de bits erronés. En effet,

dans ce cas, le message reçu ne peut pas être celui qui a été envoyé,

puisqu’il comporte un nombre impair de 1 (cas (b ) et (c )). Lorsqu’il y


a un nombre pair de bits erronés (cas (d )), le message reçu est bien
un message émis potentiel : il est impossible de s’apercevoir qu’il y

a eu une anomalie.

▶ Le code de parité ne permet pas de corriger les erreurs : lorsqu’une

anomalie est détectée, il faut modifier un bit (ou peut-être trois,

cinq ou même sept bits) pour retrouver le message émis et rétablir

la parité du nombre de 1, mais il n’y a aucun moyen de savoir duquel

(ou desquels) il s’agit.

▶ En dépit de sa simplicité, le code de parité permet de détecter une

très grande partie des erreurs. En effet, les messages comportant

au plus une erreur sont beaucoup plus nombreux que les messages

comportant plusieurs erreurs. Par exemple, en imaginant qu’un

bit sur mille est modifié, il y aurait de l’ordre de 0,8 % des carac-

tères (codés sur 8 bits) comportant une unique erreur, et moins de

0,003 % de caractères comportant au moins deux erreurs.

▶ Le code de parité possède un assez bon rendement, puisqu’il mul-


8
tiplie seulement par
7
≈ 1, 143 la longueur des messages.

102
7 Une modification invisible ☆

Code par répétition

Avec le code correcteur par trois répétitions, chaque bit d’information

est répété trois fois. Les mots d’information ont seulement un bit, et les

messages émis ont eux trois bits :

mot d’info message émis

0 000

1 111

Détection et correction des erreurs

Les seuls messages émis possibles sont 000 et 111, et n’importe quel mot

de trois bits est susceptible d’être le message reçu, selon les perturba-

tions subies pendant la transmission. La détection d’erreur consiste à vé-

rifier si les trois bits de message reçu sont identiques : si ce n’est pas le

cas, il y a forcément une anomalie, et si c’est le cas, le message reçu est

considéré comme sans erreur. La correction d’un message reconnu er-

roné consiste à le remplacer par le message sans erreur le plus probable,

c’est-à-dire le message sans erreur obtenu en modifiant le moins de bits

possible. Le tableau ci-dessous détaille le cas où le message émis est

000, le cas 111 est évidemment symétrique. Cette fois tous les messages

reçus possibles (il n’y en a que huit) sont présentés.

Message Message Contrôle Correction

émis reçu proposée

(a ) 000 000 OK

(b ) 000 100 anomalie 000

(c ) 000 010 anomalie 000

(d ) 000 001 anomalie 000

(e ) 000 110 anomalie 111

(f ) 000 101 anomalie 111

(g ) 000 011 anomalie 111

(h) 000 111 OK

▶ Ce tableau montre que le code par répétition permet de détecter

une anomalie lorsqu’il y a un ou deux bits erronés (le message reçu

ne peut pas être le message émis - cas (b ) à (g )), mais pas lorsqu’il
y en a trois (cas (h)). En effet, dans ce dernier cas, le message reçu
est bien un message émis potentiel.

103
25 énigmes ludiques pour s'initier à la cryptographie

▶ La correction se fait en remplaçant un message reçu reconnu er-

roné par le message émis potentiel le plus proche (c’est-à-dire

avec le moins de bits différents), car c’est la correction qui a la plus

grande probabilité d’être correcte.

▶ Par conséquent, le codage par répétition permet de corriger cor-

rectement une erreur portant sur un seul bit (cas (b ), (c ) et (d )),


mais ne permet pas de corriger correctement une erreur portant

sur deux bits (cas (e ), (f ) et (g ) - en fait dans ce cas, la correction


proposée est systématiquement incorrecte).

▶ Le code par répétition possède un très mauvais rendement,

puisqu’il multiplie par trois la longueur des messages.

Les principes sur lesquels reposent les codes détecteurs et correcteurs d’er-

reurs utilisés en informatique sont présents dans ces deux exemples : consoli-

dation des mots d’information initiaux par ajout d’information redondante, dé-

tection des messages reçus qui ne peuvent pas être des messages émis, et cor-

rection d’un message erroné en le remplaçant par le message émis potentiel le

plus proche (car c’est le plus probable).

Les informaticiens spécialistes de ce domaine utilisent et mettent au point

des codes de plus en plus performants pour les échanges d’information et le

stockage sur de nouveaux supports. Ils utilisent pour cela des méthodes so-

phistiquées issues de différents domaines des mathématiques. Cependant, les

codes parfaits ne peuvent pas exister : il y a forcément des messages erronés

qui ne sont pas détectés, et des messages erronés détectés mais mal corrigés.

Un tour de magie

Le code de double parité est un code détecteur et correcteur d’erreurs

souvent utilisé dans un contexte pédagogique. En particulier, l’activité

présentée ici est un classique de l’approche dite Informatique Sans Or-

dinateur. Le matériel pour réaliser le tour de magie se compose de 36

cartes carrées, chacune ayant une face blanche et une face noire.

Pour commencer, pendant que le magicien ne regarde pas, une per-

sonne de l’assistance forme un carré de 5 lignes et 5 colonnes avec 25

des cartes bicolores, en plaçant les faces noires et blanches comme elle

le souhaite, si possible sans former un motif reconnaissable.

Dans un deuxième temps, un complice du magicien, ou le magicien lui-

même, ajoute les 11 cartes restantes pour former un carré de 6 lignes et

104
7 Une modification invisible ☆

de 6 colonnes. Mais cette fois, il faut s’assurer de positionner les faces

noires ou blanches de telle sorte que chaque ligne et chaque colonne

contienne un nombre pair de cartes noires. Les cartes ajoutées à cette

étape vont permettre de mettre en œuvre le code de parité à la fois sur

les lignes et les colonnes de la figure obtenue. Cette manœuvre doit être

effectuée rapidement et son objectif dissimulé, en prétendant par exem-

ple que c’est pour compliquer le travail du magicien.

Ensuite, pendant que le magicien ne regarde pas, la personne de l’assis-

tance retourne une des 36 cartes, en montrant ce qu’elle fait à l’ensemble

du public. Cette personne prend soin de faire une croix sous la carte re-

tournée pour permettre de valider le résultat par la suite.

Enfin, le magicien fait volte-face pour regarder les cartes et annonce à

l’assistance laquelle a été retournée. Elle se trouve bien entendu à l’in-

tersection de la ligne et de la colonne qui contiennent un nombre impair

de cartes noires, puisqu’inverser cette carte a forcément perturbé la lo-

gique de construction de la dernière ligne et de la dernière colonne.

Le lecteur pourra se convaincre que le code de double parité permet

de détecter et de corriger à coup sûr une erreur portant sur un bit (une

carte). Lorsqu’il y a plus de bits erronés, certaines modifications ne sont

pas décelables (avec 4 erreurs), et certaines modifications sont déce-

lables, mais la correction proposée n’est pas la bonne (avec 3 erreurs).

Cette activité est abordable avec des enfants dès que les notions de li-

gne/colonne et de pair/impair sont connues. De nombreuses autres ac-

tivités d’Informatique Sans Ordinateur, qui visent à faire découvrir des

concepts fondamentaux de la science informatique en s’amusant et sans

utiliser d’ordinateur, sont présentées dans l’ouvrage collectif [Col17].

Contrepèteries

Une contrepèterie est un jeu de mots qui consiste à échanger des sons ou

des lettres dans une phrase afin de produire une nouvelle phrase avec un

autre sens, souvent grivois. L’art de faire des contrepèteries s’appelle le

contrepet. Joël Martin est un des auteurs contemporains de contrepè-

teries les plus prolifiques. Depuis 1984, il est l’auteur du célèbre Album

de la Comtesse de l’hebdomadaire satirique Le Canard Enchaîné. En

2003, il a écrit La bible du contrepet, une bible qui compte pour déca-

ler les sons. Cet ouvrage contient des milliers de contrepéteries classées

105
25 énigmes ludiques pour s'initier à la cryptographie

par thèmes. En littérature, de nombreux auteurs célèbres se sont livrés

à des contrepets, comme le montrent les quelques citations ci-dessous.

Dans cet ouvrage, les auteurs se sont aventurés à dissimuler quelques

modestes hommages à ces illustres prédécesseurs.

« Monsieur goutez cette farce . »

Estienne Tabourot (1547-1590), Bigarrures du seigneur des Accords

(1572).

« Devine, si tu peux, et choisis, si tu l’oses. »

Pierre Corneille (1606-1684), Héraclius, empereur d’Orient (1646), IV, 4.

« En quelque endroit que j’aille, il faut fendre la presse. »

Nicolas Boileau (1636-1711), Les Embarras de Paris (1666), Satires, VI.

« Je cherchais dans leurs flancs ma raison égarée [...]. »

Jean Racine (1639-1699), Phèdre (1677), Acte I, Scène 3, vers 282.

« Il tourne ses regards aux bords qu’il a quittés [...]. »

Alphonse de Lamartine (1790-1869), Nouvelles Méditations poétiques

(1823), Elégie.

« Le calembour, c’est la fiente de l’esprit qui vole. »

Victor Hugo (1802-1885), Les Misérables (1862), I, première partie, III, 7,

Sagesse de Tholomyès.

« Nous sommes les proscrits, nous habitons l’abîme. »

Victor Hugo (1802-1885), Les Quatre Vents de l’esprit (1881).

106
Chiffrer deux fois n’est pas
8
deux fois plus sûr ☆☆

« Without strong encryption, you will be spied on systematically by lots of

people. »

« Sans chiffrement fort, vous serez espionné systématiquement par de

nombreuses personnes. »

Whitfield Diffie, The Buffalo News, 2 février 1999.

Cette énigme introduit l’attaque dite Meet in the middle, proposée en 1977

par Whitfield Diffie et Martin Hellman (voir page 20). D’une efficacité redou-

table, c’est une des plus belles attaques en cryptographie symétrique.

L’attaque par recherche exhaustive, contre laquelle Alice cherche à se pré-

munir, consiste à partir du message M et, pour chaque couple de clés (K1 , K2 ), à
lui appliquer successivement un chiffrement avec la clé K1 , puis un chiffrement
avec la clé K2 , et enfin de comparer le résultat avec le chiffré C .

L’attaquant astucieux, pour sa part, utilise à la fois le message clair M et le

chiffré C , et fait la moitié du chemin à partir de chacun des deux, d’où le nom de

cette attaque. Plus précisément, d’une part, avec la clé K1 , l’attaquant chiffre

le message clair M en calculant E NC (K1 , M ), et d’autre part, avec la clé K2 , il

déchiffre le chiffré C en calculant DE C (K2 , C ). La seule valeur commune entre

la liste de tous les E NC (K1 , M ) et celle de tous les DE C (K2 , C ), lui permet de

découvrir à la fois K1 et K2 .

L’idée consiste à appliquer pour commencer le déchiffrement avec la clé K2

à l’équation suivante : C = E NC (K2 , (E NC (K1 , M )) pour obtenir :

DE C (K2 , C ) = DE C (K2 , E NC (K2 , E NC (K1 , M )))

Dans le terme de droite, le chiffrement et le déchiffrement successifs avec K2


se simplifient pour donner l’équation suivante, qui montre en effet ce qui était

attendu : DE C (K2 , C ) = E NC (K1 , M ).


Il reste à montrer en quoi cette approche est plus efficace que la simple re-

cherche exhaustive imaginée par Alice. Il est dit dans l’énigme que les clés sont
n
des nombres composés de n bits en binaire. Il existe donc 2 clés différentes. Le
terme DE C (K2 , C ), comme le terme E NC (K1 , M ), ont ainsi chacun 2 valeurs
n

107
25 énigmes ludiques pour s'initier à la cryptographie

n n n+1
possibles, ce qui fait au total 2 +2 =2 calculs. Ensuite, il suffit de regarder

les résultats qui sont égaux. La méthode envisagée par Alice nécessite de son
n n 2n
côté 2 × 2 = 2 calculs pour tester tous les couples de clés.
n+1 2n
Les valeurs 2 et 2 ne semblent pas si différentes au premier abord, mais
2n n+1
non seulement 2 est plus grand que 2 , mais l’écart s’accroît énormément

avec la taille des clés, à cause de la croissance exponentielle de la fonction x ↦


x
2 . À titre d’exemple, pour des clés de seize bits (2 caractères), les valeurs obte-
nues sont respectivement 268 435 456 et 32 768, mais pour des clés de trente-

deux bits (4 caractères), on arrive à 1 099 511 627 776 et 2 097 152. Pour une taille

de clé de 128 bits, personne n’est jamais assez fort pour ce calcul.

La légende de Sissa
1
JAN

La croissance exponentielle est souvent illustrée par la légende de Sissa

décrite par Alfonso X, dans son ouvrage Libro de azedrez, dados e tablas

en 1283. Selon cette légende, Sissa, l’inventeur du jeu d’échec, il y a plus

de cinq mille ans en Inde, aurait demandé à son roi, comme récompense,

la quantité totale de grains de blé (ou de riz) obtenue en posant un grain

sur la première case d’un échiquier, puis deux grains sur la deuxième,

quatre grains sur la troisième, et ainsi de suite, en doublant le nombre de

grains de blé à chaque fois. Un échiquier comportant 8 × 8 = 64 cases,


63 64 19
le nombre obtenu est : 1 + 2 + 4 + ... + 2 = 2 − 1 ≈ 1, 8 × 10 . Ce
nombre représente plus de 18 milliards de milliards. Il dépasse évidem-

ment la quantité de blé produite dans le royaume à l’époque, et repré-

sente même plus de mille fois la production mondiale en 2020.

Ce problème a été également décrit en 1202 par Leonardo Pisano Fibo-

nacci. De nombreuses variantes en ont été imaginées au cours de l’His-



toire , voici quelques exemples. En Inde, en 1150, Bhaaskara dans son

traité Lılavatı, demande combien d’argent un mendiant va recevoir si

chaque jour lui est donné le double de l’argent de la veille. En Chine, Suàn

Shù Shù, en 200 avant J.-C., dans son livre sur les nombres et le calcul,

demande de calculer la production d’une femme, douée pour tisser, qui

double sa production chaque jour. En Mésopotamie, au temps de Ham-

murabi, vers 1800 avant J.-C., sur le recto de la tablette M8631, il est écrit

« J’ai ajouté un grain d’orge à un autre le premier jour, 4 grains d’orge le

second jour, 8 le troisième jour, etc. »


https://hist-math.fr/users/Histoires/Arithmetique/sissa_
double.pdf

108
8 Chiffrer deux fois n'est pas deux fois plus sûr ☆☆

Croissances comparées

La notion de croissance comparée des fonctions joue un rôle très impor-

tant en informatique. Par exemple, en cryptographie, il est essentiel que

les problèmes sous-jacents aux primitives cryptographiques soient diffi-

ciles à calculer quand le nombre de bits de la clé devient grand.

Sur la figure ci-dessous, vous pouvez observer quatre types de fonctions

qui sont utilisées habituellement :

x
▶ les fonctions de type exponentiel comme x ↦2 ;

2
▶ les fonctions de type polynomial comme x ↦x ;

▶ les fonctions de type linéaire comme x ↦ x;


▶ les fonctions de type logarithmique comme x ↦ log2 (x ).
Toutes ces fonctions ont pour limite +∞ lorsque x tend vers +∞, mais
leurs comportements sont très différents, comme le montrent leurs re-

présentations graphiques ci-dessous.

Croissance des fonctions élémentaires

50 y x
y =2
2
y =x
y =x
40 y = log2 x

30

20

10

x
2 4 6 8 10

109
25 énigmes ludiques pour s'initier à la cryptographie

Certaines fonctions tendent clairement plus vite que d’autres « vers l’in-

fini et au-delà » . En revenant à la légende de Sissa, la quantité totale de

grains de blé sur l’échiquier serait de type polynomial si la règle consis-

tait à mettre dans chaque case deux grains de riz de plus que dans la
2
case précédente : 2 + 4 + 6 + . . . + 128 = 4032 = 63 × 64 ≈ 64 . Elle

serait de type linéaire en mettant deux grains de riz dans chaque case

2 + 2 + 2 + . . . + 2 = 128 = 2 × 64. Enfin, elle serait de type logarithmique


en mettant un seul grain de riz uniquement dans les cases 1, 2, 4, 8, 16, 32

et 64, dont le numéro est une puissance de 2 :

1 + 1 + 1 + 1 + 1 + 1 + 1 = 7 ≈ log2 (64)

Pour comparer l’efficacité de deux algorithmes, les informaticiens re-

cherchent une réponse générale, et non quelques cas particuliers expé-

rimentaux. Ainsi, dans l’énigme, il ne s’agit pas simplement de savoir si la

méthode Meet in the middle est plus efficace que la recherche exhaus-

tive pour une clé de seize bits.

L’outil utilisé à cet effet consiste à associer à chaque algorithme une

fonction qui correspond très approximativement au nombre d’opéra-

tions qu’il doit effectuer en fonction de la taille des données sur les-

quelles il travaille. Cette fonction s’appelle la complexité de l’algorithme.

Ainsi, dans cette énigme, la recherche exhaustive a une complexité de


2n
l’ordre de 2 , tandis que la méthode Meet in the middle a une com-
n+1
plexité de l’ordre de 2 . D’autres algorithmes ont par exemple une

complexité dite linéaire, si le nombre d’opérations est proportionnel à la

taille des données. Comparer l’efficacité de deux algorithmes consiste

alors à comparer la croissance de leur complexité.


« Infinity and beyond » en référence à la devise de Buzz l’Éclair, le personnage astro-

naute du film d’animation Toy Story, sorti en 1995.

110
Le protocole de Diffie-

9 Hellman pour établir une

clé ☆☆

« A very small percentage of the population produces the greatest proportion

of the important ideas. »

« Un très petit pourcentage de la population produit la plus grande proportion

des idées importantes. »

Claude Shannon, discours « Creative Thinking » à Bell Labs, le 20 mars 1952.

Le principe de cette attaque dite Man in the middle (homme au milieu) est

que l’intrus établisse une clé entre Bob et lui, mais aussi une autre clé entre Alice

et lui, en se faisant passer pour Alice auprès de Bob, et pour Bob auprès d’Alice.

L’intrus intercepte le message ga qu’Alice pense avoir envoyé à Bob. Il choisit


x
un x et répond à Alice le reste gx de la division de g par p . Ainsi, Alice pense par-
tager la clé gx a avec Bob, alors que cette clé est uniquement connue de l’intrus.

Du côté de Bob, l’intrus choisit un y et lui envoie comme message le reste


y
gy de la division de g par p . Bob répond alors gb , en pensant parler à Alice. Il
partage donc avec l’intrus la clé gy b .

Par la suite, l’intrus peut déchiffrer toutes les communications entre Alice et

Bob. S’il ne souhaite pas être détecté, il doit déchiffrer chaque message envoyé

par Alice ou Bob, le rechiffrer avec la clé qu’il partage avec l’autre participant, et

le lui retransmettre.

Cettte énigme est l’occasion d’introduire l’arithmétique modulaire, un outil

incontournable en cryptographie, qui est aussi utilisée dans l’énigme 18 page 37.

Arithmétique modulaire

En arithmétique, les nombres manipulés sont uniquement des entiers,

les nombres fractionnaires ou à virgule n’existent tout simplement pas.

Pour cette énigme, Alice et Bob se mettent d’accord sur un nombre

premier p, et font tous leurs calculs arithmétiques modulo p. Cela si-

gnifie que les résultats sont systématiquement ramenés dans l’intervalle

[0; p − 1], qui se note Z/p Z, en enlevant ou en ajoutant p autant de fois


que nécessaire, comme illustré sur le schéma ci-dessous avec p = 11.

111
25 énigmes ludiques pour s'initier à la cryptographie

+22 −11

• • • • • • • • • • • • •
−14 0 1 2 3 4 5 6 7 8 9 10 13

De faç�on équivalente, il s’agit de remplacer les nombres par leur reste

dans la division euclidienne par p , qui est forcément un entier apparte-


nant à l’intervalle [0; p − 1].
Cette opération de modulo, qui se note mod p , est compatible avec les
opérations arithmétiques + et ×, c’est-à-dire qu’il est possible de se ra-
mener dans Z/p Z à n’importe quel moment d’un calcul combinant ces
deux opérations. Ainsi, les nombres manipulés ne deviennent pas arbi-

trairement grands. Ça change des maths ordinaires, et reste assez facile.

Cependant, le domaine mathématique associé est immense et de nom-

breux aspects dépassent le cadre de cet ouvrage.

Générateur de Z/pZ

Pour le protocole de Diffie-Hellman, Alice et Bob utilisent également



un nombre g qui s’appelle un générateur du groupe multiplicatif Z/p Z .

Par abus de langage, cette expression sera ici simplifiée en générateur

de Z/p Z. Il s’agit d’un entier de Z/p Z tel que les restes modulo p de
2 3 p −1
g, g , g , . . . , g correspondent exactement à toutes les valeurs non

nulles de Z/p Z. Par exemple, 2 est un générateur de Z/11Z, mais pas 3,

comme le montre le tableau ci-dessous.

1 2 3 4 5 6 7 8 9 10
mod 11 g g g g g g g g g g
g =2 2 4 8 5 10 9 7 3 6 1
g =3 3 9 5 4 1 3 9 5 4 1

Lorsque p est un nombre premier, la théorie de l’arithmétique modulaire


garantit l’existence d’au moins un générateur de Z/p Z, même s’il n’existe
pas de façon simple d’en trouver un.

112
9 Le protocole de Diffie-Hellman pour établir une clé ☆☆

Ensuite, Alice et Bob se servent de nombres a et b choisis aléatoirement


a
dans Z/p Z (et non nuls) pour calculer chacun de leur côté ga = g mod p
b
et gb = g mod p , qui sont deux nombres non nuls de Z/p Z.
Pour finir, Alice et Bob échangent ces nombres et déterminent leur

(g ) (g )
b a a b
clé commune en calculant chacun de leur côté mod p et

mod p . Ces deux derniers nombres se trouvent être égaux parce que la
(x ) = (x ) = x est encore vraie en
y z z y yz
règle de calcul sur les exposants

arithmétique modulaire.

Logarithme discret

La fonction mathématique logarithme habituelle, notée ln, appelée lo-


garithme népérien, est liée à la fonction exponentielle par le fait qu’un

réel y x > 0 donné (ce qui se note y = ln x ) si


est le logarithme d’un réel
y
et seulement si x =e g
. De même, en arithmétique modulaire, lorsque

est un générateur de Z/p Z, pour un entier c donné, le nombre d tel que


d
c = g mod p s’appelle le logarithme de c . Cette notion n’aurait pas vrai-
ment de sens si g n’était pas un générateur de Z/p Z, puisqu’il pourrait y

avoir plusieurs valeurs de d (ou aucune), selon la valeur de c .

En mathématiques, l’adjectif discret, qui qualifie par exemple l’ensemble

N des entiers naturels, s’oppose à l’adjectif continu, qui qualifie par exem-
ple l’ensemble R des nombres réels.

Pour le protocole de Diffie-Hellman présenté dans cette énigme l’intrus

se trouve face à un problème de logarithme discret, puisqu’il connaît p


et g qui sont publics, et qu’il peut voir les messages ga et gb échangés par
Alice et Bob. En revanche, il ne connaît pas leurs logarithmes discrets a et
ab
b , qui lui permettraient de calculer à son tour la clé partagée g mod p .
La sécurité du protocole repose sur le fait que la détermination du loga-

rithme discret est un problème difficile.

Deep Crack et l’EFF

L’EFF est une fondation à but non lucratif, créée en 1990 pour promou-

voir les libertés civiques sur Internet. Dès la mise en œuvre du standard

DES en 1976, le fait que les clés utilisées ne comptent que 56 bits a été

dénoncé comme une faille potentielle, par exemple par Whitfield Dif-

113
25 énigmes ludiques pour s'initier à la cryptographie

fie et Martin Hellman (voir page 20). Une attaque de DES par recherche
56
exhaustive (c’est-à-dire en essayant tour à tour toutes les 2 clés pos-

sibles) semblait dès cette époque être techniquement et financièrement

accessible à un gouvernement, sinon à un particulier. En 1998, l’EFF

construisit effectivement une machine appelée Deep Crack pour moins

de 250 000 dollars, capable de décrypter un message chiffré avec DES

en moins d’une journée. Cette aventure est décrite dans le livre de Matt

Curtin [Cur97]. L’évolution des standards de chiffrement symétriques

(Triple DES, puis AES) reflète ces inquétudes.

114
Le partage de Shamir
10
☆☆☆

« Collaboration always wins over competition anytime. And on top of it, it’s

much more fun. Don’t ever believe that research is a zero-sum game.

Collaborate as much as you can ! »

« La collaboration l’emporte toujours sur la compétition, à tout moment. Et en

plus, c’est beaucoup plus amusant. Ne croyez jamais que la recherche est un

jeu à somme nulle. Collaborez autant que vous le pouvez ! »

Silvio Micali, « Proof, according to Silvio », discours pour le Prix Turing.

À partir des points A = (−2; −2), B = (1; 4) et C = (2; 2) et de l’équation


2
y = ax + bx + s , il découle les trois équations suivantes :

−2 = 4a − 2b + s (1)

4 a+b+s
= (2)

2 = 4a + 2b + s (3)

En soutrayant l’équation 1 et l’équation 3, il vient :

−4 = −4b

Ainsi b vaut 1 et le système d’équations devient :

0 = 4a + s (4)

3 = a+s (5)

−3 = 3a. Ainsi, a vaut


Puis, en soutrayant l’équation 4 et l’équation 5, il découle :

−1. L’équation 4 permet enfin de trouver que s = 4.


Finalement, les trois points A = (−2; −2), B = (1; 4) et C = (2; 2) appar-
2
tiennent à la parabole d’équation y = −x + x + 4, tracée en trait plein sur le
graphique ci-dessous. Le nombre secret est le terme constant s = 4, qui cor-

respond à la valeur obtenue pour x = 0.

115
25 énigmes ludiques pour s'initier à la cryptographie

Le secret pourrait être partagé avec d’autres personnes : par exemple, il serait

possible de donner à Dave et Ève les points D = (−1; 2) et E = (3; −2), qui
appartiennent aussi au graphe de la même parabole. Dans ce cas, le nombre s
pourrait être découvert par n’importe quel groupe d’au moins trois participants,

en utilisant la même méthode : il ne faut pas arriver au bout du trinôme, mais

résoudre un système d’équations.

Au contraire, si deux participants seulement se réunissent, ils ne peuvent pas

découvrir le nombre secret, puisqu’il existe une infinité de paraboles passant

par deux points donnés. Le graphique ci-dessous représente par exemple deux

autres paraboles passant par les points A et B .

y
2
8 y = −x + x + 4
2
y = −2x + 6
6 2
y = 3x + 5x − 4
4
B
D
2
C

−8 −6 −4 −2 2 4 6 8 x
A −2
E

−4

−6

−8

En utilisant des polynômes de degrés différents, il est possible d’adapter ce

protocole pour que le nombre minimal de participants devant collaborer pour

découvrir le nombre secret soit différent de trois. En utilisant un polynôme de

degré 1 (une droite), deux participants sont suffisants, avec un polynôme de de-

gré 3, il en faudra au moins quatre, etc.

116
10 Le partage de Shamir ☆☆☆

Problème des cadenas de Chung Laung Liu

Voici la solution combinatoire traditionnelle du problème des cadenas

de Chung Laung Liu, suivie de la solution proposée par Adi Shamir.

Pour chaque groupe différent de 6 scientifiques parmi les 11, il faut mettre

un cadenas différent sur l’armoire, et en donner une clé à chacun. Le

nombre de groupes de 6 personnes parmi 11 est égal au coefficient bi-

nomial (11
6
) = 11!
6!×5!
= 462, ce qui donne le nombre de cadenas. Pour
déterminer le nombre de clés que chacun doit posséder, il faut calculer

le nombre de groupes dont il fait partie. Pour cela, il suffit de remarquer

qu’en fixant un des participants, il reste alors 5 personnes à ajouter au

groupe, prises parmi les 10 personnes restantes, ce qui donne 252 com-
binaisons possibles, car

10 10!
(5)= = 252
5! × 4!

Finalement, la réponse au problème de Liu est qu’il faut au minimum 462

cadenas sur l’armoire et 252 clés par personne, ce qui n’est pas pratique.

La solution mathématique proposée par Adi Shamir est plus élégante.

L’organisateur pose un seul cadenas (à combinaison) sur l’armoire. Il fixe

le nombre s qui permet de l’ouvrir, puis choisit une courbe polynomiale

de la forme suivante :

5 4 3 2
y = ax + bx + cx + dx + ex + s

Il y a 6 paramètres ( a, b , c , d , e et s ), donc il faut connaître au moins 6 points


de cette courbe pour trouver la valeur de s.
Il reste à choisir 11 points sur la courbe et à en distribuer un à chaque

scientifique. Dès lors qu’au moins 6 d’entre eux sont présents en même

temps, ils sont capables de calculer le nombre secret s et d’ouvrir l’ar-

moire. Pour résoudre les systèmes d’équations obtenus, ils devront uti-

liser par exemple la technique d’interpolation de Lagrange ou une mé-

thode de résolution de systèmes d’équations comme le pivot de Gauss.

117
118
Un regroupement de
11
nombres ☆☆☆

« Security is a process, not a product. »

« La sécurité n’est pas un produit, mais un processus. »

Bruce Schneier, « Crypto-Gram », 15 mai 2000.

Il faut d’abord remarquer que les valeurs des nombres donnés sont soit des 0
soit des 255, et noter que ces valeurs sont en particulier utilisées pour coder les
couleurs des images numériques. Ensuite, il faut remarquer qu’il y a 16 lignes, et

que chaque ligne contient 3×7 nombres. Cela laisse penser qu’un codage RGB,
associant 3 nombres à chaque pixel, est utilisé. Le secret serait donc une image

numérique en couleurs, composée de 16 lignes de 7 pixels. Il suffit de regrouper

les colonnes par trois, puis de les brancher sur la table des couleurs. En utilisant

le fait que le blanc est codé par 255 255 255, que le noir est codé par 0 0 0
et que le rouge est codé par 255 0 0, la séquence de nombres de l’énigme se
traduit finalement par l’image de la figure 36, où le rouge apparaît en gris.

Figure 36 – Image solution de l’énigme 11 page 23.

119
25 énigmes ludiques pour s'initier à la cryptographie

RGB

Le système de codage des couleurs RGB est un système dit additif en

optique. Cela signifie qu’une couleur est définie comme la somme de

trois composantes : rouge, vert, bleu, d’où son nom, RVB en français et

RGB en anglais. C’est le modèle choisi pour les écrans des ordinateurs.

La couleur d’un pixel est définie à l’aide de trois nombres compris entre

0 et 255 (ou 0 et FF en hexadécimal), chacun correspondant à 8 bits. Le


premier nombre correspond à un pourcentage de rouge, le deuxième à

un pourcentage de vert et le troisième à un pourcentage de bleu. Trois

valeurs identiques correspondent à des gris plus ou moins clairs, jusqu’au

noir et au blanc. D’autres combinaisons forment d’autres couleurs.

Couleur R V B

Rouge 255 0 0
Vert 0 255 0
Bleu 0 0 255
Noir 0 0 0
Gris foncé 50 50 50
Gris clair 200 200 200
Blanc 255 255 255
Jaune 255 255 0
Cyan 0 255 255
Magenta 255 0 255
3
Au total, le système RGB permet de représenter 256 =16 777 216 cou-

leurs différentes, ce qui dépasse de loin les 500 000 couleurs environ

que l’œil humain peut différencier dans le meilleur des cas.

Il existe d’autres systèmes de codage des couleurs, par exemple la qua-

drichromie, utilisée en imprimerie depuis le dix-huitième siècle. Cette

dernière a été normalisée au début du vingtième siècle sous le nom de


∗ ♯
CMYK (ou CMJN en français). Les couleurs sont celles obtenues en

mélangeant des encres ou des peintures de couleurs : la couleur obte-

nue à partir du cyan et du jaune est du vert. Cette approche correspond

à un système dit soustractif en optique.


Cyan, Magenta, Yellow, Key


Cyan, Magenta, Jaune, Noir

120
11 Un regroupement de nombres ☆☆☆

Modes de chiffrement

Le NIST est l’organisme américain qui standardise les chiffrements. En



1981, il a validé le mode de chiffrement ECB . Ce mode de chiffrement

permet de chiffrer avec un chiffrement symétrique de taille fixe (par

exemple 128 bits) des données de grande taille (une image par exemple).

Cette approche, très simple à mettre en place, consiste à découper les

données en blocs de 128 bits et à chiffrer ces blocs séparément, les uns

après les autres. L’un des avantages de cette méthode est de permettre

de chiffrer les blocs en parallèle, puisque les chiffrements sont complète-

ment indépendants. Mais le mode ECB possède un défaut majeur : deux

blocs identiques sont toujours chiffrés de la même façon. En observant

les blocs identiques dans le message chiffré, il est donc possible d’en dé-

duire des informations sur le message en clair.


♯ ∤ ‡ ∦
D’autres modes de chiffrements comme CBC , OFB , CTR , ou CFB

sont plus sûrs car ils lient les blocs les uns avec les autres.

Dans le mode CBC, chaque bloc subit, avant d’être chiffré, un ou exclu-

sif avec le chiffré du bloc précédent. De plus, le premier bloc subit pour

sa part un ou exclusif avec un bloc aléatoire, ce qui assure que deux mes-

sages identiques ne sont pas chiffrés de la même manière. En contrepar-

tie, ce mode de chiffrement n’est pas parallélisable, puisqu’il faut avoir

chiffré tous les blocs précédents pour pouvoir chiffrer un bloc donné.


Electronic CodeBook


Cipher Block Chaining

Output FeedBack

CounTeR Mode

Cipher FeedBack

Grâce à cette énigme, il est possible de comprendre pourquoi le mode de



chiffrement appelé ECB n’est pas sûr.

Dans la figure 38 page suivante, le logo du NIST, présenté dans la figure 37

page suivante, est chiffré avec le chiffrement AES 256 en mode ECB. Chaque

bloc de 128 bits est chiffré avec la même clé par AES. Ainsi, les blocs représen-

tant les parties blanches sont toujours chiffrés de la même manière, de même

pour ceux représentant les parties noires. Il est donc facile de reconnaître le

logo, même après qu’il soit chiffré.


Electronic CodeBook

121
25 énigmes ludiques pour s'initier à la cryptographie

Figure 37 – Logo du NIST en clair.

Figure 38 – Logo du NIST chiffré avec AES 256 en mode ECB.

Au contraire, dans la figure 39, le logo est chiffré avec le même chiffrement,

mais en utilisant le mode CBC, qui lie les blocs successifs. Il est maintenant im-

possible de deviner que c’est le logo du NIST qui est chiffré.

Figure 39 – Logo du NIST chiffré avec AES 256 en mode CBC.

122
12 Des chiffrés mélangés ☆

« Only the Paranoid Survive. »

« Seuls les paranoïaques survivent. »

Andy Grove, Cofondateur d’Intel en 1968,

titre de son autobiographie, publiée en 1998.

La première observation est le fait que certains des onze messages contien-

nent les mêmes groupes de lettres, et font donc sûrement partie du même en-

semble. Ainsi, les messages 1 et 7 contiennent tous les deux le groupe XWTQ,
tandis que les messages 7, 9 et 2 contiennent KLE, et que les messages 2 et 4
contiennent GWOEECA. Ces cinq messages sont donc dans le même ensemble :
1. CA CLWD AGQ XWTQ
7. XWTQ WO KLE RQFTRNAI CR
9. RXWOT KLE
2. QD KLE KADQ GWOEECA
4. GWOEECA HWONA WD DA NAOQ TAGNLTAT
D’autre part, les messages 3 et 6 contiennent NSNAINP :
3. TSIB NSNAINP WITTI BJZSII
6. IHWJSI NH AFGZH NSNAINP
Et les messages 5 et 8 contiennent DJNS :
5. VI BJZS WJNSJHHI VI DJNS
8. NH DJNS WJAAIHWI NZIH

123
25 énigmes ludiques pour s'initier à la cryptographie

Le groupe NH permet de relier ces deux paires de messages, puisqu’il se re-


trouve dans les messages 6 et 8 :

3. TSIB NSNAINP WITTI BJZSII


6. IHWJSI NH AFGZH NSNAINP
5. VI BJZS WJNSJHHI VI DJNS
8. NH DJNS WJAAIHWI NZIH
Pour les deux derniers messages, le groupe KADQ du message 10 apparaît
dans le message 2, et le groupe AFGZH du message 11 se retrouve dans le mes-
sage 6. Les deux ensembles de messages sont donc les suivants.

Ensemble A :

1. CA CLWD AGQ XWTQ


7. XWTQ WO KLE RQFTRNAI CR
2. QD KLE KADQ GWOEECA
4. GWOEECA HWONA WD DA NAOQ TAGNLTAT
9. RXWOT KLE
10. SDFJNA WPRE KADQ DSEWQU
Ensemble B :

3. TSIB NSNAINP WITTI BJZSII


6. IHWJSI NH AFGZH NSNAINP
5. VI BJZS WJNSJHHI VI DJNS
8. NH DJNS WJAAIHWI NZIH
11. GJNG AFGZH OIVZIHG ZHZ
L’ensemble A est composé de six messages, et l’ensemble B de cinq mes-

sages. Les premières lettres des messages de l’ensemble B sont TIVNG, une
anagramme de VINGT, tandis que les dernières lettres des messages de l’en-
semble A sont QRATEU, une anagramme de QUATRE, ce qui permet de trouver

les deux nombres secrets de cette énigme.

Comme le lecteur l’a sans doute compris en résolvant les différentes énigmes

de cet ouvrage, tous les systèmes de chiffrement n’offrent pas les mêmes ga-

ranties de sécurité, et ne sont pas résistants face aux mêmes types d’attaques.

124
12 Des chiffrés mélangés ☆

Pour pouvoir comparer entre eux les chiffrements et les attaquants, les crypto-

graphes ont formalisé différentes propriétés de sécurité et modélisé des atta-

quants plus ou moins puissants.

Propriétés de sécurité

Plusieurs notions existent pour évaluer la sécurité d’un chiffrement. La

première notion s’appelle one-wayness (à sens unique en français). Un

chiffrement est dit à sens unique lorsque, à partir d’un message chiffré, il

est considéré comme difficile de retrouver le message clair sans disposer

de la clé. C’est en quelque sorte la moindre des choses qu’un utilisateur

attend d’un chiffrement.

Une notion plus forte est la notion d’indistinguabilité, qui concerne les

chiffrements à clé publique. Avec un chiffrement possédant cette pro-

priété, un adversaire disposant d’un message chiffré ne doit pas pouvoir

distinguer lequel de deux messages clairs donnés a été chiffré. Plus pré-

cisément, l’adversaire choisit deux messages clairs différents de même

taille. Un de ces deux messages au hasard est chiffré avec la clé publique.

Le message chiffré obtenu est donné à l’adversaire. Il s’agit de quantifier

si ce dernier peut faire mieux qu’une chance sur deux pour dire quel mes-

sage clair correspond au message chiffré qu’il a reçu.

Les chiffrements à clé publique déterministes comme RSA ne possèdent

pas la propriété d’indistinguabilité, puisqu’un message clair est toujours

chiffré de la même façon. Il suffit donc à l’adversaire de chiffrer lui-même

les deux messages clairs avec la clé publique pour dire à coup sûr du-

quel il s’agit. Au contraire, avec un chiffrement à clé publique comme El-

Gamal, dont l’algorithme comporte une composante aléatoire, les diffé-

rents chiffrés d’un même message ne sont jamais identiques. Le chiffre-

ment d’ElGamal possède donc la propriété d’indistinguabilité.

Cette propriété est plus puissante que la simple propriété d’être à sens

unique pour un chiffrement, puisque, même en disposant d’un message

clair pouvant potentiellement correspondre à un message chiffré donné,

l’adversaire ne peut pas déterminer si c’est bien le cas.

Enfin, une notion de sécurité encore plus forte pour un chiffrement

est la non-malléabilité. Cette notion caractérise le fait qu’un adversaire

ne doit pas pouvoir modifier un message chiffré de l’extérieur (c’est-

à-dire sans le déchiffrer) pour créer un autre message clair de son

choix. Par construction, les chiffrements homomorphes, présentés dans

l’énigme 21 page 45, ne possèdent pas cette propriété.

125
25 énigmes ludiques pour s'initier à la cryptographie

Modèles d’attaquant

Comme le dit Bruce Schneier dans la citation de la solution de l’énigme 2

page 75, pour assurer une grande sécurité, il vaut mieux se protéger

contre un attaquant le plus fort possible. Ainsi, les cryptographes modé-

lisent trois classes d’attaquants pour les chiffrements à clé publique.

L’attaquant le moins puissant ne dispose que du message chiffré et de la

clé publique pour monter son attaque. Il est appelé un attaquant à clair

choisi (en anglais, CPA ), car il peut chiffrer des messages clairs de son

choix. Il est capable d’attaquer avec succès un chiffrement à clé publique

qui ne possède pas la propriété d’indistinguabilité.

Un attaquant plus fort a accès, avant de recevoir le message chiffré,

à un oracle de déchiffrement. Autrement dit, il peut d’abord accéder

au déchiffrement de n’importe quel message chiffré de son choix, en-

suite seulement il reçoit le message chiffré qu’il doit attaquer. Cet ad-

versaire est nommé attaquant à texte chiffré choisi non adaptatif (Non-

adaptative Chosen-Ciphertext Attacker CCA1).

Enfin, une notion d’attaque encore plus puissante est de donner aussi

accès à un oracle de déchiffrement à l’adversaire après qu’il a reçu le

message chiffré qu’il doit attaquer (mais, bien entendu, sans lui per-

mettre de demander à l’oracle de déchiffrer ce dernier). Cet adversaire

est appelé attaquant à texte chiffré choisi adaptatif (Adaptative Chosen-

Ciphertext Attacker CCA2). De nombreuses relations entre ces divers

types d’attaquant ont été établies dans les articles [BDPR98, BDLM17].


Chosen Plaintext Attack

Cette énigme illustre le concept de Key-Privacy, qui a été introduit dans l’ar-

ticle [BBDP01], et qui concerne la sécurité des clés de chiffrement. Cette fois,

il ne s’agit pas de décrypter un message chiffré, mais de distinguer deux clés

de chiffrement. Formellement, l’adversaire choisit un message en clair et deux

clés de chiffrement, puis il reçoit un challenge, constitué du chiffré du message

clair avec l’une des deux clés. Il doit alors déterminer, avec plus d’une chance

sur deux, quelle clé a été utilisée pour chiffrer le message.

Dans cette énigme, deux substitutions différentes ont été utilisées pour chif-

frer les onze messages. La résolution de l’énigme montre que la propriété de

Key-Privacy n’est pas du tout satisfaite par ce type de chiffrement.

126
Prouver sans dévoiler
13
☆☆☆

« It is insufficient to protect ourselves with laws ; we need to protect ourselves

with mathematics. »

« C’est insuffisant de nous protéger avec des lois, nous avons besoin de nous

protéger avec les mathématiques. »

Bruce Schneier, Applied Cryptography, seconde édition, 1987.

L’objet de cette énigme est d’intro-

duire la notion de preuve à divulgation

nulle de connaissance (en anglais, zero

knowledge proof). La présentation du

problème avec la grotte circulaire a été

proposée par Jean-Jacques Quisquater

(1945-) et ses collègues en 1998 dans le

célèbre article [QGAB89].

Le lecteur a peut-être imaginé la so- Figure 40 – Jean-Jacques

lution suivante : Peggy et Victor entrent Quisquater.

dans la grotte ensemble. Victor reste au carrefour et demande à Peggy de partir

dans une des deux branches de la grotte et de ressortir de l’autre côté. Si Peggy

réussit à le faire, Victor sera sûr qu’elle connaît le code secret, mais ne l’aura pas

découvert pour autant.

En réalité, la métaphore de la grotte circulaire ne correspond pas tout à fait

aux situations informatiques où une preuve à divulgation nulle de connaissance

est nécessaire, et Peggy et Victor auront le plus souvent à mettre en place le

protocole probabiliste suivant.

Peggy entre seule dans la grotte et avance jusqu’au fond d’une des branches

sans que Victor ne voie de laquelle il s’agit. Ensuite, Victor demande à Peggy de

sortir d’un côté, qu’il choisit au hasard. Avec le code, Peggy atteint le fond de

la grotte, elle pourra forcément sortir du côté demandé, en l’utilisant si néces-

saire. Si elle ne connaît pas le code, il est possible qu’elle ait choisi, par chance,

de s’engager dans la branche ultérieurement choisie par Victor, et qu’elle n’en

ait pas besoin. Ainsi, en voyant Peggy réussir son challenge, Victor n’est qu’à

127
25 énigmes ludiques pour s'initier à la cryptographie

moitié convaincu qu’elle connaît le code. Cette épreuve est alors réitérée à de

nombreuses reprises, et la conviction de Victor que Peggy connaît le code aug-

mente à chaque réussite de cette dernière.

Présentation probabiliste du protocole

Plus formellement, soit A l’événement Peggy ne connaît pas le code se-


cret. Lors de l’expérience, Peggy sort par la branche demandée, et la pro-

babilité de l’événement A est égale à celle que Peggy ait eu de la chance


en entrant dans la grotte, ainsiPr(A) = 12 .
Si Victor et Peggy réitèrent cette expérience k fois, et que Victor choisit

chaque fois au hasard le côté par lequel Peggy doit sortir, alors il y a indé-

Pr(A) = ( 12 )
k
pendance, et les probabilités de réusssite se multiplient : .

Si A est l’événement contraire de A, c’est-à-dire Peggy connaît le code


secret alors Pr(A) = 1 − Pr(A).
Il en découle que :

1 k
Pr(A) = 1 − Pr(A) = 1 − ( )
2

Ainsi, plus k est grand, plus Victor est convaincu que Peggy connaît le

secret, car la probabilité de cet événement augmente.

Preuve à divulgation nulle de connaissance

En 1985, Shafi Goldwasser, Silvio Micali

(voir figure 14 page 26) et Charles Ra-

ckoff (1948-) ont introduit le concept de

preuve à divulgation nulle de connais-

sance dans leur article [GMR85]. L’idée

novatrice de leur proposition était de

concevoir un modèle générique pour des

preuves interactives à divulgation nulle

de connaissance. Ces protocoles fonc-


Figure 41 – Charles Rackoff.
tionnent en trois étapes comme suit :

128
13 Prouver sans dévoiler ☆☆☆

1. Le prouveur envoie au vérifieur un engagement (en anglais com-

mittment) de la connaissance de son secret. Dans l’énigme, Peggy

dit qu’elle connaît le code de la porte au fond de la grotte.

2. Le vérifieur envoie un challenge au prouveur. Dans l’énigme, Victor

demande à Peggy de sortir par une des deux branches.

3. Le prouveur répond au challenge envoyé par le vérifieur. Dans

l’énigme, Peggy s’exécute.

4. Le vérifieur envoie son accord au prouveur.

Les protocoles de ces preuves interactives s’appellent des Σ -protocoles


car les messages échangés font penser à lettre grecque Sigma ( Σ ),
comme l’illustre le schéma ci-dessous.

V P
2

La sécurité de tels protocoles repose sur trois propriétés :

▶ consistance (en anglais completeness) : si le prouveur connaît le se-

cret, alors il peut convaincre un vérifieur honnête ;

▶ robustesse (en anglais soundness) : si le prouveur ne connaît pas le

secret, alors un vérifieur honnête s’en aperçoit ;

▶ pas de divulgation de connaissance (en anglais zero-knowledge) :

un vérifieur honnête n’apprend du prouveur absolument aucune

information sur le secret.

Quelques exemples imagés

Une illustration de ce concept est proposée dans l’article [NNR99] par

Moni Naor et ses collègues. L’idée de cette approche est d’utiliser les

livres pour enfants Où est Charlie ? de Martin Handford. Trouver Char-

lie dans une grande image remplie de nombreux autres personnages est

un problème difficile à résoudre pour les lecteurs de ces ouvrages. En re-

vanche, une personne qui connaît déjà la solution peut montrer Charlie

sur l’image à travers une petite fenêtre découpée dans une feuille beau-

129
25 énigmes ludiques pour s'initier à la cryptographie

coup plus grande que l’image, afin de prouver sa connaissance de la so-

lution sans divulguer la position de Charlie.



Un autre exemple est proposé par ste1 sur le site web Bored Panda ,

où il faut trouver un panda caché parmi des Stormtroopers de Star Wars.

Quelqu’un connaissant la solution peut en apporter la preuve en extra-

yant l’image du panda dans son contexte.

Dans l’article [GNPR07], une preuve physique à divulgation nulle de

connaissance pour le Sudoku est proposée. Dans ce cas, le prouveur

doit convaincre le vérifieur qu’il connaît la solution d’un Sudoku, sans

la dévoiler. L’idée de cette preuve interactive est la suivante : le prou-

veur place des cartes numérotées représentant la solution, face cachée,

sur la grille du Sudoku, en empilant trois cartes identiques dans chaque

case. Ensuite le vérifieur prend une carte dans chaque case de la pre-

mière colonne, les mélange et vérifie que les chiffres de 1 à 9 sont pré-
sents (en tenant compte des cases fixées sur la grille). Il refait la même

chose pour chacune des autres colonnes, puis pour chaque ligne, et en-

fin pour chaque groupe de neuf cases.


www.boredpanda.com/find-the-panda-illustrated-puzzle-star-wars-edition-ste1/

Trois exemples d’utilisations réelles

Ce type de preuve est utilisé dans les protocoles de vote électronique.

Par exemple, si les votants ont à choisir entre 0 et 1, c’est la somme des va-

leurs des bulletins qui va déterminer le résultat de la consultation. Avant

le dépouillement, les bulletins numériques doivent être mélangés pour

garantir la confidentialité du scrutin. Pour certifier que la somme des va-

leurs des bulletins de vote est toujours la même après leur mélange, des

preuves à divulgation nulle de connaissance sont utilisées.

Une autre application naturelle de la notion de preuve à divulgation nulle

de connaissance est l’authentification : la personne montre qu’elle est

bien qui elle prétend être en prouvant sa connaissance d’un secret, sans

le révéler. Pour cela, en 1991, Claus-Peter Schnorr (1943-) a proposé le

protocole suivant. Deux nombres sont publics : q (qui possède la pro-


priété queZ/q Z possède des générateurs), et g , un de ces générateurs.
a
Peggy doit prouver à Victor qu’elle connaît a tel que y = g mod q , où y
est un nombre connu de Victor, mais sans lui montrer la valeur de a . Rap-

pelons que la connaissance de y et de g n’est pas suffissante pour déduire

130
13 Prouver sans dévoiler ☆☆☆

la valeur de a, c’est le problème du logarithme discret (voir page 113). Pour


cela, Peggy choisit un nombre aléatoire r et envoie à Victor le message
r
t = g mod q . Ensuite, Victor renvoie à Peggy un nombre aléatoire c qu’il
vient de choisir. Peggy calcule alors s = r + a × c et envoie ce second nom-

bre à Victor. Ce dernier ne peut pas déterminer a , puisqu’il ne connaît pas

r . En revanche, Victor peut se convaincre que Peggy connaît a en calcu-


s c
lant g mod q et en vérifiant qu’il vaut t × y mod q . En effet :

= g × (g ) = t × y
s r +a×c r a c c
g =g mod q

Ce protocole interactif de Schnorr peut être transformé en un pro-

tocole non-interactif en utilisant une idée proposée en 1986 par

Amos Fiat et Adi Shamir dans leur ar-

ticle [FS87] : il s’agit de remplacer le nombre

aléatoire c choisi par Victor par un nombre

aléatoire généré par Peggy à l’aide d’une


a r
fonction de hachage à partir de g et g . Ainsi,

elle envoie tous les éléments de sa preuve

en une seule fois, sans avoir besoin d’un

aller-retour avec Victor.

Enfin, dans les cryptomonnaies à la bitcoin, Figure 42 –

comme Monero ou ZCash, des preuves à di- Claus-Peter Schnorr.

vulgation nulle de connaissance plus complexes, appelées snarks, sont

utilisées pour anonymiser les transactions entre les utilisateurs.

131
132
Le mythe de l’antivirus
14
☆☆☆☆

« Timeo Danaos et dona ferentes. »

« Je crains les Grecs, même dans leurs présents. ».

Virgile, L’Énéide (Livre II, 49), 29 avant J.-C.

La solution suit la preuve de l’impossibilité de l’existence d’un antivirus par-

fait, donnée en 1985 dans la thèse de Fred Cohen. C’est une preuve par l’ab-

surde (ou par contradiction) : elle suppose l’existence d’un programme antivirus

parfait, noté EST-VIRUS, à partir duquel est construit un programme, appelé Y,

qui utilise le programme EST-VIRUS. C’est l’impossibilité de l’existence d’Y qui

est démontrée, et l’impossibilité du programme EST-VIRUS en découle.

Il faut d’abord noter que les programmes informatiques sont des textes, écrits

avec des caractères, et peuvent donc à ce titre être pris pour objets par d’autres

programmes. Justement, c’est ce que fait le programme EST-VIRUS : il prend

en entrée un programme et dit, sans jamais se tromper, si ce programme est un

virus ou pas. Le raisonnement commence donc par faire l’hypothèse de l’exis-

tence du programme EST-VIRUS.

Le fonctionnement du programme Y est le suivant : il prend en entrée un pro-

gramme et lui applique le programme EST-VIRUS ; puis, si le programme EST-

VIRUS dit que l’entrée de Y est un virus, alors le programme Y s’arrête en af-

fichant 0, et dans le cas contraire, le programme Y infecte l’ordinateur à l’aide

d’un virus. La suite de la démonstration consiste à étudier le comportement du

programme Y, lorsque le programme qu’il reçoit en entrée n’est autre que lui-

même. Cela aboutit à un comportement aberrant.

Lorsque Y reçoit en entrée son propre code, il l’analyse à l’aide de EST-VIRUS,

puis, selon la réponse obtenue, il exécute une ou l’autre de deux actions :

1. L’antivirus parfait EST-VIRUS dit que le programme Y est un virus : dans ce

cas, le programme Y s’arrête et produit 0. Ce comportement d’Y contredit

la réponse de EST-VIRUS qui disait que Y était un virus (et par conséquent

devrait infecter l’ordinateur). Puisque EST-VIRUS est supposé détermi-

ner, sans jamais se tromper, les programmes qui sont des virus, ce cas ne

peut pas se produire. Il faut considérer l’autre possibilité.

133
25 énigmes ludiques pour s'initier à la cryptographie

2. L’antivirus parfait EST-VIRUS dit que le programme Y n’est pas un virus :

dans ce cas, le programme Y infecte l’ordinateur avec un virus. Ce com-

portement du programme Y contredit la réponse de EST-VIRUS qui disait

que Y n’était pas un virus (et par conséquent ne devrait pas infecter l’or-

dinateur). Ici encore, puisque EST-VIRUS est supposé déterminer, sans

jamais se tromper, les programmes qui sont des virus, ce cas ne peut pas

non plus se produire.

En résumé, le programme Y étant seulement composé d’une alternative à deux

branches, si les deux branches aboutissent à une impossibilité, cela signifie que

Y ne peut pas exister. Comme la seule hypothèse faite pour construire Y est

l’existence du programme EST-VIRUS, c’est ce dernier qui ne peut pas exister.

Pour revenir à l’énigme, la publicité qu’a reçue Alice pour un antivirus parfait

est donc forcément mensongère.

Fred Cohen (1956 -)

Fred Cohen est un informaticien américain, considéré comme le père

des techniques de défense contre les virus. En 1985, dans sa thèse sous

la direction de Leonard Adleman, il a défini la notion de virus et a conçu

un des premiers d’entre eux, qui se propageait à l’époque par disquette.

Il a aussi montré l’impossibilité de concevoir un antivirus parfait, ce qui

est un résultat théorique très important en informatique. Il a également

défini les notions suivantes :

▶ un malware est un ensemble d’instructions s’exécutant sur un or-

dinateur et lui faisant faire ce qu’un intrus veut qu’il fasse ;

▶ un virus est un programme qui infecte d’autres programmes, en les

modifiant pour y inclure une version, évoluée ou pas, de lui-même ;

▶ un rançongiciel (ransomware) est un logiciel malveillant, qui chiffre

les données de l’ordinateur de ses victimes et demande une rançon

pour les restituer ;

▶ un cheval de Troie (trojan) est un programme qui semble inoffensif,

mais qui effectue des actions malveillantes sous le contrôle d’une

personne malintentionnée.

▶ un ver (worm) est un programme qui se propage, à partir d’une

seule action d’un utilisateur (comme ouvrir une pièce jointe à un



courriel), à d’autres ordinateurs, sans autre intervention humaine ;


Par opposition, infecter N ordinateurs avec un virus requiert N actions humaines.

134
14 Le mythe de l'antivirus ☆☆☆☆

Kurt Gödel (1906-1978)

Kurt Gödel est un mathématicien autrichien, qui est surtout

connu pour ses deux théorèmes dits d’incomplétude de 1931,

des résultats conceptuellement difficiles et fon-

damentaux pour l’informatique. Il a en effet dé-

montré que, dans tout système formel de rai-

sonnement mathématique suffisamment puis-

sant pour pouvoir faire de l’arithmétique, il est

possible d’écrire des propriétés qui ne peuvent

pas être démontrées, et dont le contraire ne

peut pas non plus être démontré. Les sys-

tèmes de raisonnement concernés sont qualifiés

d’incomplets, puisque certaines propriétés leur Figure 43 – Kurt

échappent. Il est important de noter qu’il s’agit Gödel.

d’un résultat qui porte sur la démontrabilité des propriétés, et pas sur leur

validité, deux notions à distinguer en logique mathématique, justement

à cause de l’existence de systèmes incomplets.

Incomplétude

Il est possible de donner une idée simplifiée de la notion d’incomplétude

avec des programmes informatiques au lieu de propriétés mathéma-

tiques, comme ci-dessous. En effet, le calcul effectué par un programme

peut être vu comme une démonstration du résultat de ce même calcul.

Supposons l’existence d’un programme DÉMONTRE-TOUT, capable de

calculer (donc de démontrer) si une phrase est vraie ou fausse, sans

jamais se tromper, en répondant VRAI ou FAUX quand il reçoit cette

phrase en entrée. La phrase de type Gödel qui fait échouer le programme

DÉMONTRE-TOUT est : « Le programme DÉMONTRE-TOUT ne ré-

pond pas VRAI pour cette phrase. ».

Pour en voir la raison, il faut analyser le comportement du programme

DÉMONTRE-TOUT. Il y a deux possibilités :

▶ Ou bien la phrase « Le programme ne répond pas VRAI pour cette

phrase. » est une affirmation vraie. Le programme DÉMONTRE-

TOUT doit donc répondre VRAI, ce qui est contradictoire avec le

sens de la phrase, pourtant supposée vraie ;

135
25 énigmes ludiques pour s'initier à la cryptographie

▶ Ou bien la phrase « Le programme ne répond pas VRAI pour cette

phrase. » est une affirmation fausse. Le programme DÉMONTRE-

TOUT ne peut donc que répondre FAUX, ce qui est conforme au

sens de la phrase, pourtant supposée fausse.

Finalement, ce raisonnement montre que le programme DÉMONTRE-

TOUT ne peut pas se prononcer sur cette phrase : il ne peut pas dé-

montrer qu’elle est vraie, ni qu’elle est fausse. Autrement dit, cette

phrase échappe au système formel de démonstration représenté par le

programme DÉMONTRE-TOUT. L’être humain, pour sa part, grâce au

raisonnement précédent, extérieur au fonctionnement du programme

DÉMONTRE-TOUT, est capable de déterminer que la phrase est vraie.

Le paradoxe du menteur

Le lecteur aura peut être trouvé, à raison, que ce qui précède a un par-

fum de paradoxe du menteur, connu des logiciens depuis l’Antiquité. En

voici une très jolie version, qui se trouve dans le roman Don Quichotte de

Miguel de Cervantes (1547-1616), publié au XVII siècle en Espagne.


ième

« Par une ancienne loi de cette île, tout homme qui vient après la retraite

sonnée pour passer ce pont est obligé de nous déclarer, sous la foi du ser-

ment, où il va. S’il dit la vérité, nous le laissons passer sans obstacle ; s’il fait

le moindre mensonge, il est pendu sur-le-champ à une potence dressée

à l’autre bout de ce pont. Cette loi est connue de tous les habitants de

votre île. Tout à l’heure, l’homme que voici s’est presenté pour passer :

nous l’avons interrogé suivant l’usage ; il a levé la main et nous a répondu

qu’il allait se faire pendre à cette potence. Si nous le pendons en effet, il a

dit vrai, et ne mérite pas la mort ; si nous le laissons passer, il a menti, et la

loi veut qu’il soit pendu. [...] Mais écoutez : quelle que soit notre décision,

nous manquerons toujours à la loi ; s’il est pendu, nous sommes en faute,

puisqu’il aura dit la vérité ; s’il n’est pas pendu, nous sommes encore en

faute, puisqu’il nous aura menti. Nous n’avons donc que le choix de deux

fautes : or, dans ce cas, nous devons choisir celle qui ne fait de mal qu’à

nous. Qu’on laisse passer cet homme ; s’il aime tant à être pendu, nous le

punissons assez en le contrariant pour aujourd’hui. »

136
Désassembler une fonc-
15
tion de hachage ☆☆

« Once you have something on the Internet, you are telling the world, please

come hack me. »

« Une fois que quelque chose est sur Internet, vous dites au monde entier, s’il

vous plaît venez m’attaquer. »

Ronald Rivest, le 16 août 2016 sur Fox News.

Tout d’abord, sur la figure 19 page 31, il est important de remarquer que les

lettres sont représentées par le fait que des segments soient allumés ou éteints.

Ensuite, la base est de commencer par observer des messages de même lon-

gueur. Sur le tableau avec les logins et les hachés des logins, il faut remarquer

que LENA et NAEL ont la même valeur de haché, et se rendre compte que

NAEL est une anagramme de LENA. Cette observation laisse supposer que la

fonction de hachage H ne tient pas compte de l’ordre des lettres et donc que le
haché d’un mot est la somme des hachés ses lettres.

Ensuite, il faut remarquer que ALINE et LENA ne diffèrent que d’une lettre (le

I) et que leurs hachés respectifs (24 et 22) diffèrent de 2. Il en découle que le


haché de la lettreI est 2. Puis, en regardant la figure 19 page 31 avec cette infor-
mation, il apparaît que seulement deux segments sont allumés sur cette lettre.

Ainsi, il est probable que la fonction de hachage se contente d’additionner le

nombre de segments allumés sur un afficheur électronique pour chaque lettre.

Il est possible de vérifier cela avec le haché d’EVE qui vaut 16. Le nombre de

segments allumés dans la lettre E est 6 et le nombre de segments allumés de la


lettre V est 4. Ainsi H (E V E ) = H (E ) + H (V ) + H (E ) = 6 + 6 + 4 = 16.

137
25 énigmes ludiques pour s'initier à la cryptographie

Le tableau ci-dessous indique le nombre de segments allumés par lettre.

Lettre A b C d E F G H I J K L M N O P Q R S T U V W X Y Z

Haché 7 6 4 6 6 4 6 6 2 4 5 3 6 6 6 6 7 7 6 3 5 4 6 4 3 4

Ainsi le haché de JAMES est :

H (J ) + H (A) + H (M ) + H (E ) + H (S ) = 4 + 7 + 6 + 6 + 6 = 29

Il reste à trouver un autre prénom qui a aussi pour haché 29. Par exemple, MA-

RIA fait l’affaire. Il y en a d’autres (JASON, LUKAS, ALEXIA, JEHAN, etc.), car la

fonction H utilisée dans cette énigme engendre énormément de collisions.

Le haché du message MARIA est bien H (M ) + H (A) + H (R ) + H (I ) + H (A) =


6 + 7 + 7 + 2 + 7 = 29, comme celui de JAMES. Cela peut poser problème par
exemple pour signer un contrat. En effet, il serait alors facile de changer le nom

de JAMES en celui de MARIA.

Anagramme

Une anagramme d’un mot est un autre mot, construit avec les mêmes

lettres, dans un autre ordre. Les joueurs de Scrabble sont souvent très

doués pour trouver des anagrammes. Par exemple, les anagrammes du

mot pirate sont : paître, parité, patrie, partie, prêtai, repaît et étripa. Le

site www.dcode.fr propose un utilitaire calculant la liste de toutes les


anagrammes d’un mot, ainsi que de nombreux outils pour les jeux de

lettres, les codes et la cryptographie.

138
15 Désassembler une fonction de hachage ☆☆

Paradoxe des anniversaires

Combien faut-il de personnes pour avoir au moins 50 % de chances que

deux d’entre elles aient leur anniversaire le même jour de l’année ?

Étonnamment, la réponse n’est pas 42 mais 23. Pour 42 personnes, la

probabilité est est bien plus grande car elle vaut environ 90,5 %, et pour

57 personnes, elle atteint 99 %. Pour simplifier, le nombre de jours dans

l’année est fixé à 365. De plus, les naissances sont supposées être unifor-

mement réparties sur tous les jours de l’année.

Pour calculer la probabilité de l’événement deux personnes dans un

groupe de n personnes ont leur anniversaire le même jour, noté A, il est


plus facile de calculer la probabilité contrairePr(A), où A est le contraire
de A et d’utiliser la formule : Pr(A) = 1−Pr(A). Il faut donc calculer la pro-

babilité que chaque personne ait un jour anniversaire différent de celui

des n − 1 autres personnes, parmi 365 jours, ce qui donne :

365 364 363 365 − (n − 1)


Pr(A) = × × × ... ×
365 365 365 365
En effet, l’anniversaire de la première personne peut tomber 365 jours

sur 365, pour la deuxième, il ne reste plus que 364 jours sur 365, etc.

En revenant à la probabilité recherchée Pr(A), la courbe obtenue est la


suivante, sur laquelle il est facile de constater que la probabilité de 0,5

est bien atteinte pour une valeur de n un peu inférieure à 25 :


Probabilité que deux personnes parmi n aient leur anniversaire le même jour.
1
probabilité

0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
n personnes
0
0 10 20 23 30 40 50 60 70

139
25 énigmes ludiques pour s'initier à la cryptographie

Un raisonnement similaire est utilisé en cryptographie pour estimer les

risques de collision dans les fonctions de hachage. Une fonction de ha-

chage sûre doit générer peu de collisions. Autrement dit, il faut que les

résultats de son calcul prennent rarement la même valeur, comme pour

les dates d’anniversaires identiques. Cette fois-ci, il n’y a pas 365 jours
N
dans l’année, mais 2 valeurs possibles pour une fonction de hachage gé-

nérant des hachés sur N bits. Selon une approche naïve, il semblerait que,
N
pour avoir une collision, il faudrait calculer 2 + 1 hachés, mais le même
raisonnement que pour les anniversaires montre que c’est faux.

Comme précédemment, la probabilité d’avoir une collision est notée

Pr(A) et la probabilité de n’avoir aucune collision est notée Pr(A), avec


Pr(A) = 1 − Pr(A). Après le calcul de n hachés, le résultat est :

2 − (n − 1)
N N N N
2 2 −1 2 −2
Pr(A) = × × × ... ×
2N 2N 2N 2N

Attaque des anniversaires

Si un attaquant souhaite chercher des collisions dans une fonction de

hachage, il peut mener une recherche exhaustive, en calculant systé-

matiquement les hachés de tous les messages. Cependant, le paradoxe

des anniversaires lui indique qu’une recherche aléatoire sera plus effi-

cace. Par exemple, avec une fonction de hachage générant des hachés

de 16 bits (les fonctions de hachage réelles, comme les standards SHA

du NIST, produisent des hachés bien plus longs de 128, 160 ou 256 bits),

le calcul indique qu’il suffit de calculer 300 hachés de messages au ha-

sard pour avoir plus de 50 % de chances d’en avoir deux identiques.


Secure Hash Algorithm

140
Des images qui en cachent
16
d’autres ☆☆

« L’indifférence dissout le langage, brouille les signes. »

Georges Perec, « Un homme qui dort », 1967.

Dans la figure 44, les deux images de la figure 21 page 33 ont été superpo-

sées et laissent apparaître (en prenant un peu de recul) le nombre secret 42. La

technique utilisée s’appelle la cryptographie visuelle, à ne pas confondre avec

la stéganographie. En effet, ici, le secret n’est pas dissimulé mais bien chiffré.

Figure 44 – Solution de l’énigme 16 page 33.

Utilisations de la cryptographie visuelle

La cryptographie visuelle est utilisée pour le tatouage d’images (voir

page 83), mais aussi pour construire des mécanismes d’authentification

visuelle. Elle a aussi été employée par David Chaum pour construire des

reçus de bulletins de vote physiques plus sûrs (voir l’article [Cha04]).

141
25 énigmes ludiques pour s'initier à la cryptographie

Cryptographie visuelle

La cryptographie visuelle a été inventée en 1994 par Moni Naor et Adi

Shamir dans leur article [NS94]. Elle permet de communiquer des mes-

sages secrets à travers des images. L’idée est de construire deux images

de telle sorte qu’en les superposant, elles font apparaître le message se-

cret. Pour autant, une personne qui ne possède qu’une seule image ne

doit pas pouvoir découvrir le message secret, ni même obtenir aucune

information à son propos.

Pour expliquer le fonctionnement de cette méthode, des images consti-

tuées uniquement de pixels noirs ou blancs sont utilisées, comme

celle de l’énigme. Partant d’une telle image, il faut générer deux

images qui semblent aléatoires, mais qui ré-

vèlent le dessin originel quand elles sont

superposées. Pour cela, chaque pixel de

l’image de départ va devenir 4 pixels, dispo-

sés en carré. Ainsi, les deux images obtenues

seront quatre fois plus grandes, en nombre

de pixels, que l’image d’origine. L’image de

départ pour l’énigme était la suivante, elle


Figure 45 – Moni Naor.
comporte 11 lignes et 15 colonnes :

Un pixel blanc sur l’image de départ produit deux images, de taille deux

pixels par deux pixels, en suivant les règles de gauche ci-dessous. Pour

chaque pixel blanc, une règle parmi les 6 est choisie aléatoirement. En

superposant les deux images obtenues, un pixel blanc correspond à un

bloc de quatre pixels à 50 % blancs.

142
16 Des images qui en cachent d'autres ☆☆

Pour les pixels noirs, il faut prendre les règles de droite, afin d’obtenir un

carré de pixels tous noirs lors de la superposition. Ici encore, il faut chaque

fois choisir aléatoirement l’une des 6 règles.

Ces règles ont pour objectif de produire deux images chiffrées qui con-

tiennent chacune autant de pixels noirs que de pixels blancs, disposés

d’une manière qui semble aléatoire sur chaque image séparément. Ainsi,

une image seule ne permet de retrouver aucune information sur l’image

secrète. Cependant, lorsque les deux images sont superposées, le dessin

de départ est reconnaissable, malgré une certaine perte de contraste.

Grâce à cette construction, un attaquant qui observe un bloc de pixels

sur une seule des deux images n’est pas capable de savoir si la superpo-

sition permet d’obtenir un bloc à 50 % blanc ou un bloc noir, puisque les

règles de génération des images ont été choisies aléatoirement. Il faut

disposer des deux images pour pouvoir déterminer si un bloc correspond

à un pixel noir ou blanc.

Il existe de nombreuses variantes de cryptographie visuelle, basées sur

des algorithmes plus sophistiqués. Certaines variantes permettent de

produire n images chiffrées, de telle sorte que la superposition d’au


moins p images parmi les n images montre l’image secrète. Toutefois, les
images générées sont alors très grandes, et la perte de contraste est elle

aussi très grande. Il existe également des variantes qui fonctionnent avec

des images en niveaux de gris, ou même des images en couleurs.

143
25 énigmes ludiques pour s'initier à la cryptographie

Images leurres

Une variante intéressante de cryptographie visuelle implique l’utilisation

d’images leurres : les images chiffrées ne sont pas aléatoires, mais elles

correspondent elles-mêmes à des images. Pour cela, en plus des motifs

à 50 % blancs et noirs, il faut utiliser les quatre motifs à 75 % noirs :

Il y a dans ce cas trois images de départ : deux images leurres et une image

secrète, de même dimension. Sur chacune des deux images chiffrées, le

dessin de l’une des images leurres est reconnaissable (malgré une perte

de contraste), et en les superposant, c’est l’image secrète qui apparaît.

Pour arriver à ce résultat, l’idée générale est qu’un pixel blanc de l’image

secrète correspond à un bloc de quatre pixels à 75 % noirs sur les images

superposées (c’est-à-dire au maximum le quart des données), tandis

qu’un pixel noir de l’image secrète correspond à un bloc de quatre pixels

complètement noirs. D’un autre côté, un pixel blanc d’une image leurre

correspond à un bloc de quatre pixels à 50 % noirs sur l’image chiffrée

produite, tandis qu’un pixel noir d’une image leurre correspond à un bloc

de quatre pixels à 75 % noirs sur l’image chiffrée produite.

Pour chaque pixel de l’image secrète, il y a huit cas à considérer, selon

la valeur de ce pixel et celle des pixels correspondants sur les images

leurres. Voici quelques exemples de règles permettant de déterminer

les valeurs des quatre pixels sur les images chiffrées. Dans la colonne de

gauche, le pixel de l’image secrète est blanc, et dans celle de droite, il est

noir. Chaque ligne du tableau montre un choix possible des quatre pixels

correspondants des images chiffrées 1 et 2, selon la valeur de ce pixel sur

les images leurres 1 et 2.

144
16 Des images qui en cachent d'autres ☆☆

Il est important de tirer aléatoirement une des règles possibles, pour s’as-

surer qu’un éventuel attaquant ne puisse pas déduire d’information sur

l’image secrète à partir d’une seule des deux images chiffrées. En re-

vanche, le nombre de règles possibles varie selon les cas. Ainsi, la case en

haut à gauche du tableau correspond à vingt-quatre règles (il y a six pos-

sibilités pour le motif de l’image chiffrée 1, et pour chacun des cas, seule-

ment quatre possibilités pour le motif de l’image chiffrée 2, car il faut éli-

miner le motif identique et le motif complémentaire), tandis que la case

en haut à droite ne correspond qu’à six règles (six possibilités pour le mo-

tif de l’image chiffrée 1, et il faut obligatoirement prendre le motif com-

plémentaire pour l’image chiffrée 2). Les deux cases de la deuxième ligne

correspondent chacune à douze règles (quatre possibilités pour le mo-

tif avec trois pixels noirs et ensuite trois possibilités pour un motif avec

deux pixels noirs compatible avec celui-ci). Sur la troisième ligne, la case

de gauche correspond à quatre règles (il n’y a que quatre motifs avec trois

pixels noirs) et celle de droite à douze règles (quatre possibilités pour le

premier motif avec trois pixels noirs et seulement trois possibilités pour

le deuxième, pour éliminer le motif identique).

Un exemple est donné dans les images de la figure 46 page suivante, de

taille 28 pixels par 28 pixels, où la clé et le cadenas sont les images leurres,

et 42 est l’image secrète. Prendre du recul ou augmenter la résolution

des images permet d’avoir des images plus lisibles.

145
25 énigmes ludiques pour s'initier à la cryptographie

image leurre 1 image leurre 2 image secrète

image chiffrée 1 image chiffrée 2 image déchiffrée

Figure 46 – Exemple de cryptographie visuelle utilisant des images leurres.

146
L’homme du milieu
17
☆☆☆

« If you ask amateurs to act as front-line security personnel, you shouldn’t be

surprised when you get amateur security. »

« Si vous demandez à des amateurs d’agir en tant que personnel de sécurité de

premier plan, vous ne devez pas être surpris d’obtenir une sécurité d’amateur. »

Bruce Schneier, How We Won the War on Thai Chili Sauce,


er
1 novembre 2007.

Comme le protocole de Diffie-Hellman dans l’énigme 9 page 19, le protocole

de Needham-Schroeder proposé dans cette énigme est vulnérable à une at-

taque de type Man in the middle (homme au milieu). Plus précisément, l’intrus

contrôle le réseau : il peut écouter les communications, modifier les messages

échangés, rejouer des messages et construire de nouveaux messages. En re-

vanche, Alice et Bob suivent le protocole honnêtement. Précisément, Alice suit

exactement le protocole et communique avec l’intrus, noté I , et de même Bob


suit aussi le protocole et communique avec l’intrus en le prenant pour Alice.

L’attaque fonctionne comme suit :

1. Alice commence une communication avec l’intrus en utilisant le proto-

cole de Needham-Schroeder et lui envoie le message :

{A, Na }pk (I )

2. L’intrus déchiffre ce message avec sa clé secrète sk (I ) et obtient le nom-


bre Na . Puis, il chiffre son contenu, mais cette fois avec la clé publique de
Bob et il envoie à ce dernier le message qu’aurait envoyé Alice :

{A, Na }pk (B )

3. Ensuite, Bob déchiffre le message qu’il a reçu. Il voit qu’Alice en est l’ex-

péditrice, et il suit le protocole en envoyant le message :

{Na , Nb }pk (A)

147
25 énigmes ludiques pour s'initier à la cryptographie

4. Ce message ne peut pas être déchiffré par l’intrus. Il ne veut pas calculer

en vain, il le transmet donc tel quel à Alice :

{Na , Nb }pk (A)

5. Alice déchiffre le message qu’elle a reçu, qui ne mentionne pas l’expédi-

teur. Puisqu’elle a initié un échange avec l’intrus, elle considère qu’il en

émane, et, suivant le protocole, elle lui envoie en réponse le message :

{Nb }pk (I )

6. Il apprend donc le nombre secret Nb en déchiffrant le message reçu avec


sa clé sk (I ). Enfin l’intrus termine le protocole avec Bob en envoyant :

{Nb }pk (B )

À l’issue de ces échanges, Bob pense avoir établi une clé secrète partagée Nb
avec Alice, alors qu’en réalité c’est avec l’intrus qu’il va communiquer.

Gavin Lowe (1967-)

En 1995, Gavin Lowe propose, dans l’ar-

ticle [Low95], cette attaque dite l’attaque de

l’homme du milieu (Man in the middle), en

concevant un outil de vérification automa-

tique de protocoles cryptographiques. Cette

découverte, dix-sept ans après la publication

du protocole de Needham-Schroeder dans

l’article [NS78], a été une révolution. En ef-

fet, le protocole avait été prouvé sûr, dans


Figure 47 – Gavin Lowe.
un certain formalisme. Il se trouve que cette

preuve de la sûreté du protocole de Needham-Schroeder est bien cor-

recte, mais ne considère qu’une seule exécution du protocole, alors que

l’attaque proposée par Gavin Lowe nécessite deux sessions du proto-

cole, comme illustré dans l’énigme (Alice joue le protocole avec l’in-

trus, et celui-ci avec Bob). Cette découverte a donné naissance à de

nombreux outils de vérification automatique de protocoles cryptogra-

phiques, qui cherchent à modéliser au mieux les capacités de l’intrus et à

démontrer des propriétés de sécurité de plus en plus complexes.

148
17 L'homme du milieu ☆☆☆

Cryptographie asymétrique et problèmes difficiles

En informatique, un problème difficile est un problème qui ne peut pas

être résolu dans un temps raisonnable, en tenant compte de la puis-

sance de calcul actuelle des ordinateurs, lorsque les paramètres sont suf-

fisamment grands. En cryptographie, les paramètres de sécurité corres-

pondent par exemple au nombre de bits de la clé. Ce qui rend un pro-

blème difficile, c’est seulement le fait de ne pas connaître d’algorithme

efficace pour le résoudre.

Dans un chiffrement asymétrique, il existe un lien mathématique entre

la clé publique de chiffrement et la clé privée de déchiffrement. Cepen-

dant, il est essentiel pour la sécurité que la clé privée ne puisse pas être

déduite à partir de la clé publique connue de tous. Autrement dit, si le

calcul du message chiffré avec la clé publique doit être facile, il est né-

cessaire que le calcul du message clair, sans la clé privée, et uniquement

à partir du message chiffré (et de la clé publique), soit difficile.

Par exemple, le chiffrement d’ElGamal, inventé en 1984 par le crypto-

graphe égyptien Taher ElGamal (1955-), fonctionne comme suit. La clé

publique est constituée d’un nombre q (tel que Z/q Z possède des géné-
x
rateurs), d’un générateur g Z/q Z, et de h = g mod q ; tandis que la
de

clé privée est un entier x non nul de Z/q Z.

Pour chiffrer un message M , il faut tirer un nombre aléatoire non nul r

dans Z/q Z. Ensuite, le message chiffré est constitué des deux nombres :
r r
C1 = g mod q et C2 = M × h mod q .
Avant de présenter le déchiffrement, il est nécessaire d’introduire la no-

Z/q Z, les nombres a et b sont dits inverses


tion d’inverse modulaire : dans
−1
a × b = 1 mod q , et on note b = a
l’un de l’autre lorsque mod q . Toutes
les puissances du générateur g possèdent un inverse, et il existe des algo-

rithmes efficaces pour le calculer, comme l’algorithme d’Euclide étendu.

M
Pour déchiffrer, en connaissant la clé privée, le message clair est re-

trouvé en calculant dans Z/q Z :


C2 × (C1 ) M × h × ((g ) ) = M × (g ) × ((g ) )
x −1 r r x −1 x r r x −1
=
M × g × (g ) = M
xr r x −1
=
Comme dans le cas du protocole de Diffie-Hellman, la sécurité du chif-

frement d’ElGamal repose sur le problème difficile du logarithme discret

(voir page 113). En effet, la clé privée de déchiffrement x n’est autre que
le logarithme discret de h, un des éléments de la clé publique.

149
150
La consommation élec-
18
trique en dit trop ☆☆☆

« Crypto will not be broken, it will be bypassed. »

« La crypto ne sera pas cassée, elle sera contournée. »

Adi Shamir, RSA Conference 2015.

D’après l’énoncé, un processeur consomme moins d’énergie pour calculer un

carré que pour calculer un produit. Par conséquent, sur le tracé proposé, un pe-

tit pic correspond à un carré et un grand pic correspond à un produit. En utilisant

cette correspondance, les opérations successives effectuées par le processeur


d
pendant le calcul de C sont : produit ; carré ; carré ; carré ; produit ; carré ; carré ;

produit ; carré ; produit ; carré ; carré ; produit ; carré ; carré ; carré ; produit.

Ces informations ne donnent aucun renseignement sur C , mais en suivant la


description de l’algorithme d’exponentielle rapide, elles permettent de décou-

vrir quelles sont les puissances de 2 qui interviennent dans la décomposition de

l’exposant d : ce sont celles qui se trouvent juste avant un produit (sauf pour la
(2 )
0
première, puisque C = C n’est pas un carré).
0
▶ produit : 2 intervient dans d
(2 )
1
▶ carré : calcul de C
(2 )
2
▶ carré : calcul de C
(2 )
3
▶ carré : calcul de C
3
▶ produit : 2 intervient dans d
(2 )
4
▶ carré : calcul de C
(2 )
5
▶ carré : calcul de C
5
▶ produit : 2 intervient dans d
(2 )
6
▶ carré : calcul de C
6
▶ produit : 2 intervient dans d
(2 )
7
▶ carré : calcul de C

151
25 énigmes ludiques pour s'initier à la cryptographie

(2 )
8
▶ carré : calcul de C
8
▶ produit : 2 intervient dans d
(2 )
9
▶ carré : calcul de C
(2 )
10
▶ carré : calcul de C
(2 )
11
▶ carré : calcul de C
11
▶ produit : 2 intervient dans d
Finalement, la clé de déchiffrement d’Alice est

0 3 5 6 8 11
d = 2 +2 +2 +2 +2 +2
= 1 + 8 + 32 + 64 + 256 + 2048
= 2409

Le chiffrement RSA
1
JAN

En 1977, Ronald Rivest, Adi Sha-

mir et Leonard Adleman (dont

les initiales forment l’acronyme

RSA) ont inventé le chiffrement

RSA, le premier chiffrement à

clé publique (ou chiffrement

asymétrique), proposé dans l’ar-

ticle [RSA78]. Cette découverte

fut une révolution, qui leur a Figure 48 – Rivest, Shamir et

naturellement valu d’obtenir le Adelmann en 1978.

Prix Turing en 2002. En effet, jusqu’à leur invention, le seul moyen de

communiquer de manière chiffrée et donc sécurisée, c’était d’utiliser un

chiffrement symétrique. Cela impliquait de connaître son interlocuteur

et de s’être mis d’accord au préalable sur une clé secrète partagée.

Avec le chiffrement RSA, chaque utilisateur peut diffuser une clé pu-

blique de chiffrement accessible à tous. Tout un chacun peut l’utiliser

pour chiffrer des messages. En revanche, seul le possesseur de la clé

privée de déchiffrement correspondante est capable de déchiffrer

ces messages chiffrés. RSA est l’un des chiffrements à clé publique

les plus utilisés, mais aussi l’un des plus attaqués (voir par exemple les

articles [Bon99, MP19, KM19]).

152
18 La consommation électrique en dit trop ☆☆☆

PGP, la cryptographie pour tous

Les chiffrements à clé publique constituent une

réelle révolution et ont ouvert de nombreuses

perspectives, en particulier la possibilité pour le

grand public de chiffrer ses courriers électro-

niques. En 1991, Phil Zimmermann (1954-) a mis



au point le protocole PGP qui permet d’échan-

ger des courriers électroniques chiffrés et si-

gnés entre particuliers, en utilisant le chiffre-

ment RSA. Cette initiative a suscité des contro-

verses, les partisans de la diffusion de méthodes

de chiffrement efficaces étant parfois accusés Figure 49 – Phil

de compliquer le travail de la police en facilitant Zimmermann.

celui des malfaiteurs.

« If privacy is outlawed, only outlaws will have privacy. »

« Si la vie privée est mise hors la loi, seuls les hors-la-loi auront une vie

privée. »

Phil Zimmerman.

PGP offre la liberté d’expression à de nombreuses personnes dans des

pays où elle n’est pas garantie, mais pas seulement. Par exemple, dans

le film documentaire Citizen Four de Laura Poitras, sorti en 2014, et qui

relate l’affaire Edward Snowden, la première chose que fait ce dernier,

quand il rencontre le journaliste Glenn Greenwald, c’est de lui expliquer

comment communiquer de manière sécurisée avec PGP.

« Everybody should encrypt their e-mail. I’m a strong believer of strong

encryption. »

« Tout le monde devrait chiffrer ses e-mails. Je suis un fervent partisan

de chiffrements forts. »

Barack Obama, président des USA, Re/Code Interview, le 13 février

2015.


Pretty Good Privacy

153
25 énigmes ludiques pour s'initier à la cryptographie

Respect de la vie privée (Privacy)

L’anecdote précédente illustre clairement que tout le monde peut de-

venir responsable de sa sécurité numérique et décider de chiffrer ses e-

mails. Cela ne nécessite pas de compétences particulières, grâce aux ou-

tils libres développés à partir de PGP. De plus, il s’agit d’un acte citoyen

pour soi, mais aussi pour les autres, comme le souligne la citation de Phil

Zimmerman, et comme le dit Edward Snowden « Affirmer que vous vous

moquez du droit à la vie privée parce que vous n’avez rien à cacher re-

vient à dire que vous n’en avez rien à faire de la liberté d’expression parce

que vous n’avez rien à dire ». Cette problématique est présentée dans

l’exposé de Glenn Greenwald dans une conférence TED intitulée Why

Privacy matters (Pourquoi le respect de la vie privée est important).

Dans son discours, il démontre que tout le monde a quelque chose à ca-

cher. Il demande en effet à tous ceux qui pensent ne rien avoir à cacher

de lui communiquer tous leurs identifiants et mots de passe. Il aura ainsi

le choix dans la date pour prendre dans ces informations, ce qu’il souhaite

mettre en ligne. Il précise que personne ne l’a jamais contacté.


Technology, Entertainment and Design


https://www.ted.com/talks/glenn_greenwald_why_privacy_matters

Attaques et contre-attaques

L’attaque de RSA par analyse simple de la consommation présentée

dans cette énigme a été proposée par Paul Kocher (voir page 158) en

1996. Il est possible de s’en prémunir en modifiant l’algorithme de l’expo-

nentielle rapide pour qu’il effectue à chaque étape à la fois une élévation

au carré et une multiplication. Ainsi, l’attaquant ne peut plus déterminer

quelles sont les puissances de 2 qui interviennent dans la clé de déchif-

frement d en analysant la consommation électrique du processeur.


Cela peut être fait simplement en effectuant à part, en guise de leurre, le

(2 )
i
d
produit de tous les C qui ne sont pas utiles pour le calcul de C . Mal-

heureusement, dans ce cas, le calcul est vulnérable à une attaque dite

par injection de fautes, qui consiste à perturber physiquement l’exécu-

tion de l’algorithme au moment d’une multiplication. Si la perturbation

modifie le résultat final, c’est que la multiplication concernée est vrai-

154
18 La consommation électrique en dit trop ☆☆☆

d
ment nécessaire au calcul de C , dans le cas contraire, c’est qu’il s’agit

d’une multiplication leurre. Il existe une autre variante plus sophistiquée

de l’algorithme d’exponentielle rapide, appelée l’échelle de Montgo-

mery, dont l’exécution effectue à chaque étape à la fois une élévation au

carré et une multiplication, sans qu’aucune des multiplications ne soit in-

utile. Malheureusement, ce dernier algorithme est encore vulnérable à

une attaque dite par analyse différentielle de consommation.

TLS
1
JAN


Le protocole https est utilisé pour chiffrer les communications sur In-

ternet. Plus précisément, ce protocole permet d’établir une clé entre le

client et le serveur et de s’en servir par la suite pour chiffrer les commu-

nications avec un chiffrement symétrique. Pour établir cette clé, le pro-

tocole utilisé actuellement est le protocole TLS.

Le premier protocole qui visait à chiffrer les communications sur Inter-



net, SSL 1.0, a été proposé théoriquement par la société Netscape qui a

distribué le navigateur Internet du même nom dans les années 1990. En

1995, c’est la version SSL 2.0 qui a été réellement utilisée. En 1996, une

nouvelle version, SSL 3.0, la remplace, pour des questions de sécurité. En

1999, le protocole TLS 1.0 succède à SSL 3.0 et devient le nouveau proto-

cole pour les communications sur Internet. Il est développé par l’IETF .

En 2008, la version 1.2 de TLS est publiée. Enfin, la version TLS 1.3 a été

proposée en 2018. Ce nouveau protocole est plus rapide que la version

1.2 car il n’a besoin que de trois messages au lieu de cinq pour établir la clé

entre le client et le serveur. TLS 1.3 a aussi été l’occasion de supprimer des

primitives cryptographiques obsolètes comme DES, RC4, MD5 ou SHA-

1, et de n’avoir finalement plus que cinq possibilités de primitives crypto-

graphiques. Elles incluent des primitives récentes et plus sûres comme



CHACHA20, AES-GCM , SHA-256. De plus, la version TLS 1.3 chiffre les

messages dès la première communication, et en construisant plusieurs

clés de chiffrement pour établir la clé de session.


HyperText Transfer Protocol Secure


Secure Sockets Layer

Internet Engineering Task Force

Galois Counter Mode

155
25 énigmes ludiques pour s'initier à la cryptographie

Attaques et déploiements de TLS


1
JAN

Des attaques ont été trouvées sur ces protocoles très utilisés, comme
∗ ♯ ∤ ‡
BEAST en 2011, DROWN et CRIME en 2012, POODLE et Heart-

bleed en 2014, ou LogJAM et FREAK en 2015, pour ne citer que les

plus connues. Ces attaques exploitent des erreurs d’implémentation du

protocole, des erreurs de conception du protocole, mais aussi des failles

sur les primitives cryptographiques. Les attaques LogJAM et FREAK uti-

lisent une attaque de l’homme du milieu (Man in the middle) pour faire

en sorte que le client et le serveur choisissent des primitives cryptogra-

phiques avec des tailles de clés petites. Cela permet de les retrouver fa-

cilement et donc d’écouter les échanges entre le client et le serveur.

100

80

60

40

20

0
SSL v2 SSL v3 TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3

Le pourcentage des sites supportant ces protocoles en octobre 2020,



selon le site web SSLLABS , est présenté ci-dessus.

Ce graphique montre que, malheureusement, une grande proportion

de sites acceptent encore les vieilles versions de SSL et TLS, alors qu’en

2020, seules les versions de TLS 1.2 et 1.3 sont considérées comme sûres.


Browser Exploit Against SSL/TLS


Decrypting RSA using Obsolete and Weakened eNcryption

Compression Ratio Info-leak Made Easy

Padding Oracle On Downgraded Legacy Encryption

Factoring RSA Export Keys

https://www.ssllabs.com/ssl-pulse

156
Le digicode lumineux
19
☆☆

« We’ve really screwed up. There’s been this desire from the industry to be as

fast as possible and secure at the same time. Spectre shows that you cannot

have both. »

« Nous avons vraiment foiré. Il y a eu ce désir de l’industrie d’être aussi rapide

que possible et sûre en même temps. Spectre montre qu’on ne peut pas avoir

les deux. »

Paul Kocher, New York Times, 4 janvier 2018.

Tout d’abord, il s’agit d’un code à 4 chiffres et chaque chiffre est compris entre

0 et 9. Il y a donc 10 possibilités pour le premier chiffre, 10 possibilités pour le

deuxième chiffre, 10 possibilités pour le troisième chiffre, et 10 possibilités pour

le dernier chiffre, ce qui fait un nombre total de codes différents possibles de


4
10 . Une recherche exhaustive demande ainsi, dans le pire des cas, 10 000 es-

sais pour ouvrir la porte.

En prenant en compte les informations données par les lumières vertes et

rouges, il est possible de faire mieux. En effet, pour rechercher le premier chiffre

du code, il suffit de tous les essayer un par un, jusqu’à ce que la lumière verte s’al-

lume et ainsi être sûr de l’avoir trouvé. Cela prendra au pire 10 essais. Connais-

sant le premier chiffre (disons 5), il est possible de rechercher le deuxième en

tapant deux chiffres à la fois (51, 52, …) jusqu’à ce que la lumière verte s’allume.

En suivant cette stratégie, il suffira de 10 autres essais au maximum. Ainsi, au to-

tal, en utilisant les lumières, il faudra faire 10+10+10+10 = 40 essais dans le pire

des cas pour ouvrir la porte.

Il est possible de faire encore un peu mieux en remarquant qu’il suffit de 9 es-

sais au maximum pour connaître le premier chiffre. En effet, si la lumière est en-

core rouge au neuvième essai, alors il ne reste plus qu’une solution possible et

il est inutile de faire le dernier essai. Le même raisonnement s’applique pour le

deuxième et le troisième chiffres. En revanche, pour le dernier chiffre, si 9 essais

au maximum suffisent toujours pour le découvrir, il faut bien ouvrir la porte, et

donc, un dernier calcul et on s’en va, taper le code une fois qu’il est découvert.

Finalement, il suffit de 9+9+9+10 = 37 essais pour ouvrir la porte à coup sûr.

157
25 énigmes ludiques pour s'initier à la cryptographie

Paul Kocher (1973-)

Paul Kocher est l’inventeur de l’attaque par canal auxiliaire sur RSA, pu-

bliée en 1996 dans les articles [Koc96, KJJ99]. Le concept de ces at-

taques est celui de cette énigme : utiliser des informations qui sont à dis-

position de l’attaquant pour découvrir une information secrète. Comme

les lumières du digicode, la consommation électrique du processeur (voir

l’énigme 18 page 37), les émissions électromagnétiques des composants,

le temps de calcul de chaque opération, le bruit des composants, etc.

peuvent être utilisés. Tous ces canaux auxiliaires révèlent des informa-

tions sur l’état du processeur, qui peuvent être utilisées par un attaquant.

Pour contrer ces attaques, il faut que les informations

révélées par les canaux auxiliaires n’apportent pas d’in-

formation à un observateur. Par exemple, chaque opé-

ration du programme devrait prendre le même temps,

ou consommer la même quantité d’électricité. Une autre

idée consiste à ajouter du bruit aléatoire à chaque opéra-

tion, pour que l’observateur ne puisse rien déduire d’utile.

Ces attaques ne concernent pas que la cryptographie Figure 50 –

moderne. Peter Wright (1916-1995), officier des services Paul Kocher.



de contre espionnage britannique au MI5 , relate, dans ses mémoires

publiées en 1987 et intitulées Spycatcher, une attaque de ce type contre

l’ambassade égyptienne à Londres en 1956, qui utilisait une machine à

chiffrer de marque Hagelin. C’est l’enregistrement, à l’aide d’un micro ca-

ché, des sons émis par la machine lors de l’initialisation des 7 rotors qui a

permis au MI5 de découvrir leur position initiale et donc la clé utilisée.


Military Intelligence, Section 5

Spectre

Spectre est le nom d’une faille de sécurité, découverte en 2018 par Paul

Kocher et ses collaborateurs, mais aussi par l’équipe d’experts en sécu-

rité de Google, membres du Projet Zero, visant à trouver des vulnérabili-

tés dans les logiciels et les équipements informatiques. Spectre exploite

une attaque temporelle par canaux cachés. Elle permet à un attaquant

d’accéder au contenu de la mémoire vive d’un ordinateur.

158
Des couples clairs chiffrés
20
☆☆☆

« Somebody will be able to overcome any encryption technique you use ! »

« Quelqu’un sera toujours capable de dépasser la technique de chiffrement

que vous utilisez ! »

Noam Chomsky, The Guardian, 17 Octobre 2012.

Pour analyser les phrases chiffrées, il faut remarquer que chaque groupe de

cinq caractères représente un mot. Ceci permet de classer les 17 messages chif-

frés d’une part, et les 4 phrases en clair d’autre part, selon leur longueur. Ce qui

donne, pour les phrases chiffrées :

2. 1f681 bde88 7fe61 (3 mots)


4. 2c234 bde88 3b784 (3 mots)
10. 2c234 12f54 f456d (3 mots)
15. a6bfc bde88 25c5d (3 mots)
1. 4ca79 ba6ec 3503a 725c4 (4 mots)
7. 2c234 239a6 4ca79 85d00 (4 mots)
13. 2c234 239a6 2c234 f982a (4 mots)
17. 4ca79 85d00 bde88 a8796 (4 mots)
12. 4ca79 8c086 7844a bde88 8cd2b (5 mots)
3. 31702 624d8 7cf0d 620e8 11c08 8c086 (6 mots)
16. 85079 7844a dd02c bde88 85079 7844a (6 mots)
5. 5d146 3e89f bde88 6c4b4 2c234 bde88 3b784 (7 mots)
6. 4ca79 7844a 7a962 805c8 bde88 4ca79 8c9eb (7 mots)
8. 2c234 bde88 7a962 373ae 7a962 3e89f 8cd2b (7 mots)
14. 4ca79 7844a 7a962 3e89f 10418 bde88 8c9eb (7 mots)
11. 12d51 725c4 4ca79 620e8 7a962 3e89f 8c086 8cd2b (8 mots)
9. 4ca79 d51ab 7a962 3e89f 8c086 373ae bde88 4ca79 8c9eb (9 mots)

159
25 énigmes ludiques pour s'initier à la cryptographie

Et pour les phrases en clair :

▶ le jour se lève (4 mots)

▶ tu ne tueras pas ton prochain (6 mots)

▶ le code de son appartement est 15 (7 mots)

▶ il est de retour de son voyage (7 mots)

Ensuite, il faut forcer les mots à avoir du sens, c’est la seule solution. Il s’agit de

chercher des correspondances entre les phrases en clair et les phrases chiffrées

de même longueur.

Par exemple, il est possible de remarquer que le mot le, le mot de , le mot son

et le mot est apparaissent plusieurs fois dans les phrases en clair. En particulier,

le mot de apparaît deux fois dans une phrase composée de 7 mots. Ensuite, la

même analyse sur les phrases chiffrées permet de s’apercevoir que, parmi celles

contenant 7 mots, il n’y a que la phrase numéro 8 qui contient un mot qui se

répète aux bons emplacements. Autrement dit, la phrase en clair :

▶ il est de retour de son voyage

correspond à la phrase chiffrée :

8. 2c234 bde88 7a962 373ae 7a962 3e89f 8cd2b

Avec le chiffrement des 3 mots de , son et est, il est facile de découvrir que

la phrase de 7 mots en clair :

▶ le code de son appartement est 15

correspond à la phrase chiffrée :

14. 4ca79 7844a 7a962 3e89f 10418 bde88 8c9eb


Puis, avec le chiffrement du mot le, il apparaît que la phrase de 4 mots en clair :

▶ le jour se lève

correspond à la phrase chiffrée de 4 mots :

1. 4ca79 ba6ec 3503a 725c4


En effet, la phrase chiffrée de 4 mots :

17. 4ca79 85d00 bde88 a8796


qui commence par le mot le, ne peut pas convenir car elle contient le mot est.

160
20 Des couples clairs chiffrés ☆☆☆

La phrase chiffrée de 6 mots :

2. 85079 7844a dd02c bde88 85079 7844a


ne peut pas correspondre à la dernière phrase en clair (composée de 6 mots),

puisqu’elle contient le mot est. Par conséquent, la phrase de 6 mots en clair :

▶ tu ne tueras pas ton prochain

correspond à la phrase de 6 mots chiffrée :

3. 317020 624d80 7cf0da 620e8a 11c08c 8c0864


Il faut alors propager ces informations aux autres phrases chiffrées pour tirer

le maximum des 19 mots différents qui composent les quatre phrases en clair.

2. 1f681 bde88 7fe61


1f681 est 7fe61
4. 2c234 bde88 3b784
il est 3b784
10. 2c234 12f54 f456d
il 12f54 f456d
15. a6bfc bde88 25c5d
a6bfc est 25c5d
1. 4ca79 ba6ec 3503a 725c4
le jour se lève
7. 2c234 239a6 4ca79 85d00
il 239a6 le 85d00
13. 2c234 239a6 2c234 f982a
il 239a6 il f982a
17. 4ca79 85d00 bde88 a8796
le 85d00 est a8796
12. 4ca79 8c086 7844a bde88 8cd2b
le prochain code est voyage
3. 31702 624d8 7cf0d 620e8 11c08 8c086
tu ne tueras pas ton prochain
16. 85079 7844a dd02c bde88 85079 7844a
85079 code dd02c est 85079 code
5. 5d146 3e89f bde88 6c4b4 2c234 bde88 3b784
5d146 son est 6c4b4 il est 3b784

161
25 énigmes ludiques pour s'initier à la cryptographie

6. 4ca79 7844a 7a962 805c8 bde88 4ca79 8c9eb


le code de 805c8 est le 15
8. 2c234 bde88 7a962 373ae 7a962 3e89f 8cd2b
il est de retour de son voyage
14. 4ca79 7844a 7a962 3e89f 10418 bde88 8c9eb
le code de son appartement est 15
11. 12d51 725c4 4ca79 620e8 7a962 3e89f 8c086 8cd2b
12d51 lève le pas de son prochain voyage
9. 4ca79 d51ab 7a962 3e89f 8c086 373ae bde88 4ca79 8c9eb
le d51ab de son prochain retour est le 15
Il est absolument impossible de deviner les mots manquants dans les diffé-

rentes phrases à partir des informations données.

Cette énigme montre que certains chiffrements déterministes peuvent être

vulnérables lorsque des couples clairs chiffrés sont connus. Ce type d’attaque

est souvent employé sur un chiffrement symétrique cherchable.



Enfin les phrases chiffrées ont été générées en utilisant MD5 sur chaque

mot, et en ne gardant que les cinq premiers caractères en hexadécimal de l’em-

preinte obtenue. Par exemple, le haché complet du mot le avec la fonction


MD5 vaut 4ca7904560757b13d6226be3dd8d596e.

SSE

En 2000, Dawn X. Song (1975-), David A. Wagner (1974-) et Adrian Perrig

(1972-) ont inventé le premier schéma de chiffrement symétrique cher-



chable (SSE ), publié dans l’article [SWP00]. L’idée de ce type de chif-

frement est de pouvoir effectuer des recherches à l’aide de mots clés sur

des données chiffrées, tout en assurant que les données en clair ne soient

pas divulguées. Par exemple, il serait possible de faire la liste de tous les

livres dans lesquels le terme cryptographie apparaît, alors que le contenu

des ouvrages serait chiffré mot par mot. La technique mise au point par

ces trois chercheurs est astucieuse, mais en 2015, David Cash et ses col-

lègues, dans l’article [CGPR15], ont proposé des attaques qui se basent

sur la connaissance de couples clairs chiffrés, sur la structure des phrases

et sur les répétitions, comme dans cette énigme.


Symmetric Searchable Encryption


Une fonction de hachage aujourd’hui obsolète, inventée en 1991 par Ronald Rivest.

162
Un chiffrement malléable
21
☆☆

« La cryptologie, c’est le moteur de l’Internet. Aujourd’hui, plus personne ne

regarde sous le capot de sa voiture. »


§
Jacques Stern, cryptographe, médaille d’or du CNRS , L’Express,

20 novembre 2006.

Pour commencer, il faut traduire les trois phrases de l’énoncé comme suit :

▶ {42}k = c × c

▶ {55}k = c × c
′′

▶ {10037}k = c × c × c × c × c
′ ′′

Découvrir ces lettres secrètes va permettre de sauver Ève, en préservant sa

réputation de pirate. Ensuite, pour transformer la troisième égalité à l’aide des

deux premières, il suffit d’observer que :

c × c × c × c × c = (c × c ) × (c × c ) × c
′ ′′ ′ ′′

Il s’ensuit que {10037}k = {42}k × {55}k × c . En appelant m le message clair


correspondant au message chiffré c , il est possible de remplacer c par {m}k :

{10037}k = {42}k × {55}k × {m}k

Il ne reste plus qu’à utiliser la propriété du chiffrement partiellement homo-

morphe sur le membre de droite :

{10037}k = {42 + 55 + m}k

Et finalement, le message clair correspondant au chiffré c est :

m = 10037 − 42 − 55 = 9940
§
Centre national de recherche scientifique

163
25 énigmes ludiques pour s'initier à la cryptographie

Cette énigme montre que l’utilisation d’un chiffrement partiellement homo-

morphe pour communiquer permet à un intrus de se servir précisément des

propriétés de malléabilité du chiffrement pour construire des attaques.

Chiffrement partiellement homomorphe

Un chiffrement partiellement homomorphe permet de faire certaines

opérations sur les messages chiffrés, qui modifient, éventuellement se-

lon d’autres opérations, les messages en clair, comme dans cette énigme.

Par exemple, le chiffrement RSA (voir page 39) possède la propriété que

le produit de deux messages chiffrés avec la même clé publique, com-

posée de e et n, est le message chiffré associé au produit des messages


clairs. En cette propriété d’homomorphisme partiel se vérifie en effec-

tuant le calcul suivant :

{a}e ,n × {b }e ,n = a × b mod n
e e

= (a × b ) mod n
e

= {a × b }e ,n

En 1984, Shafi Goldwasser et Silvio Micali dans l’article [GM84], ont pro-

posé un chiffrement partiellement homomorphe tel que le produit de

deux messages chiffrés est le message chiffré correspondant au ou ex-

clusif (noté ⊕) des deux messages en clair. Ce chiffrement chiffre un seul


bit à la fois et fonctionne comme suit :

▶ la clé publique est composée d’un module n = p × q , produit de


deux nombres premiers différents et d’un entier z strictement in-
férieur à n , qui n’est un carré ni modulo p , ni modulo q (un nombre

x est un carré modulo p s’il existe un nombre u inférieur à p tel que


2
u = x mod p ). La clé privée est constituée du nombre premier p ;
m se fait en calculant {m}n,z = z ×y mod n
m 2
▶ le chiffrement d’un bit

où y est un entier aléatoire, strictement inférieur à n et non nul ;

▶ le déchiffrement se fait en vérifiant si un message chiffré {m}n,z est


un carré modulo n : si oui, alors m = 0 et si non, alors m = 1. La
sécurité repose sur le fait que ce calcul est difficile modulo n = p × q ,

mais facile modulo les deux nombres premiers p et q . De plus, un

entier est un carré modulo n si et seulement si c’est un carré à la

fois modulo p et modulo q .

164
21 Un chiffrement malléable ☆☆

Pour vérifier la propriété annoncée, il faut calculer :

{m1 }n,z × {m2 }n,z = (z × ( y1 ) ) × ( z × (y2 ) ) mod n


m1 2 m2 2

× (y1 × y2 ) mod n
m1 +m2 2
=z
= {m1 ⊕ m2 }n,z

⊕1=0, le terme carré est (z × y1 × y2 )


2
En tenant compte du fait que 1 .

En 1998, dans l’article [NS98], David Naccache et Jacques Stern ont pro-

posé une généralisation du chiffrement homomorphe de Goldwasser-

Micali, qui permet de chiffrer des messages composés de plusieurs bits,

et tel que le produit de deux chiffrés est le message chiffré correspon-

dant à la somme des deux messages en clair, comme dans l’énigme.

Chiffrement totalement homomorphe

Un chiffrement totalement homomorphe offre la possibilité de réaliser

plus d’opérations sur les messages chiffrés qu’un chiffrement partielle-

ment homomorphe. En effet, il permet de travailler sur les donnés chif-

frées sans connaître les valeurs manipulées. Plus précisément, il s’agit

d’effectuer n’importe quel calcul arithmétique sur des messages chiffrés,

de telle sorte que le résultat soit un message chiffré correspondant à un

message en clair qui soit le résultat de ce même calcul sur les messages

en clair. Pour résoudre ce problème, il suffit de trouver un chiffrement qui

a les deux propriétés suivantes :

{a}k × {b }k = {a × b }k

{a}k + {b }k = {a + b }k
car toutes les opérations arithmétiques sont définies à partir de l’addition

et de la multiplication.

Pour illustrer le fonctionnement d’un tel chiffrement, voici le chiffrement

proposé en 2010 par Marten van Dijk, Craig Gentry, Shai Halevi, et Vinod

Vaikuntanathan dans l’article [vDGHV10]. Il permet de chiffrer des mes-

sages m d’un seul bit.


▶ La clé publique est un multiple x0 = q0 × p d’un grand nombre pre-
mier p (de façon à ce que p soit dissimulé) et la clé secrète est p .

165
25 énigmes ludiques pour s'initier à la cryptographie

▶ Pour chiffrer un bit m, il suffit de calculer {m}x0 = q × p + 2 × r + m


où q × p est un grand multiple aléatoire de p (concrètement, c’est
un multiple de x0 ) et r un petit nombre aléatoire.

▶ Pour déchiffrer, il suffit de connaître p et de calculer

m = ({m}x0 mod p ) mod 2

Il n’est pas très difficile de se convaincre que ce chiffrement possède les

deux propriétés souhaitées, en tenant compte du fait que, pour des mes-

sages réduits à un seul bit, l’addition correspond au ou exclusif, noté ⊕:

{m1 }x0 + {m2 }x0 = (q1 × p + 2 × r1 + m1 ) + (q2 × p + 2 × r2 + m2 )


= (q1 + q2 ) × p + 2 × (r1 + r2 ) + m1 + m2
= {m1 ⊕ m2 }x0

{m1 }x0 × {m2 }x0 = (q1 × p + 2 × r1 + m1 ) × (q2 × p + 2 × r2 + m2 )


= (...) × p + 2 × (r1 × r2 + r1 × m2 + m1 × r2 ) + m1 × m2
= {m1 × m2 }x0

Par ailleurs, cet exemple permet de se rendre compte que, à chaque mul-

tiplication, le terme de bruit pair 2×r devient supérieur à 2 × r1 × r2 . Si


de trop nombreuses multiplications sont faites, il risque de dépasser p,
et dans ce cas, il ne sera plus possible de déchiffrer le message chiffré.

Il faut donc introduire un mécanisme supplémentaire pour contrôler la

croissance du bruit 2 × r introduit pour chiffrer un message. C’est ce qu’a


proposé Craig Gentry dans son article de 2009, et c’est aussi ce qui fait

que son chiffrement prend du temps et produit des messages chiffrés de

très grande taille. En effet, il n’est pas possible de prévoir a priori le nom-

bre de multiplications qu’il faudra appliquer aux données chiffrées.

166
22 Payer en bitcoins ☆☆☆

« The crypto currency community hasn’t decided whether they want to be

anarchist rebels or to replace the establishment. »

« La communauté des cryptomonnaies n’a pas décidé s’ils veulent être des

rebelles anarchistes ou remplacer l’ordre établi. »

Adi Shamir, RSA Conference, 2015.

Il faut trouver une valeur pour n de telle sorte que :

ASCII(ASCII(AB542n)) soit divisible par 3 et 5.

Tout d’abord, il faut commencer par appliquer la fonction ASCII à l’intérieur de


l’expression, comme suit :

ASCII(AB542n) = ASCII(A) + ASCII(B) + ASCII(5) + ASCII(42) + ASCII(n)


= 65 + 66 + 53 + ASCII(42) + ASCII(n)
= 184 + ASCII(4) + ASCII(2) + ASCII(n)
= 184 + 52 + 50 + ASCII(n)
= 286 + ASCII(n)

Il faut ensuite appliquer ASCII sur le résultat. Il s’agit alors de trouver n tel que

ASCII(286 + ASCII(n)) soit divisible par 3 et par 5. Il faut utiliser une recherche
exhaustive, en essayant tous les nombres n possibles en partant de 0.

▶ Pour 0, l’expression ASCII(286 + ASCII(n)) se simplifie comme suit :

ASCII(286 + ASCII(0)) = ASCII(286 + 48)


= ASCII(334)
= ASCII(3) + ASCII(3) + ASCII(4)
= 51 + 51 + 52 = 154

Le résultat n’est pas un multiple de 5, donc 0 ne convient pas.

167
25 énigmes ludiques pour s'initier à la cryptographie

▶ Pour 1, l’expression se simplifie comme suit :

ASCII(286 + ASCII(1)) = ASCII(286 + 49)


= ASCII(335)
= ASCII(3) + ASCII(3) + ASCII(5)
= 51 + 51 + 53 = 155

Le résultat est un multiple de 5 mais pas de 3, donc 1 ne convient pas.

▶ Pour 2, l’expression se simplifie comme suit :

ASCII(286 + ASCII(2)) = ASCII(286 + 50)


= ASCII(336)
= ASCII(3) + ASCII(3) + ASCII(6)
= 51 + 51 + 54 = 156

Le résultat n’est pas un multiple de 5, donc 2 ne convient pas.

Il faut continuer ce processus jusqu’à trouver une valeur de n qui convienne.


Pour un humain, ces calculs sont fastidieux, mais un programme informatique

permet d’aller plus vite et d’énumerer les nombres les uns après les autres. La

plus petite valeur trouvée est n= 89, comme le montre la vérification suivante :

ASCII(286 + ASCII(89)) = ASCII(286 + ASCII(8) + ASCII(9))


= ASCII(286 + 56 + 57)
= ASCII(399)
= ASCII(3) + ASCII(9) + ASCII(9)
= 51 + 57 + 57 = 165

Le résultat est, cette fois-ci, un multiple de 3 et de 5. Il y a bien entendu d’autres

n, par exemple 98. La lettre q n’est pas un nombre, mais


valeurs possibles pour

ASCII(q) = 113 = ASCII(8) + ASCII(9), donc elle donne aussi le même résultat.
Cette énigme illustre le fonctionnement de ce qui s’appelle la preuve de tra-

vail, et qui est au cœur de la création de bitcoins et de la validation des tran-

sactions. Le lecteur (ou du moins son ordinateur) a dû faire un travail considé-

rable avant de trouver une valeur de n qui convienne, comme les mineurs dans
le protocole Bitcoin, alors que la vérification a été très facile. Dans ce cadre, le

lecteur le plus rapide pour trouver un n valide aurait validé des transactions, tout
en créant des bitcoins, qu’il pourrait dépenser plus tard.

168
22 Payer en bitcoins ☆☆☆

Bitcoin
1
JAN

En 2009, Satoshi Nakamoto a inventé Bitcoin, la première monnaie dé-

matérialisée, distribuée et décentralisée, dont la plus petite unité est ap-

pelée un satoshi (0,000 000 01 bitcoin). C’est une véritable révolution.

En effet, jusqu’en 2009, les cryptomonnaies souffraient toutes du même

défaut, à savoir qu’elles nécessitaient la présence d’une autorité centrale

pour tenir un livre de comptes des transactions entre les utilisateurs, et

ces derniers devaient avoir toute confiance en elle.

Plus précisément, comme ces monnaies sont dématérialisées, il est fa-

cile de dupliquer l’analogue d’une pièce de monnaie, car ce n’est rien

d’autre que de dupliquer un fichier sur un ordinateur. Il est donc indis-

pensable que, dans une cryptomonnaie, les utilisateurs ne puissent pas

dupliquer leurs pièces et les dépenser deux fois. Pour éviter ce problème

de double dépense, les cryptomonnaies utilisaient une autorité centrale,

dont le rôle était de noter que la pièce avait été dépensée, afin d’invalider

toutes les autres dépenses avec cette même pièce.

La révolution conceptuelle introduite par Bitcoin est qu’il n’y a plus be-

soin de cette autorité centrale. À la place, les mineurs tiennent à jour le

livre de comptes, valident les transactions et créent des bitcoins.

Fonctionnement du protocole Bitcoin

Le bitcoin est une cryptomonnaie décentralisée et distribuée, dans la-

quelle un livre de comptes, mis à jour en temps réel, est partagé entre

tous les utilisateurs et les mineurs. Une liste des transactions, à inscrire

dans le livre de comptes, est aussi mise à jour en temps réel et diffu-

sée à tous les mineurs. Pour déterminer ce qu’il faut écrire sur le livre de

comptes, Bitcoin instaure plusieurs mécanismes.

▶ Le premier est de faire en sorte que toutes les nouvelles transac-

tions soient liées aux précédentes, comme dans l’énigme, grâce à

un mécanisme de hachages successifs des blocs de transactions,

appelé chaîne de blocs (blockchain). Ainsi, changer une ligne dans

le livre des comptes, constitué par la blockchain, nécessiterait de

modifier toutes les lignes (c’est-à-dire tous les blocs) ajoutées par

la suite, ce qui est difficile. Ce mécanisme permet d’éviter toute

fraude et de rendre le livre de comptes infalsifiable.

169
25 énigmes ludiques pour s'initier à la cryptographie


▶ Pour valider une transaction, un mineur doit faire deux choses :

1. vérifier que la transaction est valide. Cela signifie qu’il doit re-

monter la blockchain jusqu’à trouver les informations néces-

saires pour vérifier que le compte de la personne qui effectue

une transaction existe et contient assez de bitcoins ;

2. résoudre l’objectif de hachage. Pour une transaction, ef-

fectuée à la date d , d’un montant m, du compte x vers le


compte y , avec le bloc précédent p , il s’agit de trouver un
nombre n , tel que le résultat du calcul suivant commence par

un certain nombre de zéros : SHA256(SHA256(d , x , y , p , n )), où

SHA256 est une fonction de hachage cryptographique. Le

nombre de zéros requis est ajusté tous les 2016 blocs, soit ap-

proximativement tous les 14 jours, de telle sorte que le temps

moyen pour miner un bloc soit toujours de 10 minutes.


Le nom de mineurs, donné aux ordinateurs qui valident les transactions, fait référence

aux mineurs qui cherchaient de l’or au temps du Far West. De tout temps, les mineurs sont

punis d’une mauvaise réputation, car ils agissent de manière peu écologique.

Éviter la double dépense

Une question qui se pose naturellement est : que se passe-t-il si deux

mineurs résolvent, en même temps, chacun un objectif de hachage dif-

férent ? D’après le protocole Bitcoin, cela provoque un fork (en français,

embranchement), comme sur le schéma suivant, où chaque carré repré-

sente un bloc, lié aux précédents dans la blockchain, et où il y a deux forks,

représentés par les carrés gris.

Les embranchements peuvent correspondre à des doubles dépenses, il

faut donc les éviter. Pour cela, le mécanisme mis en place par Bitcoin est

le suivant. Lorsqu’il y a un fork, chaque mineur choisit la branche qu’il

souhaite continuer. Cependant, il se peut qu’il fasse des calculs qui ne

lui rapporteront finalement rien, s’il n’a pas choisi la bonne branche. En

effet, après quelques temps, seule la branche la plus longue sera consi-

dérée comme valide, et les autres seront abandonnées, ce qui annulera

automatiquement toutes les transactions faites dans ces branches.

Il est généralement estimé qu’il faut attendre six blocs (environ une

heure) pour qu’une transaction soit définitivement validée dans Bitcoin,

170
22 Payer en bitcoins ☆☆☆

car il devient ensuite trop coûteux de modifier plus de blocs en amont.

Sur le schéma, c’est la chaîne du bas qui constitue la chaîne valide,

puisque c’est la chaîne la plus longue avec dix blocs.

La blockchain

La véritable révolution introduite par Bitcoin est l’invention de la no-

tion de blockchain. En effet, si le mécanisme de blockchain sous-jacent

à Bitcoin est indispensable pour éviter la double dépense dans cette

monnaie, il peut également être utilisé pour d’autres finalités. Plus pré-

cisément, une blockchain est un espace de stockage d’informations in-

altérable, infalsifiable, distribué, auditable et vérifiable. Ces caractéris-

tiques sont utilisées pour des transactions dans le protocole Bitcoin, mais

peuvent l’être aussi dans d’autres applications nécessitant une traçabi-

lité des opérations, comme la blockchain mise au point en 2018 par IBM

pour la distribution de nourriture (IBM Food Trust).

Pour plus de détails sur les blockchains et sur Bitcoin, le lecteur peut

consulter le chapitre [DL19] et l’ouvrage [DLTV18].

171
172
La solidité d’un mot de
23
passe ☆☆

« If someone steals your password, you can change it. But if someone steals

your thumbprint, you can’t get a new thumb. The failure modes are very

different. »

« Si quelqu’un vous vole votre mot de passe, vous pouvez le changer. Mais si

quelqu’un vole votre empreinte de pouce, vous ne pouvez pas obtenir un

nouveau pouce. Les modes de défaillance sont très différents. ».

Bruce Schneier, NewYork Times, 28 décembre 2013.

Pour commencer, le nombre de secondes dans 80 années de 365 jours est

80 × 365 × 24 × 60 × 60, puisqu’il y a 24 heures par jour, 60 minutes par heure et


60 secondes par minute. Ensuite, le nombre d’opérations effectuées en 80 ans

par un ordinateur dont la vitesse du processeur est de l’ordre de 3 GHz est :

3 000 000 × (80 × 365 × 24 × 60 × 60) = 7, 56864 × 10


18

D’un autre côté, le nombre de mots de passe différents composés de n carac-


n
tères sur un clavier de 105 caractères est 105 .

Enfin, pour simplifier, il est dit dans l’énoncé qu’une opération du processeur

correspond au test d’une possibilité pour le mot de passe.

Par conséquent, pour répondre à la question, il faut déterminer la plus petite


n 18
valeur de n telle que 105 dépasse 7, 56864 × 10 .

Cela peut être fait expérimentalement, en notant que


9 18
105 = 1551328215978515625 = 1, 551328215978515625 × 10
10 20
et que 105 = 162889462677744140625 = 1, 62889462677744140625 × 10 ,
donc la longueur du mot de passe doit être de 10 caractères au moins pour que

la durée d’une vie humaine ne suffise pas à le découvrir par recherche exhaus-

tive en utilisant un ordinateur doté d’un processeur de 3 GHz.

Cependant, cette règle de 10 caractères n’est pas suffisante pour garantir la

sécurité d’un mot de passe. L’énigme repose sur une attaque par recherche ex-

haustive, mais d’autre options existent, comme par exemple les attaques par

dictionnaires, constitués de mot de passe courants, de mots de la langue fran-

çaise, ou de mot de passe ayant fuité par le passé (voir l’énigme 25 page 53 et sa

173
25 énigmes ludiques pour s'initier à la cryptographie

solution page 181). Ainsi, un des mots de passe les plus utilisés est 0123456789

(10 caractères), ainsi un attaquant n’aurait besoin que de quelques secondes

pour le retrouver en utilisant un dictionnaire des mots de passe les plus cou-

rants. La sécurité du mot de passe repose donc aussi sur son caractère aléatoire.

Ce calcul sur la robustesse des mots de passe a pour objectif de sensibiliser à

l’importance d’utiliser un mot de passe suffisamment long, comme le préconise

l’ANSSI. Voici 7 conseils pour choisir un bon mot de passe :

1. il ne se prête pas ;

2. il ne se laisse pas traîner (écrit sur un papier par exemple) ;

3. il ne s’utilise qu’une fois (autant de mots de passe que de sites) ;

4. il doit être changé s’il est cassé (si quelqu’un a pris connaissance de votre

mot de passe) ;

5. il doit être changé régulièrement ;

6. il n’est jamais assez sophistiqué ;

7. la taille compte.

Afin de mémoriser ces conseils, ce sont les mêmes que ceux donnés pour

l’utilisation des préservatifs dans le cadre de la lutte contre le SIDA.

Les gestionnaires de mot de passes

Les mots de passe longs et aléatoires sont difficiles à deviner, mais posent

un autre problème : ils sont aussi difficiles à mémoriser (Appelle ta mé-

moire, mais ça ne suffira pas !). Respecter la règle d’usage unique énon-

cée ci-dessus devient vite impossible pour un être humain sans bafouer

la règle ne se laisse pas traîner. Pour vous aider, il existe des gestionnaires

de mots de passe , qui permettent de générer et de stocker tous vos

mots de passe, de manière sécurisée. Ainsi, vous n’aurez plus qu’à mé-

moriser un seul mot de passe, dont la sécurité est alors cruciale, puisqu’il

vous permet d’accéder à tous les autres. Cela vous permettra d’utili-

ser des mots de passe uniques et très sécurisés (comme par exemple :

Mu5J0%I#qpHTnG?Px) pour tous vos comptes, sans risque de les ou-


blier. Il reste cependant le danger que votre unique mot de passe soit

compromis, mais s’en souvenir ou le changer demande moins d’efforts.


Par exemple, le logiciel open source https://keepassxc.org/

174
24 Un vote naïf ☆☆

« Your rights matter, because you never know when you’re going to need

them. »

« Vos droits sont importants, car vous ne savez jamais quand vous en aurez

besoin. »

Edward Snowden, « We don’t have to give up liberty to have security », exposé

à TED en visio, 18 mars 2014.

Rappelons que les élèves suivent tous le protocole et ne trichent pas. Suppo-

sons qu’il y ait, dans la classe, k élèves numérotés de 1 à k , et qui votent dans cet
ordre. Si les deux élèves (par exemple Alice et Bob) qui encadrent un élève nu-

méroté i collaborent, ils peuvent découvrir le vote de ce dernier. Voici comment


ils peuvent procéder pour monter cette attaque :

▶ l’élève numéroté i − 1 (disons que c’est Alice) mémorise les valeurs de rA ,


rB et rblanc , juste après son propre vote ;
▶ l’élève numéroté i + 1 (c’est donc Bob) mémorise les valeurs de rA , rB et

rblanc , juste avant son propre vote.


Ensuite, il leur suffit de regarder laquelle des trois valeurs rA , rB ou rblanc a aug-
menté de 1 pour découvrir le vote de l’élève numéroté i.
Ce système de vote naïf pose de nombreux autres problèmes. Par exemple,

un votant malhonnête peut voter k fois. Pour cela, il suffit qu’il ajoute k au lieu
de 1 au nombre de son choix, et qu’il soustraie un total de k − 1 aux deux autres
nombres (pour ne pas modifier le nombre total de votes).

Propriétés de sécurité d’un protocole de vote

De nombreux scientifiques ont proposé des propriétés de sécurité qu’un

système de vote devrait vérifier. En voici quelques-unes.

Correction : Il faut garantir que le résultat annoncé correspond à la

somme de tous les votes exprimés.

175
25 énigmes ludiques pour s'initier à la cryptographie

Éligibilité : seuls les électeurs inscrits peuvent voter, et personne ne

peut soumettre davantage de votes qu’autorisé par le scrutin.

Équité : le processus électoral est équitable, notamment en ce qui

concerne l’absence de divulgation de résultats préliminaires, ce qui

pourrait influencer les décisions des électeurs suivants.

Robustesse : le protocole peut tolérer certaines erreurs de la part des

électeurs qui peuvent par exemple se tromper dans leurs actions.

Vérifiabilité : les électeurs reçoivent des preuves qui leur permettent

de vérifier l’exactitude du processus électoral après la clôture du

scrutin. Il existe deux catégories de vérifiabilité :

▶ individuelle : chaque électeur doit pouvoir vérifier que son

bulletin est pris en compte dans le résultat final ;

▶ universelle : chaque électeur peut vérifier que le résultat de

l’élection correspond à la somme des bulletins exprimés.

Protection de la vie privée : il y a plusieurs propriétés qui visent à assu-

rer le respect de la vie privée de chaque votant.

▶ Respect de la confidentialité du vote : les votes doivent être

privés par rapport à un observateur extérieur. Cette propo-

riété se traduit par une absence de lien a posteriori entre un

électeur et son bulletin de vote.

▶ Absence de reçu : un électeur ne doit pas pouvoir construire

un reçu qui lui permette de prouver à un tiers qu’il a voté pour

un certain candidat. L’objectif de cette propriété est d’éviter

l’achat de votes ou les menaces envers des électeurs.

▶ Résistance à la coercition : même lorsqu’un électeur interagit

avec une personne qui tente de le contraindre à choisir un cer-

tain candidat pendant la procédure de vote, elle ne doit pas

pouvoir s’assurer que son ordre a été suivi, et l’électeur doit

avoir la possibilité de voter pour n’importe quel candidat.

▶ Sécurité contre les attaques d’abstention forcée : un atta-

quant ne doit pas pouvoir forcer un électeur à ne pas voter.

▶ Indépendance des votes : aucun électeur ne doit pouvoir faire

le lien entre son vote et celui d’un autre électeur.

176
24 Un vote naïf ☆☆

La CNIL


La CNIL a été créée en 1978, en réaction à un projet de loi visant à

instaurer le Système automatisé pour les fichiers administratifs et le ré-

pertoire des individus, dénommé SAFARI. Il s’agissait d’interconnecter

plusieurs fichiers nominatifs détenus par l’administration française. La

crainte, exprimée par de nombreux acteurs, d’un fichage généralisé de

la population a conduit le Gouvernement de l’époque à créer cette com-

mission, dont l’objectif était de garantir le respect de la vie privée et des

libertés individuelles et publiques.

En 2018, les statuts de la CNIL ont été modifiés, pour en faire l’acteur

de contrôle pour le RGPD , entré en vigueur le 25 mai 2018. L’objec-

tif de ce règlement européen est d’accroître le respect de la protection

des données personnelles. Sa mise en place fait suite à la condamnation

des États-Unis d’Amérique par la Cour de justice de l’Union européenne

dans l’affaire dite du SAFE HARBOUR en 2016.

Une donnée personnelle est une donnée qui permet d’identifier une per-

sonne, par exemple une adresse, une séquence ADN, une adresse IP, un

numéro de téléphone, une photo, etc. Les données personnelles à ca-

ractère politique, religieux, médical, syndical et ethnique sont dites sen-

sibles. La collecte de ces données nécessite le consentement explicite

clair et écrit de la personne concernée.


https://www.cnil.fr

Règlement général sur la protection des données

Le logiciel libre

Le père du logiciel libre (Free Software)

est Richard Stallman (1953-). Il raconte

qu’en 1980, alors chercheur en infor-

matique au laboratoire d’intelligence ar-

ticielle du Massachusetts Institute of

Technology, il rencontre des difficultés

pour utiliser la nouvelle imprimante du

laboratoire. Il cherche donc à se procu- Figure 51 – Richard

rer le programme qui la fait fonctionner, Stallman.

177
25 énigmes ludiques pour s'initier à la cryptographie

pour pouvoir le corriger. Il découvre alors que ce programme n’est pas

accessible, car propriété de la marque de l’imprimante. Il trouve cela in-

admissible et crée en réaction le mouvement du logiciel libre.

Les quatre libertés qui fondent ce mouvement sont les suivantes :

▶ liberté 0. La liberté d’utiliser un logiciel, pour n’importe quel usage ;

▶ liberté 1. La liberté d’étudier le fonctionnement d’un programme et

de l’adapter à ses besoins, ce qui passe forcément par l’accès aux

codes sources ;

▶ liberté 2. La liberté de redistribuer des copies ;

▶ liberté 3. L’obligation de faire bénéficier la communauté des ver-

sions modifiées.

En guise de clin d’œil à la culture geek, cette liste commence à 0, comme

les indices des tableaux dans certains langages de programmation. Les

quatres caractéristiques qui font qu’un logiciel est libre sont claires et

simples. Leur prise en compte contribue, selon Stallman, à un monde



meilleur pour tous et constitue une réelle philosophie de pensée .
♯∤
En 1985, il crée la FSF , pour promouvoir le logiciel libre et la défense
‡ ∦
des utilisateurs. Il est aussi à l’origine du projet GNU et de la licence

GNU GPL , qui permet de mettre en place un contrat entre les au-

teurs d’un programme et les utilisateurs. Cette licence met en œuvre le

concept de copyleft, par opposition au copyright (droit d’auteur en fran-

çais). Il existe de nombreux logiciels libres célèbres et largement utilisés,

comme le navigateur Mozilla Firefox, le logiciel français de lecture de vi-



déos VLC Media Player, le logiciel de traitement d’image GIMP ou en-

core les logiciels Inkscape, Audacity, Blender, Handbrake, ou LibreOf-

fice, pour n’en citer que quelques-uns.


Le livre relatant cette histoire est librement accessible ici :

http://www.oreilly.com/openbook/freedom/ch01.html

FreeSoftware Foundation

https://www.fsf.org

GNU is Not Unix

Unix est l’abbréviation de Uniplexed Information and Computing Service.

General Public License

Gnu Image Manipulation Program

178
24 Un vote naïf ☆☆

Logiciel libre et sécurité

L’accès au code source des logiciels est un aspect fondamental en ma-

tière de sécurité. En effet, avec les logiciels propriétaires, l’utilisateur ne

peut pas réellement savoir ce qu’il se passe sur sa machine. Est-ce que le

logiciel l’espionne ? Y-a-t-il des restrictions introduites dans le logiciel ?

Voici un exemple permettant d’illustrer cet aspect important.

Le programme HELLOWORLD.c ci-dessous est un des programme les

plus simples dans le langage de programmation C. Il a pour seul effet

d’afficher la phrase Hello world à l’écran.

HELLOWORLD.c
#include <stdio.h>
int main(void)
{
printf("Hello world\n") ;
return 0 ;
}

Pour pouvoir être utilisé, ce programme doit être compilé, de manière à

produire un exécutable de quelques octets, appelé Helloworld. Il peut


être mis à disposition sur une page web pour être accessible à tous les

ordinateurs ayant accès à Internet.

Par ailleurs, le programme HELLWORLD.c ci-dessous, une fois compilé,


semble avoir exactement le même comportement que le programme

précédent, quand il est exécuté sur un ordinateur.

HELLWORLD.c
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
system("wget -q https://sancy.iut-
clermont.uca.fr/~lafourcade/Helloworld") ;
system("chmod 777 Helloworld") ;
system("clear") ;
system("./Helloworld") ;
return 0 ;
}

179
25 énigmes ludiques pour s'initier à la cryptographie

En effet, il réalise les opérations suivantes :

1. télécharger l’exécutable Helloworld sur Internet ;


2. changer les droits de ce programme pour lui donner tous les droits

en lecture, écriture et exécution ;

3. effacer les traces des deux opérations précedentes ;

4. exécuter le fichier Helloworld téléchargé.


Pour un utilisateur qui n’a pas accès au code source, les deux pro-

grammes ont, a priori, le même comportement, à savoir afficher le mes-

sage Hello world à l’écran. Pour autant, le programme Hellworld ef-


fectue, sans trace visible, deux opérations qui pourraient se révéler très

dangereuses pour l’utilisateur : télécharger un programme inconnu sur

Internet et lui donner tous les droits pour s’exécuter sur l’ordinateur.

Cet exemple montre qu’un logiciel propriétaire, pour lequel le code

source n’est pas accessible, est succeptible de faire beaucoup de choses,

y compris des actions indésirables, à l’insu de l’utilisateur, et risque ainsi

de mettre en danger, par exemple, la sécurité de la machine.

180
Des indices qui deviennent
25
compromettants ☆☆

« People often represent the weakest link in the security chain and are

chronically responsible for the failure of security systems. »

« Les gens représentent souvent le maillon faible de la chaîne de sécurité et

sont régulièrement responsables des échecs des systèmes de sécurité. »

Bruce Schneier,

Secrets and Lies : Digital Security in a Networked World, chapitre 17 The

Human Factor, 15 anniversaire, édition 2015.


ième

Une base de données de la société Adobe contenant des mots de passe a

fuité en 2013. Dans l’article [HN17], publié en 2017, les auteurs, Olivier Heen et

Christoph Neumann, montrent comment se servir de ces données pour décou-

vrir de nombreuses informations sur les utilisateurs.

En particulier, si plusieurs utilisateurs ont le même mot de passe, il est pos-

sible de le deviner en utilisant les indices, comme dans l’énigme. Il est aussi pos-

sible de vérifier, grâce à la fonction de hachage, la validité de la solution devinée.

Il faut d’abord remarquer que le résultat d’une fonction de hachage est dé-

terministe, c’est-à-dire que, pour un mot de passe donné, le haché est toujours

le même. Ensuite il faut observer que :

▶ les utilisateurs Alice, David, Ève et Nathalie ont choisi le même mot de

passe, car le haché de celui-ci vaut 709, comme indiqué en gris sur la fi-

gure 52 page suivante ;

▶ les utilisateurs Blaise, Édouard, Matthieu, Robert, Valéry et Xavier ont le

même mot de passe, car le haché de celui-ci vaut 637, comme indiqué en

gras sur la figure 52 page suivante ;

▶ les utilisateurs Camille, Nadia, Philippe, Rémi et Stéphane ont le même

mot de passe, car le haché de celui-ci vaut 824, comme indiqué en italique

sur la figure 52 page suivante.

Ensuite, à partir des indices Yellow, Electric, Pokémon, et Nintendo, qui sont

donnés respectivement par Alice, David, Ève et Nathalie, il est naturel de penser

à un célèbre personnage de Pokémon : Pikachu.

181
25 énigmes ludiques pour s'initier à la cryptographie

LOGIN INDICE H(password)

Alice Yellow 709

Arnaud Incassable 555

Bart Élément 74 431

Blaise Musique 637

Bob Numbers 964

Camille Bataille Stalingrad Cubisme 824

Carlton 1 to 9 122

David Electric 709

Édouard Noces de Figaro 637

Étienne Love 169

Ève Pokémon 709

François Métal 404

Jules Mon prénom 515

Lisa Mendeleiev 74 349

Lucie <3 169

Matthieu Flûte Enchantée 637

Nadia Naissance Hawking Demoiselles d’Avignon 824

Nathalie Nintendo 709

Paul Longueur 16 161

Philippe Réponse universelle Guernica 824

Rémi Mendeleiev Mo Peintre 824

Robert Amadeus 637

Sonia Hard Rock 666

Stéphane Mort Celsius Pablo 824

Valéry Compositeur 637

William Numbers - 0 779

Xavier Marche Turque 637

Figure 52 – En gris, les hachés valant 709, en gras, les hachés valant 637, en

italique, les hachés valant 824.

182
25 Des indices qui deviennent compromettants ☆☆

Afin de vérifier l’orthographe de ce mot de passe, il est possible de s’assurer

que H (Pikachu) vaut bien 709 par le calcul suivant :

H (Pikachu) = ASCII(P) + ASCII(i) + ASCII(k) + ASCII(a) + ASCII(c)


+ ASCII(h) + ASCII(u)
= 80 + 105 + 107 + 97 + 99 + 104 + 117
= 709

Puis, les indices donnés respectivement par Blaise, Édouard, Matthieu, Ro-

bert, Valéry et Xavier sont Musique, Noces de Figaro, Flûte enchantée, Ama-

deus, Compositeur et Marche Turque.

Ces indices font penser immédiatement à Mozart, car il est le compositeur

de musique classique qui a écrit la Flûte enchantée et la Marche Turque et que

son deuxième prénom est Amadeus.

Ainsi le mot de passe des six utilisateurs serait Mozart. Afin de vérifier l’ortho-

graphe de ce mot de passe, il est possible de s’assurer que H (Mozart) vaut bien
637 par le calcul suivant :

H (Mozart) = ASCII(M) + ASCII(o) + ASCII(z)


+ ASCII(a) + ASCII(r) + ASCII(t)
= 77 + 111 + 122 + 97 + 114 + 116
= 637

Enfin, les indices laissés respectivement par Camille, Nadia, Philippe, Rémi et

Stéphane sont les suivants Bataille Stalingrad Cubisme, Naissance Hawking

Demoiselles d’Avignon, Réponse universelle Guernica, Mendeleiev Mo Peintre

et Mort Celsius Pablo.

Il est possible de deviner la première partie du mot de passe, 42, avec la date

du début de la bataille de Stalingrad en 1942. C’est aussi l’année de naissance

du physicien britannique Stephen Hawking, la réponse universelle de l’informa-

tique, ainsi que le numéro de l’élément Molybdène, dont le symbole est Mo,

dans la table périodique des éléments de Dmitri Ivanovitch Mendeleïev, rap-

pelée dans la figure 53 page suivante. Enfin, il s’agit de l’âge auquel est mort le

célèbre savant suédois Anders Celsius en 1744.

La seconde partie du mot de passe de Camille, Nadia, Philippe, Rémi et Sté-

phane est Picasso, un peintre espagnol ayant vécu en France, père du cubisme,

se prénommant Pablo, qui a peint Les Demoiselles d’Avignon et Guernica, deux

de ses plus célèbres tableaux.

183
1 IA 18 VIIIA
1 1.0079 2 4.0025

1 H Tableau périodique des éléments He


Hydrogène 2 IIA 13 IIIA 14 IVA 15 VA 16 VIA 17 VIIA Hélium

3 6.941 4 9.0122 5 10.811 6 12.011 7 14.007 8 15.999 9 18.998 10 20.180

2 Li Be B C N O F Ne
Lithium Beryllium Bore Carbone Azote Oxygène Fluor Néon

11 22.990 12 24.305 13 26.982 14 28.086 15 30.974 16 32.065 17 35.453 18 39.948

3 Na Mg Al Si P S Cl Ar
Sodium Magnésium 3 IIIA 4 IVB 5 VB 6 VIB 7 VIIB 8 VIIIB 9 VIIIB 10 VIIIB 11 IB 12 IIB Aluminium Silicium Phosphore Soufre Chlore Argon

19 39.098 20 40.078 21 44.956 22 47.867 23 50.942 24 51.996 25 54.938 26 55.845 27 58.933 28 58.693 29 63.546 30 65.39 31 69.723 32 72.64 33 74.922 34 78.96 35 79.904 36 83.8

4 K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
Potassium Calcium Scandium Titane Vanadium Chrome Manganèse Fer Cobalt Nickel Cuivre Zinc Gallium Germanium Arsenic Sélenium Brome Krypton

37 85.468 38 87.62 39 88.906 40 91.224 41 92.906 42 95.94 43 96 44 101.07 45 102.91 46 106.42 47 107.87 48 112.41 49 114.82 50 118.71 51 121.76 52 127.6 53 126.9 54 131.29

5 Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
Rubidium Strontium Yttrium Zirconium Niobium Molybdène Technétium Ruthénium Rhodium Palladium Argent Cadmium Indium Etain Antimoine Tellure Iode Xénon

184
55 132.91 56 137.33 57-71 72 178.49 73 180.95 74 183.84 75 186.21 76 190.23 77 192.22 78 195.08 79 196.97 80 200.59 81 204.38 82 207.2 83 208.98 84 209 85 210 86 222

6 Cs Ba La-Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn
Césium Barium Lanthanide Halfnium Tantale Tungstène Rhénium Osmium Iridium Platine Or Mercure Thallium Plomb Bismuth Polonium Astatine Radon
25 énigmes ludiques pour s'initier à la cryptographie

87 223 88 226 89-103 104 261 105 262 106 266 107 264 108 277 109 268 110 281 111 280 112 285 113 284 114 289 115 288 116 293 117 292 118 294

7 Fr Ra Ac-Lr
Francium Radium Actinide Rutherfordium Dubnium Seaborgium Bohrium Hassium Meitnerium Darmstadtium Roentgenium Ununbium Ununtrium Ununquadium Ununpentium Ununhexium Ununseptium Ununoctium

Alcalins

Dmitri Ivanovitch Mendeleïev.


Alcalino-terreux 59 140.91 60 144.24
57 138.91 58 140.12 61 145 62 150.36 63 151.96 64 157.25 65 158.93 66 162.50 67 164.93 68 167.26 69 168.93 70 173.04 71 174.97
Metal
Métalloı̈de La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu
Non-métal
Lanthanum Cerium Praseodymium Neodymium Promethium Samarium Europium Gadolinium Terbium Dysprosium Holmium Erbium Thulium Ytterbium Lutetium
Halogène
Gaz noble
Lanthanide/Actinide

Z mass 89 227 90 232.04 91 231.04 92 238.03 93 237 94 244 95 243 96 247 97 247 98 251 99 252 100 257 101 258 102 259 103 262

Symbole Ac Th Pa U

Figure 53 – Classification périodique des éléments de


Name Actinium Thorium Protactinium Uranium Neptunium Plutonium Americium Curium Berkelium Californium Einsteinium Fermium Mendelevium Nobelium Lawrencium
25 Des indices qui deviennent compromettants ☆☆

Afin de vérifier l’orthographe de ce mot de passe, il est possible de vérifier que

H (42Picasso) vaut bien 824 par le calcul suivant :

H (42Picasso) = ASCII(4) + ASCII(2) + ASCII(P) + ASCII(i)


+ASCII(c) + ASCII(a) + ASCII(s) + ASCII(s) + ASCII(o)
= 52 + 50 + 80 + 105 + 99 + 97 + 115 + 115 + 111
= 824

Ainsi, avec les informations de la base de données qui ont fuité, il est possible de

découvrir des mots de passe, en recoupant les différents indices des utilisateurs

ayant le même mot de passe.

Il arrive qu’un indice soit trop évident. Allez Jules, faut que je t’en cause ! De

plus, même lorsque les indices ne suffisent pas à deviner un mot de passe (par

exemple love et <3 correspondent au même haché 169, mais laissent la place à

beaucoup de possibilités pour le mot de passe), il n’en reste pas moins que cela

donne l’information que les utilisateurs ont le même mot de passe (Étienne et

Lucie dans l’exemple). Dans ce cas, il est assez probable que cela soit la même

personne, ou au moins qu’il y ait un lien fort entre ces deux personnes. Il est donc

possible d’établir des liens entre des individus, en particulier s’ils sont les seuls à

avoir le même mot de passe (et par conséquent le même haché).

Cette énigme illustre le fait que hacher un mot de passe dans une base de

données est une première étape, qui n’est pas suffisante, pour garantir la sécu-

rité des informations des utilisateurs.

Pour remédier à ce problème, il faut ajouter un sel pour chaque utilisateur. Il

s’agit d’une chaîne de caractères, de préférence aléatoire, qui est ajoutée au

mot de passe avant le hachage, permettant ainsi d’obtenir des hachés diffé-

rents pour des utilisateurs qui auraient le même mot de passe. L’intérêt de cette

méthode est de rendre impossible une attaque par table arc-en-ciel (Rainbow

Table Attack). Une personne souhaitant attaquer une base de données calcule,

par avance, tous les hachés des mots de passe de 8 caractères (par exemple)

et stocke tous les résultats de ces calculs dans un grand tableau, appelé une

table arc-en-ciel. Ainsi, lorsqu’elle accède au haché d’un mot de passe, il lui suf-

fit de regarder, dans sa table, la valeur correspondant à ce haché, pour le retrou-

ver immédiatement. La construction de telles tables arc-en-ciel est très longue,

mais leur utilisation est redoutable.

185
25 énigmes ludiques pour s'initier à la cryptographie

Fuites de données
1
JAN

À partir des années 2000, de nombreuses bases de données contenant

des informations sur les utilisateurs de services informatiques ont fuité

sur Internet. Un des premiers cas, et parmi les plus célébres, est celui

du service en ligne ROCK YOU, qui proposait des applications pour le

service de blog MySpace. En 2009, les données des comptes de 32 mil-

lions d’utilisateurs ont fuité, alors que tous les mots de passe étaient sto-

ckés en clair dans la base de données. La société a dû demander à tous

ses utilisateurs de changer leur mot de passe. Cette fuite posait parti-

culièrement problème à ceux qui utilisaient le même mot de passe pour

d’autres sites. Par la suite, en 2014, les données de plus de 500 millions

de comptes d’utilisateurs de la messagerie Yahoo ! ont fuité. En 2018,

c’est Facebook qui a subi une fuite de données de plus de 200 millions

de comptes. Dans ces deux derniers cas, toutefois, les mots de passe

n’étaient pas stockés en clair dans la base de données.

Propriétés des fonctions de hachage

Pour offrir des garanties de sécurité, une fonction de hachage cryptogra-

phique H doit satisfaire plusieurs propriétés, présentées ci-dessous.


▶ Résistance à la pré-image : en connaissant un haché y , il doit être
difficile de trouver une valeur x dont le haché vaut y , autrement dit,
telle que H (x ) = y . Une fonction de hachage qui ne possède pas
cette propriété est vulnérable à une attaque dite par pré-image.

▶ Résistance à la seconde pré-image : avec une valeur x , et son haché


H (x ), il doit être difficile de trouver une valeur x différente, mais

qui a le même haché que x , autrement dit, telle que H (x ) = H (x ).


Une fonction de hachage qui ne possède pas cette propriété est

vulnérable à une attaque dite par seconde pré-image.

▶ Résistance à la collision : il doit être difficile de trouver deux valeurs



différentes x et x qui ont le même haché, autrement dit telles que
H (x ) = H (x ). Une fonction de hachage qui ne possède pas cette

propriété est vulnérable à une attaque par collision.

186
25 Des indices qui deviennent compromettants ☆☆

Utilisation des fonctions de hachage

Les fonctions de hachage ont de nombreuses utilisations en cryptogra-

phie, voici quelques exemples.

Elles assurent l’intégrité des messages dans les communications. Par

exemple, lors du téléchargement d’un logiciel, le haché du fichier reçu

est calculé et comparé avec le haché du fichier source, transmis par

l’émetteur. Ceci permet de s’assurer que les deux fichiers sont iden-

tiques, et que par conséquent, le fichier reçu n’a pas été endommagé au

cours de la transmission.

Dans Bitcoin, les utilisateurs possédent des paires de clé publique et pri-

vée. Pour connaître son numéro de compte, associé à sa clé publique, il

faut utiliser deux fonctions de hachage successivement. Ainsi, pour ob-

tenir le numéro d’un compte associé à la clé publique pk , il faut calcu-


ler RIPDEM-160(SHA-256( pk )). Les fonctions de hachage sont aussi au
cœur de la notion de blockchain (voir l’énigme 22 page 47 et sa solution

page 167). En effet, tous les blocs sont enchaînés les uns aux autres par

l’application de fonctions de hachage successives, et c’est ce qui assure

qu’il n’est pas possible de modifier le moindre bit dans les informations

déjà écrites sur la blockchain.

Enfin, dans de nombreux protocoles cryptographiques, les fonctions

de hachage assurent la non malléabilité des données chiffrées (voir

l’énigme 21 page 45 et sa solution page 163). L’exemple le plus célèbre



est la primitive de chiffrement RSA-OAEP , qui est utilisée dans plus de

80 % des communications chiffrées sur Internet, dont celles qui utilisent

le protocole https. Cette variante de RSA, qui utilise deux fonctions de

hachage, a été proposée, en 1994, par Mihir Bellare et Phillip Rogaway.

De plus, contrairement à la version initiale de RSA, il s’agit d’un chiffre-

ment probabiliste, plus sûr. En effet, le chiffrement RSA originel est un

chiffrement déterministe, autrement dit, le chiffrement d’un même mes-

sage avec la même clé publique donne toujours le même résultat. En re-

vanche, avec un chiffrement probabiliste, comme le chiffrement d’ElGa-

mal (voir page 149), plusieurs chiffrements d’un même message avec la

même clé donnent chaque fois des résultats différents, à cause de l’in-

troduction d’un ingrédient aléatoire dans le processus.


Optimal Asymmetric Encryption Padding

187
25 énigmes ludiques pour s'initier à la cryptographie

42

Ce nombre est très populaire chez les informaticiens, c’est pour cela qu’il

apparaît souvent dans cet ouvrage. Il s’agit d’une référence de la culture

geek : la réponse à « La grande question sur la vie, l’univers et le reste »,

issue de la série de cinq romans de science-fiction intitulée Le Guide

du voyageur galactique (The Hitchicker’s Guide to the Galaxy), de l’au-

teur britannique Douglas Adams, publiés entre 1979 et 1992. À titre de

clin d’œil, il est devenu courant, dans le milieu informatique, de choisir

le nombre 42 en guise de valeur numérique attendue comme réponse à

une question quelconque.

188
Tables des figures

Tables des figures

1 Hérodote. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Un brouillon en clair retrouvé dans la cave. . . . . . . . . . . . . . . 5

3 Un brouillon chiffré retrouvé dans la cave. . . . . . . . . . . . . . . 5

4 Machine ENIGMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5 Elizebeth Smith Friedman. . . . . . . . . . . . . . . . . . . . . . . . . 6

6 Une lettre en clair retrouvée dans la cave. . . . . . . . . . . . . . . . 9

7 Une lettre chiffrée retrouvée dans la cave. . . . . . . . . . . . . . . 9

8 Alan Turing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

9 Un brouillon chiffré retrouvé dans la cave. . . . . . . . . . . . . . . 11

10 Gilbert Vernam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

11 Wesley Peterson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

12 Whitfield Diffie et Martin Hellman. . . . . . . . . . . . . . . . . . . . 20

13 Adi Shamir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

14 Shafi Goldwasser et Silvio Micali. . . . . . . . . . . . . . . . . . . . . 26

15 Grotte circulaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

16 Quelques disquettes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

17 Robert Tappan Morris. . . . . . . . . . . . . . . . . . . . . . . . . . . 30

18 Logins et logins hachés. . . . . . . . . . . . . . . . . . . . . . . . . . 31

19 Alphabet sur un afficheur 14 segments. . . . . . . . . . . . . . . . . 31

20 Ronald Rivest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

21 Les deux images cachant le nombre secret. . . . . . . . . . . . . . 33

22 Consommation électrique du processeur d’Alice. . . . . . . . . . . 38

23 Craig Gentry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

24 Table de conversion ASCII. . . . . . . . . . . . . . . . . . . . . . . . 48

25 Une base de données de mots de passe avec indices. . . . . . . . 54

26 George Sand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

27 Lettre déchiffrée de l’énigme 2 page 5. . . . . . . . . . . . . . . . . 76

28 Georges Perec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

29 Image annotée de l’énigme 3 page 7. . . . . . . . . . . . . . . . . . 82

30 Lettre partiellement déchiffrée de l’énigme 4 page 9. . . . . . . . 86

31 Lettre déchiffrée de l’énigme 4 page 9. . . . . . . . . . . . . . . . . 86

32 Georges Painvin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

33 Une Bombe de Turing au musée de Bletchley Park. . . . . . . . . . 89

34 Lettre en clair de l’énigme 5 page 11. . . . . . . . . . . . . . . . . . . 92

35 Claude Shannon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

36 Image solution de l’énigme 11 page 23. . . . . . . . . . . . . . . . . . 119

37 Logo du NIST en clair. . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

38 Logo du NIST chiffré avec AES 256 en mode ECB. . . . . . . . . . 122

189
25 énigmes ludiques pour s'initier à la cryptographie

39 Logo du NIST chiffré avec AES 256 en mode CBC. . . . . . . . . . 122

40 Jean-Jacques Quisquater. . . . . . . . . . . . . . . . . . . . . . . . . 127

41 Charles Rackoff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

42 Claus-Peter Schnorr. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

43 Kurt Gödel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

44 Solution de l’énigme 16 page 33. . . . . . . . . . . . . . . . . . . . . 141

45 Moni Naor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

46 Exemple de cryptographie visuelle utilisant des images leurres. . 146

47 Gavin Lowe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

48 Rivest, Shamir et Adelmann en 1978. . . . . . . . . . . . . . . . . . . 152

49 Phil Zimmermann. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

50 Paul Kocher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

51 Richard Stallman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

52 En gris, les hachés valant 709, en gras, les hachés valant 637, en

italique, les hachés valant 824. . . . . . . . . . . . . . . . . . . . . . 182

53 Classification périodique des éléments de Dmitri Ivanovitch Men-

deleïev. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

190
Crédits photographiques

Crédits photographiques

La licence CC0 est représentée par le logo , la licence CC-BY-SA est re-

présentée par le logo et la licence GNU Free Documentation License est

représentée par le logo .

Figure 1 page 4 Hérodote,

Figure 4 page 6 Machine ENIGMA, Alessandro Nassiri

Figure 5 page 6 Elizebeth Smith Friedman, NSA

Figure 8 page 10 Alan Turing,

Figure 10 page 14 Gilbert Vernam,

Figure 12 page 20 Whitfield Diffie et Martin Hellman, Mary Holzer et

Martin Hellman

Figure 13 page 22 Adi Shamir, Erik Tews

Figure 14 page 26 Shafi Goldwasser et Silvio Micali, Weizmann Institute of

Science et Algorand

Figure 17 page 30 Robert Tappan Morris, Trevor Blackwell

Figure 20 page 32 Ronald Rivest, Ronald L. Rivest

Figure 26 page 73 Georges Sand, Félix Tournachon, dit Nadar

Figure 28 page 80 Georges Perec, mr.paille

Figure 32 page 87 Georges Painvin,

Figure 33 page 89 Une Bombe de Turing au musée de Bletchley Park,

Sarah Hartwell

Figure 41 page 128 Charles Rackoff, avec l’aimable autorisation de Charles Ra-

ckoff

Figure 42 page 131 Claus-Peter Schnorr, Konrad Jacobs

Figure 43 page 135 Kurt Gödel,

Figure 45 page 142 Moni Naor, Böhm Martin

Figure 47 page 148 Gavin Lowe, avec l’aimable autorisation de Gavin Lowe

Figure 50 page 158 Paul Kocher, avec l’aimable autorisation de Paul Kocher

Figure 51 page 177 Richard Stallman, Jared and Corin

191
192
Liste des abréviations

Liste des abréviations

AES Advanced Encryption Standard . . . . . . . . . . . . . . . . . . . . . . 18

ANSSI Agence nationale de la sécurité des systèmes d’information . . . 40

ASCII American Standard Code for Information Interchange . . . . . . . 7

BEAST Browser Exploit Against SSL/TLS . . . . . . . . . . . . . . . . . . . 156

CBC Cipher Block Chaining . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

CD Compact Disc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

CFB Cipher FeedBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

CMYK Cyan, Magenta, Yellow, Key . . . . . . . . . . . . . . . . . . . . . . . 120

CMJN Cyan, Magenta, Jaune, Noir . . . . . . . . . . . . . . . . . . . . . . . 120

CNIL Commission nationale de l’informatique et des libertés . . . . . . . 52

CNRS Centre national de recherche scientifique . . . . . . . . . . . . . . 163

CPA Chosen Plaintext Attack . . . . . . . . . . . . . . . . . . . . . . . . . . 126

CRC Cyclic Redundancy Check . . . . . . . . . . . . . . . . . . . . . . . . . 16

CRIME Compression Ratio Info-leak Made Easy . . . . . . . . . . . . . . . 156

CTR CounTeR Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

CTF Capture The Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

DES Data Encryption Standard . . . . . . . . . . . . . . . . . . . . . . . . . 93

DROWN Decrypting RSA using Obsolete and Weakened eNcryption . 156

DVD Digital Versatile Disc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

ECB Electronic CodeBook . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

EFF Electronic Frontier Foundation . . . . . . . . . . . . . . . . . . . . . . 20

FREAK Factoring RSA Export Keys . . . . . . . . . . . . . . . . . . . . . . . 156

FSF FreeSoftware Foundation . . . . . . . . . . . . . . . . . . . . . . . . . . 178

GCM Galois Counter Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

GIMP Gnu Image Manipulation Program . . . . . . . . . . . . . . . . . . . 178

GNU GNU is Not Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

GPL General Public License . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

https HyperText Transfer Protocol Secure . . . . . . . . . . . . . . . . . . 6

IBM International Business Machines Corporation . . . . . . . . . . . . . 30

IETF Internet Engineering Task Force . . . . . . . . . . . . . . . . . . . . . 155

JPEG Joint Photographic Experts Group . . . . . . . . . . . . . . . . . . . 8

MD Message Digest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

193
25 énigmes ludiques pour s'initier à la cryptographie

MI5 Military Intelligence, Section 5 . . . . . . . . . . . . . . . . . . . . . . . 158

NIST National Institute of Standards and Technology . . . . . . . . . . . . 40

NSA National Security Agency . . . . . . . . . . . . . . . . . . . . . . . . . 45

OAEP Optimal Asymmetric Encryption Padding . . . . . . . . . . . . . . 187

OCaml Objective Categorical Abstract Machine Language . . . . . . . . 52

OFB Output FeedBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

OTP One-Time Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

PGP Pretty Good Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

POODLE Padding Oracle On Downgraded Legacy Encryption . . . . . . 156

RC Rivest Cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

RGPD Règlement général sur la protection des données . . . . . . . . . . 177

RVB Rouge-Vert-Bleu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

RGB Red-Green-Blue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

RSA Rivest Shamir Adelman . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

SHA Secure Hash Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

SSE Symmetric Searchable Encryption . . . . . . . . . . . . . . . . . . . . 162

SSL Secure Sockets Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

TED Technology, Entertainment and Design . . . . . . . . . . . . . . . . . 154

TLS Transport Layer Security . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

194
Bibliographie

[BBDP01] Mihir Bellare, Alexandra Boldyreva, Anand Desai, and David Point-

cheval. Key-privacy in public-key encryption. In Colin Boyd, edi-

tor, Advances in Cryptology - ASIACRYPT 2001, 7th International

Conference on the Theory and Application of Cryptology and In-

formation Security, Gold Coast, Australia, December 9-13, 2001,

Proceedings, volume 2248 of Lecture Notes in Computer Science,

pages 566–582. Springer, 2001.

[BDLM17] Xavier Bultel, Jannik Dreier, Pascal Lafourcade, and Malika More.

How to explain modern security concepts to your children. Cryp-

tologia, pages 1–26, 2017.

[BDPR98] Mihir Bellare, Anand Desai, David Pointcheval, and Phillip Roga-

way. Relations among notions of security for public-key encryp-

tion schemes. In Hugo Krawczyk, editor, Advances in Cryptology

- CRYPTO ’98, 18th Annual International Cryptology Conference,

Santa Barbara, California, USA, August 23-27, 1998, Proceedings,

volume 1462 of Lecture Notes in Computer Science, pages 26–45.

Springer, 1998.

[Bel11] Steven M. Bellovin. Frank miller : Inventor of the one-time pad.

Cryptologia, 35(3) :203–222, 2011.

[Bon99] Dan Boneh. Twenty years of attacks on the rsa cryptosystem. NO-

TICES OF THE AMS, 46 :203–213, 1999.

[Car94] Ulf Carlsen. Cryptographic protocols flaws. In Seventh IEEE

Computer Security Foundations Workshop - CSFW’94, Franco-

nia, New Hampshire, USA, June 14-16, 1994, Proceedings, pages

192–200. IEEE Computer Society, 1994.

[CGPR15] David Cash, Paul Grubbs, Jason Perry, and Thomas Ristenpart.

Leakage-abuse attacks against searchable encryption. In Procee-

dings of the 22nd ACM SIGSAC Conference on Computer and

Communications Security, CCS ’15, page 668–679, New York, NY,

USA, 2015. Association for Computing Machinery.

195
25 énigmes ludiques pour s'initier à la cryptographie

[Cha04] David Chaum. Secret-ballot receipts : True voter-verifiable elec-

tions. IEEE Security and Privacy, 2(1) :38–47, January 2004.

[Col17] Collectif. L’informatique débranchée. Number 42-43. POLE Tan-

gente Éducation, 2017. pages 94.

[Cur97] Matt Curtin. A Brute Force Search of DES Keyspace. Springer

New York, 1997.

[DH76] W. Diffie and M. Hellman. New directions in cryptography. IEEE

Transactions on Information Theory, 22(6) :644–654, 1976.

[DL19] Jean-Guillaume Dumas and Pascal Lafourcade. Treize défis de la

cybersécurité : relectures croisées, chapter La sécurité de Bitcoin

et des Blockchains. CNRS, 2019.

[DLTV18] Jean-Guillaume Dumas, Pascal Lafourcade, Ariane Tichit, and Sé-

bastien Varette. Les blockchains en 50 Questions, comprendre

le fonctionnement et les enjeux de cette technologie innovante.

Dunod, 2018.

[FS87] Amos Fiat and Adi Shamir. How to prove yourself : Practical so-

lutions to identification and signature problems. In Andrew M.

Odlyzko, editor, Advances in Cryptology — CRYPTO’ 86, pages

186–194, Berlin, Heidelberg, 1987. Springer Berlin Heidelberg.

[Gen09] Craig Gentry. Fully homomorphic encryption using ideal lat-

tices. In Michael Mitzenmacher, editor, Proceedings of the 41st

Annual ACM Symposium on Theory of Computing, STOC 2009,

Bethesda, MD, USA, May 31 - June 2, 2009, pages 169–178. ACM,

2009.

[GM84] Shafi Goldwasser and Silvio Micali. Probabilistic encryption. J.

Comput. Syst. Sci., 28(2) :270–299, 1984.

[GMR85] S Goldwasser, S Micali, and C Rackoff. The knowledge complexity

of interactive proof-systems. In Proceedings of the Seventeenth

Annual ACM Symposium on Theory of Computing, STOC ’85,

page 291–304, New York, NY, USA, 1985. Association for Compu-

ting Machinery.

[GNPR07] Ronen Gradwohl, Moni Naor, Benny Pinkas, and Guy N. Rothblum.

Cryptographic and physical zero-knowledge proof systems for so-

lutions of sudoku puzzles. In Pierluigi Crescenzi, Giuseppe Pren-

cipe, and Geppino Pucci, editors, Fun with Algorithms, 4th Inter-

national Conference, FUN 2007, Castiglioncello, Italy, June 3-5,

2007, Proceedings, volume 4475 of Lecture Notes in Computer

Science, pages 166–182. Springer, 2007.

196
Bibliographie

[HN17] Olivier Heen and Christoph Neumann. On the privacy impacts

of publicly leaked password databases. In Michalis Polychronakis

and Michael Meier, editors, Detection of Intrusions and Malware,

and Vulnerability Assessment - 14th International Conference,

DIMVA 2017, Bonn, Germany, July 6-7, 2017, Proceedings, volume

10327 of Lecture Notes in Computer Science, pages 347–365.

Springer, 2017.

[KJJ99] Paul C. Kocher, Joshua Jaffe, and Benjamin Jun. Differential po-

wer analysis. In Michael J. Wiener, editor, Advances in Crypto-

logy - CRYPTO ’99, 19th Annual International Cryptology Confe-

rence, Santa Barbara, California, USA, August 15-19, 1999, Pro-

ceedings, volume 1666 of Lecture Notes in Computer Science,

pages 388–397. Springer, 1999.

[KM19] Neal Koblitz and Alfred Menezes. Critical perspectives on pro-

vable security : Fifteen years of « another look » papers. Crypto-

logy ePrint Archive, Report 2019/1336, 2019. https://eprint.


iacr.org/2019/1336.
[Koc96] Paul C. Kocher. Timing attacks on implementations of diffie-

hellman, rsa, dss, and other systems. In Neal Koblitz, editor, Ad-

vances in Cryptology - CRYPTO ’96, 16th Annual International

Cryptology Conference, Santa Barbara, California, USA, August

18-22, 1996, Proceedings, volume 1109 of Lecture Notes in Com-

puter Science, pages 104–113. Springer, 1996.

[Low95] Gavin Lowe. An attack on the needham-schroeder public-key au-

thentication protocol. Inf. Process. Lett., 56(3) :131–133, 1995.

[MP19] Majid Mumtaz and Luo Ping. Forty years of attacks on the rsa

cryptosystem : A brief survey. Journal of Discrete Mathematical

Sciences and Cryptography, 22(1) :9–29, 2019.

[NNR99] Moni Naor, Yael Naor, and Omer Reingold. Applied kid cryp-

tography or how to convince your children you are not chea-

ting, march 1999.


http://www.wisdom.weizmann.ac.il/
~naor/PAPERS/waldo.ps.
[NS78] Roger M. Needham and Michael D. Schroeder. Using encryp-

tion for authentication in large networks of computers. Commun.

ACM, 21(12) :993–999, 1978.

[NS94] Moni Naor and Adi Shamir. Visual cryptography. In Advances

in Cryptology - EUROCRYPT ’94, Workshop on the Theory and

197
25 énigmes ludiques pour s'initier à la cryptographie

Application of Cryptographic Techniques, Perugia, Italy, May 9-

12, 1994, Proceedings, volume 950 of Lecture Notes in Computer

Science, pages 1–12. Springer, 1994.

[NS98] David Naccache and Jacques Stern. A new public key cryptosys-

tem based on higher residues. In Proceedings of the 5th ACM

Conference on Computer and Communications Security, CCS

’98, page 59–66, New York, NY, USA, 1998. Association for Com-

puting Machinery.

[QGAB89] Jean-Jacques Quisquater, Louis Guillou, Marie Annick, and Tom

Berson. How to explain zero-knowledge protocols to your chil-

dren. In Proceedings on Advances in Cryptology, CRYPTO ’89,

page 628–631, Berlin, Heidelberg, 1989. Springer-Verlag.

[RAD78] Ronald L. Rivest, Len Adleman, and Michael L. Dertouzos. On Data

Banks and Privacy Homomorphisms. Foundations of secure com-

putation, pages 169–177, 1978.

[RSA78] R. L. Rivest, A. Shamir, and L. Adleman. A method for obtaining

digital signatures and public-key cryptosystems. Commun. ACM,

21(2) :120–126, February 1978.

[Sha79] Adi Shamir. How to share a secret. Commun. ACM, 22(11) :612–613,

November 1979.

[Sin99] Simon Singh. The Code Book : The Evolution of Secrecy from

Mary, Queen of Scots, to Quantum Cryptography. Doubleday,

USA, 1st edition, 1999.

[SWP00] Dawn Xiaodong Song, David A. Wagner, and Adrian Perrig. Practi-

cal techniques for searches on encrypted data. In 2000 IEEE Sym-

posium on Security and Privacy, Berkeley, California, USA, May

14-17, 2000, pages 44–55. IEEE Computer Society, 2000.

[vDGHV10] Marten van Dijk, Craig Gentry, Shai Halevi, and Vinod Vaikunta-

nathan. Fully homomorphic encryption over the integers. In Henri

Gilbert, editor, Advances in Cryptology - EUROCRYPT 2010, 29th

Annual International Conference on the Theory and Applications

of Cryptographic Techniques, Monaco / French Riviera, May 30 -

June 3, 2010. Proceedings, volume 6110 of Lecture Notes in Com-

puter Science, pages 24–43. Springer, 2010.

198
Glossaire

Alice et Bob Ce sont les personnages les plus connus en cryptographie. Ils ont

été introduits en 1978 dans l’article [RSA78] présentant le premier chiffre-

ment à clé publique RSA. Au lieu de dire que A parle à B , les auteurs ont
choisi de nommer Alice l’agent A et Bob l’agent B . Ces noms sont main-
tenant systématiquement repris dans les articles de cryptographie et de

sécurité. Si d’autres agents sont nécessaires, les noms de Carol et de Dave

sont souvent choisis pour les agents C et D (voir l’énigme 10 page 21 et

sa solution page 115). Pour les intrus ou attaquants, les noms de Charlie,

Ève (voir l’énigme 21 page 45 et sa solution page 163), Mallory ou Oscar

se partagent les préférences des cryptographes. Enfin, pour les preuves

à divulgation nulle de connaissance, Peggy et Victor sont généralement

utilisés pour désigner respectivement le prouveur P et le vérifieur V (voir

l’énigme 13 page 27 et sa solution page 127). . . . . . . 13, 15, 19, 35, 45, 48, 51

chiffrement asymétrique Ce type de chiffrement, aussi appelé chiffrement à

clé publique, est nommé ainsi par opposition aux chiffrements de type sy-

métrique. Une clé dite publique est distribuée publiquement. N’importe

qui peut s’en servir pour chiffrer des messages, mais seule la personne

possédant la clé secrète associée peut les déchiffrer. Le premier et le plus

connu des chiffrements asymétriques est le chiffrement RSA inventé à la

fin des années 70. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35, 37, 93, 100, 149, 152

chiffrement symétrique Un chiffrement de ce type nécessite une clé secrète

partagée. Cette clé est utilisée à la fois pour chiffrer un message et pour

déchiffrer un chiffré. Les chiffrements symétriques sont utilisés pour les

communications sécurisées entre deux participants, comme dans les pro-

tocoles SSH ou https. Parmi les standards de chiffrement actuels, les chif-

frements symétriques sont beaucoup plus rapides que les chiffrements

asymétriques. Par exemple chiffrer ou déchiffrer 20 Go prend environ 20

secondes avec AES, alors qu’avec RSA cela prend plusieurs heures. C’est

199
25 énigmes ludiques pour s'initier à la cryptographie

pour cela que les chiffrements asymétriques sont utilisés pour établir des

clés de chiffrement symétrique qui servent ensuite à échanger des mes-

sages chiffrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 121, 152, 155, 162

chiffrer En cryptographie, ce verbe possède un sens technique particulier qui

n’est pas le même que le sens commun. Il signifie transformer un message

clair, à l’aide d’un algorithme de chiffrement et d’une clé, pour le rendre in-

compréhensible, à moins de disposer de la clé secréte de déchiffrement.

6, 14, 17, 19, 35, 36, 46, 78, 94, 96, 100, 121, 125, 126, 152–155, 165, 166, 199

cryptanalyse Ce champ de la cryptographie étudie la sécurité des systèmes

cryptographiques, dans le but d’accéder au contenu des messages chif-

frés sans connaître la clé de déchiffrement . . . . . 5, 6, 10, 18, 22, 76, 86, 92

cryptographe Ce spécialiste de cryptographie conçoit par exemple des algo-

rithmes de chiffrement, de signature, de hachage, etc., mais également

fait des preuves de sécurité, ou encore cherche à développer des tech-

niques de cryptanalyse pour essayer de casser des primitives cryptogra-

phiques . . . . . . . . . . . . 18, 21, 45, 46, 76, 81, 90, 93, 94, 125, 126, 149, 163, 199

déchiffrer En cryptographie, ce verbe possède un sens technique qui consiste

à transformer un message chiffré à l’aide d’un algorithme de déchiffre-

ment connu de tous et d’une clé secrète pour le rendre compréhensible

. . . 13, 14, 17, 19, 36, 39, 46, 58, 79, 80, 86, 97, 100, 111, 125, 126, 149, 152, 166

décrypter En cryptographie, ce verbe possède un sens technique spécifique :

découvrir le contenu d’un message chiffré sans utiliser la clé de déchif-

frement. C’est pour cela qu’en français, il est possible d’utiliser l’expres-

sion décrypter un message, tandis que l’expression crypter un message

n’a pas sens. Il est préférable de dire chiffrer un message. La confusion est

entretenue par les verbes anglais to encrypt (chiffrer) et to decrypt (dé-

chiffrer, mais aussi décrypter) . . . . . . . . . 5, 10, 11, 43, 76, 78, 91, 100, 114, 126

permutation Cette notion est définie en mathématiques comme une bijec-

tion d’un ensemble sur lui même. Cela revient à définir une manière dé-

terministe de mélanger les éléments d’un ensemble. Par exemple dans

l’énigme 5 page 11 la lettre est chiffrée à l’aide de la permutation 4312,


cela signifie que le message 1234 sera transformé en 4312. Ainsi le chiffré
du mot MESSAGES est SSMESEAG. Dans les chiffrements symétriques

comme DES et AES, les boîtes P sont des permutations. Cela permet de

satisfaire le critère de diffusion, introduit par Claude Shannon, et décrit

dans la solution de l’énigme 6 page 95. . . . . . . . . . . . . . . . . . . . . . . . . 76, 91–93

200
Glossaire

problème difficile En informatique, un problème difficile est un problème qui

ne peut pas être résolu dans un temps raisonnable, en tenant compte de

la puissance de calcul actuelle des ordinateurs, pour des paramètres suf-

fisamment grands. Ce qui rend le problème difficile, c’est seulement le fait

de ne pas connaître d’algorithme efficace. Les chiffrements asymétriques

sont tous basés sur des problèmes difficiles. En effet, il existe un lien ma-

thématique entre la clé publique de chiffrement et la clé privée de déchif-

frement, mais il est essentiel pour la sécurité que la clé privée ne puisse

pas être déduite à partir de la clé publique, connue de tous. Précisément,

il faut que le calcul du chiffré avec la clé publique soit facile, tandis que le

calcul du message clair sans la clé privée et uniquement à partir du chiffré

(et de la clé publique) doit être un problème difficile. . . . . . . . 100, 113, 149

recherche exhaustive Il s’agit d’explorer de manière systématique toutes les

solutions possibles à un problème, pour être sûr de finir par découvrir la

bonne. Par exemple, pour trouver un mot de passe, cela consiste à énu-

mérer tous les mots de passe possibles, et à tester chacun d’entre eux.

Cette technique est souvent très coûteuse mais fournit une borne supé-

rieure de la difficulté du problème . . 17, 49, 107, 110, 114, 140, 157, 167, 173

substitution L’exemple le plus simple de substitution est le chiffrement de Cé-

sar, qui transforme chaque lettre de l’alphabet en une autre lettre de l’al-

phabet. Un autre exemple célèbre est le chiffrement des Hommes dan-

sants, proposé par Conan Doyle dans une nouvelle publiée dans le re-

cueil intitulé Le retour de Sherlock Holmes. Dans ce cas, chaque lettre

de l’alphabet est remplacée par un dessin représentant une figure hu-

maine dans une certaine position. Ainsi le mot MESSAGES est chiffré en

. Plus généralement, une substitution est une transformation

déterministe qui transforme chaque élément d’un message (lettre, mot,

bit,...) en une autre valeur. Dans les chiffrements symétriques comme DES

et AES, les boîtes S sont des substitutions. Cela permet de satisfaire le cri-

tère de confusion, introduit par Claude Shannon, et décrit dans la solution

de l’énigme 6 page 95. . . . . . . . . . . . . . . . . . 76, 77, 80, 85, 87, 88, 92–94, 126

201
202
Index

Nombres Arpanet . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

42 . . . . . . . . 81, 90, 95, 139, 141, 183, 188 ASCII . . . . . . . . . . . 8, 47, 53, 101, 167, 183

art . . . . . . . . . . . . . . . . . . . . . . . . . . 7, 81

Attaque par

A canaux auxiliaires . . . . . . . . . . . . 158

oracle . . . . . . . . . . . . . . . . . . . . . . . . . 13
Acrostiche . . . . . . . . . . . . . . . . . . . . 73, 80
Audacity . . . . . . . . . . . . . . . . . . . . . . . . . 178
Adams, Douglas . . . . . . . . . . . . . . . . . . 188

ADFGVX . . . . . . . . . . . . . . . . . . . . . . 50, 87

Adleman, Leonard . . . . . . . . . . . 134, 152

Adobe . . . . . . . . . . . . . . . . . . . . . . . . 53, 181


B
AES . . 18, 93, 94, 114, 121, 122, 155, 200,

201
Backdoor . . . . . . . . . voir Porte dérobée
AIDS/PC Cyborg . . . . . . . . . . . . . . . . . 30
Base
Al-Kindi . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
deux . . . . . . . . . . . . . . . . . . . . . . . . . 66
Album de la Comtesse . . . . . . . . . . . 105
dix . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Alfonso X . . . . . . . . . . . . . . . . . . . . . . . . 108
Bataille de Stalingrad . . . . . . . . . . . . . 183
Algorithme
BEAST . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
d’Euclide étendu . . . . . . . . . 39, 149
Belenios . . . . . . . . . . . . . . . . . . . . . . . . . . 52
d’exponentielle rapide . . . . 37, 151
Bell Labs . . . . . . . . . . . . . . . . . . . . . . . . . . 111
de Shor . . . . . . . . . . . . . . . . . . 40, 101
Bellare, Mihir . . . . . . . . . . . . . . . . . . . . . 187
Alice 13, 15, 17, 19, 25, 29, 35, 36, 41, 43,
Berlekamp, Elwyn Ralph . . . . . . . . . 100
45, 48, 51, 54, 69, 95, 111, 148,
Biham, Eli . . . . . . . . . . . . . . . . . . . . . . . . . 21
182, 199

Anagramme . . . . . . . . . . . . . . . . . 124, 138 Binaire . . . 14, 17, 65, 66, 81, 97, 101, 107

Analyse des fréquences . . . . . . . . . . . 76 Bit . . 40, 93, 97, 101, 102, 104, 105, 107,

ANSSI . . . . . . . . . . . . . . . . . . . . 40, 49, 174 108, 140

Apple II . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Bitcoin . . . . . . . . vi, 47, 131, 168-170, 187

Aristagoras . . . . . . . . . . . . . . . . . . . . . . . . . 4 Blender . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Arithmétique modulaire . . . . . . . . . . . 111 Bletchley Park . . . . . . 6, 9, 10, 86, 90, 91

203
25 énigmes ludiques pour s'initier à la cryptographie

Bob . 13, 15, 17, 19-21, 35, 36, 45, 48, 51, cherchable . . . . . . . . . . . . . . . . 162

54, 62, 63, 68, 95, 111, 147, 148, à clé publique . . . . . . . . . . . . . . . 125

182, 199 déterministe . . . . . . . . . . . . . . 125

Boileau, Nicolas . . . . . . . . . . . . . . . . . . 106 à sens unique . . . . . . . . . . . . . . . . 125

Bombe . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Chomsky, Noam . . . . . . . . . . . . . . . . . 159

Brain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Citizen Four . . . . . . . . . . . . . . . . . . . . . . 153

Buzz l’Éclair . . . . . . . . . . . . . . . . . . . . . . 110 CMJN . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

CMYK . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

CNIL . . . . . . . . . . . . . . . . . . . . . . . . . 52, 177

C CNRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Code
César, Jules . . . . . . . . . . . . . . . . . . . . . . . 76
CRC . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Capelovici, Jacques . . . . . . . . . . . . . . . 79 détecteur d’erreurs . . . . . . . . . . . 15
Carlet, Jean Robert du . . . . . . . . . . . . . 81 de Lorenz . . . . . . . . . . . . . . . . . . . . 90

Carné, Marcel . . . . . . . . . . . . . . . . . . . . . 95 morse . . . . . . . . . . . . . . . . . . . . . 87, 88

Carré Cohen, Fred . . . . . . . . . . . . . . . . . . . . . 134

de Polybe . . . . . . . . . . . . . . . . . . . . 88 Colossus . . . . . . . . . . . . . . . . . . . . . . . . . 90

magique . . . . . . . . . . . . . . . . . . . . . . 79 Committment . . . . . . voir Engagement

Sator . . . . . . . . . . . . . . . . . . . . . . . . . 79 Completeness . . . . . . voir Consistance

CBC . . . . . . . . . . . . . . . . . . . . . . . . . 121, 122 Concours Alkindi . . . . . . . . . . . . . . . . . . 77

CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Confusion . . . . . . . . . . . . . . . . . . . . 92, 201

Celsius, Anders . . . . . . . . . . . . . . . . . . . 183 Consistance . . . . . . . . . . . . . . . . . . . . . . 129

Cerf, Vinton . . . . . . . . . . . . . . . . . . . . . . . . vi Contrepèterie . . . . . . . . . . . . 58, 99, 105

Cervantes, Miguel de . . . . . . . . . . . . . 136 Cook, Stephen . . . . . . . . . . . . . . . . . . . . 90

CFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Copyleft . . . . . . . . . . . . . . . . . . . . . . . . . 178

Challenge . . . . . . . . . . . . . . . . . . . . 127, 129 Copyright . . . . . . . . . . . . . . . . . . . . 83, 178

Chaum, David . . . . . . . . . . . . . . . . . 45, 141 Corneille, Pierre . . . . . . . . . . . . . . . . . . 106

Cheval de Troie . . . . . . . . . . . . . . . . . . 134 Cortier, Véronique . . . . . . . . . . . . . . . . 52

Chiffrement CPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

à clef publique . . . . . . . . . . . . . . . 199 CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

ADFGVX . . . . . . . . . . . . . . . . . . . . . 88 CRIME . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

asymétrique . 35, 93, 100, 149, 199 Crocker, Stephen . . . . . . . . . . . . . . . . . . vi

d’ElGamal . . . . . . 100, 125, 149, 187 Cryptanalyse . . . . 5, 6, 18, 76, 77, 86, 92

de César . . . . . . . . . . . . . . . . . 76, 201 différentielle . . . . . . . . . . . . . . . . . . 21

de Delastelle . . . . . . . . . . . . . . . . . 88 Cryptographe . . . . . . . . . 46, 93, 94, 163

homomorphe . . . . . . . 45, 125, 165 Cryptographie . . . . . . . . . . . . . . . . . . . . . 3

homophonique . . . . . . . . . . . . . . . 79 post-quantique . . . . . . . . . . . . . . 101

partiellement homomorphe . . 45, visuelle . . . . . . . . . . . . . . . . . . . . . . 141

164 Cryptologie . . . . . . . . . . . . . . . . . . . . . . 163

symétrique . . . . . . . . . . 121, 152, 155 Cryptomonnaie . . . . . . . . . . . . . . . . . . . 47

204
Index

CTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Entropie . . . . . . . . . . . . . . . . . . . . . . . . . . 92

CTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Euler, Leonhard . . . . . . . . . . . . . . . . . . . 39

Cumberbatch, Benedict . . . . . . . . . . . 10 Ève . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 163

Cyanure . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Exécutable . . . . . . . . . . . . . . . . . . . . . . . 179

D F

Daemen, Joan . . . . . . . . . . . . . . . . . . . . 94 Facebook . . . . . . . . . . . . . . . . . . . . . . . . 186

Deep Crack . . . . . . . . . . . . . . . . . . . 113, 114 Factorisation . . . . . . . . . . . . . . . . . . . . 100

Delastelle, Félix-Marie . . . . . . . . . . . . 88 Feistel, Horst . . . . . . . . . . . . . . . . . . . . . . 93

DES . . . . . 93, 94, 113, 114, 155, 200, 201 Fermat, Pierre de . . . . . . . . . . . . . . . . . 39

Diffie, Whitfield . . . . . . . . . . . 20, 107, 114 FHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Diffusion . . . . . . . . . . . . . . . . . . . . 92, 200 Fiat, Amos . . . . . . . . . . . . . . . . . . . . . 21, 131

Digramme . . . . . . . . . . . . . . . . . . . . . . . . 77 Fibonacci, Leonardo Pisano . . . . . . 108

Dijk, Marten van . . . . . . . . . . . . . . . . . . 165 Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Division euclidienne . . . . . . . . . . . . . . 112 Fonction de hachage . . . 31, 47, 53, 131,

Don Quichotte . . . . . . . . . . . . . . . . . . . 136 137, 140, 162, 170

Double dépense . . . . . . . . . . . . . . . . . 169 Fork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Doyle, Conan . . . . . . . . . . . . . . . . . . . . 201 FREAK . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Drôle de drame . . . . . . . . . . . . . . . . . . . 95 Free Software . . . . . . . . . . . . . . . . . . . . 177

Droit d’auteur . . . . . . . . . . . . . . . . . . . . 178 Friedman, Elizebeth Smith 5, 6, 75-77,

DROWN . . . . . . . . . . . . . . . . . . . . . . . . . 156 92

DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 FSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Démarate . . . . . . . . . . . . . . . . . . . . . . . . . . 4

G
E
Gödel, Kurt . . . . . . . . . . . . . . . . . . . . . . 135

ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Générateur . . . . . . . . . . . . . . . . . . . . . . . 112

Eckert, Presper . . . . . . . . . . . . . . . . . . . . vi Gaudry, Pierrick . . . . . . . . . . . . . . . . . . . 52

EFF . . . . . . . . . . . . . . . . . . . . . . . 20, 113, 114 Gauss, Johann Carl Friedrich . . . . . . 117

ElGamal, Taher . . . . . . . . . . . . . . . . . . . 149 GCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Elizabeth II . . . . . . . . . . . . . . . . . . . . . . . 90 Gentry, Craig . . . . . . . . . . . . 46, 165, 166

Elk Cloner . . . . . . . . . . . . . . . . . . . . . . . . 29 Gerrold, David . . . . . . . . . . . . . . . . . . . . 29

EMOTET . . . . . . . . . . . . . . . . . . . . . . . . . 30 Gestionnaires de mots de passe . . 174

Encre GIMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

invisible . . . . . . . . . . . . . . . . . . . . . . . 4 Glondu, Stéphane . . . . . . . . . . . . . . . . 52

sympathique . . . . . . . . . . . . . . . . . . 4 GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Engagement . . . . . . . . . . . . . . . . . . . . . 129 Goldwasser, Shafi . . . . . . . . 26, 128, 164

ENIGMA . . . . . . . . . 6, 10, 89, 92, 93, 191 Google . . . . . . . . . . . . . . . . . . . . . . 101, 158

205
25 énigmes ludiques pour s'initier à la cryptographie

GPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 J
Greenwald, Glenn . . . . . . . . . . . 153, 154
Jouvet, Louis . . . . . . . . . . . . . . . . . . . . . 96
Grove, Andy . . . . . . . . . . . . . . . . . . . . . . 123
JPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

H K

Hacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Karp, Richard . . . . . . . . . . . . . . . . . . . . . 90

Kasiski, Friedrich . . . . . . . . . . . . . . . . . . 79
Halevi, Shai . . . . . . . . . . . . . . . . . . . . . . 165
Kerckhoffs, Auguste . . . . . . . . . . . . . . . 18
Hamming, Richard . . . . . . . . . . . . . . . . 90
Key-Privacy . . . . . . . . . . . . . . . . . . . . . . 126
Hammurabi . . . . . . . . . . . . . . . . . . . . . . 108
Keylogger . . . . . . . . . . . . . . . . . . . . . . . . 30
Handbrake . . . . . . . . . . . . . . . . . . . . . . . 178
Kleinrock, Len . . . . . . . . . . . . . . . . . . . . . vi
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . 94
Knuth, Donald . . . . . . . . . . . . . . . . . . . . 90
Hawking, Stephen . . . . . . . . . . . . . . . . 183
Kocher, Paul . . . . . . . . . . . . 154, 157, 158
Hellman, Martin . . . . . . . . . . 20, 107, 114

Hexadécimal . . . . . . . . . . . . . . . . 120, 162

Histiée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
L
Holmes, Sherlock . . . . . . . . . . . . . . . . 201

Hommes dansants . . . . . . . . . . . . . . . 201 Légende de Sissa . . . . . . . . . . . . . . . . 108

https . . . . . . . . . . . . . . 6, 37, 155, 187, 199 Lamartine, Alphonse de . . . . . . . . . . 106

Hugo, Victor . . . . . . . . . . . . . . . . . 99, 106 Lamport, Leslie . . . . . . . . . . . . . . . . . . . 90

Hérodote . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Le Canard Enchaîné . . . . . . . . . . . . . 105

LibreOffice . . . . . . . . . . . . . . . . . . . . . . . 178

Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Lipogramme . . . . . . . . . . . . . . . . . . . . . . 80
I
Liu, Chung Laung . . . . . . . . . . . . . 22, 117

Logarithme discret . . . . . . . . . . . 100, 113


IBM . . . . . . . . . . . . . . . . 30, 46, 93, 101, 171
Logiciel libre . . . . . . . . . . . . . . . . . . . . . . 177
IETF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Loi de Moore . . . . . . . . . . . . . . . . . . . . . 94
Indicatrice d’Euler . . . . . . . . . . . . . . . . 39
Lowe, Gavin . . . . . . . . . . . . . . . . . . . . . . 148
Indistinguabilité . . . . . . . . . . . . . . . . . . 125
Lucifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Informatique Sans Ordinateur . vi, 104,

105

Inkscape . . . . . . . . . . . . . . . . . . . . . . . . . 178

Intel . . . . . . . . . . . . . . . . . . . . . . . . . . 94, 123


M

Internet . . vi, 15, 16, 20, 53, 94, 113, 137,


Mécanique quantique . . . . . . . . . . . . 101
155, 163, 179, 180, 186, 187
Mésostiche . . . . . . . . . . . . . . . . . . . . . . . 80
Interpolation de Lagrange . . . . . . . . 117 Maître Capelo . . . . . . . . . . . . . . . . . . . . . 79

Inverse modulaire . . . . . . . . . . . . . . . . 149 Machine de Turing . . . . . . . . . . . . . . . . 90

206
Index

Malware . . . . . . . . . . . . . . . . . . . . . . . . . 134 O
Man in the middle . . . . 111, 147, 148, 156
OAEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Marche Turque . . . . . . . . . . . . . . . . . . 183
Obama, Barack . . . . . . . . . . . . . . . . . . 153
Martin, Joël . . . . . . . . . . . . . . . . . . . . . . 105
Objectif de hachage . . . . . . . . . . . . . . 47
Masque jetable . . . . . . . . . . . . . . . . . . . . 14
OCaml . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Mauchly, John William . . . . . . . . . . . . . vi
Octets . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
McEliece, Robert . . . . . . . . . . . . . . . . 100
OFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
MD . . . . . . . . . . . . . . . . . . . . . . 32, 155, 162 One Time Pad . . . . . . . . . . . . . . . . . . . . . 14

Meet in the middle . . . . . . . 94, 107, 110 One-wayness . . . . . . . . . . . . . . . . . . . . 125

Mendeleïev, Dmitri Ivanovitch183, 184 Ordinateur quantique . . . . 40, 100, 101

MI5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Orwell, Georges . . . . . . . . . . . . . . . . . . . 73

Micali, Silvio . . . . . . . . . . 26, 115, 128, 164 OTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . 46 Ou exclusif . . . . . . . . . . . . 14, 121, 164, 166

Miller, Frank . . . . . . . . . . . . . . . . . . . . . . . 14 OuLiPo . . . . . . . . . . . . . . . . . . . . . . . 65, 80

Milner, Robin . . . . . . . . . . . . . . . . . . . . . 90

Minsky, Marvin . . . . . . . . . . . . . . . . . . . 90

Molybdène . . . . . . . . . . . . . . . . . . . . . . 183 P

Monero . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Painvin, Georges . . . . . . . . . . . . . . . . . . 87
Moore, Gordon E. . . . . . . . . . . . . . . . . . 94
Palindrome . . . . . . . . . . . . . . . . . . . 79, 80

Morris, Robert Tappan . . . . . . . . . . . . 30 Panda . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Morse, Samuel . . . . . . . . . . . . . . . . . . . . 88 Pangramme . . . . . . . . . . . . . . . 65, 76, 86

Mozart, Wolfgang Amadeus . . . . . . 183 Paradoxe des anniversaires . . . . . . . 139

Musset, Alfred de . . . . . . . . . . . . . . . . . 73 Partage de secret . . . . . . . . . . . . . . . . . . 21

Pater Noster . . . . . . . . . . . . . . . . . . . . . . 80

Peggy . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

Perec, Georges . . . . . . . . . . . . . . . 80, 141

N Permutation . . . . . . . . . . . . . . . . 76, 91-93

Perrig, Adrian . . . . . . . . . . . . . . . . . . . . 162


Naccache, David . . . . . . . . . . . . . . . . . 165
Peterson, Wesley . . . . . . . . . . . . . . . . . . 16
Nakamoto, Satoshi . . . . . . . . . . . . 47, 169
PGP . . . . . . . . . . . . . . . . . . . . . . . . . 153, 154
Naor, Moni . . . . . . . . . . . . . . . . . . . 22, 142
Picasso, Pablo . . . . . . . . . . . . . . . . . . . . 183
Nebel, Fritz . . . . . . . . . . . . . . . . . . . . . . . 87
Pivot de Gauss . . . . . . . . . . . . . . . . . . . . 117
Needham,Roger . . . . . . . . . . . . . . . . . . 36
Pixel . . . . . . . . . . . . . . . . . . . . . . . . . . 68, 142
Netscape . . . . . . . . . . . . . . . . . . . . . . . . 155 Pline l’Ancien . . . . . . . . . . . . . . . . . . . . . . 4

NIST . . . . . . . . . . 40, 93, 94, 121, 122, 140 Poitras, Laura . . . . . . . . . . . . . . . . . . . . 153

Non-malléabilité . . . . . . . . . . . . . . . . . 125 Polybe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Nonce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 POODLE . . . . . . . . . . . . . . . . . . . . . . . . 156

NSA . . . . . . . . . . . . . . . . . . . . . . . 45, 94, 191 Popp, Joseph . . . . . . . . . . . . . . . . . . . . . 30

Porte dérobée . . . . . . . . . . . . . . . . . . . . . 51

207
25 énigmes ludiques pour s'initier à la cryptographie

Prévert, Jacques . . . . . . . . . . . . . . . . . . 95 RGPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Preuve Rijmen, Vincent . . . . . . . . . . . . . . . . . . . 94

de travail . . . . . . . . . . . . . . . . . . . . 168 Rijndael . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

interactive . . . . . . . . . . . . . . . . . . . 129 Rivest, Ronald . . . . . . . . 32, 137, 152, 162

par Robustesse . . . . . . . . . . . . . . . . . . . . . . 129

contradiction . . . . . . . . . . . . . . 133 Rock You . . . . . . . . . . . . . . . . . . . . . . . . 186

l’absurde . . . . . . . . . . . . . . . . . . 133 Rogaway, Phillip . . . . . . . . . . . . . . . . . . 187

Preuve par Rotor . . . . . . . . . . . . . . . . . . . . . 10, 93, 158

l’absurde . . . . . . . . . . . . . . . . . . . . . 96 RSA . 18, 21, 22, 32, 36-40, 93, 100, 125,

Prix 152-154, 158, 164, 187, 199

EFF Pioneer Award . . . . . . . . . . 20 RVB . . . . . . . . . . . . . . . . . . . . . . . . . . 68, 120

Japonais . . . . . . . . . . . . . . . . . . . . . . 16

Nobel . . . . . . . . . . . . . . . . . . . . . . . . 90

S
Turing . . 20, 21, 26, 32, 90, 115, 152

Projet Zero . . . . . . . . . . . . . . . . . . . . . . . 158

Protocole de Safe Harbour . . . . . . . . . . . . . . . . . . . . . 177

Diffie-Hellman . . . . . . . . . . 147, 149 Sand, George . . . . . . . . . . . . . . . . . . . . . 73

Needham-Schroeder 35, 147, 148 Satoshi . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Schneier, Bruce . . . 75, 91, 119, 127, 147,

173, 181

Q Schnorr, Claus-Peter . . . . . . . . . . . . . 130

Schroeder,Michael . . . . . . . . . . . . . . . . 36
Qbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Scrabble . . . . . . . . . . . . . . . . . . . . . . . . . 138
Qubit . . . . . . . . . . . . . . . . . . . . . . . voir Qbit
Scytale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Queneau, Raymond . . . . . . . . . . . . . . 80
SEAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Quisquater, Jean-Jacques . . . . . . . . 127
Shù Shù, Suàn . . . . . . . . . . . . . . . . . . . 108

SHA . . . . . . . . . . . . . . . . 140, 155, 170, 187

Shamir, Adi 21, 95, 131, 142, 151, 152, 167


R
Shannon, Claude . 92, 96, 111, 200, 201

Racine, Jean . . . . . . . . . . . . . . . . . . . . . 106 Shor, Peter . . . . . . . . . . . . . . . . . . . 40, 101

Rackoff, Charles . . . . . . . . . . . . . . . . . . 128 SIDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Rainbow table . . . . . . . . . . . . . . . . . . . 185 Simon, Michel . . . . . . . . . . . . . . . . . . . . . 96

Rançongiciel . . . . . . . . . . . . . . . . . . . . . 134 Singh, Simon . . . . . . . . . . . . . . . . . . . . . . . 6

Ransomware . . . . . . . voir Rançongiciel Skrenta, Rich . . . . . . . . . . . . . . . . . . . . . . 29

RC . . . . . . . . . . . . . . . . . . . . . . . . . . . 32, 155 Snark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Recherche exhaustive . 17, 49, 107, 110, Snowden, Edward . . . . . . . 153, 154, 175

114, 140, 157, 167, 173 Song, Dawn Xiaodong . . . . . . . . . . . . 162

Reed-Solomon . . . . . . . . . . . . . . . . . . 100 Soundness . . . . . . . . . . voir Robustesse

Représentation décimale . . . . . . . . . 66 Spectre . . . . . . . . . . . . . . . . . . . . . . . . . . 158

RGB . . . . . . . . . . . . . . . . . . . . . . 68, 119, 120 SSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

208
Index

SSL . . . . . . . . . . . . . . . . . . . . . . . . . . 155, 156 Virus . . . . . . . . . . . . . . . . . . . . . 30, 133, 134

Stéganographie . . . . . . . . . . . . . . . . 3, 141 VLC Media Player . . . . . . . . . . . . . . . . 178

Stern, Jacques . . . . . . . . . . . . . . . 163, 165

Stuxnet . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Substitution . . . . 76, 77, 80, 85, 87, 88, W


92-94, 126
Wagner, David A. . . . . . . . . . . . . . . . . . 162
Système d’équations . . . . . . . . . . . . . 115
Wannacry . . . . . . . . . . . . . . . . . . . . . . . . 30

Watermarking . . . . . . . . . . . . . . . . . . . . 83

Worm . . . . . . . . . . . . . . . . . . . . . . . voir Ver


T
Wright, Peter . . . . . . . . . . . . . . . . . . . . 158

Téléstiche . . . . . . . . . . . . . . . . . . . . . . . . 80

Tabourot, Estienne . . . . . . . . . . . . . . . 106

Tatouage numérique . . . . . . . . . . . . . . 83 X
TED . . . . . . . . . . . . . . . . . . . . . . . . . 154, 175
Xerxès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ThreeBallot . . . . . . . . . . . . . . . . . . . . . . . 32

Théorème de Fermat (petit) . . . . . . . 39

Tilbørg, Henk van . . . . . . . . . . . . . . . . 100


Y
TLS . . . . . . . . . . . . . . . . . . . 20, 37, 155, 156

Tour de magie . . . . . . . . . . . . . . . . . . . 104 Yahoo ! . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Toy Story . . . . . . . . . . . . . . . . . . . . . . . . . 110 Yao, Andrew . . . . . . . . . . . . . . . . . . . . . . 90

Trigramme . . . . . . . . . . . . . . . . . . . . . . . . 77

Triple DES . . . . . . . . . . . . . . . . . . . . 94, 114

Trojan . . . . . . . . . . . voir Cheval de Troie Z


Turing, Alan . . . . . . 9, 10, 85, 86, 89, 90
ZCash . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Turing-complet . . . . . . . . . . . . . . . . . . . 90
Zero-knowledge proof . . . . . . . 127, 129

Zimmerman, Phil . . . . . . . . . . . . . . . . . 153

Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Vaikuntanathan, Vinod . . . . . . . . . . . 165

Ver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Vernam, Gilbert Sandford . . . . . . . . . 14

Victor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

Vigenère, Blaise de . . . . . . . . . . . . . . . . 78

Virgile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

209

Vous aimerez peut-être aussi