概要

楕円曲線暗号(ECC:Elliptic Curve Cryptography)は、楕円曲線上の離散対数問題の困難性に基づく公開鍵暗号です。RSAと比較して短い鍵長で同等の安全性を実現できるため、スマートフォン・IoT・TLS 1.3 で広く採用されています。SC試験では鍵長の比較・ECDH と ECDSA の使い分け・前方秘匿性(PFS)との関係が頻出です。

仕組みと動作原理

ECCの鍵長とRSAの比較

安全性レベルRSA鍵長ECC鍵長備考
112ビット安全性2048ビット224ビット現在の最低基準
128ビット安全性3072ビット256ビットTLS 1.3の標準(P-256)
192ビット安全性7680ビット384ビット高セキュリティ用途
256ビット安全性15360ビット521ビット最高レベル

RSA 3072ビット ≈ ECC 256ビット という大幅な効率化が可能です。

ECDH(Elliptic Curve Diffie-Hellman)

鍵交換プロトコルです。安全でない通信路を通じて共通鍵を確立します。

1. Alice:秘密鍵 a、公開鍵 A = a×G を生成
2. Bob:秘密鍵 b、公開鍵 B = b×G を生成
3. Alice:共通秘密 = a×B = a×b×G
4. Bob:共通秘密 = b×A = b×a×G
(G:楕円曲線上のベースポイント)
ECDHによる鍵交換の流れ
1
Alice
秘密鍵 a・公開鍵 A = a×G を生成
公開鍵Aを送付
2
Bob
秘密鍵 b・公開鍵 B = b×G を生成
公開鍵Bを送付
3
Alice
共通秘密 = a×B = a×b×G を計算
4
Bob
共通秘密 = b×A = b×a×G を計算
両者が同じ共通秘密を導出

ECDHE(Ephemeral):セッションごとに新しい鍵ペアを生成。前方秘匿性(PFS)を実現します。TLS 1.3 では ECDHE のみが使用可能です。

ECDSA(Elliptic Curve Digital Signature Algorithm)

デジタル署名アルゴリズムです。メッセージの真正性と完全性を保証します。

用途説明
TLSサーバ証明書の署名ECDSAまたはRSA署名
JWTの署名方式ES256(ECDSA + SHA-256)
コード署名ソフトウェア配布の改ざん防止

前方秘匿性(PFS:Perfect Forward Secrecy)

過去のセッション鍵が漏洩しても、過去の通信内容が解読されない性質です。

方式PFS理由
RSA鍵交換(静的)サーバ秘密鍵1つで全セッションを復号可能
ECDHEセッションごとに鍵ペアを生成・破棄
DHE同上(DH版)

TLS 1.3 は PFS を強制するため、ECDHE のみ利用可能です。

RSA鍵交換(静的) と ECDHE の比較
RSA鍵交換(静的) ECDHE
前方秘匿性(PFS)
なし
あり
鍵ペアの寿命
サーバ証明書と同じ(長期)
セッションごとに生成・破棄
秘密鍵漏洩時の影響
過去の全セッションが復号可能
過去の通信は影響を受けない
TLS 1.3での扱い
廃止
必須

代表的な楕円曲線

曲線名鍵長採用状況
P-256(secp256r1)256ビットTLS・FIDO2 標準
P-384(secp384r1)384ビット高セキュリティ用途
X25519256ビットTLS 1.3 推奨・高速
Ed25519256ビットSSH・OpenPGP

SC試験での頻出ポイント

  • ECCがRSAより短い鍵長でよい理由:楕円曲線離散対数問題はRSAの素因数分解より計算困難性が高い
  • ECDHとECDSAの違い:ECDH は鍵交換(共通鍵の生成)、ECDSA はデジタル署名(認証・改ざん検知)
  • TLS 1.3でECDHEが必須な理由:PFS(前方秘匿性)を保証するため
  • ECDHE の “E” の意味:Ephemeral(一時的)。セッションごとに鍵ペアを生成・破棄する
  • 量子コンピュータとECC:Shorのアルゴリズムで楕円曲線離散対数問題も解かれる恐れがあるため、耐量子暗号(PQC)への移行が検討されている

よくある誤問・ひっかけパターン

誤り① 「ECCはRSAより鍵長が長い」→ 。同等の安全性ならECCの鍵長はRSAより大幅に短い。

誤り② 「ECDHで鍵交換した共通鍵はサーバの公開鍵で暗号化されている」→ 。ECDH は数学的演算で共通秘密を導出するため、暗号化を使いません。

誤り③ 「ECCは量子コンピュータに対して安全」→ 。ShorのアルゴリズムでECCも脆弱になります。RSAと同様に耐量子暗号への移行が必要です。

関連用語

重要キーワード

用語説明
楕円曲線離散対数問題ECCの安全性の根拠となる数学的困難問題
ECDH楕円曲線Diffie-Hellman鍵交換。共通鍵を安全に確立する
ECDHEECDHのEphemeral版。前方秘匿性(PFS)を実現
ECDSA楕円曲線デジタル署名アルゴリズム
前方秘匿性(PFS)秘密鍵が将来漏洩しても過去の通信が解読されない性質
P-256256ビットの標準的な楕円曲線。TLS・FIDO2で広く使用