Aller au contenu
ecdsa.com

Ed25519

EdDSA sur la forme d’Edwards de Curve25519 avec SHA-512 (RFC 8032 §5.1) : clé publique de 32 octets, signature déterministe de 64, sécurité d’environ 128 bits.
Autres graphiesEd25519 signaturessh-ed25519Ed25519ctx

La génération de clé hache une graine de 32 octets avec SHA-512 : la première moitié, une fois ses bits fixés (clamping), devient le scalaire secret et la seconde moitié le préfixe du nonce. La clé publique est l’encodage little-endian sur 32 octets de la coordonnée y d’un point, avec le signe de x dans le bit de poids fort, et une signature est R ‖ S, sur 64 octets. Les API ne s’accordent pas sur le sens de « clé privée » : la graine de 32 octets (RFC 8032, PKCS #8 selon la RFC 8410) ou 64 octets formés de la graine suivie de la clé publique (NaCl, libsodium, ed25519.PrivateKey de Go), source fréquente de bugs de conversion.

Identifiants : OID 1.3.101.112 sans paramètres d’algorithme (RFC 8410) ; JOSE kty OKP, crv Ed25519 (RFC 8037) et alg Ed25519 (RFC 9864, qui remplace l’identifiant polymorphe EdDSA) ; COSE −19 (et l’ancien −8) ; TLS 1.3 ed25519 (0x0807) ; SSH ssh-ed25519 (RFC 8709) ; clés OpenPGP v6 natives (RFC 9580). WebCrypto le prend en charge à partir de Firefox 129, Safari 17 et Chrome 137.

Sur un cœur d’Apple M4 Max, OpenSSL 3.6.5 effectue environ 59 800 signatures Ed25519 et 24 900 vérifications par seconde. FIPS 186-5 approuve Ed25519. Les bibliothèques divergent sur les cas limites construits par un attaquant (points de petit ordre, encodages qui ne respectent pas la forme canonique, vérifications avec ou sans cofacteur), ce qui ne compte que là où de nombreuses parties doivent s’accorder sur la validité.

Par rapport à ECDSA, il ne nécessite aucun aléa au moment de la signature, n’a pas de variante high-S et utilise des formules d’addition complètes. Sa principale lacune est matérielle : la Secure Enclave d’Apple et de nombreuses cartes à puce et HSM ne proposent que P-256, c’est pourquoi les clés d’accès et les clés liées à un appareil sont surtout des clés ECDSA.

Normes et références

Tous les termes