NSI Tle 2023 - 2024
Cryptographie
Sécuriser l’échange de données est un aspect crucial lors de l’échange
d’informations par exemple lors d’un paiement sur internet. Il existe deux principaux
types de chiffrement de données qui permettent de rendre un message lisible
uniquement par son destinataire:
le chiffrement symétrique à clé partagée,
le chiffrement asymétrique avec une paire clé publique clé privée.
1- Cryptographie symétrique
La cryptographie symétrique, également dite à clé secrète (par opposition à la
cryptographie asymétrique), est la plus ancienne forme de chiffrement. Elle permet à
la fois de chiffrer et de déchiffrer des messages à l’aide d’un même mot clé. On a des
traces de son utilisation par les Égyptiens vers 2000 av. J.-C.
Cette technique repose sur l’utilisation d’une clé unique qui doit être connue par
l’expéditeur et le destinataire.
Il existe de nombreux chiffrements de ce type qui ont évolué en complexité au cours
du temps.
1- a Le Chiffrement César :
On décale les lettres de n rangs la clé est tout simplement n : le décalage.
Par exemple, César utilisait un décalage de 3 lettres:
Si on connait le décalage, on déchiffre le message en réalisant le décalage opposé,
moins trois lettres dans note exemple.
Si on utilise 26 lettres majuscules, il n’existe que 26 clés possibles!
Exercice 23
Mme Gharbi Nadia Page 1
NSI Tle 2023 - 2024
1- b Chiffrement par substitution
On remplace une lettre par une autre de l’alphabet, on a donc 26 ! ≈ 4 × 10exp26
26!≈4×10 exp26 clés possibles.
1- c Chiffrement de Vigenère (XVIe siècle)
Cette méthode a été mise au point durant la renaissance pour contrer la cryptanalyse
par la méthode des fréquences de lettres qui permettait de “casser” les clés de
cryptage assez facilement.
On choisit une clé sous la forme d’un mot ou d’une phrase qui donne le décalage à
appliquer qui devient alors variable.
Supposons que la clé soit ABC, les décalages successifs seront 0, 1, 2, 0, 1, 2, 0…
1- d Chiffrement de Vernam (XXe siècle)
Il s’agit d’un système parfaitement sûr, le mathématicien [Link] a montré que si
on respecte bien les 3 règles de Vernam, ce système est inviolable.
Mme Gharbi Nadia Page 2
NSI Tle 2023 - 2024
La clé doit être une suite de caractères au moins aussi longue que le message à
chiffrer.
Les caractères composant la clé doivent être choisis de façon totalement aléatoire.
Chaque clé, ou « masque », ne doit être utilisée qu’une seule fois (d’où le nom de
masque jetable).
Une méthode particulièrement efficace pour traiter le chiffrement et le déchiffrement
de messages à partir de la clé est d’utiliser la fonction logique XOR, le ou exclusif qui
a une particularité très intéressante dans notre cas.
On note M le message et S la clé secrète, XOR se note ⊕
On obtient le message chiffré C en faisant: C=M⊕S
Le déchiffrement se fait tout simplement en appliquant la même opération C⊕S=M
car:(M⊕S)⊕S=M
Application :
On souhaite transmettre le message NSI de façon privée. Le code ASCII
correspondant est 01001110 01010011 01001001.
On crée un masque aléatoirement que l’on transmet au destinataire: 11001001
11001101 01100011.
Ecrire le message chiffré C en faisant: C=M⊕S
Vérifier qu’on déchiffre par la même opération C⊕S=M .
2- Cryptographie asymétrique
La cryptographie asymétrique permet de résoudre le problème de l’échange de la clé
secrète.
Elle fut inventée par Whitfield Diffie et Martin Hellman en 1976, qui reçurent le prix
Turing de 2015 pour cette découverte.
En cryptographie asymétrique on a 2 clés:
la clé publique: Celle-ci, tout le monde peut la posséder, il n’y a aucun risque, vous
pouvez la transmettre à n’importe qui. Elle sert à chiffrer le message.
la clé privée: que seul le récepteur possède, en l’occurrence vous. Elle servira à
déchiffrer le message chiffré avec la clé publique. Pour clarifier mon charabia, une
petite illustration
Mme Gharbi Nadia Page 3
NSI Tle 2023 - 2024
Pour que cela fonctionne, il faut que la paire clé publique/clé privée ait une propriété
particulière.
Soit FP la fonction de chiffrement utilisée avec la clé publique, et FS la fonction
relative à la clé privée. Une relation particulière relie ces deux fonctions:
m=FS(FP(m))
Enfin pour que ce système fonctionne, il faut que:
la fonction FP soit facile à calculer pour tout le monde, la fonction FS soit facile à
calculer uniquement pour le détenteur de la clé privée.
Un système qui satisfait ces deux critères est le système de chiffrement RSA utilisé
pour échanger des données confidentielles sur Internet.
Cet algorithme fut inventé en 1977 par Ronald Rivest, Adi Shamir et Leonard
Adleman breveté par le MIT en 1983. Le brevet a expiré le 21 septembre 2000 ce qui
permet de l’utiliser librement depuis.
2-a Principe original
Ce système de cryptographie repose sur l’utilisation de nombres premiers et
certaines propriétés de l’arithmétique modulaire.
Mme Gharbi Nadia Page 4
NSI Tle 2023 - 2024
1- Alice et Bob ont choisi un nombre premier p et un nombre g strictement plus
petit que p (ils peuvent aussi, comme montré sur la figure, ne décider de ce
choix qu’au moment de l’échange, et se le communiquer en clair, ce qui
n’améliore pas les chances d’Ève qui cherche à casser le code)
2- Alice choisit un nombre au hasard a , élève g à la puissance a , et envoie à
Bob le nombre A=g exp a [modulo p] .
3- De même Bob choisit un nombre au hasard b , et fait de même; il transmet le
nombre B=g exp b [modulo p] à Alice
4- En élevant le nombre B reçu de Bob à la puissance a , obtient g exp ba
[modulo p] .
5- Bob fait le calcul analogue avec le nombre A reçu d’Alice et obtient g exp
ab[modulo p] , qui est le même résultat.
A la fin du protocole, Alice et Bob connaissent tous les deux le nombre g exp
ab[modulo p] mais pas Ève car elle ne peut pas calculer g exp ab[modulo p]
facilement.
2- b Exemple :
Alice et Bob ont choisi un nombre premier
p et une base Dans notre exemple, p=23 et g=5
Alice choisit un nombre secret
a=6
Elle envoie à Bob la valeur
5 exp 6[23]=8
A=g exp a[modulo p] = 5 exp 6[23]=8
Bob choisit à son tour un nombre secret
Mme Gharbi Nadia Page 5
NSI Tle 2023 - 2024
b=15
Bob envoie à Alice la valeur
5 exp 15[23]=19
B=g exp b[modulo p]=5 exp 15[23]=19
Alice peut maintenant calculer la clé secrète :
19 exp 6[23]=2
B exp a[modulo p]= 19 exp 6[23]=2
Bob fait de même et obtient la même clé qu’Alice :
8 exp 15[23]=2
A exp b [modulo p] = 8 exp 15[23]=2
3- Cryptosystèmes hybrides
Bien que le système RSA à clé publique soit a priori sûr et pratique puisqu’il n’est pas
nécessaire d’échanger la clé de chiffrement comme dans le cas du chiffrement
symétrique. On utilise en pratique plutôt un système hybride, car le système à clé
asymétrique est assez lourd à exécuter et prend du temps.
Regardons par exemple le cas d’échange d’informations sécurisées grâce au
protocole HTTPS.
1- Le client — par exemple le navigateur Web — contacte un serveur — par
exemple Wikipédia — et demande une connexion sécurisée.
2- Le serveur répond en produisant un certificat qui contient entre autres sa clé
publique.
3- Cela permet au client d’envoyer de manière secrète une clé symétrique qui
sera utilisée à tous les échanges entre le serveur et le client de façon que tous
les contenus de la communication — y compris l’adresse même du site web,
l’URL — soient chiffrées.
Mme Gharbi Nadia Page 6
NSI Tle 2023 - 2024
Dans le schéma d’échange de clés Diffie-Hellman, chaque partie génère une paire
de clés publique / privée et distribue la clé publique. Après avoir obtenu une copie
authentique des clés publiques de chacun, Alice et Bob peuvent calculer une clé
secrète partagée hors ligne. La clé secrète partagée peut être utilisée, comme clé
pour un chiffrement symétrique.
Mme Gharbi Nadia Page 7
NSI Tle 2023 - 2024
4- Le protocole HTTPS
4-1 principe de fonctionnement
4-2 Les autorités de certification
Remarque : Le certificat ne contient bien sur pas la clef privée du serveur, ce qui
compromettrait totalement la sécurité des communications
4-3 initialisation de la connexion
Mme Gharbi Nadia Page 8
NSI Tle 2023 - 2024
4-3-1 Initialisation basée sur RSA
Initialisation du protocole HTTPS avec le protocole RSA
4-3-2 Initialisation basée sur Diffie-Hellman
Mme Gharbi Nadia Page 9
NSI Tle 2023 - 2024
Initialisation du protocole HTTPS avec l’échange de clefs Diffie-Hellman signé
Remarque :
Le protocole HTTPS ne garantit en général que l’authentification du serveur. Autrement dit, le
client à la garantie de parler du bon serveur. Quand c’est nécessaire, l’authentification du
client vis-à-vis du serveur (est-ce bien ce client qui se connecte à ce site Web ?) s’effectue
ensuite (généralement par mt de passe) dans le cadre de la conversation chiffrée.
Mme Gharbi Nadia Page 10