Pular para o conteúdo
ecdsa.com

Curva elíptica

O conjunto de pontos que satisfazem uma equação cúbica, como y² = x³ + ax + b, sobre um campo finito, com uma lei de adição de pontos que forma o grupo usado pelo ECDSA, pelo EdDSA e pelo ECDH.
Também escrito comoelliptic curveECnamed curve

Uma curva nomeada fixa os parâmetros de domínio: o primo do campo p, os coeficientes da equação, um ponto base G, a ordem prima n de G e o cofator h (a curva tem h·n pontos). A segurança é de cerca de metade do comprimento em bits de n, porque o melhor ataque genérico (o rho de Pollard) leva cerca de √n passos; assim, uma curva de 256 bits oferece cerca de 128 bits de segurança.

As curvas aparecem em três formas, com fórmulas diferentes: Weierstrass curta (P-256, P-384, P-521, secp256k1, Brainpool), Montgomery (Curve25519 e Curve448, usadas no X25519 e no X448) e Edwards torcida (Edwards25519 e Edwards448, usadas no EdDSA); o NIST SP 800-186 §2.1 define as três.

Identificadores que você vai encontrar: OIDs de curva nomeada do X.509 1.2.840.10045.3.1.7 (P-256), 1.3.132.0.34 (P-384), 1.3.132.0.35 (P-521) e 1.3.132.0.10 (secp256k1); valores crv do JOSE P-256, P-384, P-521, secp256k1, Ed25519, X25519; grupos suportados do TLS secp256r1 (23), secp384r1 (24), secp521r1 (25), x25519 (29), x448 (30). A RFC 5480 exige curvas nomeadas no PKIX, e muitas bibliotecas rejeitam certificados com parâmetros de curva explícitos.

Na prática, quem decide é o ecossistema: P-256 para a WebPKI, o WebAuthn e as chaves de hardware; Ed25519 e X25519 para SSH e protocolos modernos; secp256k1 para blockchains. O laboratório de curvas mostra a mesma aritmética em curvas pequenas o bastante para serem desenhadas.

Padrões e referências

Todos os termos