楕円曲線論おまけの一歩

今回のおはなし

みなさんこんにちは。

VIPPOOL でエンジニアをやっています、星月です。
楕円曲線論はじめの一歩 (14) - VIPPOOL開発者ブログ
では、それまで実数体で定義された楕円曲線の有理点について
考察してきたのに、さらっと有限体上に再定義しました。

ここに理論の飛躍があるというご意見を頂いたので、
今回はそこについて詳しく見ていこうと思います。

準同型の厳密な定義

楕円曲線論はじめの一歩 (12) - VIPPOOL開発者ブログ
で触れた「準同型」という言葉。これが今回の鍵になります。

ここで触れた内容を数式で書いてみましょう。
楕円曲線上の点 P と Q があって、P と複素数 w_1 、Q と  w_2 が対応しています。
つまり、楕円曲線上の点からなる群 E から複素数体 C に変換する写像(関数)、
E \stackrel{f}{\to} C があって、w_1=f(P)w_2=f(Q) なわけです。

で、楕円曲線上の加法演算 A(P,Q) と、複素数体上の加算 A'(w_1,w_2)=w_1+w_2 があって、
楕円曲線上で加算した結果に対応する複素数 f(A(P,Q)) と、
先に複素数に変換して加算した A'(w_1,w_2) が等しい、ということでした。

まとめて数式で書くと
f(A(P,Q))=A'(f(P),f(Q))
ということです。

図にするとわかりやすいでしょうか。

f:id:y-hoshizuki:20200313213759p:plain

このように、楕円曲線上の点から複素数への写像と、加算演算の順番を入れ替えることができる。
もっと一般化して、「写像と演算の順序を入れ替えることができる」
というのが、準同型という言葉の意味です。

射影平面と有理点の準同型性

まず、 x=\frac{X}{Z} などと置いて3次元にした射影平面の話を思い出してください。
有理点と射影平面上の像は準同型な関係になっています。

説明の簡略化のため、X 軸だけ見てみましょう。Y 軸も同様に考えられます。

射影平面上の X 座標 G から、楕円曲線上の有理点 E の X 座標への写像
G \stackrel{g}{\to} E を考えてみましょう。

g(X,Z)=\frac{X}{Z}
写像となる関数です。有理点だけ考えているので、必ず分数で書き表せるところがポイントです。

実数上で定義された E の座標を計算するときは普通に
加算は A(x_1,x_2)=x_1+x_2 、乗算は M(x_1,x_2)=x_1 \times x_2 です。
一方、G の場合は加算 A'(X_1,Z_1,X_2,Z_2)=(X_1 \times Z_2 + X_2 \times Z_1, Z_1 \times Z_2) と定義します。
普通に通分して足してるだけです。乗算はもっと簡単 M'(X_1,Z_1,X_2,Z_2)=(X_1 \times X_2, Z_1 \times Z_2) です。

射影平面と有限体の準同型性

こちらも同じく見ていきましょう。

射影平面上の X 座標 G から、有限体 F への写像
G \stackrel{g'}{\to} F を考えてみます。

g'(X,Z)=X \times Z^{-1} \bmod p
写像となる関数です。p が素数であれば、逆元 Z^{-1} \bmod p は必ず存在するのがポイントです。

G 上での加算乗算は前述の通りなので、対応する F での演算は、
加算が A''(x_1,x_2)=x_1+x_2 \bmod p で、乗算が M''(x_1,x_2)=x_1 \times x_2 \bmod p です。

実数体上で定義した楕円曲線上の点の群と、有限体上で定義した点の群の準同型性

以上のお話から、「有理数体と射影平面が準同型」「射影平面と有限体が準同型」ということが
わかりましたね。ということは、「有理数体と有限体は準同型」ということが言えそうですね。

まとめ

今回は、楕円曲線論の最後でさらっと流した部分を詳しく見てみました。
またわかりづらい点などありましたら、ご指摘いただければ解説いたしますので、
お気軽にご意見ご感想など頂ければと思います。

今回はここまで。