楕円曲線暗号(Elliptic Curve Cryptography, ECC)は、数論と代数幾何学に基づく公開鍵暗号方式である。
特に有限体上の楕円曲線の構造を利用して安全性を確保する手法として知られ、RSA暗号に比べて少ないビット数で同等の安全性を実現できる。
楕円曲線とは、一般的に次の形で表される三次方程式により定義される:
y² = x³ + ax + b
ここで、係数 a, b は、定義する体 F 上の元である。特に、上記の式が体 F 上で非退化(特異点が存在しない)であるためには、判別式がゼロでないこと、すなわち
4a³ + 27b² ≠ 0
楕円曲線上の点の集合 E(F) は、無限遠点 O を加えた集合として群構造を持ち、加法演算が定義できる。加法演算は、点の「和」を取る操作であり、次の規則に従う:
このように、楕円曲線上の点の集合はアーベル群となる。この群の構造を活用し、暗号方式が構築される。
実際の暗号応用では、有限体 Fₚ(p は素数)や拡大体 F₂ᵐ 上の楕円曲線を使用する。有限体上の楕円曲線 E(Fₚ) は有限個の点から構成され、その数は次のようにハッセの定理によって評価される:
|E(Fₚ)| = p + 1 - t,
ただし、トレース t は |t| ≤ 2√p を満たす。
ECCの代表的な応用として、楕円曲線上のディフィー・ヘルマン鍵共有(ECDH)がある。これを次のように構成する:
1. 楕円曲線 E と基点 G ∈ E(Fₚ) を公開する。
2. ユーザーAは秘密鍵 a を選び、公開鍵として P_A = aG を計算して送信する。
3. ユーザーBは秘密鍵 b を選び、公開鍵として P_B = bG を計算して送信する。
4. 双方は共通鍵として K = aP_B = bP_A = abG を計算する。
この手法の安全性は、離散対数問題、特に「楕円曲線離散対数問題(ECDLP)」に依存している。楕円曲線上の点 P と Q = nP が与えられたとき、係数 n を求めるのは計算的に難しいため、敵対者が秘密鍵を推測するのが困難である。
例えば、リーマン予想の特別な場合であるヴェイユ予想は、有限体上の楕円曲線の点の数に対する評価を与え、暗号設計の基礎となっている。
さらに、現代の暗号学では楕円曲線とモジュラー形式の関係やガロア表現といった高度な数論的構造が研究されており、これらが量子耐性を持つ新たな暗号方式の研究に貢献している。
楕円曲線暗号はこのようにして、抽象代数学、数論、代数幾何学の融合によって成り立ち、安全性と効率を両立させた暗号技術として広く利用されている。