🎛️ La règle d'addition géométrique P + Q
Une courbe elliptique y² = x³ + ax + b. Bouge les paramètres a et b. Deux points P et Q définissent une 3ᵉ intersection avec la courbe : sa symétrique est P+Q. C'est ainsi qu'on définit l'addition de points — la base de toute la crypto elliptique.
Point P
(−1.7, 1.5)
Point Q
(0.3, −1.7)
P + Q
(3.1, 4.9)
Trace la droite PQ → elle coupe la courbe en un 3ᵉ point R'. P + Q est la symétrique de R' par rapport à l'axe x. C'est l'addition elliptique.
🧮 Une équation très simple, des structures très riches
Une courbe elliptique est l'ensemble des points (x, y) du plan vérifiant une équation de la forme :
y² = x³ + ax + b
avec la condition de non-singularité : 4a³ + 27b² ≠ 0
Selon a et b, la courbe peut être une seule boucle, ou bien une boucle plus un « œuf » séparé. Mais peu importe la forme — ce qui compte est qu'on peut « additionner » deux points de la courbe pour en obtenir un troisième.
➕ La règle d'addition « corde-tangente »
Pour additionner deux points P et Q sur la courbe :
- Tracer la droite passant par P et Q.
- Elle coupe la courbe en un troisième point R'.
- P + Q = R = symétrique de R' par rapport à l'axe des x.
Pour additionner un point à lui-même (calculer 2P) : on prend la tangente à la courbe en P. Elle coupe la courbe en un autre point. La symétrique de ce point par rapport à l'axe des x est 2P.
Pour gérer les exceptions (droites verticales), on ajoute un « point à l'infini » noté O. Il joue le rôle d'élément neutre : P + O = P.
🎓 Le résultat fondamental : structure de groupe
Théorème (Poincaré, 1901) : muni de cette addition, l'ensemble des points d'une courbe elliptique (avec le point à l'infini) forme un groupe abélien.
- Associativité : (P + Q) + R = P + (Q + R). Démonstration non triviale !
- Élément neutre : O (le point à l'infini).
- Opposé : −P = symétrique de P par rapport à l'axe x.
- Commutativité : P + Q = Q + P (évident géométriquement).
C'est cette structure algébrique qui permet d'utiliser les courbes elliptiques en cryptographie et en théorie des nombres.
📐 Formules explicites d'addition
Pour deux points distincts P = (x₁, y₁) et Q = (x₂, y₂), P + Q = (x₃, y₃) avec :
s = (y₂ − y₁) / (x₂ − x₁)
x₃ = s² − x₁ − x₂
y₃ = s(x₁ − x₃) − y₁
Pour 2P (doublage), s devient (3x₁² + a) / (2y₁) — issue de la dérivée implicite.
🔢 Sur un corps fini : la magie cryptographique
Au lieu de travailler avec les réels, en cryptographie on prend les coordonnées dans un corps fini ℤ/pℤ avec p premier (typiquement p à 256 bits). La courbe elliptique devient un ensemble fini de points, par exemple ~2²⁵⁶ points.
L'addition reste bien définie (toutes les formules ci-dessus, calculées modulo p). La structure de groupe reste valide. Et là, on peut faire de la cryptographie.
🔐 Le problème du logarithme discret elliptique (ECDLP)
Étant donné un point P fixe sur la courbe et un autre point Q = nP (P additionné à lui-même n fois), il est :
- Facile de calculer Q à partir de n et P (algorithme « double-and-add », O(log n) opérations).
- Très difficile de retrouver n à partir de P et Q.
C'est le problème du logarithme discret elliptique (ECDLP). Aucun algorithme classique connu ne le résout plus vite que la racine de la taille du groupe.
⚡ Pourquoi ECC bat RSA : clés 10× plus courtes
- Sécurité 128 bits : RSA-3072 vs ECC-256.
- Sécurité 256 bits : RSA-15360 vs ECC-512.
Pour la même sécurité, ECC utilise des clés 10 à 30 fois plus courtes. Conséquences :
- Calculs plus rapides (essentiel pour les appareils peu puissants : cartes à puce, smartphones, IoT).
- Bande passante économisée (essentiel pour les communications par satellite, 5G, blockchain).
- Consommation électrique réduite (essentiel pour les batteries).
🎯 Le dernier théorème de Fermat : 357 ans plus tard
Au-delà de la cryptographie, les courbes elliptiques sont devenues centrales en théorie des nombres. Le dernier théorème de Fermat (1637) affirme que xⁿ + yⁿ = zⁿ n'a pas de solution entière non triviale pour n > 2.
En 1985, Gerhard Frey remarque : si une solution (a, b, c) existait à a^p + b^p = c^p (avec p premier), alors la courbe elliptique y² = x(x − a^p)(x + b^p) aurait des propriétés très étranges. Trop étranges, conjecturait Frey.
Ribet formalise (1986) : si la conjecture de Taniyama-Shimura est vraie, alors Fermat est vrai. Et Andrew Wiles consacre 7 ans (1986-1993) en secret total à démontrer Taniyama-Shimura pour les courbes elliptiques semi-stables. Résultat : 357 ans après Fermat, son dernier théorème est démontré.
La preuve fait 130 pages. Elle utilise toute la théorie moderne des courbes elliptiques. Sans elles, Fermat resterait ouvert.
💎 Conjecture de Birch et Swinnerton-Dyer : 1 million de dollars
Parmi les 7 problèmes du millénaire, l'un concerne directement les courbes elliptiques : la conjecture de Birch et Swinnerton-Dyer (1965). Elle relie le rang d'une courbe elliptique (dimension de l'ensemble de ses points rationnels) à un comportement analytique de sa fonction L.
En 2000, le Clay Institute offre 1 million de dollars à qui la démontre. Toujours ouvert après 60 ans.
📐 Le lien avec ton programme
- Arithmétique modulaire : ECC travaille dans ℤ/pℤ. Programme 2BAC SM.
- Polynômes du 3ᵉ degré : y² = x³ + ax + b. Étude de fonctions, dérivée, tangente. Programme 1BAC et 2BAC SM.
- Géométrie analytique : équation de droite passant par 2 points, intersection droite-courbe. Programme 1BAC.
- Inverse modulaire : pour les formules d'addition, il faut diviser, donc inverser modulo p. Algorithme d'Euclide étendu. Programme arithmétique 2BAC SM.
- Groupes : structure abstraite (associativité, neutre, opposé). Notion vue en prépa, mais accessible intuitivement.
- Exponentiation rapide : « double-and-add » est un cas particulier de l'exponentiation modulaire vue pour RSA.
🚀 Les courbes utilisées en pratique
- secp256k1 : Bitcoin, Ethereum (et toutes les cryptos issues). y² = x³ + 7 sur ℤ/pℤ avec p ≈ 2²⁵⁶ − 2³² − 977.
- Curve25519 (Bernstein 2005) : Signal, WhatsApp, iMessage, OpenSSH. Forme de Montgomery, conçue pour résister aux attaques par canal auxiliaire.
- NIST P-256, P-384, P-521 : standards officiels du gouvernement américain, utilisés dans TLS, smart cards, gouvernement.
- Ed25519 : variante d'Edwards de Curve25519. Standard moderne pour les signatures (SSH, GPG, OpenBSD).
- Brainpool curves : standards européens (ETSI).