Aller au contenu
ecdsa.com
RecommandéeEdwards tordue

edwards25519

Edwards25519 est la forme d’Edwards tordue de Curve25519, utilisée par les signatures Ed25519.

edwards25519 est une courbe d’Edwards tordue ax² + y² = 1 + dx²y² sur un corps premier de 255 bits, avec un sous-groupe d’ordre premier de 253 bits et un cofacteur de 8 ; son niveau de sécurité estimé est de 128 bits. Statut : recommandée pour les nouveaux systèmes.

Edwards25519 est la courbe −x² + y² = 1 + dx²y² définie modulo 2^255 − 19, avec d = −121665/121666. Elle est birationnellement équivalente à Curve25519 : les deux partagent donc un groupe d’ordre 8·n. Sa loi d’addition est complète – il n’y a aucun cas exceptionnel –, ce qui simplifie l’écriture de code en temps constant.

Les signatures Ed25519 (RFC 8032, §5.1) font 64 octets, avec des clés publiques de 32 octets, et elles sont déterministes : le nonce est dérivé de la clé privée et du message, si bien qu’un générateur de nombres aléatoires faible ne peut pas faire fuir la clé. Ed25519 est utilisé par SSH (ssh-ed25519), TLS 1.3, DNSSEC (algorithme 15), JOSE et COSE (Ed25519, RFC 9864), Solana et les services onion de Tor, et la norme FIPS 186-5 l’approuve.

Comme le groupe a un cofacteur de 8, les bibliothèques divergent sur les cas limites – la vérification multiplie-t-elle par le cofacteur, quels encodages non canoniques de points sont acceptés –, de sorte qu’une même signature peut être vérifiée avec succès par une bibliothèque et rejetée par une autre (Chalkias, Garillot et Nikolaenko, « Taming the many EdDSAs »).

Noms dans les normes

NormeNom
RFC 8032edwards25519
RFC 8032 / RFC 8410Ed25519

Identifiants d’objet

Paramètres de domaine

corps premier de 255 bits · sécurité d’environ 128 bits

Nombre premier p du corps
0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed
Coefficient a
0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec
Coefficient d
0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3
Coordonnée x du point de base
0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a
Coordonnée y du point de base
0x6666666666666666666666666666666666666666666666666666666666666658
Ordre n du point de base
0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed
Cofacteur h
0x8

Utilisée dans

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

Identifiants dans les registres

Schémas de signature TLS
ed25519 0x0807
Algorithmes JOSE
Ed25519
Courbes JWK
Ed25519
Algorithmes COSE
Ed25519 -19
Courbes elliptiques COSE
Ed25519 6
Algorithmes de clé publique SSH
ssh-ed25519ssh-mldsa44-ed25519
Numéros d’algorithmes DNSSEC
ED25519 15

Normes et références

Toutes les courbes