Aller au contenu
ecdsa.com

Curve25519

La courbe de Montgomery y² = x³ + 486662x² + x modulo le nombre premier 2²⁵⁵ − 19, publiée par Daniel J. Bernstein en 2005, qui sert de base à l’échange de clés X25519 et, sous sa forme d’Edwards, aux signatures Ed25519.
Autres graphiesCurve25519 curveedwards2551925519

Paramètres (RFC 7748 §4.1, NIST SP 800-186 §3.2.2.1) : A = 486662, p = 2²⁵⁵ − 19, cofacteur 8, point de base u = 9. La courbe est twist-secure (sa tordue est elle aussi sûre), si bien que l’échelle de Montgomery sur la seule coordonnée u ne requiert aucune validation de point, et sa forme d’Edwards tordue birationnellement équivalente, Edwards25519 (SP 800-186 §3.2.3.1), dispose de formules d’addition complètes adaptées aux signatures.

La terminologie suit la RFC 7748 : Curve25519 désigne la courbe, X25519 la fonction Diffie–Hellman et Ed25519 le schéma de signature. Le cofacteur de 8 implique l’existence de points de petit ordre ; le clamping de X25519 et les vérifications avec cofacteur d’EdDSA les neutralisent, et les protocoles qui ont besoin d’un groupe d’ordre premier utilisent ristretto255 (RFC 9496).

Les paramètres ont été choisis selon des critères explicites et rigides plutôt qu’à partir d’une graine inexpliquée, et l’arithmétique est rapide en temps constant. C’est ce qui en a fait le choix par défaut pour les key shares TLS 1.3, SSH, WireGuard, Signal, Tor, age et les protocoles fondés sur Noise, et le NIST l’a ajoutée à la SP 800-186 en 2023.

Normes et références

Tous les termes