Pular para o conteúdo
ecdsa.com

Curve25519

A curva de Montgomery y² = x³ + 486662x² + x sobre o primo 2²⁵⁵ − 19, proposta por Daniel J. Bernstein em 2005, base da troca de chaves X25519 e, na forma de Edwards, das assinaturas Ed25519.
Também escrito comoCurve25519 curveedwards2551925519

Parâmetros (RFC 7748 §4.1, NIST SP 800-186 §3.2.2.1): A = 486662, p = 2²⁵⁵ − 19, cofator 8, ponto base u = 9. A curva é segura contra twist (twist-secure), então a escada de Montgomery que usa só a coordenada u dispensa a validação de pontos, e a forma de Edwards torcida birracionalmente equivalente a ela, a Edwards25519 (SP 800-186 §3.2.3.1), tem fórmulas de adição completas, adequadas a assinaturas.

A nomenclatura segue a RFC 7748: Curve25519 é a curva, X25519 é a função Diffie–Hellman e Ed25519 é o esquema de assinatura. O cofator 8 significa que existem pontos de ordem pequena; o ajuste (clamping) do X25519 e as verificações com cofator do EdDSA lidam com eles, e os protocolos que precisam de um grupo de ordem prima usam o ristretto255 (RFC 9496).

Os parâmetros foram escolhidos por critérios declarados e rígidos, e não a partir de uma semente sem explicação, e a aritmética é rápida em tempo constante. Por isso ela se tornou o padrão para key shares do TLS 1.3, SSH, WireGuard, Signal, Tor, age e protocolos baseados em Noise, e o NIST a incluiu no SP 800-186 em 2023.

Padrões e referências

Todos os termos