If you're seeing this message, it means we're having trouble loading external resources on our website.

Si vous avez un filtre web, veuillez vous assurer que les domaines *. kastatic.org et *. kasandbox.org sont autorisés.

Contenu principal

Le chiffrement à clé publique (ou asymétrique)

Sur Internet, il arrive souvent que deux ordinateurs souhaitent échanger des données confidentielles. Lorsque j'introduis mon mot de passe sur l'écran de connexion de Khan Academy, je veux que mon ordinateur envoie ces données de manière sécurisée aux serveurs de Khan Academy. Je ne veux pas avoir à m'inquiéter qu'un cybercriminel puisse surveiller mon trafic Internet ou voir circuler mon mot de passe.
Illustration représentant un pirate informatique en train de voler des données. On peut voir un ordinateur portable dont l'écran est ouvert sur un navigateur et un champ de saisie pour écrire un mot de passe. Une flèche va de l'ordinateur au serveur. Au-dessus de la flèche, on peut voir un petit sac qui contient le texte "m0tdep@ssetr0pc00l" et un pirate souriant qui regarde le texte.
Les techniques de chiffrement symétrique impliquent que l'expéditeur et le destinataire utilisent la même clé pour chiffrer et déchiffrer les données. Comment mon ordinateur et le serveur de Khan Academy peuvent-ils échanger cette clé de manière sécurisée ? Si un pirate peut voir circuler mon mot de passe, il peut aussi voir la clé de chiffrement !
Illustration représentant un pirate en train de voler une clé de chiffrement. On peut voir un ordinateur portable dont l'écran est ouvert sur un navigateur et un champ de saisie pour écrire un mot de passe. Une flèche va de l'ordinateur à un serveur. Au-dessus de la flèche, on peut voir un petit sac qui contient le texte "CLÉ_TOP_SECRÈTE" et un pirate souriant qui regarde le texte.
Le chiffrement à clé publique vient à la rescousse ! Il s'agit d'une technique de chiffrement asymétrique qui utilise des clés différentes pour le chiffrement et le déchiffrement, ce qui permet aux ordinateurs de communiquer entre eux sur Internet de manière sécurisée.
Intéressons-nous de plus près aux différentes étapes de ce processus performant.

Étape 1 : Générer des clés

Chaque personne (ou son ordinateur) doit générer une paire de clés qui permet de l'identifier : une clé privée et une clé publique.
Vous pouvez générer une paire de clés ci-dessous, en utilisant le même algorithme de chiffrement RSA que celui utilisé par votre ordinateur :
Avez-vous remarqué que quelques secondes sont nécessaires pour générer les clés ? C'est parce que cette opération implique des mathématiques. Les clés sont générées en multipliant deux nombres premiers extrêmement grands, mais pour ce faire, l'algorithme doit d'abord produire plusieurs grands nombres aléatoires, jusqu'à trouver deux grands nombres premiers. Cette recherche de nombres premiers peut donc prendre un peu de temps. Pourtant, ces clés ne font que 512 bits, alors que la longueur actuellement recommandée au niveau national est de 2048, voire 3072 bits.

Étape 2 : Échanger les clés

Les ordinateurs de l'expéditeur et du destinataire échangent leurs clés publiques via un canal fiable, par exemple via un protocole TCP/IP. Les clés privées ne sont jamais échangées.
Schéma représentant l'échange des clés entre un ordinateur portable et un serveur. L'ordinateur portable est ouvert sur un navigateur et un champ de saisie contenant un mot de passe. Une flèche va du serveur à l'ordinateur et s'intitule "CLÉ_PUBLIQUE_SERVEUR". On peut voir en-dessous une autre flèche, qui va de l'ordinateur au serveur, et qui s'intitule "CLÉ_PUBLIQUE_CLIENT".

Étape 3 : Chiffrer

L'ordinateur de l'expéditeur chiffre les données confidentielles en utilisant la clé publique de l'ordinateur du destinataire et une opération mathématique.
La performance du chiffrement à clé publique réside dans cette opération mathématique. C'est une "fonction à sens unique", ce qui veut dire qu'il est extrêmement difficile pour un ordinateur d'inverser l'opération pour découvrir les données d'origine. Même la clé publique ne peut pas être utilisée pour déchiffrer les données.
Essayez vous-même, avec la clé publique que vous avez générée ci-dessus :

Étape 4 : Envoyer les données chiffrées

L'expéditeur peut maintenant transmettre de manière sûre les données chiffrées sur Internet sans avoir peur des regards curieux.
Schéma représentant l'échange des clés entre un ordinateur portable et un serveur. L'ordinateur portable est ouvert sur un navigateur et un champ de saisie contenant un mot de passe. Une flèche va du serveur à l'ordinateur portable et est accompagnée d'une chaîne de texte chiffré. Un pirate regarde ce texte d'un air insatisfait.

Étape 5 : Déchiffrement

Le destinataire peut maintenant déchiffrer le message, en utilisant sa clé privée. C'est la seule clé (au monde !) qui peut être utilisée pour déchiffrer le message.
À votre tour ! Servez-vous du message chiffré et de la clé privée que vous avez utilisés plus haut :
Une fois que vous avez réussi à déchiffrer le message, recommencez l'opération, mais en utilisant cette fois la clé publique. Comme vous pouvez le voir, cela ne fonctionne pas, puisque seule la clé privée peut permettre de déchiffrer le message.

Mais comment est-ce possible ?

Réussir à chiffrer des données avec une clé et ne pouvoir ensuite les déchiffrer qu'avec une clé différente : tout cela semble trop beau pour être vrai ! Pendant longtemps, les mathématiciens ont pensé que ce n'était pas possible. Mais heureusement, ils ont découvert un moyen dans les années 1970.
Cette fonction à sens unique repose sur la notion mathématique des nombres premiers, sur la difficulté de factoriser de grands nombres premiers, et sur l'arithmétique modulaire. Si vous souhaitez approfondir cet aspect mathématique, consultez notre cours sur la cryptographie moderne.
Nous pouvons fort heureusement tous utiliser la cryptographie à clé publique (ou asymétrique) et en tirer des bénéfices, même si nous ne comprenons pas les notions mathématiques complexes qui se cachent derrière. En réalité, nous utilisons la cryptographie à clé publique tous les jours, lorsque nous nous servons des ordinateurs et d'Internet. Imaginez alors, que ferait-on sans cette technique ?

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Vous avez des questions sur ce sujet ? Nous vous répondrons volontiers ! Posez simplement votre question dans l'espace ci-dessous !

Vous souhaitez rejoindre la discussion ?

Pas encore de posts.
Vous comprenez l'anglais ? Cliquez ici pour participer à d'autres discussions sur Khan Academy en anglais.