Présentation de la cryptographie à clé publique.
La
cryptographie à clé publique est apparue au milieu des années 70 suite à un article paru dans
New Directions in Cryptography dont les auteurs sont Whitfield Diffie et Martin Hellman. Bien que ces derniers soient les inventeurs du concept de
cryptographie à clé publique, le premier système de cryptographie à clé publique fut exposé dans un article de Ronald Rivest, Adi Samir et Leonard Adelman en 1978. Le système cryptographique le plus célèbre venait de naître : le RSA, du nom de leurs inventeurs cités ci dessus.
La découverte des systèmes à clés publiques révolutionna le monde de la
cryptographie. Avant cette découverte, les messages codés, ou parle de messages chiffrés dans notre cas, utilisaient des techniques de cryptographie symétrique, appelée aussi cryptographie à clés privées. La différence entre cryptographie symétrique et asymétrique (en d'autres termes entre cryptographie à clés privées ou publiques) repose sur la façon de distribuer les clés et leur gestion. Le principe de la cryptographie symétrique est qu'un couple d'utilisateurs partagent la même clé pour chiffrer et déchiffrer. On se rapportera à la section
Cryptographie symétrique pour plus de précisions sur cette partie. La
cryptographie asymétrique opère de manière totalement différente. Pour simplifier les explications, nous appellerons, comme la coutume le veut, Alice et Bob deux correspondants désirant chiffrer leurs échanges de manière asymétrique. Chaque utilisateur doit choisir un couple de clés : une clé privée et une clé publique. Ce choix ne se fait pas au hasard. La correspondance entre la clé privée et la clé publique est régie par des lois mathématiques et on suppose qu'il est impossible de compléter une paire à partir de la connaissance de la clé publique d'un utilisateur (cette hypothèse est vraie en pratique puisqu'aucun ordinateur n'y est encore parvenu). Au préalable, Alice et Bob doivent s'inscrire dans un annuaire et y inscrire leur clé publique. La clé privée doit rester secrète.
Une fois passé ce préambule, la technique est simple. Si Alice veut envoyer un message à Bob, elle cherche la clé publique de Bob dans l'annuaire, et chiffre le message avec celle ci. Lorsque Bob reçoit le message, il le déchiffre en utilisant sa clé privée. Étant donné qu'il est le seul en possession de la clé pour déchiffrer, toute personne interceptant le message chiffré par Alice sera incapable de le déchiffrer s'il n'est pas en possession de la clé privée de Bob.