Informations sur le parcours

Titre :
Cryptographie à clé publique
Profils :
Enseignant & Lycéen, Ingénieur informatique, Enseignant-Chercheur, Etudiant
Thème :
Cryptographie
Finalité :
Pédagogique
Difficulté :
niveau 1
Auteur(s) :
Olivier Rossi
Mise à jour :
23/02/2006 à 10h18

 

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.


Les avantages et les inconvénients du chiffrement asymétrique.

L'atout principal de la cryptographie à clé publique réside dans la facilité de gestion du parc des clés des utilisateurs. En effet, l'augmentation du nombre d'utilsateurs ne complexifient pas le protocole. De plus, l'arrivée de nouveaux utilisateurs et leur intégration demande très peu d'efforts et ne modifie en rien les paramètres des autres. Pour le groupe d'utilisateurs il suffit, de manière simplifiée, de :
  • choisir un administrateur digne de confiance qui sera chargé de gérer les clés.
  • chaque utilisateur demande à l'administrateur son inscription
  • pour chaque utilisateur, l'administrateur crée une paire de clés (clé privée / clé publique)
  • l'administrateur informe secrètement chaque utilisateur de sa clé privée
  • il publie toute les clés publiques dans un annuaire
Si un nouvel utilisateur arrive, il suffit de lui créer une paire de clés et de la distribuer.
Ainsi, la cryptographie à clé publique résout le problème de distribution des clés que l'on peut rencontrer dans la cryptographie à clé privée. En effet, dans le cas symétrique, chaque membre du groupe doit s'entendre avec tout autre membre pour convenir d'une clé commune. Essayez de trouver le nombre de clés nécessaires pour un groupe de 10 personnes. Pour la cryptographie asymétrique, c'est très simple, il suffit de 10 couples de clés soit 20 clés. On vous laisse tracer un schéma pour voir qu'avec la cryptographie symétrique, 45 clés sont nécessaires. Cet écart grandira de façon impressionnante avec l'augmentation du nombre d'utilisateurs.
Néanmoins, les techniques asymétriques souffrent de leur grande lenteur. Bien sûr, il ne faut pas une heure pour chiffrer un message mais c'est bien 100 à 1000 fois plus long que certaines techniques symétriques. Dans la pratique, la cryptographie symétrique et asymétrique sont souvent combinées et on exploite leurs avantages du mieux possible pour rendre les systèmes performants. La cryptographie symétrique sert à chiffrer les messages puisque cette fonction est très rapide et la cryptographie asymétrique sert à échanger les clés entre deux utilisateurs puisqu'il faut leur donner des clés identiques et de manière sûr pour qu'ils chiffrent et déchiffrent leur message. Comme l'échange de clés ne se fait qu'une seule fois, le système n'en est que très peu ralenti.