Le paradigme de chiffrement à clés publiques est apparu en 1976, avec la publication
d'un ouvrage sur la cryptographie par Whitfield Diffie et Martin Hellman.
Dans un cryptosystème asymétrique (aussi appelé
cryptosystème à clés publiques), les clés existent par paires (on parle souvent de bi-clés):
- Une clé publique pour le chiffrement
- Une clé secrète pour le déchiffrement
Ainsi, dans un système de chiffrement à clé publique, les utilisateurs
choisissent une clé aléatoire dont ils sont seuls connaisseurs (il s'agit de la clé privée).
A partir de cette clé, ils déduisent chacun automatiquement un algorithme (il s'agit de la clé publique).
Les utilisateurs s'échangent cette clé publique au travers d'un canal non sécurisé.
Lorsqu'un utilisateur désire envoyer un message à un autre utilisateur, il lui suffit de chiffrer le message
à envoyer au moyen de la clé publique du destinataire (qu'il trouvera par exemple dans un serveur de clés tel qu'un annuaire). Ce dernier sera en mesure de déchiffrer le message à l'aide de sa
clé privée (qu'il est seul à connaître).
Ce système est basé sur une fonction facile à calculer dans un sens (appelée fonction à trappe à sens unique ou en anglais one-way trapdoor function), mais qui est
mathématiquement très difficile à inverser sans la clé privée (appelée trappe).
Pour faire une image avec le "monde réel", il s'agit pour un utilisateur de créer une clé aléatoire (la clé privée),
puis de fabriquer un grand nombre de cadenas (clé publique) qu'il dispose dans un casier accessible par tous (le casier joue le rôle de canal non sécurisé).
Pour lui faire parvenir un document, chaque utilisateur peut prendre un cadenas (ouvert), fermer une valisette contenant le document grâce à ce cadenas, puis envoyer la valisette
au propriétaire de la clé publique (le cadenas). Seul le propriétaire sera alors en mesure d'ouvrir la valisette avec sa clé privée.
Le problème consistant à se communiquer la clé de déchiffrement
n'existe plus, les clés publiques pouvant être envoyées librement. Le chiffrement par clés
publiques permet donc à des personnes de s'échanger des messages cryptés sans pour autant possèder
de secret en commun. En contrepartie tout le challenge consiste à (s')assurer que la clé publique que l'on récupère
est bien celle de la personne à qui l'on souhaite faire parvenir l'information chiffré !
|