暗号化では、数学的オブジェクトである楕円曲線は、安全でないチャネルでの鍵交換や非対称暗号化などの非対称操作に使用できます。その場合、楕円曲線暗号またはECC (英語の楕円曲線暗号の頭字語から) について話します。暗号化における楕円曲線の使用は、1985 年に Neal Koblitz と Victor Miller によって独立して提案されました。
楕円曲線暗号化に使用される鍵は、RSA のような因数分解問題に基づくシステムよりも短くなります。さらに、ECC は他の方式と同等以上のセキュリティ レベルを提供します。 ECC のもう 1 つの魅力は、グループ間で双一次演算子を定義できることです。この演算子は、Weil カップリングまたはTate カップリングに基づいています。双一次演算子は、最近、ID ベースの暗号化など、暗号化においてさまざまな方法で適用されています。マイナス点は、暗号化と復号化の操作が他の方法よりも複雑になる可能性があることです。
楕円曲線に基づくシステムの強みは、楕円曲線に対応する群の離散対数の問題にあります。曲線に関する理論的開発は比較的最近のものですが、楕円曲線暗号はあまり知られておらず、その開発を妨げる多数の特許に悩まされています。
鍵交換
アリスとボブは楕円曲線について(公的に)合意している
$$ {E(a,b,p)~} $$
つまり、楕円曲線を選択します。 $$ {y^2~mod~p = (x^3+ax+b)~mod~p~} $$
。彼らはまた、ある点については公に同意している$$ {P~} $$
カーブ上にあります。アリスはこっそり整数を選びます
$$ {d_A~} $$
、ボブは整数$$ {d_B~} $$
。アリスはボブにポイントを送信します$$ {d_A P~} $$
、ボブはアリスに送信します$$ {d_B P~} $$
。それぞれ独立して計算することができます。 $$ {d_A(d_B P)=(d_A d_B) P~} $$
これは曲線の点であり、共通の秘密鍵を構成します。もしイブが彼らのやりとりを盗み見ていたなら、彼女は知っている
$$ {E(a,b,p), P, d_A P, d_B P~} $$
。計算できるようになるには$$ {d_A d_B P~} $$
、計算できることが必要です。 $$ {d_A~} $$
知っている$$ {P~} $$
そして$$ {d_A P~} $$
。これを楕円曲線上の離散対数を解くといいます。ただし、現時点では、数が十分に大きい場合、この問題を適切な時間内に解決する効果的な方法がわかりません。
実装
ドメイン設定
- シューフのアルゴリズム

キーの長さ
128ビットセキュリティのため、本体に曲線を使用しています。
$$ {\mathbb{F}_q} $$
、 または$$ {q \approx 2^{256}} $$
。
参考資料
- تعمية بالمنحنيات الإهليلجية – arabe
- Criptografia de corba el·líptica – catalan
- Kryptografie nad eliptickými křivkami – tchèque
- Elliptic Curve Cryptography – allemand
- Κρυπτογραφία ελλειπτικών καμπυλών – grec
- Elliptic-curve cryptography – anglais
