Ed25519
Ed25519 とは何ですか?
Ed25519ねじれエドワーズ曲線 edwards25519 上の EdDSA 署名方式。約 128 ビット安全性で、決定論的・高速・サイドチャネル耐性を備え、RFC 8032 で標準化されている。
Ed25519 は、エドワーズ曲線デジタル署名アルゴリズム(EdDSA)の最も広く普及した実装で、RFC 8032 で規定されています。素体 2²⁵⁵ − 19 上のねじれエドワーズ曲線 edwards25519(Curve25519 と双有理同値)を用い、32 バイトの公開鍵と 64 バイトの署名、約 128 ビットの安全性を実現します。署名は決定論的で、署名ごとのノンスは秘密鍵とメッセージから SHA-512 で導出されます。これにより、ソニーの PlayStation 3 のコード署名や、ECDSA の k を再利用した Android の Bitcoin ウォレットを破綻させた致命的なノンス再利用の失敗が排除されます。
2023 年 2 月、NIST は EdDSA(Ed25519 と Ed448)を FIPS 186-5 に追加し、実運用では遍在するのに FIPS 承認ではないという長年の隔たり——規制対象の一部の導入から締め出していた隔たり——を解消しました。Ed25519 は現在、OpenSSH、WireGuard、GnuPG、TLS 1.3、Signal、そして最新のコード署名システムの既定値です。
微妙な落とし穴は検証のセマンティクスです。曲線の余因子が 8 であるため、小位数点を受理するか、検証を余因子付きで行うかは実装ごとに異なり、あるライブラリが受理する署名を別のライブラリが拒否したり、可鍛性のある変種を許容したりします。2020 年の論文「Taming the Many EdDSA」(Chalkias、Garillot、Nikolaenko)はこれらの相違を整理しました。各バリデータがビット単位で一致しなければならないブロックチェーン(Solana、Cardano)のような合意系では重要です。RFC 8032 はより厳格な検査を推奨し、libsodium のようなライブラリは既定で強制します。
flowchart TD
SK["秘密シード"] -->|SHA-512| H["ハッシュ h0..h63"]
H --> A["スカラー a、公開鍵 A = a*B"]
H --> PR["プレフィックスバイト"]
PR --> R["r = SHA-512(prefix, M)"]
R --> RP["R = r*B"]
RP --> S["S = r + SHA-512(R, A, M)*a"]
S --> SIG["署名 = R, S<br/>64 バイト、決定論的"]
SIG --> V{"検証:<br/>8*S*B == 8*R + 8*h*A ?"}
A --> V
V -->|はい| OK["有効"]
V -->|いいえ| BAD["拒否"]● 例
- 01
`ssh-keygen -t ed25519` で生成される OpenSSH ホスト/ユーザー鍵。
- 02
Solana や Cardano などのブロックチェーンが Ed25519 で取引を署名する。
● よくある質問
Ed25519 とは何ですか?
ねじれエドワーズ曲線 edwards25519 上の EdDSA 署名方式。約 128 ビット安全性で、決定論的・高速・サイドチャネル耐性を備え、RFC 8032 で標準化されている。 サイバーセキュリティの 暗号 カテゴリに属します。
Ed25519 とはどういう意味ですか?
ねじれエドワーズ曲線 edwards25519 上の EdDSA 署名方式。約 128 ビット安全性で、決定論的・高速・サイドチャネル耐性を備え、RFC 8032 で標準化されている。
Ed25519 からどのように防御しますか?
Ed25519 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
Ed25519 の別名は何ですか?
一般的な別名: edwards25519 上の EdDSA, RFC 8032 Ed25519。