本文へスキップ

ECDSAとは?

いーしーでぃーえすえー

ECDSAとは楕円曲線暗号を使ったデジタル署名アルゴリズムで、TLSやSSH・ブロックチェーンなど幅広い場面でなりすまし防止に使われます。

ECDSA(Elliptic Curve Digital Signature Algorithm)とは、楕円曲線暗号(ECC)の数学性質応用したデジタル署名アルゴリズムです。従来のRSA署名と比べ、同等の安全性をより短い鍵長で実現できる効率的なアルゴリズムとして広く普及しています。

デジタル署名全般の仕組みとして、送信者は自分の秘密鍵でデータに署名し、受信者は対応する公開鍵で「このデータが確かにその秘密鍵の持ち主から送られた」ことを検証します。ECDSAはこの署名・検証プロセスに楕円曲線上の点の演算を用います。楕円曲線離散対数問題の計算困難性が安全性の根拠です。

ECDSAの主な特徴と用途は以下の通りです。

  • 短い鍵長:256ビットのECDSAキーはRSAの3072ビット相当の強度を持つとされる
  • TLS証明書:WebサーバーのHTTPS証明書でRSAと並んで標準的に使用される
  • SSH認証:サーバーへの公開鍵認証にも採用(ed25519と並んで推奨される)
  • ブロックチェーン:ビットコインやイーサリアムのトランザクション署名に使用
  • コード署名:ソフトウェアの改ざん検知に使用

実装上の注意点として、署名生成時に使う乱数(nonce)が重複・予測可能だと秘密鍵が漏洩するリスクがあります。この問題を回避するため、RFC 6979のような決定論的署名方式が推奨されています。

使い方・例文

GitHubにSSHで接続するためのキーペアを生成する際、「ecdsa-sha2-nistp256」形式のキーを選ぶ場面でECDSAが登場します。またビットコインのウォレットアドレスもECDSAの公開鍵から生成されています。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語