Académique Documents
Professionnel Documents
Culture Documents
CM
1/87
Un peu d'histoire
Chirement symétrique
Chirement asymétrique
Le protocole HTTPS
2/87
Avec l'essor d'Internet, certains échanges comme les
achats en ligne, les démarches administratives ou encore
les transactions bancaires nécessitent de pouvoir garantir
l'authenticité et la condentialité des données échangées.
Dans ce cours, la première partie permet d'illustrer le
principe de chirement symétrique avec des exemples
classiques comme le chire de César ou bien le chirement
de Vernam. Puis de faire le lien avec des chirements
symétriques plus récents comme DES et AES.
La deuxième partie aborde le principe de chirement
asymétrique en prenant comme exemple le chirement
RSA.
La troisième partie se concentre sur l'échange d'une clef
symétrique en utilisant un protocole symétrique pour
sécuriser une communication HTTPS.
3/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes
Chirement symétrique
Chirement asymétrique
Le protocole HTTPS
5/87
Les codes secrets jalonnent l'histoire mondiale politique,
diplomatique, militaire, économique, etc.
Quelques anecdotes célèbres sont parvenues jusqu'à nous,
les premières datant de l'Antiquité grecque :
▶ message transmis sur des tablettes en bois
recouvertes de cire,
▶ message écrit sur le crâne rasé d'un esclave, et donc
caché par ses cheveux ayant repoussé,
▶ message écrit à l'encre invisible, etc.
6/87
Ces méthodes sont des exemples de stéganographie.
C'est une forme de dissimulation d'information : si un
adversaire mal intentionné trouve la cachette,
l'information lui est directement révélée.
A l'inverse, le but de la cryptographie est plutôt de
réussir à transmettre publiquement un message chiré,
de sorte qu'il reste inintelligible même s'il tombe dans les
mains de l'ennemi.
7/87
Les méthodes ancestrales de cryptographie peuvent être
séparées en deux types :
▶ les méthodes par transposition dans lesquelles on
se contente de mélanger les lettres du message,
comme une anagramme.
8/87
Par exemple, avec la scytale spartiate (ou le bâton de
Plutarque), l'expéditeur enroule une bande de cuir ou de
parchemin autour d'un bâton en bois et il écrit dessus son
message, dont les lettres seront mélangées une fois la
bande déroulée. Le destinataire n'aura alors qu'à enrouler
la bande autour d'un bâton de même diamètre pour lire le
message.
Scytale
9/87
▶ Les méthodes par substitution (qui incluent celles
par permutation).
Le chirement de César est le premier exemple connu
de substitution. Il consiste à décaler l'alphabet de trois
lettres. Par extension, on continue à appeler chirement
de César tout décalage de l'alphabet d'un nombre
arbitraire de lettres.
Chirement de César
10/87
Remarques
11/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes
12/87
On voit dans ces exemples que le système de
chirement peut facilement être deviné par l'ennemi et
qu'une notion de clef apparaît. Ceci sera formalisé par
Kerckhos en 1883 dans son traité La cryptographie
militaire, dans lequel il énonce six principes, dont trois
sont assez révolutionnaires :
▶ Le système doit être matériellement, sinon
mathématiquement indéchirable.
▶ Il faut qu'il n'exige pas le secret, et qu'il puisse sans
inconvénient tomber entre les mains de l'ennemi.
▶ La clef doit pouvoir être communiquée et retenue
sans le secours de notes écrites, et être changée ou
modiée au gré des correspondants.
13/87
La sécurité d'un système cryptographique ne doit donc pas
reposer sur le caractère secret de son mécanisme, mais
uniquement sur une donnée secrète (idéalement) de
petite taille, appelée la clef.
▶ Pour le chirement de César, la clef est la valeur
du décalage ;
▶ pour la scytale, il s'agit du diamètre du bâton.
14/87
Les systèmes mono-alphabétiques (comme César)
remplacent toujours la même lettre dans le message clair
par la même lettre dans le message chiré.
Ils sont vulnérables à une attaque par analyse de
fréquences. Si la langue du message clair est connue,
l'idée est d'étudier la répartition des lettres dans le
message chiré et de la comparer aux fréquences connes
dans cette langue.
Par exemple, en français, la lettre la plus répandue dans le
message chiré représente probablement un E.
15/87
Dans un système poly-alphabétique, une lettre du
message clair n'est pas toujours remplacée par la même
lettre dans le message chiré.
Ainsi, au xvie siècle, le système de Vigenère combine
plusieurs chirements de César suivant la position des
lettres dans le message clair.
Il est parvenu à résister aux attaques par analyse de
fréquences jusqu'aux travaux de Kasiski et Babbage qui
ont exploité son caractère cyclique à la n du xixe siècle.
Pour remédier à ce problème, la méthode du
chirement de Vernam (ou méthode du masque
jetable) fut inventée en 1912 et utilise une clef de la
taille du message.
16/87
Remarque
17/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes
18/87
La continuelle amélioration des techniques de
cryptanalyse ainsi que l'invention en 1894 de la TSF
(télégraphie sans l) par Marconi ont rendu urgent le
besoin d'un système de chirement sûr, ce qui provoqua
au XXe siècle l'essor des machines à chirer, comme :
▶ le Chire ADFGVX ; ▶ la machine Enigma ;
▶ les machines de ▶ la machine de Lorenz ;
Hagelin ; ▶ la machine Myosotis
19/87
La machine Enigma combinait astucieusement
transposition et substitution.
Machine Enigma
20/87
Réussir à déchirer certains messages a largement
inuencé l'issue de la Seconde Guerre mondiale. Alan
Turing et son équipe de Bletchley Park ont pour cela
conçu les premières machines informatiques modernes (la
Bombe, puis le Colossus pour la machine de Lorenz).
Cartes perforées
22/87
Cette machine est considérée comme l'ancêtre des
ordinateurs actuels, plusieurs dizaines d'années avant
l'invention de l'informatique moderne dans les années
1940 par Alan Turing lors des travaux de cryptanalyse
d'Enigma.
Machine de Babbage
23/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes
24/87
Après la guerre, les travaux théoriques de Shannon et
l'apparition progressive des ordinateurs ont permis deux
principales avancées dans les années 1970 :
1. Le chirement symétrique DES (Data
Encryption Standard)
2. Le chirement asymétrique : échange de
clefs de Die-Hellman en 1976 et système
RSA en 1978
Aujourd'hui, la cryptographie est utilisée quotidiennement,
notamment par les navigateurs Web des internautes, dans
le cadre des communications HTTPS et du protocole
sous-jacent SSL/TLS qui sécurisent les échanges.
25/87
Un peu d'histoire
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES
Chirement asymétrique
Le protocole HTTPS
27/87
La cryptographie (du grec ancien kruptos, caché ,
et graphein, écrire ) a pour objectif de protéger des
messages.
Le chirement consiste à transformer, à l'aide d'une
clef, un message compréhensible (dit texte clair) en un
message incompréhensible (dit texte chiré).
Il est extrêmement dicile, voire impossible, de retrouver
le texte clair à partir du texte chiré pour toute personne
qui ne dispose pas de la clef de chirement.
Le texte chiré peut alors être envoyé sur un média qui
n'est pas sécurisé, puisqu'il est incompréhensible sans la
clef.
28/87
Le chirement symétrique, ou à clef partagée, permet
de chirer et de déchirer des messages à l'aide d'une
même clef. Cette clef doit donc être partagée par
l'expéditeur et son destinataire tout en n'étant connue que
par eux.
29/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES
30/87
Le chire de César
31/87
1. La vie des douze Césars de Suétone
Pour un décalage de 3 lettres, le A devient D, le B devient
E. . .
34/87
Le chire de César est un exemple simple de chirement
symétrique.
Dans une des dernières utilisations connues, l'armée russe
chira certaines de ses communications avec le chire de
César durant la Première Guerre mondiale, mais les
analystes autrichiens et allemands cassèrent ce code très
simplement.
De nos jours, le chire de César n'est uniquement utilisé
qu'à des ns pédagogiques, car il est trop facilement
déchirable.
35/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES
36/87
Le chirement ane est, à l'instar du chire de César,
une méthode de cryptographie basée sur un chirement
par substitution mono-alphabétique, c'est-à-dire que
chaque lettre du texte clair d'origine est remplacée par une
unique autre lettre.
Pour chirer un message, on choisit deux nombres entiers
secrets a et b et on applique la fonction ane
f : x 7→ ax + b à chaque lettre du texte d'origine, où x
représente la lettre convertie en entier avec la convention
A = 0, B = 1, C = 2, etc. Si le résultat dépasse 25, on
soustrait 26 pour revenir dans l'intervalle [0; 25].
37/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES
38/87
Le chirement symétrique dit de Vernam (ou masque
jetable ) utilise comme clef partagée une chaîne de
caractères aussi longue que le message à chirer.
L'algorithme consiste alors à :
▶ faire correspondre chaque lettre du message à chirer
avec chaque lettre de la clef partagée ;
▶ décaler dans l'alphabet chaque lettre du message à
chirer. Ce décalage est égal au rang de la lettre qui
a la même position dans la clef partagée.
Cela revient à eectuer un chirement de César
avec un décalage diérent pour chaque lettre du
message à chirer.
39/87
Attention : pour garantir la sécurité de la méthode, la clef
doit être choisie de façon aléatoire et ne pourra servir
qu'une fois (d'où le nom de masque jetable).
Par exemple, le texte :
devient :
40/87
Prenons l'exemple de la lettre S à chirer. Sa lettre
correspondante dans la clef est C. Ceci occasionne un
décalage de 2 dans l'alphabet et donc la lettre S devient U.
Autre exemple : la lettre R présente 3 fois dans le message
clair est respectivement remplacée par les lettres A B et H
dans le message chiré.
Une cryptanalyse par analyse des fréquences est donc
impossible.
41/87
Une attaque par force brute n'est pas non plus réalisable,
car on peut faire dire n'importe quoi avec une clef
adéquate.
Par exemple, si on déchire awqusabiobuynhoubu
avec qwrboklepycfotdujq , on décode la phrase la
terre est plate .
42/87
Dans le cas où les données sont codées en binaire, le
décalage est alors un modulo 2 et la méthode est encore
plus simple et rapide.
En eet, on peut démontrer qu'elle consiste à utiliser un
opérateur booléen ou exclusif ou XOR sur chaque
bit du message en clair et du bit correspondant de la clef.
Le déchirement est tout aussi simple en utilisant
l'opérateur booléen XOR entre le message chiré et
la clef.
43/87
On rappelle ci-après la table de vérité de l'opérateur XOR :
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
44/87
Reprenons l'exemple de la lettre S à chirer (position 18),
avec sa lettre correspondante dans la clef qui est U
(position 21).
1810 = 100102 et 2110 = 101012
Alors : 10010 XOR 10101 = 00111
Pour déchirer : 00111 XOR 10101 = 10010 qui
correspond bien à 18 en base décimale.
45/87
Utilisé correctement, cet algorithme est théoriquement
inviolable. Il faut néanmoins faire attention à certains
écueils :
▶ Une clef de chirement déjà utilisée ne doit pas être
réutilisée puisque si deux messages ont été chirés
avec la même clef de chirement, il sut d'eectuer
une soustraction pour annuler l'eet du masque et
avec un peu plus de travail, de retrouver les deux
textes en clair.
46/87
▶ La clef se doit d'être aléatoire, par exemple en la
générant avec un générateur aléatoire. Si ce n'est pas
le cas, il est possible de retrouver la séquence qui l'a
générée.
▶ Comme la clef, aussi grande que les données
échangées, n'est pas réutilisable, il faut au préalable
partager, par un autre canal sécurisé, une assez
grande quantité de données pour permettre les futurs
échanges.
47/87
Ce système a été utilisé durant la guerre froide par le
Téléphone rouge entre le Kremlin et la Maison-Blanche,
qui était en fait plus un téléscripteur qu'un réel téléphone.
La clef , quant à elle, était échangée par valise
diplomatique.
48/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES
49/87
Le chirement AES (Advanced Encryption Standard) est
un des algorithmes les plus utilisés actuellement et il est à
l'heure actuelle considéré comme sûr.
▶ Chirement des données lors de l'ajout d'un mot de
passe à un chier PDF ou ZIP ;
▶ Sécurisation des connexions via l'utilisation de VPN.
▶ Sécurisation des données utilisateurs lors de
l'utilisation d'outils de gestion de mots de passe.
▶ Protection de serveurs multi-joueurs contre les
attaques (ex. Grand Theft Auto).
▶ Chirement des communications lors de l'utilisation
de messageries instantanées (ex. WhatsApp).
50/87
Ce chirement symétrique utilise une clef de 128, 192 ou
256 bits. Cette dernière est utilisée pour paramétrer une
suite de transformations qui permettent de chirer ou de
déchirer le message.
Le fonctionnement plus complexe de ce chirement par
bloc dépasse le cadre de ce cours. Pour aller plus loin, il
est possible de prendre connaissance, par exemple, du
cours sur le sujet édité par le laboratoire lorrain de
recherche en informatique et ses applications (LORIA) . 2
51/87
2. https://members.loria.fr/PZimmermann/cours/id12-2005-4.pdf
Un peu d'histoire
Chirement symétrique
Chirement asymétrique
Principes
Le chirement RSA
Signature numérique
Le protocole HTTPS
53/87
▶ Dans le cas du chirement symétrique, la clef est
partagée.
Elle est alors commune à l'émetteur et au récepteur
du message chiré.
Le chirement est symétrique, car une unique clef
permet à la fois de chirer et de déchirer le message.
▶ Pour le chirement asymétrique, la clef est en
fait un couple de clefs, appelées clef privée et
clef publique.
Chaque clef peut être utilisée pour chirer un
message, mais il n'est alors déchirable qu'avec
l'autre clef du couple.
54/87
▶ Dans les faits, la clef publique chire et la clef privée
déchire :
58/87
▶ Le concept de chirement asymétrique est attribué à
Whiteld Die et à Martin Hellman, qui l'ont
présenté en 1976.
Le premier exemple de chirement asymétrique est le
chirement RSA (abréviation des noms de ses
inventeurs Ronald Rivest, Adi Shamir, Loenard
Adleman).
▶ La sécurité du RSA repose sur la facilité à multiplier
deux nombres premiers entre eux et la diculté de
factoriser le produit de deux nombres premiers,
pourvu qu'ils soient susamment grands.
C'est à l'heure actuelle l'algorithme de chirement
asymétrique le plus utilisé.
59/87
▶ Pour comprendre les mécanismes sous-jacents au
chirement RSA, on pourra lire l'article édité sur
Interstices.info qui propose aussi une animation
interactive de ce chirement.
▶ Il existe d'autres algorithmes asymétriques, comme,
par exemple, la cryptographie sur les courbes qui
permet d'avoir un niveau de sécurité comparable à
celui de RSA, mais en utilisant une clef beaucoup
plus courte.
Cette clef plus courte engendre des calculs plus
rapides ainsi qu'une utilisation moins importante de
mémoire et d'énergie.
60/87
Chirement asymétrique
Principes
Le chirement RSA
Signature numérique
61/87
▶ Le chirement asymétrique permet également de
réaliser une signature numérique.
Par analogie avec la signature traditionnelle d'un
document papier, la signature numérique :
relie un document à son auteur ;
est dicilement imitable.
62/87
▶ La signature numérique est calculée à partir de la clef
privée du signataire et peut être vériée en utilisant
la clef publique du signataire.
63/87
Un peu d'histoire
Chirement symétrique
Chirement asymétrique
Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé
66/87
Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé
67/87
▶ Lors de l'accès à un site utilisant le protocole
HTTPS, le serveur envoie sa clef publique, ainsi
qu'une signature numérique de cette clef, c'est ce
qu'on appelle le certicat du site.
Pour être valide, la signature du certicat du site doit
avoir été réalisée par une autorité en laquelle le
navigateur a conance.
68/87
▶ En pratique, le navigateur ou le système
d'exploitation maintiennent une liste de clefs
publiques en laquelle ils ont conance, appelés
certicats racines, et avec lesquelles ils vérient le
certicat présenté par le serveur web.
Un principe résume correctement cette vérication :
les amis de mes amis sont mes amis . Cela
permet de ne pas avoir à stocker dans le navigateur
l'intégralité des certicats des sites sûrs
69/87
▶ L'inconvénient de cette méthode est que cette liste
de certicats racines est critique. En eet si une
entrée malveillante est ajoutée, tous les sites qui
auront été signés avec cette entrée seront considérés
comme sûrs par le navigateur.
▶ En pratique, d'autres informations sont vériées
comme la date de validité et la liste de révocations.
70/87
Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé
71/87
▶ Une fois le serveur authentié, la communication
peut commencer. Les algorithmes de chirement
asymétrique sont en général assez coûteux en temps
de calcul, c'est donc un algorithme de chirement
symétrique qui va être utilisé pour chirer les
échanges.
Le problème est alors celui du partage de la clef.
▶ Une possibilité est que le client génère une clef, puis
qu'il la partage avec le serveur en utilisant la clef
publique du serveur pour la chirer. De cette façon,
seul le serveur pourra déchirer la clef partagée et
l'échange pourra continuer en utilisant cette clef et
un algorithme symétrique.
72/87
▶ Une autre possibilité est d'utiliser un autre protocole
appelé l'échange de clefs Die-Hellman du nom de
ses auteurs, en 1976.
Cet algorithme permet aux deux participants de se
mettre d'accord sur la clef partagée, sans que celle-ci
ait à transiter, même cryptée, sur le réseau.
Cet échange est d'ailleurs obligatoire dans les
versions récentes du protocole et il est utilisé, entre
autres, par le réseau Tor.
73/87
Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé
74/87
75/87
▶ L'implémentation du protocole SSL/TLS, et donc du
protocole HTTPS, est assez complexe.
Les algorithmes utilisés en pratique sont en quelque
sorte négociés entre le client et le serveur lors de
l'établissement de la connexion.
En revanche, il faut être attentif à tous les détails
pour que la sécurité soit assurée.
76/87
▶ Aujourd'hui, la cryptographie est partout, notamment
dans les échanges informatiques pour protéger sa vie
privée, sécuriser les échanges entre entreprises ou
clients, acheter ou vendre en ligne, etc.
▶ La recherche dans le domaine est permanente, qu'elle
soit d'ordre :
mathématique : nouveaux algorithmes, nouvelles
attaques ;
informatique : augmentation de la puissance de calcul,
innovation technologique (ordinateur quantique. . .).
▶ Pour ne citer qu'un seul exemple, le chirement DES
(Data Encryption Standard), adopté comme standard
en 1976, est devenu obsolète en 2001 à cause de
l'augmentation de la puissance de calcul des
77/87
ordinateurs.
Un peu d'histoire
Chirement symétrique
Chirement asymétrique
Le protocole HTTPS
78/87
▶ Lorsque les données transitent, celles-ci peuvent-être
modiées en subissant des perturbations.
En eet, celles-ci sont transmises sous forme d'un
signal (onde) qui, s'il rencontre des obstacles (murs,
autre onde, ...), peut être altéré.
C'est par exemple ce qu'il se passe lorsque l'on est au
téléphone et que l'on entend des grésillements.
Il est donc nécessaire de pouvoir détecter et corriger
ces erreurs an de retransmettre le signal original.
C'est le rôle des codes correcteurs d'erreurs, et c'est
grâce à eux que l'on peut tenir une conversation au
téléphone sans entendre de grésillements.
79/87
Les codes correcteurs d'erreurs
Le code de Hamming
80/87
Pour illustrer comment fonctionne le code de Hamming,
faisons le petit jeu suivant : petit tour de magie
81/87
Le but est de retrouver un personnage parmi les 16 = 24.
Si on les numérote, cela revient à retrouver un nombre
entre 0 et 15.
82/87
Notons n ce nombre à trouver.
En base 2 il s'écrit : n = a3a2a1a0 avec les ai ∈ {0; 1}.
Il y a donc 4 digits à trouver et seulement 4 questions
susent si on n'a pas menti (si l'on répond oui , alors
on sait que le digit correspondant vaut 1, 0 sinon) :
▶ La première sert à trouver a0 et revient à demander
si n est impair (tous les nombres impairs ont des
lunettes, les autres non).
83/87
▶ La deuxième sert à trouver a1 et revient à
demander si n est congru à 2 ou 3 modulo 4 (2, 3, 6,
7, 10, 11, 14 et 15 : tous ces nombres ont une
chemise, les autres non).
▶ La troisième sert à trouver a2 et revient à
demander si n est congru à 4, 5, 6 ou 7 modulo 8 (4,
5, 6, 7, 12, 13, 14 et 15 : tous ces nombres ont une
moustache, les autres non).
▶ La quatrième sert à trouver a3 et revient à
demander si n est supérieur ou égal à 8 (tous ces
nombres ont des cheveux, les autres non).
84/87
Les autres questions servent à détecter la présence d'une
éventuelle erreur.
Pour celà, on rajoute 3 caractérisques que l'on
répartit sur les personnages de sorte que le nombre
minimal de diérences entre 2 personnages
diérents soit égal 3.
Si on ment 1 fois, on crée un personnage ctif qui :
▶ est à une distance de 1 du personnage choisi,
▶ est à une distance d'au moins 2 de tous les autres,
où la distance est le nombre de caractérisques qui dièrent.
☞ Il sut donc de trouver le personnage le plus
proche du personnage ctif que l'on a crée.
85/87
En revanche, si on ment 2 fois, on crée un personnage
ctif qui :
▶ est à une distance de 2 du personnage choisi,
▶ est à une distance de 1 d'un autre personnage.
86/87
Le fait de rajouter de l'information et de les répartir pour
que chacun des mots du code (ici les personnages)
soient à une distance minimale xée (aient un nombre
mininal de diérences xé) est typique des codes
correcteurs d'erreurs.
Le code de Hamming que nous venons de décrire a une
distance minimale de 3, il peut donc détecter 2
erreurs (mensonges : c'est à dire que l'on peut savoir si
l'on a menti une ou deux fois), et peut en corriger une
seule (on ne retrouve le personnage d'origine que si l'on
ment une fois, pas plus).
87/87