Chiffrement asymétrique
Le chiffrement asymétrique, aussi appelé chiffrement à clé publique, permet d'assurer des communications confidentielles sans que cela repose sur une clé secrète partagée au préalable comme c'était le cas pour le chiffrement symétrique.
Les algorithmes de cryptographie asymétrique sont basés sur l'utilisation d'une clé publique, c'est-à-dire connue de toutes et tous. Cette clé publique, associée à une clé privée, est utilisée dans des protocoles qui permettent de sécuriser les communications.
L'échange de clés Diffie-Hellman (1976)
C'est en 1976 que Whitfield Diffie et Martin Hellmann ont présenté le premier protocole de chiffrement asymétrique : il permet à deux participants (appelés par convention Alice et Bob) de construire une clé secrète partagée de manière sûre, à partir d'une clé publique connue de tous.
Pour établir cette clé secrète partagée, les échanges entre Alice et Bob ne sont pas chiffrés mais, même si un troisième participant (appelé Ève, malveillant) écoute tous les échanges il lui sera impossible de déterminer cette clé secrète.
Ce protocole d'échange de clés de Diffie-Hellmann est en réalité basé sur des concepts mathématiques qui dépassent le cadre du programme de Terminale NSI (un encart explique cela pour les plus curieux en-dessous). Pour comprendre le principe, une analogie est souvent faite avec des pots de peintures :
Étape 1 : Alice et Bob choisissent au préalable une peinture commune, ici le jaune. Cette couleur est connue de tous, y compris de l'intrus Ève.
Étape 2 : Alice choisit une autre couleur secrète (ici du rouge). Elle mélange la peinture commune et sa couleur secrète et obtient de l'orange. Alice envoie la couleur orange à Bob. La couleur orange est connue d'Ève.
Étape 3 : Bob fait de même : il choisit une couleur secrète (ici du cyan) qu'il mélange à la peinture commune et il obtient du bleu. Bob envoie sa couleur bleu à Alice. La couleur bleue est connue d'Ève.
Étape 4 : Alice prend la couleur reçue (le bleu) qu'elle mélange avec sa couleur secrète rouge. Elle obtient une couleur brune.
Étape 5 : Bob prend la couleur reçue (le orange) qu'il mélange avec sa couleur secrète cyan. Il obtient la même couleur brune.
À l'issue du protocole, Alice et Bob possèdent la même couleur brune qui représente la couleur secrète partagée. La sécurité du protocole réside dans le fait qu'il est difficile pour Ève d'extraire les couleurs secrètes (rouge et cyan) à partir des couleurs publiques (orange et bleue) même en connaissant la couleur commune de départ (jaune) : elle ne peut donc pas trouver la couleur brune secrète. L'analogie fonctionne car :
- si on connait une couleur \(x\) et la couleur du mélange \(M(x,y)\) entre les couleurs \(x\) et \(y\), il est « difficile » de déterminer exactement la nuance de couleur \(y\)
- le mélange de trois couleurs donne la même couleur peut importe l'ordre dans lequel on fait le mélange : \(M(M(x,y),z) = M(M(x,z),y)\).
Une fois que la clé secrète partagée (la couleur commune) est connue d'Alice et Bob, ils peuvent l'utiliser de manière symétrique pour chiffrer et déchiffrer leurs communications de manière sûre.
Remarque
Concrètement, ce ne sont pas des couleurs qu'Alice et Bob choisissent mais un nombre premier et des entiers, tous très grands, et des calculs sur ces nombres permettent de faire les « mélanges » pour obtenir d'autres nombres à partir desquels il est très compliqué de retrouver les nombres de départ. Pour en savoir plus sur la théorie mathématique derrière l'échange de clés de Diffie-Hellmann, vous pouvez consulter les sections Principe orginal et Exemple de l'article Wikipédia Diffie-Hellmann et aussi l'excellente vidéo de David Louapre : L'Algorithme qui Sécurise Internet (entre autres...)
Des variantes existent, basées sur d'autres problèmes mathématiques, encore plus difficiles à inverser.
Le protocole d'échange de clés de Diffie-Hellmann possède en revanche un point faible : il ne permet pas d'authentifier les participants. Autrement dit, Ève pourrait se faire passer pour Bob auprès d'Alice, et aurait donc accès à la clé secrète, on parle d'attaque de l'homme au milieu, ou man in the middle en anglais (que nous verrons dans la partie sur RSA).
D'autres chiffrements asymétriques, comme le chiffrement RSA, règlent ce problème d'authentification.
Passons maintenant au chiffrement RSA