超楕円曲線上の Ate ペアリングについて Around Ate pairings on hyperlliptic curves
数学専攻 山口 将史
Masashi Yamaguchi
序
本論文は,有限体の上に定義された楕円曲線さらに超楕円曲線に関わるアルゴリズムについて論述され た論文
C.-A. Zhao, F. Zhang, J. Huang, A note on the Ate pairing
とR. Granger, F. Hess, R. Oyono, N. Th´ eriault, F. Vercauteren, Ate pairing on hyperelliptic curves
に基づく総合報告である.楕円曲線あ るいは代数曲線のJacobi
多様体に対して定義されるWeil pairing
は´ etale cohomology
に対するPoincar´ e
duality
の出発点であり,理論的に非常に重要な位置を占めるが,有限体の上に定義された楕円曲線のWeil
pairing
を暗号に利用するという境隆一などによる提唱がブレークスルーとなって,暗号開発の分野において盛んに研究されるようになった.さらに,有限体の上の楕円曲線あるいは代数曲線の
Jacobi
多様体に対 して定義されるTate pairing
や計算の高速化を工夫して定義されたAte pairing
が,数学というよりは暗号 の専門家によって盛んに研究されている.当数学専攻でも2009年度に小出氏よって,2010年度に渡 辺氏によって,Weil paring,Tate pairing,Ate pairingに関する総合報告が修士論文として提出された.本論文では先行する総合報告ではふれられていなかった,Tate pairingや
Ate pairing
のアルゴリズムの 実装を主題にしている.序文では,楕円ElGamal
暗号とWeil paring
の暗号への応用について述べ,有限 体の上の楕円曲線に関するアルゴリズムの必要性について説明している.第1節では代数曲線のJacobi
多 様体について,第2節では楕円曲線あるいは超楕円曲線の上のTate paring,Miller
のアルゴリズム,楕円 曲線あるいは超楕円曲線上のAte paring
について説明した.第3節では楕円曲線に対するMiller
のアルゴ リズムについて論述する.付録では実際に作成したプログラムを記載した.1 準備
定義
1.1. C
を有限体F q
上の種数g
の非特異な超楕円曲線とする.ここで,q= p n (p
は素数).Cのアファ イン方程式はy 2 + h(x)y = f (x)
によって与えられるとしてよい.ここで,h, f
∈ F q [x], degh ≤ g, f
の主係数が1
で,degf= 2g + 1
が成 り立つ.このとき,Cは唯一の無限遠点P ∞
を持つ.定義
1.2. F q
の代数拡大K
に対してC(K) = { (x, y) ∈ K × K | y 2 + h(x)y = f(x) } ∪ { P ∞ }
と定義する.C(K)をC
上のK
有理点の集合とよぶ.定義
1.3. ι(x, y) = (x, − y − h(x))
によって写像ι : C(K) → C(K)
を定義する.ιをC
の超楕円対合と よぶ.定義
1.4. C( F q )
の点の形式和D = ∑
P ∈ C( F
q)
c P P
1
を
C
の因子とよぶ.ここで,cp ∈ Z
で,有限個のP
を除いてc P = 0.C
上の全ての因子の集合をDiv C
で 表す.定義
1.5. D = ∑
P ∈ C( F
q)
c P P
に対して,degD = ∑
P ∈ C( F
q)
c P
と記し,
deg D
をD
の次数とよぶ.次数0
の因子の集合をDiv 0 C
と表記する.また,ord P (D) = c P
と記す.定義
1.6. D = ∑
P ∈ C( F
q)
c P P
に対して,suppD = { P ∈ C( F q ) ; c P ̸ = 0 }
と定義する.定義
1.7. φ(x, y) = (x q , y q )
によって定義される写像φ : C( F q ) → C( F q )
をF q
に関するFrobenius
写像と よぶ定義
1.8.
有理関数f ∈ F q (C) ∗
に対してdiv(f ) = ∑
P ∈ C( F
q)
ord P (f )(P )
と定義する.ここで,ord
P (f )
は点P
でのf
の位数を表わす.div(f)
を有理関数f
によって定義された主 因子とよぶ.またPrin C = { div(f ) ; f ∈ F q (C) ∗ },J C = Div 0 C /Prin C
と定義し,JC
の因子類をD
と表記 する.命題
1.9. D ∈ Div C 0
とする.このとき,ρ(D)
∈ Div C 0
が存在して次が成立する.
(1) ρ(D) = D.
(2) ρ(D) = ε(D) − deg(ε(D))(P ∞ ).ここで,ε(D) =
∑ m
i=1
(P i ),m = deg(ε(D)),P i ̸ = P ∞
,Pi ̸ = ι(P j ) (i ̸ = j).
定義
1.10. ρ(D)
をρ(D)
と記す.ρ(D)をD ∈ J C
の被約因子表示という.命題
1.11. D 1
,D2 ∈ Div 0 C
とする.このとき次が成り立つ.(1) ρ((D 1 ) + ρ((D 2 ) = ρ(D 1 + D 2 ).
(2) ε((D 1 ) + ε((D 2 ) = ε(D 1 + D 2 ).
定義
1.12. D ∈ Div 0 C
とする.n∈ Z
に対して[n]D = ρ(nD)
と定義する.定義
1.13. f ∈ F q
k(C) ∗
とする.div(f) = nD − [n]D
が成立するとき,f をf n,D
と表記する.また,重 複度は0
でないものをとる.2
2 Tate-Lichtenbaum Pairing
定義
2.1. C
を有限体F q
の上の超楕円曲線,rを#J C ( F q )
の素因数( ̸ = p),k
をr | (q k − 1)
を満たす最小 の整数とする.さらに,D1
,D2 ∈ Div 0 C
とし,supp(D1 ) ∩ supp(D 2 ) = ∅
と仮定する.このとき,< D 1 , D 2 > r = f r,D
1(D 2 )
によって定義される写像< , > r : J C ( F q
k)[r] × J C ( F q
k)/rJ C ( F q
k) → F ∗ q
k/( F ∗ q
k) r
は非退化かつ双線形である.定義
2.2. < , > r
を超楕円曲線C
の上のTate-Lichtenbaum paring
とよぶ.補題
2.3. D 1 ∈ J C ( F q
k)[r],D 1 = ρ(D 1 ),D 2 ∈ J C ( F q
k)
とし,supp(D1 ) ∩ supp(ε(D 2 ))
と仮定する.こ のとき,< D 1 , D 2 > r ≡ f r,D
1(ε(D 2 ))
が成立する.Ate Pairing on hyperelliptic curves
定理
2.4. E
を有限体F q
の上の楕円曲線,rを#E( F q )
の最大の素因子とし,#E(F q ) = q + 1 − t
と表わ す.T= t − 1
とおき,Q∈ G 2 = E[r] ∩ Ker(φ − [q])
かつP ∈ G 1 = E[r] ∩ Ker(φ − [1])
とする.このとき 次を得る.(1)
写像(P, Q) 7→ f T ,Q (P)
は双線形なペアリング.(Ate paringとよばれる.)(2) k
を埋め込み次数,NをT k − 1, q k − 1
の最大公約数とし,Tk − 1 = LN
と表わす.このときe(Q, P ) L = f T ,Q (P ) c(q
k− 1)/N
が成立する.ここで,c
=
k − 1
∑
i=0
T k − a − i q i ≡ kq k − 1 mod r.
(3) r ∤ L
のとき,Ate paringは非退化である.定理
2.5. C
を有限体F q
の上の超楕円曲線,r
を#J C ( F q )
の最大の素因子とする.G 2 = J C [r] ∩ Ker(φ − [q]),
G 1 = J C [r] ∩ Ker(φ − [1])
とおく.また,supp(D1 ) ∩ supp(D 2 ) = ∅
を満たすD 2 = ρ(D 2 ), D 1 ∈ D 1
をと る.このとき,(D 2 , D 1 ) 7→ f q,D
2(D 1 )
によって定義される写像a( , ) : G 2 × G 1 → µ r
は非退化で双線形である.さらに,被約
Tate-Lichtenbaum paring
との関係が等式e(D 2 , D 1 ) = a(D 2 , D 1 ) kq
k−1によって与えられる.
定義
2.6. a( , ) : G 2 × G 1 → µ r
を超楕円曲線C
の上のAte paring
とよぶ.3
3 Miller のアルゴリズム
楕円曲線上における
Miller
のアルゴリズムを紹介する.ここで扱う楕円曲線は,y2 = x 3 + ax + b
を満た す有限体F q
上の元の座標(x, y)
の集合に無限遠点O
を追加した集合E( F q )
である.以下,楕円曲線上における
Tate paring e
は,整数r
に対してe : E( F q )[r] × E( F q
k)/rE(F q
k) → µ r
e(P, Q) = f P (Q)
qk−1rで定義される関数である.ここで
k
はr | q k − 1
を満たす最少数であり,埋め込み次数とよぶ.またE( F q )[r] = { P ∈ E( F q ) | rP = O },µ r = { x ∈ F q
k| x r = 1 }
である.iP
とjP
を通る直線をl iP,jP
,(i+ j)P
を通りy
軸に平行な直線をv (i+j)P
とする.またf h
をdiv(f h ) = h(P) − (hP ) − (h − 1)(O)
を満たす有理関数とする.このとき再帰的公式f i+j = f i f j l iP,jP v (i+j)P
が得られる.
Miller
のアルゴリズムはこの再帰的公式を用いて,div(fr ) = r(P ) − r(O)
を満たす,Tateparing
における有理関数f r
を計算している.Miller
のアルゴリズムf := 1,V := P
,t:= s − 1
Step1
r
を2
進数展開する.r= n s · 2 s + n s − 1 · 2 s − 1 + · · · + n 0 · 2 0
,ns = { 0, 1 }.Step2
へStep2
f := f 2 · l V,V
v 2V
,V:= 2V
とする.Step3へStep3
n t = 1
の時,f:= f · l V,P
v V +P
,V:= V + P
とする.Step4へn t = 0
の時,Step4へStep4
t ≥ 0
の時,t:= t − 1
とし,Step2へt < 0
の時,アルゴリズムを終えてf
を出力する.Miller
のアルゴリズムを実装するにあたり,有限体上の加減剰余を実行するプログラム,与えられた楕円曲線の有理点を列挙するプログラム,楕円曲線上の点