修 士 学 位 論 文
論文題名
楕円離散対数問題に対する
elliptic net
を用いた指数計算法指導教授 内田 幸寛 准教授 平成
30
年1
月10
日 提出首都大学東京 大学院
理工学研究科 数理情報科学専攻 学修番号
16878323
氏名 髙田 尚樹
目 次
1
はじめに3
2 ECDLP
に対する指数計算法3
2.1
楕円曲線およびECDLP
の定義. . . . 4
2.2 Semaev’s summation polynomial . . . . 5
2.3 Stange’s elliptic net . . . . 5
2.4
指数計算法. . . . 6
2.5 Weil descent . . . . 7
2.6 ECDLP
に対するsummation polynomial
を用いた指数計算法. . . . 9
2.7
計算量. . . . 10
3
主結果11 3.1 elliptic net
の行列式表示. . . . 11
3.2 ECDLP
に対するelliptic net
を用いた指数計算法. . . . 14
3.3
計算量. . . . 15
4
まとめ17
5
謝辞17
1
はじめに楕円曲線暗号は現在広く使用されている代表的な公開鍵暗号方式の一つである
.
また,
実用化が 進められている公開鍵暗号方式としてペアリング暗号が挙げられる.
これらの公開鍵暗号方式は 楕円離散対数問題(ECDLP)
の難解さによって安全が保たれており, ECDLP
が解かれてしまうと 暗号も解読されてしまう. ECDLP
を解読する一つの攻撃として指数計算法がある.
指数計算法に おいて楕円曲線上の点の分解が必要となる. Semaev
は[1]
において点の分解に使用する道具とし てsummation polynomial
を提案し, Gaudry, Diem
は指数計算法においてこれを用いた.
さらに 篠原らは[2]
において,
指数計算法にsummation polynomial
を用いた場合の計算量を考察した.
点 の分解に利用できる他の方法として齋藤らは[3]
においてStange
のelliptic net
を用いている.
本 論文ではまずellitic net
を行列式の形で以下のように表した.
主定理
. Ψ
v(z)
においてv = (v
1, · · · , v
n) = (1, · · · , 1)
としたとき以下の等式が成り立つ.
c
n× Ψ
v(z) =
1 ℘(z
1) ℘
′(z
1) · · · ℘
(n−2)(z
1) 1 ℘(z
2) ℘
′(z
2) · · · ℘
(n−2)(z
2)
.. . .. . .. . . .. .. .
1 ℘(z
n) ℘
′(z
n) · · · ℘
(n−2)(z
n)
∏
1≤s<t≤n
( − ℘(z
s) + ℘(z
t))
但し
c
n= (−1)
(n−1)(n2 −2)1! 2! · · · (n − 1)!
であり, ℘(z
i)
はWeierstrass
の℘
関数である.
さらに℘(z
i) = x
i, ℘
′(z
i) = 2y
iとすると次が得られる.
1 ℘(z
1) ℘
′(z
1) · · · ℘
(n−2)(z
1) 1 ℘(z
2) ℘
′(z
2) · · · ℘
(n−2)(z
2)
.. . .. . .. . . .. .. . 1 ℘(z
n) ℘
′(z
n) · · · ℘
(n−2)(z
n)
= d
n×
1 x
1y
1x
12x
1y
1· · · · 1 x
2y
2x
22x
2y
2· · · · .. . .. . .. . .. . .. . . .. .. . 1 x
ny
nx
n2x
ny
n· · · ·
但し右辺各行の末項は
n
が偶数のときx
in2, n
が奇数のときx
in−32y
iであり, d
n= 1! 2! · · · (n − 1)!.
さらに主定理と
[3]
の定理より次の系を得た.
系
.
有限体F
qとP
i= (x
i, y
i)
である楕円曲線上の点P
1, · · · , P
n∈ E(F
q)(
但しP
i̸= O
かつP
i̸=
±P
j)
に対してP
1+ · · · + P
n= O ⇐⇒
1 x
1y
1x
12x
1y
1· · · · 1 x
2y
2x
22x
2y
2· · · ·
.. . .. . .. . .. . .. . . .. .. .
1 x
ny
nx
n2x
ny
n· · · ·
= 0
この系を指数計算法に適用することで点の分解において解かなくてはならない連立方程式の 構成にかかる計算量を考察した
.
結果,
連立方程式の構成にかかる計算量は理論上summation polynomial
を用いた場合より小さくなることがわかった.
以下2
章で楕円曲線, ECDLP, summation polynomial, elliptic net
の定義および先行研究であるsummation polynomial
を用いた指数計算法 について述べ, 3
章で本論文の主定理の証明および計算量の評価を与え, 4
章でまとめを行う.
2 ECDLP
に対する指数計算法ECDLP
に対する攻撃法の一つとして知られる指数計算法(index calculus)
について説明する.
2.1
楕円曲線およびECDLP
の定義 楕円曲線およびECDLP
の定義を与える.
定義2.1.
標数が2, 3
でない体K
上の3
次曲線E : y
2= x
3+ Ax + B (A, B ∈ K
であり4A
3+ 27B
2̸ = 0
を満たす)
をK
上の楕円曲線という.
集合
E(K)
を次のように定める.
E(K) := { (x, y) ∈ K
2| y
2= x
3+ Ax + B } ∪ {O}
(
但し, O
は無限遠点とする)次のように演算を定義することで
E(K)
は加法群を成す.
• P
i:= (x
i, y
i) ∈ E(K).
• O
を単位元とする.
• P
1の逆元を−P
1:= (x
i, − y
i)
とする.
• P
1̸ = −P
2のときP
3を次のように定める. – x
1̸ = x
2のときP
3:= P
1+ P
2x
3= λ
2− x
1− x
2, y
3= − λx
3− y
1+ λx
1(
但しλ = y
2− y
1x
2− x
1) – x
1= x
2のときP
3:= 2P
1x
3= λ
2− 2x
1, y
3= − λx
3− y
1+ λx
1(
但しλ = 3x
12+ A 2y
1)
さらに
m ∈ N
に対してm
個のP
の和をm P
と表す.
但し( − m) P := − (m P ) , 0 P := O
とす る.
体K
が有限体,
即ちある素数べきq
に対してK = F
qのとき, E( F
q)
は有限群となる.
従ってP ∈ E( F
q)
を生成元として有限巡回群⟨P⟩
を構成できる.
一般の離散対数問題(
Discrete Logarithm Problem
)について説明する.
有限群G
上(位数#G =: n
)のDLP
とは,
与えられたg, T ∈ G
に対して次を満たすX ∈ Z /n Z
が存在するならば それを求める問題である. (X = log
gT
とかく. )
T = g
X有限群
G
がE( F
q)
であるとき,
その離散対数問題を 楕円離散対数問題(Elliptic Curve Discrete Logarithm Problem
) と呼ぶ.
即ちECDLP
とはT , P ∈ E( F
q)
(位数#E( F
q) =: N
)に対して 次を満たすX ∈ Z /N Z
が存在するならばそれを求める問題である.
T = X P
2.2 Semaev’s summation polynomial
指数計算法で
ECDLP
を解くには点の分解が必要である. Semaev
は標数が2でも3でもない体K
上の楕円曲線E
が与えられた場合に,
分解に使用する道具としてsummation polynomial
を提案し
, Gaudry
とDiem
は指数計算法においてこれを用いた.
定理
2.2. q
は5
以上の奇数素数べきとし, E : y
2= x
3+ Ax + B
はK
上の楕円曲線とする.
このとき
2 ≤ m ∈ N
に対してm-summation polynomial S
mを次のように定義できる.
S
2(X
1, X
2) =X
1− X
2S
3(X
1, X
2, X
3) =(X
1− X
2)
2X
32− 2((X
1+ X
2)(X
1X
2+ A) + 2B)X
3+ (X
1X
2− A)
2− 4B(X
1+ X
2)
S
m(X
1, · · · , X
m) =Res
X(S
m−M(X
1, · · · , X
m−M−1, X), S
M+2(X
m−M, · · · , X
m, X)) (if m ≥ 4, 1 ≤ M ≤ m − 3)
但し
, Res
は終結式とする. m ≥ 3
のとき, S
mは絶対既約で対称な多項式であり,
さらに各変数X
iに対して
deg
Xi(S
m) = 2
m−2である.
S
mには点の分解に利用できる次の性質がある[1].
定理
2.3. x
1, · · · , x
m∈ K (K : K
の代数閉包)
がS
m(x
1, · · · , x
m) = 0
を満たすことと,
P
1+ · · · + P
m= O
なるP
i= (x
i, y
i) ∈ E(K)
が存在することは同値である.
2.3 Stange’s elliptic net
Semaev
の方法以外に点の分解を行う方法を述べる.
齋藤らは[3]
においてStange’s elliptic net
を用いた方法を述べた.
使用する楕円関数について説明する
.
まず, Weierstrass ℘
関数を℘(z) = 1
z
2+ ∑
ω∈L,ω̸=0
( 1
(z − ω)
2− 1 ω
2)
と定義する
.
ここでL
はC
上の格子である.
℘
関数は以下の性質をもつ[4].
• ℘( − z) = ℘(z)
• ℘
′(z) = − 2 ∑
ω∈L 1
(z−ω)3
= −
z23+ · · ·
• ℘
′(−z) = −℘
′(z)
• ℘(z
1+ z
2) =
(℘′(z2)−℘′(z1))24(℘(z2)−℘(z1))2
− ℘(z
1) − ℘(z
2)
• ℘ (
′(z)
2= 4℘(z)
3− g
2℘(z) − g
3但し
g
2= 60 ∑
ω∈L,ω̸=0 1
ω4
, g
3= 140 ∑
ω∈L,ω̸=0 1 ω6
)
次に
Weierstrass σ
関数をσ(z) = z ∏
ω∈L,ω̸=0
( 1 − z
ω )
exp ( z
ω + z
22ω
2)
と定義する
.
さらに整数値ベクトルv = (v
1, · · · , v
n) ∈ Z
nと変数z = (z
1, · · · , z
n) ∈ C
nに対してΨ
v(z) = σ(v
1z
1+ · · · + v
nz
n)
∏
1≤i≤n
σ(z
i)
2vi2−∑nj=1vivj∏
1≤i<j≤n
σ(z
i+ z
j)
vivj とする.
このときΨ
v(z
i)
は各変数z
iに関して楕円関数である.
Stange
は[5]
においてΨ
vがF
q上の楕円曲線に対しても定義できることを示した.
定理
2.4.
有限体F
qと楕円曲線上の点P
1, · · · , P
n∈ E( F
q)(
但しP
i̸ = O
かつP
i̸ = ±P
jif i ̸ = j)
に対してv
1P
1+ · · · + v
nP
n= O ⇐⇒ Ψ
v( P
1, · · · , P
n) = 0
この定理は[5, Theorem 3]
より従う.
楕円曲線上の点
P
1, · · · , P
n∈ E( F
q)
に対して写像W : Z
n→ F
q, v 7→ Ψ
v( P
1, · · · , P
n)
をP
1, · · · , P
nによるelliptic net
という.
2.4
指数計算法有限巡回群
G = ⟨ g ⟩
上のT = g
X(g, T ∈ G, X ∈ Z /(#G) Z )
で与えられたDLP
に対する指数計 算法の概要を述べる.
step 1
因子基底F := { f
1, · · · , f
s} ⊂ G
を設定する.
step 2 (i) a, b ∈ N
を選びR = g
aT
b∈ G
を計算する.
(ii)
次の等式を満たすe
l∈ Z
≥0の組(e
1, · · · , e
s)
が存在するか判定し,
存在するならばそれ を計算する.
R =
∏
s l=1f
lelこの等式は
relation
と呼ばれる.
このrelation
から因子基底の元およびT
の離散対数を 解とする線形方程式a + bX ≡
∑
s l=1e
llog
gf
l(mod #G)
が生成される
.
実際の計算では(a, b)
と(e
1, · · · , e
s)
を結合したベクトルを行列の行と して保存する.
(iii) (i)
と(ii)
の計算を十分な個数のrelation
が得られるまで繰り返す.
step 3 step 2
で得られた行列に対して, #G
を法とする行列操作を行うことで次を満たすX
1, X
2を計算する
.
e = g
X1T
X2(e : G
の単位元)
step 4 X
2−1(mod #G)
が存在するならば次を返す.
X ≡ − X
1X
2−1(mod #G)
指数計算法で
E( F
qn)
に対するECDLP
を解く場合, step 1
で設定する因子基底をF = { F
1, · · · , F
s}
とする
. step 2
において選んだa, b ∈ N
に対してR = aP + bT
を計算する.
次にR
を因子基底F
の和R =
∑
s l=1e
lF
lで表す
.
即ち点の分解が必要となる.
分解が可能であればlog
PR ≡
∑
s l=1e
llog
PF
l(mod # ⟨P⟩ )
を得る.
ここで定理2.3
を利用してR
をF
のいくつかの元の和でR = F
l1+ · · · + F
lmのように表すことを考える
. R
のx
座標をx( R )
と表記する. S
m+1のx
m+1にx( R )
を代入した 等式S
m+1(X
1, · · · , X
m, x( R )) = 0 (1)
に解
(X
1, · · · , X
m) ∈ ( F
qn)
mが存在したとする.
このとき,
各X
iに対してX
i= x(F
li)
なるF
li∈ F
が存在するならばrelation
が得られる.
等式に解が存在しない場合や, F
に対応する点が存在しな い場合はR
を取り直して計算を行う.
代数方程式
(1)
を効率良く解くために, Frobenius
写像を利用した等式と(1)
から構成される次の 連立代数方程式を解く方法がある.
0 = S
m+1(X
1, · · · , X
m, x(R)) 0 = X
1qn− X
1.. .
0 = X
mqn− X
m(2)
次に
,
連立代数方程式(2)
を解くためにWeil descent
を導入する.
2.5 Weil descent
Weil descent
を紹介し,
それを連立代数方程式(2)
を解くために利用する方法を述べる.
まず
, Weil descent
に関する以下の補題を紹介する.
補題
2.5.
素数べきq
と自然数n
に対して, F
qn をn
次元のF
q ベクトル空間としてみたときの 基底を{ θ
1, · · · , θ
n}
とする.
さらにf (X
1, · · · , X
m) ∈ F
qn[X
1, · · · , X
m]
とする.
このときZ :=
{ z
i,j| 1 ≤ i ≤ m, 1 ≤ j ≤ n }
に対して,
次の等式を満たすf
k(Z) ∈ F
q[Z]
が唯一つ存在する. f (z
1,1θ
1+ · · · + z
1,nθ
n, · · · , z
m,1θ
1+ · · · + z
m,nθ
n) =
∑
n k=1θ
kf
k(Z)
さらに
,
ある(X
1, · · · , X
m) ∈ ( F
qn)
mに対してf(X
1, · · · , X
m) = 0
であるならば,
あるz
i,j∈ F
qが存在して次の条件を満たす
. X
i=
∑
n j=1z
i,jθ
j, f
k(Z) = 0 (1 ≤ k ≤ n)
補題
2.5
におけるf (X
1, · · · , X
m)
を(1)
の左辺の多項式としたときに, Weil descent
によって連 立代数方程式(2)
はF
q係数のmn
変数のn + mn
個 の等式から成る次の形の連立代数方程式に変 換される.
0 = f
1(Z) .. .
0 = f
n(Z ) 0 = z
1,1q− z
1,1.. .
0 = z
m,nq− z
m,n(3)
Weil descent
によって代数方程式(3)
は元の代数方程式(2)
より変数と等式の個数は増加するが,
扱う多項式の次数を
q
よりも小さくできるという利点がある.
さらに因子基底の設定の工夫によ り連立代数方程式の変数の個数を減らすことが出来る.
まずF
qn のあるF
qベクトル部分空間をV
とし, dim V = n
′(1 ≤ n
′≤ n)
とする.
このとき因子基底F
を次のように定める.
F = {F ∈ E(F
qn)|x(F) ∈ V } = {F
1, · · · , F
s}
この因子基底の設定により
X
i はWeil descent
によってn
′ 個の変数z
i,j(1 ≤ j ≤ n
′)
で表され るため,
方程式(1)
はF
q係数のmn
′変数のn
′個 の代数方程式に変換される.
それらの代数方程 式にFrobenius
写像に対応する等式z
i,jq− z
i,j= 0
を加えた次の連立代数方程式を解く. (
但しZ
′:= { z
i,j| 1 ≤ i ≤ m, 1 ≤ j ≤ n
′} ⊊ Z
でz
i,j∈ Z
′とする)
0 = f
1(Z
′) .. .
0 = f
n(Z
′) 0 = z
1,1q− z
1,1.. .
0 = z
m,n′q− z
m,n′(4)
n
′を小さくすることで(4)
の変数が少なくなることにより解くために必要な計算コストは削減されるが
, (4)
が解を持つ確率も下がってしまう.
2.6 ECDLP
に対するsummation polynomial
を用いた指数計算法指数計算法に
Semaev
のsummation polynomial
とWeil descent
を導入し, ECDLP
に対して適 用する方法がある. E( F
qn)
に対するECDLP
がT = X P ∈ ⟨P⟩ ⊂ E( F
qn)
として与えられている とする.
以下に概要を述べる[2].
step 1
因子基底F = {F ∈ E(F
qn)|x(F ) ∈ V } = {F
1, · · · , F
s}
を設定する.
step 2 (i) a, b ∈ N
を選びR = a P + b T
を計算する.
(ii) Semaev
のsummation polynomial S
m+1のX
m+1にx( R )
を代入し,
それに対してWeil descent
を適用し連立代数方程式(4)
を計算する.
0 = f
1(Z
′) .. .
0 = f
n(Z
′) 0 = z
1,1q− z
1,1.. .
0 = z
m,n′q− z
m,n′この連立代数方程式に解
(z
1,1, · · · , z
m,n′) ∈ ( F
q)
mn′が存在するならば,
その解に対応す る(X
1, · · · , X
m) ∈ (F
q)
mを求める.
即ちV
の基底θ
1, · · · , θ
n′∈ F
qnに対してX
i=
n′
∑
j=1
z
i,jθ
j∈ V
を計算する
.
そのような一つの組(X
1, · · · , X
m)
に対して(X
1, · · · , X
m) = (x(F
l1), · · · , x(F
lm))
を満たす因子基底の元の組
(F
l1, · · · , F
lm)
は高々2
m個存在する. (
各元でx
座標に対し て正と負の二つのy
座標が考えられるため)
その中からR =
∑
m i=1F
liを満たすものを求め
,
次の等式を満たすe
l∈ Z
≥0の組(e
1, · · · , e
s)
を決定する. R =
∑
s l=1e
lF
l(5)
この
relation(5)
は次の線形方程式に対応する. a + bX ≡
∑
s l=1e
llog
PF
l(mod # ⟨P⟩ )
実際の計算では
(a, b)
と(e
1, · · · , e
s)
を結合したベクトルを行列の行として保存する.
(iii) (i)
と(ii)
の計算を十分な個数のrelation
が得られるまで繰り返す.
step 3 step 2
で得られた行列に対して, # ⟨P⟩
を法とする行列操作を行うことで次を満たすX
1, X
2 を計算する.
O = X
1P + X
2T step 4 X
2−1(mod #⟨P⟩)
が存在するならば次を返す.
X ≡ − X
1X
2−1(mod # ⟨P⟩ ) 2.7
計算量前述の
ECDLP
に対するSemaev
のsummation polynomial
とWeil descent
を導入した指数計 算法の計算量の評価をする[2].
計算量はF
qnでの演算回数とする.
ただしここではq ≪ n
の場合 を考える. (q ≫ n
の場合については[6]
参照)
まず
, S
m+1のm
とn
′(= dim V )
はmn
′= n
となるように設定される[7].
また, S
m+1の生成に 必要な体演算はO(2
m2) (6)
であることが知られている
[7].
step 2
においてR
がR = ∑
ml=1
F
lと表される確率を考える.
準備として因子基底の個数s
はs ≈ #V = q
n′(7)
として良い
.
これはランダムに選んだx
i∈ F
qnを与えられた楕円曲線のx
座標として持つ有理点 が存在する確率が約1/2
であり,
同じx
座標を持つ有理点の個数の期待値が約2
となるからであ る.
求める確率は因子基底に属するm
個の点の和でかくことができる有理点R ∈ E( F
qn)
の割合 で見積もるため,
そのようなm
個の点の和において現れる重複を無視できるものとしている.
和 の対称性を考慮すると,
因子基底からm
個の点を選ぶ組み合わせはおよそs
m/m!
である.
さらに#E( F
qn) ≈ q
nと(7)
より求める確率は次のようになる. s
mm! × q
n≈ 1
m! (8)
これと
step 3
で扱う行列のランクがO(#V ) = O(s)
より, step 2
において行われる点の分解の回 数はO(m!s) = O(m!q
n′)
となる
.
よってあとは点の分解の計算コストをC
とすればstep 2
の計算量はO(q
n′m!C) (9)
である
.
step 3
の計算量は,
実行可能行列乗算指数2 < ω ≤ 3
に対してO(s
ω) = O(q
n′ω) (10)
となる
.
従って
(6), (9), (10)
より全体の計算量はO(2
m2+ q
n′m!C + q
n′ω) (11)
となる.
点の分解の計算量C
とは連立代数方程式(4)
を解くために必要な計算量である. (
詳細は[2]
参照)
3
主結果3.1 elliptic net
の行列式表示主定理
. Ψ
v(z)
においてv = (v
1, · · · , v
n) = (1, · · · , 1)
としたとき以下の等式が成り立つ.
c
n× Ψ
v(z) =
1 ℘(z
1) ℘
′(z
1) · · · ℘
(n−2)(z
1) 1 ℘(z
2) ℘
′(z
2) · · · ℘
(n−2)(z
2)
.. . .. . .. . . .. .. .
1 ℘(z
n) ℘
′(z
n) · · · ℘
(n−2)(z
n)
∏
1≤s<t≤n
( − ℘(z
s) + ℘(z
t)) (12)
但しc
n= ( − 1)
(n−1)(n−2)21! 2! · · · (n − 1)!
であり, ℘(z
i)
はWeierstrass
の℘
関数である.
さらに℘(z
i) = x
i, ℘
′(z
i) = 2y
iとすると次が得られる.
1 ℘(z
1) ℘
′(z
1) · · · ℘
(n−2)(z
1) 1 ℘(z
2) ℘
′(z
2) · · · ℘
(n−2)(z
2)
.. . .. . .. . . .. .. . 1 ℘(z
n) ℘
′(z
n) · · · ℘
(n−2)(z
n)
= d
n×
1 x
1y
1x
12x
1y
1· · · · 1 x
2y
2x
22x
2y
2· · · · .. . .. . .. . .. . .. . . .. .. . 1 x
ny
nx
n2x
ny
n· · · ·
(13)
但し右辺各行の末項は
n
が偶数のときx
in2, n
が奇数のときx
in−23y
iであり, d
n= 1! 2! · · · (n − 1)!.
証明
. Hermite, Frobenius, Stickelberger
によって次の等式が与えられている[8, p. 458].
c
n× σ(z
1+
・・・+ z
n) ∏
1≤s<t≤n
σ(z
s− z
t) σ(z
1)
n・・・σ(z
n)
n=
1 ℘(z
1) ℘
′(z
1) · · · ℘
(n−2)(z
1) 1 ℘(z
2) ℘
′(z
2) · · · ℘
(n−2)(z
2)
.. . .. . .. . . .. .. . 1 ℘(z
n) ℘
′(z
n) · · · ℘
(n−2)(z
n)
(14)
但し
c
n= ( − 1)
(n−1)(n2 −2)1! 2!
・・・(n − 1)!.
さらに等式
[8, p. 451]
σ(z + y)σ(z − y)
σ(z)
2σ(y)
2= − ℘(z) + ℘(y)
より次が得られる.
∏
1≤s<t≤n
σ(z
s+ z
t)σ(z
s− z
t)
σ(z
s)
2σ(z
t)
2= ∏
1≤s<t≤n
( − ℘(z
s) + ℘(z
t)) (15)
(14)
の左辺を(15)
の左辺で割る. c
n× σ(z
1+ · · · + z
n) ∏
1≤s<t≤n
σ(z
s− z
t)
σ(z
1)
n· · · σ(z
n)
n× ∏
1≤s<t≤n
σ(z
s)
2σ(z
t)
2σ(z
s+ z
t)σ(z
s− z
t)
= c
n× ∏ σ(z
1+ · · · + z
n)
1≤s<t≤n
σ(z
s+ z
t) × σ(z
1)
2(n−1)· · · σ(z
n)
2(n−1)σ(z
1)
n· · · σ(z
n)
n= c
n× σ(z
1+ · · · + z
n)
∏
1≤i≤n
σ(z
i)
2−n∏
1≤s<t≤n
σ(z
s+ z
t)
= c
n× Ψ
v(z) (
但しv = (v
1, · · · , v
n) = (1, · · · , 1))
よって定理の
(12)
の左辺を得る. (14)
の右辺を(15)
の右辺で割れば明らかに(12)
の右辺である ため(12)
が示された.
次に
(13)
を示す.
楕円曲線の定義式y
2= x
3+ Ax + B
と℘
関数の性質℘
′(z)
2= 4℘(z)
3− g
2℘(z) − g
3(16)
より対応℘(z
i) = x
i, 1
2 ℘
′(z
i) = y
i がわかる.
まず
,
ある定数があって(13)
が成り立つことを示し,
その後定数がd
nであることを示す. (13)
と後に出てくる(17)
を帰納法を用いて示す. n = 1
の場合は明らかである.
n = 2
の場合,
1 ℘(z
1) 1 ℘(z
2) =
1 x
11 x
2であり
, n = 3
の場合,
1 ℘(z
1) ℘
′(z
1) 1 ℘(z
2) ℘
′(z
2) 1 ℘(z
3) ℘
′(z
3)
=
1 x
12y
11 x
22y
21 x
32y
3= 2
1 x
1y
11 x
2y
21 x
3y
3なので
(13)
は成立する.
次に
n = 2k − 2
とn = 2k − 1
の場合(13)
を仮定する.
列基本変形を行うことを考慮して具体的 には定数α, β
を用いて
℘
(2k−4)(z) =
k−1
∑
i=0
α
2k−4,i℘(z)
i+
k−3
∑
j=0
β
2k−4,j℘(z)
j℘
′(z) (17a)
℘
(2k−3)(z) =
k−1
∑
i=0
α
2k−3,i℘(z)
i+
k−2
∑
j=0
β
2k−3,j℘(z)
j℘
′(z) (17b)
と表せると仮定する.
ある行について成立することが示されれば十分なのでz
iを単にz
と表記す る.
実際, (17a)
を項別微分すると(17b)
の形で表すことが出来る.
微分の計算の中で(16)
とこれ を微分して得られる℘
′′(z) = 6℘(z)
2− g
22
を用いる. (17b)
を項別微分すると,
℘
(2k−2)(z) =
k−1
∑
i=1
iα
2k−3,i℘(z)
i−1℘
′(z) +
k−2
∑
j=1
β
2k−3,j{j℘(z)
j−1℘
′(z)
2+ ℘(z)
j℘
′′(z)}
=
k−1
∑
i=1
iα
2k−3,i℘(z)
i−1℘
′(z)
+
k−2
∑
j=1
β
2k−3,j{ j℘(z)
j−1(4℘(z)
3− g
2℘(z) − g
3) + ℘(z)
j(6℘(z)
2− g
22 ) }
=
k−1
∑
i=1
iα
2k−3,i℘(z)
i−1℘
′(z)
+
k−2
∑
j=1
{ β
2k−3,j(4j + 6)℘(z)
j+2− β
2k−3,j(g
2j + g
22 )℘(z)
j− jβ
2k−3,jg
3℘(z)
j−1}
= β
2k−3,k−2(4(k − 2) + 6)℘(z)
k+ {℘(z)
k−1以下の項} + {℘(z)
k−2℘
′(z)
以下の項}
となり
, ℘(z)
k以外の項は適当な列で列基本変形を行えば消去できるためまずn
が偶数の場合成り 立つことがわかった.
つまり℘
(2k−2)(z) =
∑
k i=0α
2k−2,i℘(z)
i+
k−2
∑
j=0
β
2k−2,j℘(z)
j℘
′(z)
と表せるので,
これをさらに項別微分する.
℘
(2k−1)(z) =
∑
k i=1iα
2k−2,i℘(z)
i−1℘
′(z) +
k−2
∑
j=1
β
2k−2,j{ j℘(z)
j−1℘
′(z)
2+ ℘(z)
j℘
′′(z) }
= kα
2k−2,k℘(z)
k−1℘
′(z) + { ℘(z)
k以下の項} + { ℘(z)
k−2℘
′(z)
以下の項}
となり
, ℘(z)
k−1℘
′(z)
以外の項は適当な列で列基本変形を行えば消去できるためn
が奇数の場合 も成り立つことがわかる.
よって(17)
が成り立つことがわかり,
ある定数d
nに対して(13)
が成り 立つ.
最後に定数
d
nを決定する.
℘(z) = 1
z
2+ ∑
ω∈L,ω̸=0
( 1
(z − ω)
2− 1 ω
2)
で定義していたので
,
これを微分することで次を得る.
℘
(k)(z) = ( − 1)
k(k + 1)!
z
k+2+ · · · (18)
ここで
n = 2k
のとき(17a)
よりある定数d
′2kに対して℘
(2k−2)(z) = d
′2kx
k+ · · ·
と表すことでき るが, (18)
より℘
(2k−2)(z) = (2k − 1)!
z
2k+ · · · (19)
であり
,
x
k= ℘(z)
k= 1
z
2k+ · · · (20)
である
.(19)
と(20)
を比べるとd
′2k= (2k − 1)! (21)
となることがわかる
.
さらに
n = 2k + 1
のとき(17b)
よりある定数d
′2k+1に対して℘
(2k−1)(z) = d
′2k+1x
k−1y + · · ·
と 表すことできるが,
℘
(2k−1)(z) = − (2k)!
z
2k+1+ · · · (22)
であり