暗号
ECDSA
定義
DSA の楕円曲線版で、FIPS 186 で標準化された電子署名アルゴリズム。短い署名長と、楕円曲線離散対数問題に基づく安全性が特徴。
楕円曲線デジタル署名アルゴリズム(ECDSA)は DSA の楕円曲線版で、ANSI X9.62 や FIPS 186 で標準化されています。署名時はメッセージのハッシュを計算し、署名ごとに乱数 k を選んで、曲線のベース点と秘密鍵から組 (r, s) を生成します。検証は公開鍵、ハッシュ、(r, s) のみで行い、秘密鍵は露出しません。署名長はコンパクトで、代表的な P-256 曲線では約 64 バイトです。TLS、コード署名、JWT、多くの暗号資産(Bitcoin、Ethereum は secp256k1)で広く使われています。最大の落とし穴はノンス k の再利用や乱数品質の不足で、k の重複は秘密鍵を直接露出させます(Sony PS3 ファームウェア署名事件が有名)。確定的かつサイドチャネルに強い EdDSA(Ed25519)が現在は好まれることも多くなっています。
例
- TLS サーバー証明書では RSA に代わり ECDSA-P256 の採用が増えている。
- Bitcoin の取引は secp256k1 上の ECDSA 署名で承認される。
関連用語
楕円曲線暗号(ECC)
有限体上の楕円曲線の代数構造に基づく公開鍵暗号の総称で、RSA と同等の安全性をはるかに小さな鍵長で実現する。
デジタル署名
メッセージや文書の真正性・完全性・否認防止を証明する公開鍵暗号方式のメカニズム。
公開鍵暗号方式
公開鍵と秘密鍵のペアを用い、事前共有の秘密なしに暗号化・鍵交換・電子署名・認証を実現する暗号学の分野。
ECDH
ディフィー・ヘルマン鍵交換の楕円曲線版で、より短い鍵長と高速な演算で同等の共有秘密を導出するプロトコル。
RSA アルゴリズム
Rivest・Shamir・Adleman が 1977 年に発表した公開鍵アルゴリズム。2 つの大きな素数の積を素因数分解する難しさを安全性の根拠とする。
暗号学的ハッシュ関数
任意長の入力を固定長のダイジェストへ写す決定的な一方向関数で、衝突耐性・原像耐性・第二原像耐性を備える。