Chiffrement asymétrique
Imagine que tu achètes mille cadenas identiques, que tu les ouvres tous et que tu les distribues à tous ceux que tu connais. La seule clé qui va dessus, c'est toi qui la gardes. Si quelqu'un veut t'envoyer un secret, il le met dans une boîte, y clipse un de tes cadenas et la poste. À partir de ce moment-là, lui non plus n'arrive plus à la rouvrir — toi seul. Un tel cadenas n'existe pas en métal. En mathématiques, si — et c'est autre chose que ce que tu as fait au chapitre précédent : là, deux personnes se mettaient d'accord ensemble sur une clé ; ici, quelqu'un t'envoie directement un secret sans que vous ayez jamais rien convenu.
Les mots dont tu as besoin
- Paire de clés
- Deux clés qui vont mathématiquement ensemble et sont créées en même temps. Ce que l'une ferme, seule l'autre l'ouvre.
- Clé publique
- Un de ces cadenas ouverts. Tu en distribues autant que tu veux, et tu peux tranquillement la mettre sur ton profil. Qui veut t'envoyer un secret le met dans une boîte et y clipse ton cadenas.
- Clé privée
- La seule clé qui va sur tous ces cadenas. Elle reste chez toi, toujours, et sans cette clé plus aucune boîte ne s'ouvre — pas même pour celui qui l'a refermée lui-même.
- Asymétrique
- Deux clés différentes pour fermer et ouvrir. Le contraire de symétrique, où c'est la même clé.
- RSA
- Le premier système capable de faire ça, datant de 1977, nommé d'après ses trois inventeurs Rivest, Shamir et Adleman. Il utilise des nombres premiers longs de plusieurs centaines de chiffres.
À ne pas confondre avec le chapitre précédent
Tous les deux résolvent le même embarras — faire des secrets avec quelqu'un à qui tu n'as pas pu remettre une clé à l'avance — mais ils s'y prennent autrement, et cette différence, tout le monde la mélange. Y compris des gens qui devraient le savoir.
| Se mettre d'accord sur une clé (chapitre 5) | Chiffrement asymétrique (ici) | |
|---|---|---|
| Ce qui se passe | vous aboutissez ensemble à un seul secret | quelqu'un chiffre quelque chose pour toi |
| Qui participe | tous les deux, en même temps | l'expéditeur seul ; tu n'as pas besoin d'être là |
| Ce que tu obtiens | une clé partagée, avec laquelle tu fais ensuite de l'AES | un texte chiffré, tout de suite |
| La paire de clés | appartient à cet échange-là | est à toi, et le reste |
Comment ça inverse les rôles
| Symétrique (chapitre 4) | Asymétrique (ce chapitre) | |
|---|---|---|
| Clés | une seule, et il faut la partager | deux, et l'une peut être vue par tout le monde |
| Se mettre d'accord au préalable | oui, via un canal sûr | rien |
| Vitesse | ultra-rapide | lent |
| Taille maximale du message ? | illimitée | toute petite — plus petite que la clé |
Deux usages, et ce ne sont pas la même opération
Une paire de clés s'utilise de deux façons, et ça vaut la peine de les distinguer — on les confond sans arrêt, y compris dans les manuels.
| Chiffrer | Signer | |
|---|---|---|
| Qui commence | tous ceux qui veulent t'envoyer quelque chose | toi seul |
| Avec quelle clé | ta publique | ta privée |
| Qui peut faire l'autre sens | toi seul, avec ta privée | tout le monde, avec ta publique |
| Ça s'appelle | déchiffrer | vérifier, pas déchiffrer |
| À quoi ça sert | garder le secret | prouver que c'était toi |
La règle qu'on entend souvent — « ce que tu chiffres avec l'une des clés, tu ne peux le déchiffrer qu'avec l'autre » — est fausse. Elle vaut pour du RSA brut et nulle part ailleurs. Dans les systèmes sur courbes elliptiques, « chiffrer avec la clé privée » n'existe même pas : une signature est une paire de nombres dont on ne peut plus extraire le message. Vérifier n'est pas déchiffrer, c'est une égalité qui tombe juste ou pas.
La règle qui, elle, vaut partout, la voici : la clé privée fait quelque chose que seul son détenteur peut faire ; la clé publique permet à tout le monde de le viser ou de le contrôler. Signer, c'est l'objet du chapitre 7.1.
Deux familles, et une poignée de noms
Il existe plusieurs façons de fabriquer une paire de clés. Deux d'entre elles portent presque tout ce que tu utilises aujourd'hui, et chacune a droit à sa propre partie juste après.
| Famille | Repose sur | Se mettre d'accord sur une clé | Signer | Chiffrer |
|---|---|---|---|---|
| RSA | la factorisation en nombres premiers | — | RSA-PSS | RSA-OAEP |
| Courbes elliptiques | le comptage à rebours sur une courbe | ECDH | ECDSA, EdDSA | rarement |
| Nombres premiers mod p | le logarithme discret | DH (chapitre 5) | DSA — retiré | — |
| Réseaux | la recherche du plus court vecteur | ML-KEM | ML-DSA | — |
Deux choses sautent aux yeux dans ce tableau. Aucune famille ne sait tout faire — chaque colonne demande son propre algorithme. Et DSA y figure comme retiré : le service américain de normalisation, le NIST, l'a sorti en 2023 de la norme pour les nouvelles signatures, et ne l'a laissé que pour continuer à contrôler les anciennes. La dernière ligne est la plus récente et concerne l'ordinateur quantique ; on en reparlera plus tard.