読み方 : イーディーにーごーごーいちきゅー
ED25519
概要
ED25519とは、「エドワーズ曲線」と呼ばれる特殊な楕円曲線を用いる公開鍵暗号を用いたデジタル署名アルゴリズムの一つ。高速な署名生成・検証と短い鍵長を両立しており、実装上の安全性にも配慮して設計されている。

特定のパラメータで構成される楕円曲線「Curve25519」に基づくエドワーズ曲線デジタル署名アルゴリズム(EdDSA:Edwards-curve Digital Signature Algorithm)である。ダニエル・バーンスタイン(Daniel J. Bernstein)氏らによって2001年に発表され、2019年にIETFによってRFC 8032として標準化された。
鍵長は秘密鍵・公開鍵ともに256ビット(32バイト)で、2048ビット鍵を用いるRSA2048方式などに比べ鍵長が極めて短いが、RSA2048と同等かそれ以上のセキュリティ強度を持つとされる。署名の生成・検証速度もRSA署名より高速で、OpenSSLによる比較では署名生成が数倍から十数倍速いとされる。
実装面では、同じ楕円曲線暗号である「ECDSA」(Elliptic Curve Digital Signature Algorithm)と比べて乱数生成への依存度が低い設計になっている。ECDSAでは署名生成時に質の低い乱数を使うと秘密鍵が漏洩する脆弱性があるが、ED25519は安全で決定論的な署名生成を採用しており、乱数の品質に依存しない。
SSH接続の鍵ペアとしての採用が進んでおり、OpenSSHでは2014年のバージョン6.5からED25519鍵に対応している。「ssh-keygen -t ed25519」コマンドで生成できるため、新規にSSH鍵を作成する際はRSAよりED25519を選ぶ構成が一般的になっている。TLSやGitの署名、パスワードマネージャ、Tor、SignalなどもED25519またはCurve25519ベースの楕円曲線暗号を採用している。