3) La cryptographie à clé publique

Le principe du chiffrement asymétrique

Asymétrique signifie que l'on utilise deux clés distinctes : l' une que l'on va appeler "publique", qui sert à chiffrer, et une autre, appelée "privée", qui sert à déchiffrer le message que l'on a reçu.
La clé publique est visible par tout le monde dans une sorte d'annuaire qui associe à chaque personne sa clé publique.

Elle repose sur l'utilisation d'une clé publique( qui est diffusée) et d'une clé privée( gardée secrète), l'une permet de coder le message et l'autre de le décoder. Ainsi, l'expéditeur peut utiliser la clé publique du destinataire pour coder un message que seul le destinataire( en possession de la clé privée) peut décoder, ce qui garantit la confidentialité du contenu.

Inversement, l'expéditeur peut utiliser sa propre clé privée pour coder un message que le destinataire peut décoder avec la clé publique ; c'est le mécanisme utilisé par la signature numérique pour authentifier l'auteur d'un message.
Voici un schéma qui permet d'expliquer simplement et de façon imagée le principe du chiffrement asymétrique :

 

Le fonctionnement du système RSA

 

On appellera Camille la personne qui désire recevoir un message chiffré, et Théo la personne qui envoie le message.


Choix de la clé :

Camille choisit deux grands entiers naturels premiers p et q (leur seuls diviseurs communs sont un et eux même), d'environ 100 chiffres chacun ou plus. On appelle n le produit de p et q. Soit n=pq. Puis elle choisit un entier g tel que g soit premier avec (p - 1)(q - 1). Pour finir, elle publie dans un annuaire, par exemple sur Internet, sa clef publique (RSA, n, g).

Chiffrement :
Théo souhaite transmettre un message à Camille. Il cherche dans l'annuaire la clef de chiffrement qu'elle a publiée et observe qu'il doit utiliser le système RSA avec les deux entiers n et g( prenons par exemple n = 5141 = 53 x 97 et g = 7, premier avec 52 x 96). Pour manipuler des chiffres, il remplace chaque caractère à chiffrer par son emplacement dans l'alphabet. Dans la réalité, on remplace chaque lettre par sa valeur correspondante dans la table ASCII( c'est une table de tous les caractères).
"JEVOUSAIME" devient : "10 05 22 15 21 19 01 09 13 05". Il découpe ensuite son message chiffré en blocs( appelés B) de même longueur représentant chacun un nombre plus petit que n. Le message chiffré obtenu est alors : "010 052 215 211 901 091 305".

Il calcule la puissance de chaque nombre( g étant l'exposant) . Il effectue ensuite la division euclidienne B^g par n et nomme C le reste de cette division. Théo envoie donc le message chiffré : "0755 1324 2823 3550 3763 2237 2052".

Déchiffrement :
Camille déchiffre à partir de p et q, qu'elle a gardés secrets, la clef d de déchiffrage( c'est sa clef privée) . Celle-ci est donnée par la formule g.d = 1 mod (p - 1)(q - 1) . Le modulo est une fonction informatique qui, au couple( a;b) d'entiers, associe le reste r de la division euclidienne de a et b . Ici, d vaut donc 4279. Puis elle élève chacun des blocs C du message chiffré à la puissance d. En prenant le reste de la division euclidienne C^d par n, elle retrouve B.
Elle retrouve : "010 052 215 211 901 091 305".
En regroupant les chiffres deux par deux et en remplaçant les nombres ainsi obtenus par les lettres correspondantes, elle sait enfin que Théo l'aime mais personne ne le sait .

 

-->

© Burtin Anne, Burtin Hélène, Stocklouser Jordy & Wolff Emilie

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site