Pular para o conteúdo
ecdsa.com
RecomendadaEdwards torcida

edwards25519

A Edwards25519 é a forma de Edwards torcida da Curve25519, usada pelas assinaturas Ed25519.

edwards25519 é uma curva de Edwards torcida ax² + y² = 1 + dx²y² sobre um campo primo de 255 bits com um subgrupo de ordem prima de 253 bits e cofator 8; o nível de segurança estimado é de 128 bits. Status: recomendada para sistemas novos.

A Edwards25519 é −x² + y² = 1 + dx²y² sobre 2^255 − 19, com d = −121665/121666. Ela é birracionalmente equivalente à Curve25519, então as duas compartilham um grupo de ordem 8·n. A lei de adição dela é completa — não há casos excepcionais —, o que simplifica o código de tempo constante.

As assinaturas Ed25519 (RFC 8032 §5.1) têm 64 bytes, com chaves públicas de 32 bytes, e são determinísticas: o nonce é derivado da chave privada e da mensagem, então um gerador de números aleatórios fraco não tem como vazar a chave. O Ed25519 é usado pelo SSH (ssh-ed25519), pelo TLS 1.3, pelo DNSSEC (algoritmo 15), pelo JOSE e pelo COSE (Ed25519, RFC 9864), pela Solana e pelos serviços onion do Tor, e o FIPS 186-5 o aprova.

Como o grupo tem cofator 8, as bibliotecas divergem nos casos-limite — se a verificação multiplica pelo cofator e quais codificações de pontos fora da forma canônica elas aceitam —, de modo que a mesma assinatura pode ser verificada com sucesso em uma biblioteca e falhar em outra (Chalkias, Garillot e Nikolaenko, “Taming the many EdDSAs”).

Nomes nos padrões

PadrãoNome
RFC 8032edwards25519
RFC 8032 / RFC 8410Ed25519

Identificadores de objeto

Parâmetros de domínio

campo primo de 255 bits · cerca de 128 bits de segurança

Primo p do campo
0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed
Coeficiente a
0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec
Coeficiente d
0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3
Coordenada x do ponto base
0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a
Coordenada y do ponto base
0x6666666666666666666666666666666666666666666666666666666666666658
Ordem n do ponto base
0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed
Cofator h
0x8

Usada em

  • SSH (ssh-ed25519)
  • TLS 1.3 (ed25519)
  • DNSSEC (algorithm 15)
  • JOSE (Ed25519, EdDSA)
  • Solana
  • Signify / minisign
  • Tor onion services

Identificadores em registros

Esquemas de assinatura do TLS
ed25519 0x0807
Algoritmos JOSE
Ed25519
Curvas JWK
Ed25519
Algoritmos COSE
Ed25519 -19
Curvas elípticas COSE
Ed25519 6
Algoritmos de chave pública SSH
ssh-ed25519ssh-mldsa44-ed25519
Números de algoritmo DNSSEC
ED25519 15

Padrões e referências

Todas as curvas