Académique Documents
Professionnel Documents
Culture Documents
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.
Avant-propos v
5 Un méli-mélo de caractères ☆ . . . . . . . . . . . . . . . . . . . . . 11
19 Le digicode lumineux ☆☆ . . . . . . . . . . . . . . . . . . . . . . . 41
21 Un chiffrement malléable ☆☆ . . . . . . . . . . . . . . . . . . . . . 45
i
25 énigmes ludiques pour s'initier à la cryptographie
24 Un vote naïf ☆☆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
1 Indices de niveau 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2 Indices de niveau 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3 Indices de niveau 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3 Les solutions 71
5 Un méli-mélo de caractères ☆ . . . . . . . . . . . . . . . . . . . . . 91
8 Chiffrer deux fois n’est pas deux fois plus sûr ☆☆ . . . . . . . . . 107
ii
Table des matières
Bibliographie 195
Glossaire 201
Index 203
iii
iv
Avant-propos
Ces 25 énigmes sont des challenges que nous vous proposons pour vous faire
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
La difficulté des énigmes est indiquée par des étoiles. Le niveau facile est re-
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
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é-
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-
curité informatique. Nous commençons par les énigmes dont les notions sous-
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
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
1
JAN
tré la voie pour la création de ces énigmes. Nous adressons aussi nos remer-
également notre gratitude à Flavien Binet, Jean-Luc Blanc, Olivier Blazy, Orel
Cosseron, Colette More, Benoît Petitcollot, Maxine Pouzet, Léo Robert, Elias
♯
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
vi
Depuis toujours, des groupes cachés utilisent des codes,
vii
viii
1
Les énigmes à
résoudre
2
1 Un message dans le texte ☆
Stéganographie
simplement dissimulé, mais reste lisible par toute personne qui sait com-
3
25 énigmes ludiques pour s'initier à la cryptographie
message caché à Xerxès. Le message est d’abord écrit sur une plan-
à Aristagoras, qui n’aura plus qu’à lui raser la tête de nouveau pour
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-
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
la flamme d’une lampe à huile (ou à l’aide d’un fer à repasser). La chaleur
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.
À qui de droit,
protéger mes travaux des curieux, mais je n’ai aucun doute qu’un expert en
D txl gh gurlw,
5
25 énigmes ludiques pour s'initier à la cryptographie
ENIGMA
1
JAN
∗
HyperText Transfer Protocol Secure
histoire est racontée dans l’ouvrage de Simon Singh [Sin99]). Les lettres
tie grâce à une idée similaire à celle utilisée pour cette énigme. En effet,
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
♮
American Standard Code for Information Interchange
7
25 énigmes ludiques pour s'initier à la cryptographie
ASCII art
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
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.
∗
Joint Photographic Experts Group
8
Un chiffrement presque
4
allemand ☆☆
À qui de droit,
Nous avons obtenu une machine ENIGMA et sommes en bonne voie pour
Alan Turing.
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.
9
25 énigmes ludiques pour s'initier à la cryptographie
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-
d’Alan Turing. En 2014, elle a été racontée dans le film The Imitation
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-
de longs mois, le processus est trop lent, rendant leurs efforts inutiles, car
10
Un méli-mélo de caractères
5
☆
92Leirav49l1aW2ànishnogt.CD.
iuAqrdde,toi
iaJ’ssaumeiruqareuéqAslemellsdanliutneissetdutaspsceénhouqtiopeseru
rerndrclaatypylnalpseidusciff.eil
ziElteebimhSrFthmdie.an
bâtiment de l’U.S. Navy, dans le même carton d’archives que les messages des
11
12
6 Vous avez dit sûr, ... sûr ☆☆
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-
(et le résultat est bien 8). Ne connaissant pas K , un intrus qui intercepterait C
sage M chiffré avec la clé K (appelé C ci-dessus) est noté {M }K . Cette notation
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.
{M }K A qui vaut 51 ;
13
25 énigmes ludiques pour s'initier à la cryptographie
duit par masque jetable, fait référence au fait que, pour – Gilbert
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
∗
One-Time Pad
14
Une modification invisible
7
☆
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-
bien les erreurs involontaires de transmission, mais il est possible pour un intrus
peut intervertir dans la phrase envoyée par Alice pour en modifier le sens ?
15
25 énigmes ludiques pour s'initier à la cryptographie
Peterson.
∗
Cyclic Redundancy Check
♯
Ce prix récompense « les accomplissements originaux et exceptionnels en sciences
La scytale
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
16
Chiffrer deux fois n’est pas
8
deux fois plus sûr ☆☆
ment et de déchiffrement sont publics, et la sécurité repose sur une clé secrète
pouvoir lire les prochains messages chiffrés d’Alice. Il sait seulement que K est
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-
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.
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
17
25 énigmes ludiques pour s'initier à la cryptographie
graphie. Le second principe qu’il établit est le plus célèbre : il stipule que
∗
Rivest Shamir Adelman
♯
Advanced Encryption Standard
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-
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-
dard AES, qui sont considérés comme sûrs, car ils sont largement étudiés
18
Le protocole de Diffie-
clé ☆☆
Alice et Bob souhaitent convenir ensemble d’une clé secrète pour chiffrer
trer. Ils vont pour cela utiliser le protocole de Diffie-Hellman pour établir une clé
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
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 .
ou modifier les messages échangés entre Alice et Bob, peut déchiffrer toutes
19
25 énigmes ludiques pour s'initier à la cryptographie
grâce à l’informatique.
∗
Transport Layer Security
♯
Electronic Frontier Foundation
20
Le partage de Shamir
10
☆☆☆
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.
2
y = ax + bx + s
▶ A = (−2, −2),
▶ B = (1, 4),
▶ C = (2, 2).
Énigme 10 : Saurez-vous découvrir le nombre secret s?
obtenu le Prix Turing avec ses deux collègues (Ronald Rivest et Leonard
(voir l’énigme 13 page 27 et sa solution page 127). En 1990, avec Eli Biham,
21
25 énigmes ludiques pour s'initier à la cryptographie
secrète utilisée.
secret utilisé dans cette énigme, qui porte désormais son nom. Ce pro-
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-
mer les documents dans une armoire afin que celle-ci puisse être ouverte
plus petit nombre de cadenas nécessaires ? Quel est le plus petit nombre
22
Un regroupement de
11
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
25
25 énigmes ludiques pour s'initier à la cryptographie
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
porte avec
un code
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-
Le terme de virus a été utilisé pour la première fois en 1972, dans le roman
Apple II. Sur la figure ci-contre, les trois formats les plus courants des
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.
mation sur le SIDA. Il demandait 189 US$ aux victimes pour rendre leur
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é
∗
International Business Machines Corporation
♯
Programme qui enregistre toutes les touches saisies par un utilisateur, ce qui lui per-
30
Désassembler une fonction
15
de hachage ☆☆
Une fonction de hachage est une fonction qui permet de calculer, à partir de
le haché du message.
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
leurs hachés. Ainsi, l’utilisateur reste le seul à connaître son mot de passe. Pour
sateur, et vérifie qu’il est bien identique à celui qui est stocké dans sa base 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é.
25 28 22
24 16 22
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-
tations des 26 lettres de l’alphabet utilisées dans cette énigme. À partir de ces
reçu le Prix Turing pour l’invention de RSA avec ses deux collègues. En
ThreeBallot qui permet au votant de vérifier que son bulletin a bien été
∗
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é-
33
34
17 L’homme du milieu ☆☆☆
Alice et Bob souhaitent convenir ensemble d’une clé secrète pour chiffrer
contrer. Après leur mésaventure racontée dans l’énigme 9 page 19, ils décident
sédent leurs clés publiques respectives, par exemple Alice et Bob, d’établir une
{A, Na }pk (B )
▶ 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.
démontré que, s’il y a une seule session entre deux participants, alors le pro-
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
ment un intrus, avec qui Alice joue entièrement le protocole, peut apprendre
le fait qu’il est impossible, en pratique, de découvrir une clé privée de dé-
36
La consommation
☆☆☆
est le chiffrement le plus utilisé dans le monde, par exemple dans les commu-
Alice possède une clé de chiffrement RSA publique, composée de deux en-
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
Comme d est très grand, ce calcul ne peut pas se faire simplement en mul-
Heureusement, il existe des algorithmes qui permettent d’aller plus vite. L’un
(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
= (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
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-
cet algorithme est très efficace sur des grands nombres, car plus l’exposant est
consomme plus d’énergie que le premier. Cette propriété est à la base d’une
38
18 La consommation électrique en dit trop ☆☆☆
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-
e
C =M mod n
les nombres impliqués sont très grands, il est donc important que cette
d’exponentielle rapide.
∗
Deux entiers sont premiers entre eux lorsque leur unique diviseur commun est 1. Par
♯
a et b sont inverses l’un de l’autre modulo n lorsque leur produit est égal
Deux entiers
39
25 énigmes ludiques pour s'initier à la cryptographie
La sécurité de RSA
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-
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
rithme de Shor, inventé en 1994 par Peter Willinston Shor (1959-), bien
∗
National Institute of Standards and Technology
♯
Agence nationale de la sécurité des systèmes d’information
40
19 Le digicode lumineux ☆☆
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-
Par exemple, si le code est 1234 et qu’Alice tape par inadvertance 124, les cou-
leurs des voyants sont les suivantes :
41
42
Des couples clairs chiffrés
20
☆☆☆
▶ le jour se lève
43
44
Un chiffrement malléable
21
☆☆
(nombres) clairs est égal au message chiffré associé à la somme de ces deux
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
faut alors multiplier les salaires chiffrés, pour obtenir un message chiffré qui cor-
fré obtenu, pour découvrir la somme de leurs salaires. Le problème du dîner des
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-
′
▶ 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 .
au message chiffré c?
♠
National Security Agency
45
25 énigmes ludiques pour s'initier à la cryptographie
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é
lait plusieurs heures pour chiffrer et déchiffrer des messages, et, de plus,
nombreux chercheurs, qui, depuis, n’ont cessé d’en améliorer l’idée ini-
46
22 Payer en bitcoins ☆☆☆
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
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-
47
25 énigmes ludiques pour s'initier à la cryptographie
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
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
passe pour que la durée d’une vie humaine ne suffise pas à le découvrir par
ANSSI
49
25 énigmes ludiques pour s'initier à la cryptographie
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
50
24 Un vote naïf ☆☆
A, B et Blanc . Puis il
Il prépare sur une feuille de papier trois cases, étiquetées
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
cette date, seules quelques villes de France ont expérimenté ces dispo-
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
codes de ces machines, produites par des sociétés privées, ne sont pas
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
la CNIL ;
sécurisés ;
En mai 2012, pour la première fois, les Français de l’étranger ont pu voter
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.
des bulletins, la vérification individuelle que son vote a bien été compté
∗
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
(voir figure 24 page 48). Ainsi, le haché du mot de passe Pi314 est :
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,
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
Le hachage des mots de passe est une précaution élémentaire dans la ges-
était aussi stocké, en clair, dans la base de données, un indice. Cette information
♢
Les fonctions de hachage utilisées dans la vie réelle sont plus compliquées.
53
25 énigmes ludiques pour s'initier à la cryptographie
Carlton 1 to 9 122
54
2
57
25 énigmes ludiques pour s'initier à la cryptographie
sûr ☆☆
Écrivez les équations de déchiffrement.
58
1 Indices de niveau 1
☆☆
Y-a-t-il des collisions ?
☆☆☆
Vérifiez l’ordre dans lequel les bits de la clé sont utilisés.
59
25 énigmes ludiques pour s'initier à la cryptographie
nées bissextiles.
tants ☆☆
Observez les collisions.
Elle est sous vos yeux depuis le début, comme sur le parachute du rover Per-
60
2 Indices de niveau 2
61
25 énigmes ludiques pour s'initier à la cryptographie
sûr ☆☆
Déchiffrez C une fois avec la clé K2 et observez le résultat.
62
2 Indices de niveau 2
☆☆
Aline possède une lettre de plus que Léna.
☆☆☆
La solution est dans les motifs.
63
25 énigmes ludiques pour s'initier à la cryptographie
tants ☆☆
Rassemblez les indices.
Blocs de cinq
64
3 Indices de niveau 3
Pangramme
Un pangramme est une phrase qui contient l’ensemble des lettres de l’al-
65
25 énigmes ludiques pour s'initier à la cryptographie
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
Le système décimal, appelé aussi base dix, est notre système quotidien
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 dix unités).
Autrement dit :
traduit par le fait que chaque chiffre dans un nombre binaire est associé
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
1 1 0 1 0
66
3 Indices de niveau 3
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
i =0
67
25 énigmes ludiques pour s'initier à la cryptographie
sûr ☆☆
Testez l’égalité entre un chiffré et un déchiffré.
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-
△
Red-Green-Blue
↯
Rouge-Vert-Bleu
68
3 Indices de niveau 3
être utile pour imaginer un programme qui débouche sur une contradiction.
☆☆
Comptez les segments noirs.
☆☆☆
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).
69
25 énigmes ludiques pour s'initier à la cryptographie
tants ☆☆
Un peu de culture générale vous aidera.
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à. »
Pour résoudre cette énigme, il faut remarquer que le texte est étrangement
faire usage d’une figure de style littéraire, l’acrostiche. Il s’agit en quelque sorte
d’un texte. Pour cette énigme, il faut lire le premier mot de chaque ligne pour
lisant qu’une phrase sur deux. Il est facile d’imaginer que George Sand
73
25 énigmes ludiques pour s'initier à la cryptographie
mettre.
La réponse du poète :
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
la première observation est que le lieu où la lettre a été écrite, le début, la signa-
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
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
Il est alors facile de terminer le déchiffrement grâce au sens des mots du texte.
est un pangramme (voir page 65) peut utiliser cette phrase pour trouver la cor-
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).
rable pour décrypter un message, comme dans cette énigme. La face cachée
À qui de droit,
cryptanalyse qui repose sur le fait que chaque lettre de l’alphabet repré-
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
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
chiffrée par la même lettre. Ainsi, le message chiffré est vulnérable à une
posant qu’elle écrive en français), la lettre la plus utilisée est h, qui est pré-
∗
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
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
calage utilisé. Par exemple si le mot-clé est CESAR alors il faudra faire
fois que nécessaire pour avoir un décalage pour chaque lettre. Finale-
78
2 Les secrets de Jules ☆
Une autre technique pour contrer l’analyse des fréquences est d’utiliser
plus souvent que la lettre w, alors elle aura 17 symboles différents comme
Palindrome
Un palindrome est une phrase qui se lit dans les deux sens. Le palindrome
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
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
« Pater Noster ».
1969 par l’écrivain Georges Perec (1936-1982) sous le titre 9691. Ce texte
OuLiPo
∗
Texte dans lequel une lettre ne figure pas.
80
Une image mystérieuse
3
☆☆☆
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.
originale sont surlignés en gris. Ils forment le nombre en binaire 101010 qu’il
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
donnés dans l’indice de niveau trois de cette énigme (voir page 66).
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
bit de poids faible de la valeur numérique associée à une couleur est quasiment
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
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,
82
3 Une image mystérieuse ☆☆☆
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
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
Pour cette énigme, la mise en page et la ponctuation des deux textes sont de
Pour commencer, comme le texte de la figure 7 page 9 semble être lui aussi
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
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
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.
fameux.
Scriptum. De plus, la signature d’Alan Turing donne que g est chiffré par DA.
À qui de droit,
Merci pour ces nouvelles, nous avons réussi à déchiffrer quelques messages
Alan Turing.
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-
rait que cela ne soit pas le bon choix, parmi toutes les possibilités restantes.
Chiffrement ADFGVX
1
JAN
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-
D ; F ; G ; V et X . C’est
DEr FUnker 1918, « chiffre des radiotélégraphistes 1918 »). Il est pos-
87
25 énigmes ludiques pour s'initier à la cryptographie
sage. Les lettres de l’alphabet sont écrites dans un carré de taille 5 par 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
les correspondances des lettres et des chiffres avec le code morse inter-
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
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
89
25 énigmes ludiques pour s'initier à la cryptographie
∗
nisme de calcul Turing-complet , ce qui signifie qu’elle ne permet pas
∗
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
Le Prix Turing
triste. En effet, il a été poursuivi et condamné en raison des lois qui pé-
90
Un méli-mélo de carac-
5
tères ☆
« If you think technology can solve your security problems, then you don’t
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
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 à
ces lettres, après avoir enlevé les espaces, avec la partie correspondante de la
Le26avril1942àWashingtonD.C. et
Le28avril1942àBletchleyPark
à comparer avec :
92Leirav49l1aW2ànishnogt.CD.
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
À qui de droit,
J’ai aussi remarqué que les Allemands utilisent des astuces phonétiques
Le chiffrement d’ENIGMA
c’est équivalent à faire une seule substitution. Par exemple, dans un mes-
sage obtenu, revient à décaler chaque lettre de six rangs dans le message
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 ☆
apportant de la confusion).
∗
Data Encryption Standard
Après la Seconde Guerre mondiale, les progrès des ordinateurs ont per-
RSA, n’a été inventé que quelques années plus tard (voir l’énigme 18
par Horst Feistel, qui travaillait pour IBM. Ce chiffrement effectue, à par-
langes avec les seize clés dérivées de la clé initiale. En comparaison, les
93
25 énigmes ludiques pour s'initier à la cryptographie
fer devient le DES en 1976, après que la NSA a modifié les substitutions
la NSA a expliqué que ces changements étaient dûs au fait que les nou-
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
qué dans la solution de l’énigme 8 page 107, cette technique est sensible
standard, appelé AES, qui prend un message de 128 bits, une clé de chif-
dats et, en 1999, le NIST a choisi cinq finalistes pour une étude plus pous-
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
∗
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. »
51 = M + KA
69 = (M + K A ) + K B
60 = M + KB
Avec le chiffrement utilisé par Alice et Bob, le protocole à trois passes de Sha-
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
message, mais se posent alors des problèmes liés à l’authentification des pro-
Le titre de cette énigme est un clin d’œil au film Drôle de drame, de Mar-
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
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
un élément c ∈ C , avec c = {m }k .
Pr(m∣c ) = Pr(m)
La clé d’un chiffrement parfait doit être au moins aussi longue que le
montrer que pour qu’un chiffrement soit parfait, le nombre de clés pos-
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
Ceci n’est pas possible car le chiffrement est parfait : pour tout clair m ∈
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
D’après la définition donnée plus haut, pour montrer que One Time Pad
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
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-
Pr(m) × 2
−n
Pr(m∣c ) =
Pr(c )
sage mi (où ki = mi ⊕ c ) :
En conclusion, Pr(c ) = 2
−n
et
Pr(m) × 2
−n
Pr(m∣c ) =
2−n
= Pr(m)
98
Une modification invisible
7
☆
(ici, le fait que le nombre calculé ne dépend pas de l’ordre des caractères du
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
¶
Compact Disc
∮
Digital Versatile Disc
99
25 énigmes ludiques pour s'initier à la cryptographie
mant jusqu’à un certain point le bruit ou les erreurs qui se seraient intro-
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-
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-
d’y ajouter une erreur aléatoire pour obtenir par exemple le chiffré 010.
McEliece et Henk van Tilbørg ont montré que, au sein de certains en-
suite d’autres chiffrements basés sur les codes ont vu le jour, par exemple
le chiffrement de Reed-Solomon.
assure que certains de ces codes correcteurs peuvent être utilisés pour
basés sur des problèmes appelés problèmes difficiles, ce qui signifie que,
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
Ordinateur quantique
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
de l’ordinateur quantique est né dans les années 1990, mais c’est seule-
Code de parité
exemple, les caractères du mot HELLO, dont les codes ASCII sont
est toujours pair. Par exemple 100 1101 donne 0 100 1101 et 110 0111
11001100 11001111
101
25 énigmes ludiques pour s'initier à la cryptographie
ceptible d’être le message émis, et n’importe quel mot de 8 bits est sus-
dans ce cas, le message reçu ne peut pas être celui qui a été envoyé,
a eu une anomalie.
au plus une erreur sont beaucoup plus nombreux que les messages
bit sur mille est modifié, il y aurait de l’ordre de 0,8 % des carac-
102
7 Une modification invisible ☆
est répété trois fois. Les mots d’information ont seulement un bit, et les
0 000
1 111
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-
rifier si les trois bits de message reçu sont identiques : si ce n’est pas le
000, le cas 111 est évidemment symétrique. Cette fois tous les messages
(a ) 000 000 OK
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
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-
stockage sur de nouveaux supports. Ils utilisent pour cela des méthodes so-
qui ne sont pas détectés, et des messages erronés détectés mais mal corrigés.
Un tour de magie
cartes carrées, chacune ayant une face blanche et une face noire.
des cartes bicolores, en plaçant les faces noires et blanches comme elle
104
7 Une modification invisible ☆
les lignes et les colonnes de la figure obtenue. Cette manœuvre doit être
du public. Cette personne prend soin de faire une croix sous la carte re-
de détecter et de corriger à coup sûr une erreur portant sur un bit (une
Cette activité est abordable avec des enfants dès que les notions de li-
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
teries les plus prolifiques. Depuis 1984, il est l’auteur du célèbre Album
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
(1572).
(1823), Elégie.
Sagesse de Tholomyès.
106
Chiffrer deux fois n’est pas
8
deux fois plus sûr ☆☆
people. »
nombreuses personnes. »
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-
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 .
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
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 .
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
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
décrite par Alfonso X, dans son ouvrage Libro de azedrez, dados e tablas
de cinq mille ans en Inde, aurait demandé à son roi, comme récompense,
sur la première case d’un échiquier, puis deux grains sur la deuxième,
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,
murabi, vers 1800 avant J.-C., sur le recto de la tablette M8631, il est écrit
∗
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
x
▶ les fonctions de type exponentiel comme x ↦2 ;
2
▶ les fonctions de type polynomial comme x ↦x ;
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
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
1 + 1 + 1 + 1 + 1 + 1 + 1 = 7 ≈ log2 (64)
méthode Meet in the middle est plus efficace que la recherche exhaus-
tions qu’il doit effectuer en fonction de la taille des données sur les-
∗
« Infinity and beyond » en référence à la devise de Buzz l’Éclair, le personnage astro-
110
Le protocole de Diffie-
clé ☆☆
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.
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.
incontournable en cryptographie, qui est aussi utilisée dans l’énigme 18 page 37.
Arithmétique modulaire
111
25 énigmes ludiques pour s'initier à la cryptographie
+22 −11
• • • • • • • • • • • • •
−14 0 1 2 3 4 5 6 7 8 9 10 13
Générateur de Z/pZ
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
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
112
9 Le protocole de Diffie-Hellman pour établir une clé ☆☆
(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
N des entiers naturels, s’oppose à l’adjectif continu, qui qualifie par exem-
ple l’ensemble R des nombres réels.
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-
en moins d’une journée. Cette aventure est décrite dans le livre de Matt
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.
plus, c’est beaucoup plus amusant. Ne croyez jamais que la recherche est un
−2 = 4a − 2b + s (1)
4 a+b+s
= (2)
2 = 4a + 2b + s (3)
−4 = −4b
0 = 4a + s (4)
3 = a+s (5)
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,
par deux points donnés. Le graphique ci-dessous représente par exemple deux
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
degré 1 (une droite), deux participants sont suffisants, avec un polynôme de de-
116
10 Le partage de Shamir ☆☆☆
Pour chaque groupe différent de 6 scientifiques parmi les 11, il faut mettre
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
groupe, prises parmi les 10 personnes restantes, ce qui donne 252 com-
binaisons possibles, car
10 10!
(5)= = 252
5! × 4!
cadenas sur l’armoire et 252 clés par personne, ce qui n’est pas pratique.
de la forme suivante :
5 4 3 2
y = ax + bx + cx + dx + ex + s
scientifique. Dès lors qu’au moins 6 d’entre eux sont présents en même
moire. Pour résoudre les systèmes d’équations obtenus, ils devront uti-
117
118
Un regroupement de
11
nombres ☆☆☆
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
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.
119
25 énigmes ludiques pour s'initier à la cryptographie
RGB
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
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
∗
Cyan, Magenta, Yellow, Key
♯
Cyan, Magenta, Jaune, Noir
120
11 Un regroupement de nombres ☆☆☆
Modes de chiffrement
exemple 128 bits) des données de grande taille (une image par exemple).
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
les blocs identiques dans le message chiffré, il est donc possible d’en dé-
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-
chiffré tous les blocs précédents pour pouvoir chiffrer un bloc donné.
∗
Electronic CodeBook
♯
Cipher Block Chaining
∤
Output FeedBack
‡
CounTeR Mode
∦
Cipher FeedBack
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
ℸ
Electronic CodeBook
121
25 énigmes ludiques pour s'initier à la cryptographie
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-
122
12 Des chiffrés mélangés ☆
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
Ensemble A :
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
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-
Propriétés de sécurité
chiffrement est dit à sens unique lorsque, à partir d’un message chiffré, il
Une notion plus forte est la notion d’indistinguabilité, qui concerne les
distinguer lequel de deux messages clairs donnés a été chiffré. Plus pré-
taille. Un de ces deux messages au hasard est chiffré avec la clé publique.
si ce dernier peut faire mieux qu’une chance sur deux pour dire quel mes-
les deux messages clairs avec la clé publique pour dire à coup sûr du-
Cette propriété est plus puissante que la simple propriété d’être à sens
125
25 énigmes ludiques pour s'initier à la cryptographie
Modèles d’attaquant
page 75, pour assurer une grande sécurité, il vaut mieux se protéger
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
suite seulement il reçoit le message chiffré qu’il doit attaquer. Cet ad-
versaire est nommé attaquant à texte chiffré choisi non adaptatif (Non-
Enfin, une notion d’attaque encore plus puissante est de donner aussi
message chiffré qu’il doit attaquer (mais, bien entendu, sans lui per-
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,
clair avec l’une des deux clés. Il doit alors déterminer, avec plus d’une chance
Dans cette énigme, deux substitutions différentes ont été utilisées pour chif-
126
Prouver sans dévoiler
13
☆☆☆
with mathematics. »
« C’est insuffisant de nous protéger avec des lois, nous avons besoin de nous
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
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
saire. Si elle ne connaît pas le code, il est possible qu’elle ait choisi, par chance,
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
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 : .
1 k
Pr(A) = 1 − Pr(A) = 1 − ( )
2
Ainsi, plus k est grand, plus Victor est convaincu que Peggy connaît le
128
13 Prouver sans dévoiler ☆☆☆
V P
2
Moni Naor et ses collègues. L’idée de cette approche est d’utiliser les
lie dans une grande image remplie de nombreux autres personnages est
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
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-
∗
www.boredpanda.com/find-the-panda-illustrated-puzzle-star-wars-edition-ste1/
Par exemple, si les votants ont à choisir entre 0 et 1, c’est la somme des va-
leurs des bulletins de vote est toujours la même après leur mélange, des
bien qui elle prétend être en prouvant sa connaissance d’un secret, sans
130
13 Prouver sans dévoiler ☆☆☆
= g × (g ) = t × y
s r +a×c r a c c
g =g mod q
131
132
Le mythe de l’antivirus
14
☆☆☆☆
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
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
VIRUS dit que l’entrée de Y est un virus, alors le programme Y s’arrête en af-
programme Y, lorsque le programme qu’il reçoit en entrée n’est autre que lui-
la réponse de EST-VIRUS qui disait que Y était un virus (et par conséquent
ner, sans jamais se tromper, les programmes qui sont des virus, ce cas ne
133
25 énigmes ludiques pour s'initier à la cryptographie
que Y n’était pas un virus (et par conséquent ne devrait pas infecter l’or-
jamais se tromper, les programmes qui sont des virus, ce cas ne peut pas
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
Pour revenir à l’énigme, la publicité qu’a reçue Alice pour un antivirus parfait
des techniques de défense contre les virus. En 1985, dans sa thèse sous
personne malintentionnée.
∗
Par opposition, infecter N ordinateurs avec un virus requiert N actions humaines.
134
14 Le mythe de l'antivirus ☆☆☆☆
d’un résultat qui porte sur la démontrabilité des propriétés, et pas sur leur
Incomplétude
135
25 énigmes ludiques pour s'initier à la cryptographie
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
Le paradoxe du menteur
Le lecteur aura peut être trouvé, à raison, que ce qui précède a un par-
voici une très jolie version, qui se trouve dans le roman Don Quichotte de
« 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
à 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 :
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
136
Désassembler une fonc-
15
tion de hachage ☆☆
« Once you have something on the Internet, you are telling the world, please
« Une fois que quelque chose est sur Internet, vous dites au monde entier, s’il
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
Il est possible de vérifier cela avec le haché d’EVE qui vaut 16. Le nombre de
137
25 énigmes ludiques pour s'initier à la cryptographie
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
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
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
mot pirate sont : paître, parité, patrie, partie, prêtai, repaît et étripa. Le
138
15 Désassembler une fonction de hachage ☆☆
probabilité est est bien plus grande car elle vaut environ 90,5 %, et pour
l’année est fixé à 365. De plus, les naissances sont supposées être unifor-
sur 365, pour la deuxième, il ne reste plus que 364 jours sur 365, etc.
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
chage sûre doit générer peu de collisions. Autrement dit, il faut que les
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.
2 − (n − 1)
N N N N
2 2 −1 2 −2
Pr(A) = × × × ... ×
2N 2N 2N 2N
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),
∗
Secure Hash Algorithm
140
Des images qui en cachent
16
d’autres ☆☆
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
la stéganographie. En effet, ici, le secret n’est pas dissimulé mais bien chiffré.
visuelle. Elle a aussi été employée par David Chaum pour construire des
141
25 énigmes ludiques pour s'initier à la cryptographie
Cryptographie visuelle
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
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
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
Ces règles ont pour objectif de produire deux images chiffrées qui con-
d’une manière qui semble aléatoire sur chaque image séparément. Ainsi,
sur une seule des deux images n’est pas capable de savoir si la superpo-
aussi très grande. Il existe également des variantes qui fonctionnent avec
143
25 énigmes ludiques pour s'initier à la cryptographie
Images leurres
d’images leurres : les images chiffrées ne sont pas aléatoires, mais elles
Il y a dans ce cas trois images de départ : deux images leurres et une image
dessin de l’une des images leurres est reconnaissable (malgré une perte
Pour arriver à ce résultat, l’idée générale est qu’un pixel blanc de l’image
complètement noirs. D’un autre côté, un pixel blanc d’une image leurre
produite, tandis qu’un pixel noir d’une image leurre correspond à un bloc
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
144
16 Des images qui en cachent d'autres ☆☆
Il est important de tirer aléatoirement une des règles possibles, pour s’as-
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
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-
en haut à droite ne correspond qu’à six règles (six possibilités pour le mo-
plémentaire pour l’image chiffrée 2). Les deux cases de la deuxième ligne
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
premier motif avec trois pixels noirs et seulement trois possibilités pour
taille 28 pixels par 28 pixels, où la clé et le cadenas sont les images leurres,
145
25 énigmes ludiques pour s'initier à la cryptographie
146
L’homme du milieu
17
☆☆☆
premier plan, vous ne devez pas être surpris d’obtenir une sécurité d’amateur. »
taque de type Man in the middle (homme au milieu). Plus précisément, l’intrus
{A, Na }pk (I )
{A, Na }pk (B )
3. Ensuite, Bob déchiffre le message qu’il a reçu. Il voit qu’Alice en est l’ex-
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
{Nb }pk (I )
{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.
cole, comme illustré dans l’énigme (Alice joue le protocole avec l’in-
148
17 L'homme du milieu ☆☆☆
sance de calcul actuelle des ordinateurs, lorsque les paramètres sont suf-
dant, il est essentiel pour la sécurité que la clé privée ne puisse pas être
calcul du message chiffré avec la clé publique doit être facile, il est né-
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
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-
M
Pour déchiffrer, en connaissant la clé privée, le message clair est re-
(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 ☆☆☆
carré que pour calculer un produit. Par conséquent, sur le tracé proposé, un pe-
produit ; carré ; produit ; carré ; carré ; produit ; carré ; carré ; carré ; produit.
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
Avec le chiffrement RSA, chaque utilisateur peut diffuser une clé pu-
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
152
18 La consommation électrique en dit trop ☆☆☆
« Si la vie privée est mise hors la loi, seuls les hors-la-loi auront une vie
privée. »
Phil Zimmerman.
pays où elle n’est pas garantie, mais pas seulement. Par exemple, dans
encryption. »
de chiffrements forts. »
2015.
∗
Pretty Good Privacy
153
25 énigmes ludiques pour s'initier à la cryptographie
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
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
le choix dans la date pour prendre dans ces informations, ce qu’il souhaite
∗
Technology, Entertainment and Design
♯
https://www.ted.com/talks/glenn_greenwald_why_privacy_matters
Attaques et contre-attaques
dans cette énigme a été proposée par Paul Kocher (voir page 158) en
nentielle rapide pour qu’il effectue à chaque étape à la fois une élévation
(2 )
i
d
produit de tous les C qui ne sont pas utiles pour le calcul de C . Mal-
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
TLS
1
JAN
∗
Le protocole https est utilisé pour chiffrer les communications sur In-
client et le serveur et de s’en servir par la suite pour chiffrer les commu-
1995, c’est la version SSL 2.0 qui a été réellement utilisée. En 1996, une
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é
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
∗
HyperText Transfer Protocol Secure
♯
Secure Sockets Layer
∤
Internet Engineering Task Force
‡
Galois Counter Mode
155
25 énigmes ludiques pour s'initier à la cryptographie
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
lisent une attaque de l’homme du milieu (Man in the middle) pour faire
phiques avec des tailles de clés petites. Cela permet de les retrouver fa-
100
80
60
40
20
0
SSL v2 SSL v3 TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3
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. »
que possible et sûre en même temps. Spectre montre qu’on ne peut pas avoir
les deux. »
Tout d’abord, il s’agit d’un code à 4 chiffres et chaque chiffre est compris entre
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-
tapant deux chiffres à la fois (51, 52, …) jusqu’à ce que la lumière verte s’allume.
tal, en utilisant les lumières, il faudra faire 10+10+10+10 = 40 essais dans le pire
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
donc, un dernier calcul et on s’en va, taper le code une fois qu’il est découvert.
157
25 énigmes ludiques pour s'initier à la cryptographie
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-
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.
ché, des sons émis par la machine lors de l’initialisation des 7 rotors qui a
∗
Military Intelligence, Section 5
Spectre
Spectre est le nom d’une faille de sécurité, découverte en 2018 par Paul
158
Des couples clairs chiffrés
20
☆☆☆
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
159
25 énigmes ludiques pour s'initier à la cryptographie
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
Avec le chiffrement des 3 mots de , son et est, il est facile de découvrir que
▶ le jour se lève
160
20 Des couples clairs chiffrés ☆☆☆
le maximum des 19 mots différents qui composent les quatre phrases en clair.
161
25 énigmes ludiques pour s'initier à la cryptographie
vulnérables lorsque des couples clairs chiffrés sont connus. Ce type d’attaque
SSE
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
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
∗
Symmetric Searchable Encryption
ℷ
Une fonction de hachage aujourd’hui obsolète, inventée en 1991 par Ronald Rivest.
162
Un chiffrement malléable
21
☆☆
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
′ ′′
c × c × c × c × c = (c × c ) × (c × c ) × c
′ ′′ ′ ′′
m = 10037 − 42 − 55 = 9940
§
Centre national de recherche scientifique
163
25 énigmes ludiques pour s'initier à la cryptographie
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
{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-
164
21 Un chiffrement malléable ☆☆
× (y1 × y2 ) mod n
m1 +m2 2
=z
= {m1 ⊕ m2 }n,z
En 1998, dans l’article [NS98], David Naccache et Jacques Stern ont pro-
message en clair qui soit le résultat de ce même calcul sur les messages
{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.
proposé en 2010 par Marten van Dijk, Craig Gentry, Shai Halevi, et Vinod
165
25 énigmes ludiques pour s'initier à la cryptographie
deux propriétés souhaitées, en tenant compte du fait que, pour des mes-
Par ailleurs, cet exemple permet de se rendre compte que, à chaque mul-
très grande taille. En effet, il n’est pas possible de prévoir a priori le nom-
166
22 Payer en bitcoins ☆☆☆
« La communauté des cryptomonnaies n’a pas décidé s’ils veulent être des
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.
167
25 énigmes ludiques pour s'initier à la cryptographie
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(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-
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
dupliquer leurs pièces et les dépenser deux fois. Pour éviter ce problème
dont le rôle était de noter que la pièce avait été dépensée, afin d’invalider
La révolution conceptuelle introduite par Bitcoin est qu’il n’y a plus be-
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
modifier toutes les lignes (c’est-à-dire tous les blocs) ajoutées par
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-
nombre de zéros requis est ajusté tous les 2016 blocs, soit ap-
∗
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.
faut donc les éviter. Pour cela, le mécanisme mis en place par Bitcoin est
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-
Il est généralement estimé qu’il faut attendre six blocs (environ une
170
22 Payer en bitcoins ☆☆☆
La blockchain
monnaie, il peut également être utilisé pour d’autres finalités. Plus pré-
tiques sont utilisées pour des transactions dans le protocole Bitcoin, mais
lité des opérations, comme la blockchain mise au point en 2018 par IBM
Pour plus de détails sur les blockchains et sur Bitcoin, le lecteur peut
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
Enfin, pour simplifier, il est dit dans l’énoncé qu’une opération du processeur
la durée d’une vie humaine ne suffise pas à le découvrir par recherche exhaus-
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
ç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
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.
1. il ne se prête pas ;
4. il doit être changé s’il est cassé (si quelqu’un a pris connaissance de votre
mot de passe) ;
7. la taille compte.
Afin de mémoriser ces conseils, ce sont les mêmes que ceux donnés pour
Les mots de passe longs et aléatoires sont difficiles à deviner, mais posent
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 :
∗
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. »
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-
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).
175
25 énigmes ludiques pour s'initier à la cryptographie
176
24 Un vote naïf ☆☆
La CNIL
∗
La CNIL a été créée en 1978, en réaction à un projet de loi visant à
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-
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
∗
https://www.cnil.fr
♯
Règlement général sur la protection des données
Le logiciel libre
177
25 énigmes ludiques pour s'initier à la cryptographie
codes sources ;
sions modifiées.
quatres caractéristiques qui font qu’un logiciel est libre sont claires et
∗
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 ☆☆
peut pas réellement savoir ce qu’il se passe sur sa machine. Est-ce que le
HELLOWORLD.c
#include <stdio.h>
int main(void)
{
printf("Hello world\n") ;
return 0 ;
}
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
Internet et lui donner tous les droits pour s’exécuter sur l’ordinateur.
180
Des indices qui deviennent
25
compromettants ☆☆
« People often represent the weakest link in the security chain and are
Bruce Schneier,
fuité en 2013. Dans l’article [HN17], publié en 2017, les auteurs, Olivier Heen et
sible de le deviner en utilisant les indices, comme dans l’énigme. Il est aussi pos-
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
▶ 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-
même mot de passe, car le haché de celui-ci vaut 637, comme indiqué en
mot de passe, car le haché de celui-ci vaut 824, comme indiqué en italique
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
181
25 énigmes ludiques pour s'initier à la cryptographie
Carlton 1 to 9 122
Figure 52 – En gris, les hachés valant 709, en gras, les hachés valant 637, en
182
25 Des indices qui deviennent compromettants ☆☆
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-
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 :
Enfin, les indices laissés respectivement par Camille, Nadia, Philippe, Rémi et
Il est possible de deviner la première partie du mot de passe, 42, avec la date
tique, ainsi que le numéro de l’élément Molybdène, dont le symbole est Mo,
pelée dans la figure 53 page suivante. Enfin, il s’agit de l’âge auquel est mort le
phane est Picasso, un peintre espagnol ayant vécu en France, père du cubisme,
183
1 IA 18 VIIIA
1 1.0079 2 4.0025
2 Li Be B C N O F Ne
Lithium Beryllium Bore Carbone Azote Oxygène Fluor Néon
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
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
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
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 à
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-
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-
185
25 énigmes ludiques pour s'initier à la cryptographie
Fuites de données
1
JAN
sur Internet. Un des premiers cas, et parmi les plus célébres, est celui
lions d’utilisateurs ont fuité, alors que tous les mots de passe étaient sto-
ses utilisateurs de changer leur mot de passe. Cette fuite posait parti-
d’autres sites. Par la suite, en 2014, les données de plus de 500 millions
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
186
25 Des indices qui deviennent compromettants ☆☆
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-
page 167). En effet, tous les blocs sont enchaînés les uns aux autres par
qu’il n’est pas possible de modifier le moindre bit dans les informations
sage avec la même clé publique donne toujours le même résultat. En re-
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-
∗
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
188
Tables des figures
1 Hérodote. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Machine ENIGMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8 Alan Turing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10 Gilbert Vernam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
11 Wesley Peterson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
13 Adi Shamir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
15 Grotte circulaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
16 Quelques disquettes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
20 Ronald Rivest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
23 Craig Gentry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
26 George Sand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
28 Georges Perec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
32 Georges Painvin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
35 Claude Shannon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
189
25 énigmes ludiques pour s'initier à la cryptographie
52 En gris, les hachés valant 709, en gras, les hachés valant 637, en
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-
Martin Hellman
Science et Algorand
Sarah Hartwell
Figure 41 page 128 Charles Rackoff, avec l’aimable autorisation de Charles Ra-
ckoff
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
191
192
Liste des abréviations
CD Compact Disc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
MD Message Digest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
193
25 énigmes ludiques pour s'initier à la cryptographie
RC Rivest Cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
RVB Rouge-Vert-Bleu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
RGB Red-Green-Blue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
194
Bibliographie
[BBDP01] Mihir Bellare, Alexandra Boldyreva, Anand Desai, and David Point-
[BDLM17] Xavier Bultel, Jannik Dreier, Pascal Lafourcade, and Malika More.
[BDPR98] Mihir Bellare, Anand Desai, David Pointcheval, and Phillip Roga-
Springer, 1998.
[Bon99] Dan Boneh. Twenty years of attacks on the rsa cryptosystem. NO-
[CGPR15] David Cash, Paul Grubbs, Jason Perry, and Thomas Ristenpart.
195
25 énigmes ludiques pour s'initier à la cryptographie
Dunod, 2018.
[FS87] Amos Fiat and Adi Shamir. How to prove yourself : Practical so-
2009.
page 291–304, New York, NY, USA, 1985. Association for Compu-
ting Machinery.
[GNPR07] Ronen Gradwohl, Moni Naor, Benny Pinkas, and Guy N. Rothblum.
cipe, and Geppino Pucci, editors, Fun with Algorithms, 4th Inter-
196
Bibliographie
Springer, 2017.
[KJJ99] Paul C. Kocher, Joshua Jaffe, and Benjamin Jun. Differential po-
hellman, rsa, dss, and other systems. In Neal Koblitz, editor, Ad-
[MP19] Majid Mumtaz and Luo Ping. Forty years of attacks on the rsa
[NNR99] Moni Naor, Yael Naor, and Omer Reingold. Applied kid cryp-
197
25 énigmes ludiques pour s'initier à la cryptographie
[NS98] David Naccache and Jacques Stern. A new public key cryptosys-
’98, page 59–66, New York, NY, USA, 1998. Association for Com-
puting Machinery.
[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
[SWP00] Dawn Xiaodong Song, David A. Wagner, and Adrian Perrig. Practi-
[vDGHV10] Marten van Dijk, Craig Gentry, Shai Halevi, and Vinod Vaikunta-
198
Glossaire
Alice et Bob Ce sont les personnages les plus connus en cryptographie. Ils ont
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
sa solution page 115). Pour les intrus ou attaquants, les noms de Charlie,
l’énigme 13 page 27 et sa solution page 127). . . . . . . 13, 15, 19, 35, 45, 48, 51
clé publique, est nommé ainsi par opposition aux chiffrements de type sy-
qui peut s’en servir pour chiffrer des messages, mais seule la personne
fin des années 70. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35, 37, 93, 100, 149, 152
partagée. Cette clé est utilisée à la fois pour chiffrer un message et pour
tocoles SSH ou https. Parmi les standards de chiffrement actuels, les chif-
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
clair, à l’aide d’un algorithme de chiffrement et d’une clé, pour le rendre in-
6, 14, 17, 19, 35, 36, 46, 78, 94, 96, 100, 121, 125, 126, 152–155, 165, 166, 199
frés sans connaître la clé de déchiffrement . . . . . 5, 6, 10, 18, 22, 76, 86, 92
phiques . . . . . . . . . . . . 18, 21, 45, 46, 76, 81, 90, 93, 94, 125, 126, 149, 163, 199
. . . 13, 14, 17, 19, 36, 39, 46, 58, 79, 80, 86, 97, 100, 111, 125, 126, 149, 152, 166
frement. C’est pour cela qu’en français, il est possible d’utiliser l’expres-
n’a pas sens. Il est préférable de dire chiffrer un message. La confusion est
chiffrer, mais aussi décrypter) . . . . . . . . . 5, 10, 11, 43, 76, 78, 91, 100, 114, 126
tion d’un ensemble sur lui même. Cela revient à définir une manière dé-
comme DES et AES, les boîtes P sont des permutations. Cela permet de
200
Glossaire
sont tous basés sur des problèmes difficiles. En effet, il existe un lien ma-
frement, mais il est essentiel pour la sécurité que la clé privée ne puisse
il faut que le calcul du chiffré avec la clé publique soit facile, tandis que le
(et de la clé publique) doit être un problème difficile. . . . . . . . 100, 113, 149
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
sar, qui transforme chaque lettre de l’alphabet en une autre lettre de l’al-
sants, proposé par Conan Doyle dans une nouvelle publiée dans le re-
maine dans une certaine position. Ainsi le mot MESSAGES est chiffré en
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-
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
oracle . . . . . . . . . . . . . . . . . . . . . . . . . 13
Acrostiche . . . . . . . . . . . . . . . . . . . . 73, 80
Audacity . . . . . . . . . . . . . . . . . . . . . . . . . 178
Adams, Douglas . . . . . . . . . . . . . . . . . . 188
ADFGVX . . . . . . . . . . . . . . . . . . . . . . 50, 87
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,
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
CMYK . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
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
de Polybe . . . . . . . . . . . . . . . . . . . . 88 Colossus . . . . . . . . . . . . . . . . . . . . . . . . . 90
d’ElGamal . . . . . . 100, 125, 149, 187 Cryptanalyse . . . . 5, 6, 18, 76, 77, 86, 92
204
Index
CTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Entropie . . . . . . . . . . . . . . . . . . . . . . . . . . 92
D F
DES . . . . . 93, 94, 113, 114, 155, 200, 201 Fermat, Pierre de . . . . . . . . . . . . . . . . . 39
DROWN . . . . . . . . . . . . . . . . . . . . . . . . . 156 92
Démarate . . . . . . . . . . . . . . . . . . . . . . . . . . 4
G
E
Gödel, Kurt . . . . . . . . . . . . . . . . . . . . . . 135
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
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
Histiée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
L
Holmes, Sherlock . . . . . . . . . . . . . . . . 201
LibreOffice . . . . . . . . . . . . . . . . . . . . . . . 178
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Lipogramme . . . . . . . . . . . . . . . . . . . . . . 80
I
Liu, Chung Laung . . . . . . . . . . . . . 22, 117
105
Inkscape . . . . . . . . . . . . . . . . . . . . . . . . . 178
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
Milner, Robin . . . . . . . . . . . . . . . . . . . . . 90
Minsky, Marvin . . . . . . . . . . . . . . . . . . . 90
Molybdène . . . . . . . . . . . . . . . . . . . . . . 183 P
Monero . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Painvin, Georges . . . . . . . . . . . . . . . . . . 87
Moore, Gordon E. . . . . . . . . . . . . . . . . . 94
Palindrome . . . . . . . . . . . . . . . . . . . 79, 80
Pater Noster . . . . . . . . . . . . . . . . . . . . . . 80
Peggy . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
NIST . . . . . . . . . . 40, 93, 94, 121, 122, 140 Poitras, Laura . . . . . . . . . . . . . . . . . . . . 153
Porte dérobée . . . . . . . . . . . . . . . . . . . . . 51
207
25 énigmes ludiques pour s'initier à la cryptographie
l’absurde . . . . . . . . . . . . . . . . . . . . . 96 RSA . 18, 21, 22, 32, 36-40, 93, 100, 125,
Japonais . . . . . . . . . . . . . . . . . . . . . . 16
Nobel . . . . . . . . . . . . . . . . . . . . . . . . 90
S
Turing . . 20, 21, 26, 32, 90, 115, 152
173, 181
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
Recherche exhaustive . 17, 49, 107, 110, Snowden, Edward . . . . . . . 153, 154, 175
208
Index
Stuxnet . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Watermarking . . . . . . . . . . . . . . . . . . . . 83
Téléstiche . . . . . . . . . . . . . . . . . . . . . . . . 80
Tatouage numérique . . . . . . . . . . . . . . 83 X
TED . . . . . . . . . . . . . . . . . . . . . . . . . 154, 175
Xerxès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ThreeBallot . . . . . . . . . . . . . . . . . . . . . . . 32
Trigramme . . . . . . . . . . . . . . . . . . . . . . . . 77
Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Ver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Victor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Vigenère, Blaise de . . . . . . . . . . . . . . . . 78
Virgile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
209