Mettre des clés en circulation et garantir leur sécurité est considéré
aujourd'hui comme un tâche impossible. Comment échanger des clés sans
prendre le risque qu'un message soit décrypé par un tiers non autorisé
? L'idée de la réponse est d'utiliser deux clés : pour chiffrer
et
pour déchiffrer. Le destinataire du message est la seule
personne à détenir
, elle diffuse
librement. Un message
est chiffré avec une fonction
en un message
. Son
destinataire déchiffre le message avec une fonction
telle que
. Les deux fonctions
,
, et la clé
doivent pouvoir être
publiées et tomber entre les mains d'un tiers non autorisé sans qu'il
puisse déchiffrer
. Autrement dit, il doit être difficile de trouver
à partir de
,
,
et
.
On peut se représenter ce type de protocole de la façon suivante. Alice veut envoyer un message à Bob. Bob lui envoie une boîte et un cadenas ouvert. Alice place le message dans la boîte et verrouille le cadenas. Maintenant, seul le détenteur de la clé du cadenas peut ouvrir la boîte. S'il s'agit de Bob, lui seul pourra récupérer le message, même Alice ne pourra pas le faire. Le principe le la cryptographie asymétrique est le même :