Aspect historique de la cryptographie, scytale spartiate, chiffre des francs-maçons, cryptographie à clé secrète et à clé révélée, chiffrement de César et de Vigénère, puis ceux des guerres mondiales, DES, RSA et carte bancaire.
La cryptographie n'a jamais été aussi présente dans notre vie de tous les jours, tout en sachant rester discrète. A travers elle, ce sont des mathématiques qui sont mises en oeuvre dans tous les appareils et les systèmes qui nous entourent aujourd'hui.
Beaucoup de lycéens demandent à leurs professeurs à quoi servent les mathématiques et s'il est utile de passer autant de temps à les étudier.
Pour beaucoup, faire des mathématiques revient à couper les cheveux en quatre et ne les concerne pas. On peut d'ailleurs comprendre qu'en tant qu'utilisateurs et consommateurs, on puisse se contenter d'enfoncer des boutons et de poser les doigts sur des écrans tactiles pour obtenir par magie ce que l'on désire.
Qui peut imaginer qu'il utilise l'une des plus grandes découvertes en cryptographie au XXe siècle quand il insère sa carte bancaire dans le terminal d'une caisse de supermarché ?
Qui se rappelle que des mathématiques sont mises en oeuvre chaque fois qu'il se connecte à un site internet sécurisé signalé par le texte « https » ?
Qui enfin se rend compte que la moindre de ses communications sur son Smartphone utilise de l'algèbre, des anneaux de congruences, des corps finis, des matrices, et beaucoup d'arithmétique, et que les algorithmes qui en résultent forment autant de passerelles qui codent et décodent des milliards de messages en des temps records ?
Que se passe-t-il quand nous allumons notre poste de télévision pour recevoir des images ?
L'homme moderne est devenu malgré lui un utilisateur effréné des mathématiques ! Nous baignons dans les mathématiques sans nous en rendre compte.
Nous évoluons dans cet univers de plus en plus magique créé par l'esprit humain.
Cet exposé nous propose de voyager à travers le temps en examinant de nombreux systèmes mis au point par les hommes pour protéger leurs messages. L'aventure commence au Ve siècle avant J.-C. avec les conseils d'Enée le tacticien, traverse le moyen-âge en écoutant la découverte du diplomate, cryptographe, traducteur et alchimiste Vigenère, décrit les codes secrets utilisés pendant les deux guerres mondiales, puis explique le bouleversement opéré en 1976 avec la découverte de Diffie et Hellman menant à l'élaboration des systèmes cryptographiques à clés révélées, un concept indispensable pour faire fonctionner internet comme nous le connaissons aujourd'hui.
3. Certains messages ne doivent pas tomber dans les
mains de n'importe qui. Voilà des millénaires que
les hommes tentent de sécuriser les messages
qu’ils s’envoient…
Hérodote (Ve s. av. J.-C.) raconte comment
Demaratus informa Sparte que Xerxès rassemblait
la plus grande armée jamais connue pour envahir
la Grèce. Il gratta la cire de deux tablettes de bois
pliantes et grava le texte directement sur le bois,
puis recouvrit d’une couche de cire vierge. Son
messager pu avertir Sparte, et les Grecs eurent le
temps de construire 200 navires de guerre pour
remporter la bataille de Salamine.
3
4. Dans La Poliorcétique (IVe s. av. J.-C) Enée donne des conseils
pour défendre une ville ou la conquérir. Il explique plusieurs
procédés destinés à camoufler les messages, comme :
Ecrire un texte sur les boucles d'oreille d'une femme
élégante qui n'éveillera aucun soupçon,
Ecrire un message sous une image pieuse que le destinataire
grattera,
Percer un dé autant de fois qu'il y a de lettres de l'alphabet,
retenir la lettre correspondant à chaque trou, puis faire
passer un fil d'un trou à l'autre en suivant l'ordre des lettres
du message,
Ou écrire au fer rouge sur la tête d’un esclave et attendre
que ses cheveux repoussent (ruse d'Histiæus pour avertir le
roi de Milet).
4
5. Texte extrait d'un polycopié de logique combinatoire sur le problème
des ponts de Königsberg, tapé par un mathématicien de RDA et
expédié à un collègue d'Allemagne de l'Ouest.
Ce texte anodin a traversé la censure. Pourtant…
5
6. Des lettres ont été décalées pour former le message :
« nieder mit dem sowjetimperialismus »
« A bas l'impérialisme soviétique ».
6
7. Stéganos = couvert Graphein = écriture
James Bond : technique des micro-points (espions
soviétiques et allemands première moitié du XXe s.),
Encre sympathique (jus de citron),
Coquilles d’œufs durs (encre vinaigre/alun),
Message dans un clou enfoncé dans une planche,
Fichier jpeg envoyé par mél…
7
8. La stéganographie cache l'existence d'un message.
La cryptographie rend un message inintelligible.
Stéganos = couvert Kruptos = caché
8
10. Le code le plus connu en
France au XIXe s.
Utilisé pour la télégraphie et
les messages personnels
dans les journaux.
Clé : un dictionnaire et des
pages numérotées comme on
le désirait.
Messages : 8264 pour texte
n°64 à la page 82 (ou autres
combinaisons possibles).
10
11. Grèce
Ve s. av. J.-C.
Siècle de Périclès
L’un des
premiers
exemples de
chiffrement
11
12. Utilisé jusqu’au XIXe
siècle car très pratique
Pigpen = parc à cochons
12
A B C
D E F
G H I
J K L
M N O
P Q R
S
T
U
V X
Y
Z
W
RASSEMBLEMENT
16. Pendant la guerre des Gaules, Jules César (101-44
av. J.-C.) envoyait des messages chiffrés à Cicéron
qui était resté au sénat à Rome. Il envoyait des
messages où les lettres étaient décalées de 3 places
dans l'alphabet.
16
17. Solide jusqu’aux années 800.
Pour étudier des textes et savoir s’ils émanent du
prophète, les arabes initient l’analyse de
fréquences (Al-Kindi 801-873).
En Français, les 4 lettres les plus fréquentes sont
e, a, s, i. On peut aussi relever la fréquence
d’apparition des digrammes, et la façon dont les
lettres sont le plus susceptibles de se suivre…
17
18. Voici une analyse de fréquences sur le texte de l'Education
sentimentale de Gustave Flaubert :
18
20. Pour tester la sécurité d'un chiffre, il est habituel de
faire les hypothèses de Kerckhoff :
L'adversaire peut accéder à toute l'information
chiffrée : il peut lire autant de messages chiffrés
qu'il désire.
L'adversaire connait les détails de la méthode de
cryptographie employée, à l'exception de la clé.
Trois attaques sont efficaces sur le code de Vigenère.
20
21. Exemple de cryptanalyse : méthode de Kasiski
On essaie de trouver la longueur de la clé en cherchant les
répétitions dans le message chiffré. Ces répétitions
existent puisque des mots courants comme « de », « les »
ou « que » finiront par être traduits de la même façon.
Si des répétitions sont repérées avec des intervalles de
longueurs 42, 63 et 105, on déduit que la longueur de la clé
est un diviseur de pgcd(42, 63, 105) = 21.
On débute une analyse de fréquences pour chacune des
longueurs de clés possibles (ici 1, 3, 7 et 21).
21
22. Les diplomates et les militaires considéraient
Vigenère comme trop long à mettre en œuvre.
Ils préféraient utiliser des chiffres de sécurité
intermédiaire, comme des tableaux de
substitutions homophoniques…
22
27. 27
Voici un tableau extrait d’un exercice du BAC S de Pondichéry 2012
qui satisfait certainement aux exigences du programme de spécialité
de terminale S après la très pénible et abracadabrante réforme Chatel
de 2010 qui minimise l'importance des sciences dans la voie scientifique :
L’exercice portait sur un chiffrement de Hill,
un cas particulier d’un chiffrement affine.
28. Impératifs stratégiques d’un chiffre militaire :
Facile d'emploi.
Permet d'envoyer de nombreux messages chaque jour.
Assure la confidentialité pendant un laps de temps relativement court.
En 1914-18, les procédés manuels devaient obéir à la règle :
« Un message doit pouvoir être chiffré ou déchiffré
manuellement en moins d'une heure ».
Procédés cryptographiques utilisés en 1914-18 :
Substitution = principe du remplacement
Transposition = principe du mélange (anagrammes)
L'intérêt du chiffrement par transpositions est de coder un caractère de façon
différente dans chaque bloc, et ainsi de détruire les liens entre des caractères
qui se suivent. La faiblesse de ce chiffrement est de rester vulnérable à une
attaque par analyse de fréquences, car les fréquences d'apparition des
caractères restent les mêmes.
28
29. 29
1918 : Gilbert Vernam
(ingénieur AT&T) et
Joseph Mauborgne
(major de l‘US Army).
Vernam = Vigenère
avec clé à usage
unique de longueur
égale au texte à
expédier.
Sécurité absolue !
Un livre de 100 pages est donné à
l'expéditeur et au destinataire. Chaque
page contient une clé aléatoire de 100
lettres. L'expéditeur et le destinataire
utilisent une page par message à
transmettre. Chaque message est chiffré
par la méthode de Vigenère.
Utilisé pour faire
fonctionner le téléphone
rouge entre Washington
et Moscou pendant la
guerre froide !
30. Inventé par Charles
Wheatstone en 1854,
mais ce fut Lord
Playfair qui en fit une
promotion effrénée…
Wheatstone proposa ce
chiffrement au British
Foreign Office qui le
jugea extrêmement
complexe !
30
31. 31
1
•On mémorise une phrase-clé :
DANSEZ MAINTENANT JULES
2
•On supprime les lettres répétées :
DANSEZMITUL
3
•On complète dans l'ordre alphabétique (sans le J) :
DANSEZMITULBCFGHKOPQRVWXY
4
•On dispose ces lettres dans une matrice 5×5 :
32. 32
1
•Substitution des digrammes. Si 2 lettres se suivent, intercaler un X.
2
•M = DEMANDE RENFORTS IMMEDIATEMENT
3
•DE-MA-ND-ER-EN-FO-RT-SI-MX-XM-ED-IA-TE-ME-NT
4
•M’ = AD-BM-SA-YD-DS-PC-ZX-TN-VT-TV-DA-NM-SU-AU-IS
Invulnérable à une attaque basée sur les fréquences
d'apparition des caractères, mais pas si l’on étudie
les fréquences d'apparition des digrammes.
33. Utilisé par l'armée allemande dès le 5
mars 1918 pour l'offensive générale sur
Paris
Inventé par le colonel Fritz Nebel pour
reprendre l'avantage après les échecs du
chiffre allemand depuis 1914 (UBCHI,
ABC, KRU...).
1. SUBSTITUTION
Chaque caractère est remplacé par le
digramme correspondant à la ligne et la
colonne où il se trouve dans le tableau.
Exemple : U donne DG
2 étapes
33
35. 35
Arthur Scherbius (1918)
Machine à trois rotors
Armée allemande : seconde guerre mondiale
ENIGMA ressemblait à une machine à écrire. Appuyer
sur une touche du clavier faisait allumer une lampe qui
éclairait la lettre à employer dans le message chiffré.
36. 36
• 3 rotors pouvaient prendre 26 positions différentes et fonctionnaient comme des
compteurs kilométriques de voiture.
• Le réflecteur permettait de déchiffrer les messages avec la même position des rotors.
• Un tableau de connexions à fiches à la sortie du clavier permettait de relier 6×2=12
lettres entre elles L à l’aide de 6 câbles.
4×1018 clés Film U571
37. Le Data Encryption Standard est le plus connu
des chiffres à blocs et à clé symétrique. Il a été
retenu en 1977 par le U.S. National Bureau of
Standards.
Dérivé du chiffrement Lucifer.
Successeurs : Triple DES, G-DES, DES-X, LOKI
et ICE qui reprennent la même idée en
augmentant la complexité.
37
38. Schéma de Feistel
16 rondes
Clé de 64 bits utilisée
pour obtenir 16 clés
partielles
Expansions et
réductions
38
39. Claude Shannon définit deux principes généraux
concernant les chiffrements à clé secrète
La confusion doit cacher les structures algébriques
et statistiques.
La diffusion doit permettre à un bit d'information
d'avoir une influence sur une grande partie du
texte chiffré.
Le DES est construit pour qu’un seul caractère du
texte influe sur de nombreux caractères du message
chiffré.
39
Un remplaçant : l’AES (Advanced Encryption Standard) adopté par le NIST en 2001.
40. 40
Entrée bloc de 128 bits
K = Clé de
128 bits
A
Sortie bloc de 128 bits
Message de 128 bits
S
B
D
C B D
K
Transformation non
linéaire d’octets
Décalage
de lignes
Brouillage des
colonnes
Addition de la
clé de tour
Tour suivant
(10 tours)
KT = Clé
de tour
Le successeur du DES
42. Multiplication des clés - Pour sécuriser une
information entre deux partenaires, ceux-ci
doivent posséder la même clé. n abonnés
auront besoin de n² clés distinctes pour
communiquer entre eux.
Communication des clés - Comment se
communiquer des clés de chiffrement sur
internet ?
Signature – Comment certifier qu’un message
crypté avec une clé donnée provient bien du
titulaire de cette clé ?
42
43. Diffie et Hellman (1976)
Cryptosystème classique : l'émetteur E et le
récepteur R connaissent tous les deux la clé qui
permet de chiffrer et de déchiffrer.
Cryptosystème à clé révélée : le récepteur connaît la
clé C de chiffrement et la clé D de déchiffrement. Il
conserve D secrète mais donne C à tout le monde.
43
C = clé publique
ou clé révélée
D = clé secrète
48. 48
Pour chiffrer un message
Choisir 2 nombres
premiers p, q.
n = pq.
m = (p-1)(q-1)
Utiliser l’algorithme d’Euclide
Choisir c premier
avec m
Choisir d et k tels
que cd = km+1.
Calculer les clés
49. 49
Sécurité du système RSA :
Facilité d'obtenir des nombres premiers très grands.
Impossibilité de calculer la décomposition d'un grand nombre en
produit de facteurs premiers en un temps raisonnable.
Adleman 1978
Pomerance 1981
50. 50
RSA-792 bits implémenté sur les CB dès l'an 2000.
Il aurait fallu immédiatement passer au RSA-1024,
mais cela posait trop de problème : augmentation
du temps d'attente aux caisses de 10 sec pour la
procédure d'authentification, renouvellement du
parc des machines électroniques de vérification…
En 2014 : protection suffisante pour des clés de
1024 à 2048 bits.
RSA-2048 = nombre pq de l'ordre de 3×10616.
51. Les transactions par CB sont protégées par un chiffrement à clé publique (RSA)
et un chiffrement à clé secrète (à l'origine un DES, puis Triple DES et AES).
Le protocole de paiement comporte 3 vérifications :
51
52. fff
52
Authentification
de la carte
CC = clé publique de la carte
DC = clé secrète de la carte
CR = clé publique de référence
DR = la clé secrète de référence
I = valeur d'authentification
53. Terminal
Centre de contrôle
à distance
CB
Calcul de
y = f(x,K)
Envoi
de x
Envoi de x
Débuter la
procédure
Calcul de
y = f(x,K)
Envoi
de y
Envoi de y
54. 54
Problème de la pile :
• n boîtes de hauteurs respectives a1, a2, …, an.
• Inconnues x1, x2, …, xn qui ne peuvent prendre que les valeurs 0 ou 1.
• Pour une hauteur donnée h, quelles boîtes ont été utilisées ?
Il faut résoudre l’équation :
a1 x1 + a2 x2 + …+ an xn = h
Ce problème est très difficile à résoudre : si l’on emploie la force brute, il faut
réaliser 2n tests. Il s’agit donc d’un problème NP (non résoluble en temps
polynomial).
Un cas particulier va nous sauver. Si l’on suppose que pour tout entier k les
hauteurs des boîtes vérifient :
b1+ b2+ …+ bk-1 < bk
alors on sait résoudre ce problème en utilisant seulement n tests !
55. 55
k n
h>=bk
xk 1 xk 0
h h-bk
k k-1
k=0
oui non
oui
FIN
Print xk
non
h
bn
56. 56
Comment passer du problème facile à celui non résoluble en
temps polynomial ?
En utilisant l'arithmétique des congruences, bien sûr !
58. 58
Problème du logarithme discret = calcul de r connaissant gr
r gr
facile
difficile
Fonction trappe
59. 59
Fonction trappe :
r donne gr
Construction de cryptosystèmes : exponentiation,
El Gamal, courbe elliptique, courbe algébrique…
Signature des clés en
se référant à une
autorité tierce (DSA)
Echange de clés sur
un réseau (schéma de
Diffie-Hellman)
60. 60
Echange de clés : schéma de Diffie-Hellman
Anatole
choisit g et h
Bernadette
choisit k
Clé secrète
commune = ghk
g, gh
gk
1976