上級者用語を調べる
楕円曲線暗号とは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 5 分
結論
楕円曲線暗号は、曲線上の点の足し算を使って公開鍵暗号を組み立てる方式です。RSAより短い鍵で同等の強度が得られるため、鍵やアドレスを短く保ちたいブロックチェーンで広く採用されています。名前に「楕円」とありますが、楕円そのものとは関係ありません。
要点
- 256ビットでRSA3072ビット相当の強度とされる
- 秘密鍵は整数、公開鍵は曲線上の座標
- ビットコイン系はsecp256k1を使う
- 量子計算機が実用化すれば影響を受ける方式
定義
有限体上で定義した楕円曲線上の点の演算を用いる公開鍵暗号。点の「何倍か」を求める離散対数問題が解きにくいことを安全性の根拠とする。
曲線上の2点を決まった規則で「足す」と、また曲線上の別の点になります。基準点Gをk回足した点をPとすると、kからPを求めるのは高速ですが、Pからkを求めるのは総当たり以外に効率的な方法が知られていません。このkが秘密鍵、Pが公開鍵です。
同じ強度を得るのに必要な鍵の長さは、RSAの約10分の1です。ビットコインのアドレスやイーサリアムの0xアドレスが数十文字に収まっているのはこのためで、すべてのノードが永久に保存するデータ量を小さくできます。TLSやパスポートのICチップなど、ブロックチェーン以外でも広く使われています。
使う曲線はネットワークごとに決まっています。ビットコインとイーサリアムは secp256k1、多くのWeb標準やSolanaの署名(Ed25519)は別の曲線を使います。曲線が違えば同じ秘密鍵から違うアドレスが出るため、チェーンをまたいで鍵をそのまま流用することはできません。
注意点
- · 曲線のパラメータを自分で選ぶ実装は避ける。標準曲線以外は検証が不十分なことがある
- · 量子計算機への備えとして耐量子署名の研究が進むが、現時点で移行済みの主要チェーンはない
- · 「同じ秘密鍵だから他チェーンでも同じアドレス」とは限らない