Skip to content
ecdsa.com

Curve25519

Daniel J. Bernstein's 2005 Montgomery curve y² = x³ + 486662x² + x over the prime 2²⁵⁵ − 19, the basis of X25519 key exchange and, in Edwards form, of Ed25519 signatures.
Also written asCurve25519 curveedwards2551925519

Parameters (RFC 7748 §4.1, NIST SP 800-186 §3.2.2.1): A = 486662, p = 2²⁵⁵ − 19, cofactor 8, base point u = 9. The curve is twist-secure, so the u-only Montgomery ladder needs no point validation, and its birationally equivalent twisted Edwards form, Edwards25519 (SP 800-186 §3.2.3.1), has complete addition formulas suited to signatures.

Naming follows RFC 7748: Curve25519 is the curve, X25519 the Diffie–Hellman function and Ed25519 the signature scheme. The cofactor of 8 means small-order points exist; X25519 clamping and EdDSA's cofactored checks handle them, and protocols that need a prime-order group use ristretto255 (RFC 9496).

The parameters were chosen by stated, rigid criteria rather than an unexplained seed, and the arithmetic is fast in constant time. That made it the default for TLS 1.3 key shares, SSH, WireGuard, Signal, Tor, age and Noise-based protocols, and NIST added it to SP 800-186 in 2023.

Standards and references

All terms