Pebble Coding

ソフトウェアエンジニアによるIT関連技術や数学の備忘録

複素数体の楕円曲線等分点の群構造を調べる その1

今までは、素体の等分点の群構造を調べてきましたが、ここから複素数体の楕円曲線の等分点の群構造を調べていきます。
正確には複素数体に無限遠点(O)を追加した体での等分点です。
無限遠点がないと単位元がなくなってしまいますからね。
複素数体となると途端に難しくなってしまうのでは?という気もしますが、そんなことはありません。
むしろ簡単になります。
確かに複素数体の場合は、有理点が無限個ある場合と有限個ある場合の両方を考えることになりますが、
等分点だけを考える場合は、その群は有限群にしかなりえないので、簡単なのです。

まずは、 y^{2} = x^{3} - 2の複素数体における2等分点を考えます。
2P = O なので -P = P、これはy=0を意味します。
 0 = x^{3} - 2 を満たすxは複素数の範囲では 2^{\frac {1} {3}}, 2^{\frac {1} {3}} \zeta, 2^{\frac {1} {3}} {\zeta}^{2}の3つがあります。
ここで \zeta = {e}^{ \frac {2 \pi}  {3} i}は1の3乗根です。 1の3乗根は以下の式を満たします。
 1 + \zeta + {\zeta} ^2 = 0
なぜなら、 \zeta + {\zeta} ^2 = e ^ { \frac {2 \pi} {3} i} + e ^ { \frac { 4 \pi} {3} i} = e ^ { \frac {2 \pi} {3} i} + e ^ { \frac { - 2 \pi} {3} i} = 2 cos (\frac {2 \pi} 3) = -1

ここで、群の加法公式を思い出します。この式は複素数体においても有効です。
 y^{2} = x^{3} + A x + Bにおいて、点 P_1 = (x_1, y_1) P_2 = (x_2, y_2) ( P_1, P_2はOではないとする。)を加算したときの P_3 = (x_3, y_3)の加法公式は、

1.  x_1 \ne x_2 の場合
 x_3 = m^{2} - x_1 - x_2, y_3 = m (x_1 - x_3) - y_1, m = \frac {y_2 - y_1} {x_2 - x_1}
2.  x_1 = x_2, y_1 \ne y_2の場合
 P_1 + P_2 = O
3.  P_1 = P_2, y_1 \ne 0の場合
 x_3 = m^{2} - 2 x_1, y_3 = m (x_1 - x_3) - y_1, m = \frac { 3 {x_1}^{2} + A } {2 y_1}
4.  P_1 = P_2, y_1 = 0の場合
 P_1 + P_2 = O

これを使って計算していくと、P1 + P2 = P3、P1 + P3 = P2、P2 + P3 = P1であることが分かります。
また、全て2等分点ですから、2P1 = O, 2P2 = O, 2P3 = O です。 表にまとめて、群構造を調べます。

P1 P2 P3
P1 O
P2 P3 O
P3 P2 P1 O

x,yをあてはめていくと、

x y xy
x O
y xy O
xy y x O

 x^{2} = O, y^{2} = O
2等分点のなす群は Z_2 \times Z_2であることが分かりました。

はじめての数論 原著第3版 発見と証明の大航海‐ピタゴラスの定理から楕円曲線まで

はじめての数論 原著第3版 発見と証明の大航海‐ピタゴラスの定理から楕円曲線まで

代数学から学ぶ暗号理論: 整数論の基礎から楕円曲線暗号の実装まで

代数学から学ぶ暗号理論: 整数論の基礎から楕円曲線暗号の実装まで

プライバシーポリシー

お問い合わせ

スポンサーリンク