鍵生成では、32 バイトのシードを SHA-512 でハッシュし、前半をクランプしたものが秘密スカラー、後半が nonce のプレフィックスになります。公開鍵は、点の y 座標を 32 バイトのリトルエンディアンでエンコードし、最上位ビットに x の符号を入れたもので、署名は 64 バイトの R ‖ S です。「秘密鍵」が何を指すかは API によって異なり、32 バイトのシード(RFC 8032、RFC 8410 による PKCS #8)の場合と、シードの後に公開鍵を続けた 64 バイト(NaCl、libsodium、Go の ed25519.PrivateKey)の場合があります。これは変換時のバグのよくある原因です。
識別子は次のとおりです。アルゴリズムパラメーターを省略した OID 1.3.101.112(RFC 8410)、JOSE の kty OKP、crv Ed25519(RFC 8037)、alg Ed25519(RFC 9864。多態的な EdDSA を置き換えるもの)、COSE −19(と旧来の −8)、TLS 1.3 の ed25519(0x0807)、SSH の ssh-ed25519(RFC 8709)、OpenPGP v6 のネイティブ鍵(RFC 9580)です。WebCrypto は Firefox 129、Safari 17、Chrome 137 以降で対応しています。
Apple M4 Max の 1 コアで、OpenSSL 3.6.5 は 1 秒あたり約 59,800 回の Ed25519 署名と約 24,900 回の検証を行います。FIPS 186-5 は Ed25519 を承認しています。意図的に作られたエッジケース(位数の小さい点、非正規エンコーディング、コファクターありとなしの検証式)の扱いはライブラリによって異なりますが、これが問題になるのは、多数の当事者が有効性について合意しなければならない場合だけです。
ECDSA と比べると、署名時に乱数が不要で、high-S の変種がなく、完全な加算公式を使います。主な弱点はハードウェアで、Apple の Secure Enclave や多くのスマートカード、HSM は P-256 しか提供していません。そのため、パスキーやデバイスに紐付いた鍵はほとんどが ECDSA です。