Les clés asymétriques
I. Présentation :
Après avoir vu les clés symétriques, nous allons voir le fonctionnement des clés asymétriques, qui fonctionnent par paire, contenant une clé publique et une clé privée. La clé publique étant distribuée aux personnes qui doivent chiffrer des messages pour la personne détenant la clé privée. Une clé privée, qui, comme son nom l’indique doit rester privée puisque les messages sont déchiffrables uniquement grâce à elle.
Pour résumer, la clé publique sert à chiffrer les messages et la clé privée à la déchiffrer. Ceci ne marche donc que dans un sens, on chiffre des messages pour quelqu’un d’unique qui pourra les ouvrir. Pour que la « conversation » puisse s’effectuer de manière bidirectionnelle, il faut générer deux paires de clés : chacun garde sa clé privée et distribue sa clé publique à la partie émettrice.
II. Principe :
A travers ce schéma on voit que Florian possède une paire de clés asymétriques donc une clé privée et une clé publique, ce sera lui qui recevra les messages et qui sera les seuls à pouvoir les déchiffrer. Dans un premier temps, Florian transmet sa clé publique à Mickaël pour qu’il puisse lui transmette des messages chiffrés. Ensuite, Mickaël chiffre un message avec la clé publique reçu puis transfert le message à Florian. Pour finir, Florian déchiffre le message grâce à sa clé privée qui est la seule à pouvoir déchiffrer le message.
III. Avantage et inconvénient :
L’avantage de ce type de chiffrement c’est qu’on peut distribuer la clé publique sans risquer que les messages soient déchiffrés avec, étant donné que seul la clé privée permet de déchiffrer ses messages. L’inconvénient c’est que ça fonctionne en mode unidirectionnel uniquement à moins d’avoir deux paires de clés, et que le mode de fonctionnement est plus complexe que l’utilisation de clés symétriques et donc moins performant.
De plus, il faut bien prendre conscience qu’il est impossible de retrouver une clé privée à partir d’une clé publique.
IV. Algorithme RSA :
L’algorithme RSA (Rivest, Shamir, Adlerman) est l’algorithme le plus utilisé pour générer des clés asymétriques. Il permet de générer les clés de chiffrement jusqu’à 4096 bits, sans se fixer uniquement sur cette valeur comme c’est le cas avec l’algorithme AES pour les clés symétriques.