🎛️ Découvre l'addition géométrique sur une courbe elliptique
Ajoute le point P à lui-même k fois. La courbe y² = x³ − x + 1 sert d'exemple. Cette opération est facile dans un sens, impossible à inverser.
Calcule kP = P + P + … + P (k fois). Géométriquement : succession de tangentes et de cordes.
Point de départ P
(0.5, 0.87)
Résultat kP
(0.94, −0.46)
Trouver k à l'envers ?
😱 Impossible
k = 2 : on calcule 2P en traçant la tangente en P, qui recoupe la courbe en un point, dont l'opposé donne 2P.
🔐 Le contexte : RSA est lourd, il faut mieux
Depuis 1977, la cryptographie asymétrique repose sur RSA (déjà couvert dans l'Atlas). RSA est génial, mais souffre d'un défaut : pour une sécurité élevée, il faut des clés énormes (2048 ou 4096 bits aujourd'hui).
En 1985, Neal Koblitz et Victor Miller proposent indépendamment une alternative : la cryptographie sur courbes elliptiques (ECC pour Elliptic Curve Cryptography). Avec des clés de seulement 256 bits, on obtient la même sécurité que RSA-3072. C'est 12 fois plus efficace.
Équivalence de sécurité (approximative)
• RSA-1024 bits ≈ ECC-160 bits
• RSA-2048 bits ≈ ECC-224 bits
• RSA-3072 bits ≈ ECC-256 bits
• RSA-15360 bits ≈ ECC-512 bits
ECC est 4 à 30 fois plus court selon le niveau de sécurité.
📐 La courbe elliptique : une équation simple, des propriétés folles
Une courbe elliptique sur les réels est définie par une équation de la forme :
y² = x³ + ax + b
avec la condition technique 4a³ + 27b² ≠ 0 (pour éviter les singularités)
Exemples : y² = x³ − x + 1 (la courbe de notre viz), y² = x³ + 7 (utilisée par Bitcoin), y² = x³ + 5 (autre choix populaire). Ces courbes ont une forme caractéristique de boucle continue ou de cusp, symétrique par rapport à l'axe des x.
➕ L'opération magique : addition géométrique de points
Voici ce qui rend les courbes elliptiques uniques : on peut définir une addition entre deux points P et Q de la courbe. La règle géométrique est :
- Trace la corde passant par P et Q.
- Elle recoupe la courbe en un troisième point R'.
- Symétrise R' par rapport à l'axe des x pour obtenir R.
- On définit P + Q = R.
Cas particulier : si P = Q (doubler un point), on prend la tangente à la courbe en P au lieu de la corde. Sinon le principe est identique.
Cette addition n'est pas l'addition usuelle des coordonnées. C'est une opération géométrique spécifique. Elle satisfait toutes les propriétés d'un groupe abélien : associative, commutative, élément neutre (le « point à l'infini »), opposé.
🚀 Multiplication scalaire : la base de la cryptographie
Une fois l'addition définie, on peut multiplier un point par un entier :
kP = P + P + P + … + P (k fois)
Calculer kP est facile : on utilise l'exponentiation rapide, qui prend environ log₂(k) opérations. Pour k de 256 bits, ça fait ≈ 256 additions de points. Quelques microsecondes sur un téléphone.
Mais le problème inverse — connaissant P et kP, retrouver k — est appelé le problème du logarithme discret elliptique (ECDLP). Pour des paramètres bien choisis, ce problème est impossible à résoudre en temps raisonnable, même avec les supercalculateurs actuels.
🌐 Le protocole de Diffie-Hellman elliptique (ECDH)
Voici comment Alice et Bob peuvent partager une clé secrète sans jamais se rencontrer :
- Ils se mettent d'accord publiquement sur une courbe E et un point générateur G.
- Alice choisit un entier secret a et calcule A = aG. Elle envoie A à Bob.
- Bob choisit un entier secret b et calcule B = bG. Il envoie B à Alice.
- Alice calcule K = aB = a·(bG) = (ab)G. Bob calcule K = bA = b·(aG) = (ab)G.
- Ils obtiennent le même point K sans avoir échangé a ni b.
Un attaquant qui intercepte A et B doit résoudre ECDLP pour retrouver a ou b. Impossible en pratique sur une bonne courbe.
🌍 Tu utilises ECC tous les jours sans le savoir
- Bitcoin et toutes les cryptomonnaies : signatures ECDSA sur la courbe secp256k1.
- WhatsApp, Signal, iMessage : protocole de double-cliquet (Double Ratchet) utilise X25519 (variante d'ECDH).
- HTTPS / TLS 1.3 : la quasi-totalité des sites HTTPS modernes utilisent ECDH ou ECDSA pour l'échange initial de clés.
- Cartes bancaires (cartes EMV) : authentification cryptographique avec ECC sur la puce.
- Apple Pay, Google Pay : tokens basés sur ECC.
- SSH, GitHub, GitLab : Ed25519 (basé sur courbes elliptiques) remplace progressivement RSA.
- Passeport biométrique : authentification avec ECC sur la puce sans contact.
🔬 Les courbes en pratique : secp256k1 (Bitcoin)
La courbe utilisée par Bitcoin est secp256k1, de l'équation :
y² = x³ + 7 (modulo un grand nombre premier de 256 bits)
Cette courbe a été conçue par les développeurs de SECG dans les années 2000. Elle a été choisie par Satoshi Nakamoto pour Bitcoin en 2008 — sans qu'il explique pourquoi (probablement pour sa simplicité algorithmique).
Le nombre premier modulo est 2²⁵⁶ − 2³² − 977. Travailler modulo un nombre premier au lieu de sur les réels rend la courbe finie (un nombre fini de points), ce qui est essentiel pour la cryptographie.
📐 Le lien avec ton programme
Les courbes elliptiques mobilisent beaucoup de notions au programme :
- Équation cartésienne d'une courbe (1BAC SM) : y² = x³ + ax + b est juste une courbe paramétrée par deux nombres.
- Tangente à une courbe (dérivée implicite, 2BAC SM) : on a besoin de la tangente pour doubler un point (P + P).
- Symétrie par rapport à un axe (collège, 1BAC) : la symétrie par rapport à l'axe des x est utilisée pour finaliser l'addition.
- Arithmétique modulaire (2BAC SM, chapitre arithmétique) : les courbes elliptiques cryptographiques travaillent modulo un grand nombre premier.
- Groupes (post-bac, prépa) : les points de la courbe forment un groupe abélien pour l'addition.
🎓 Pourquoi tu devrais comprendre ça
La cryptographie ECC est la base de toute la sécurité numérique du XXIᵉ siècle. Si tu envisages une carrière en informatique, finance, ou ingénierie, comprendre que la sécurité d'Internet repose sur une courbe d'équation y² = x³ + ax + b est un atout intellectuel énorme.
Plus profondément : ECC démontre qu'une équation mathématique abstraite peut sauver des milliards de personnes. La géométrie algébrique du XIXᵉ siècle est devenue, au XXIᵉ siècle, le fondement de notre vie privée numérique.