Homeに戻る  一覧に戻る 

The Duplication and Triplecaltion formulas for Long Weierstrass Form of a Elliptic Curve


[2002.09.01]Weierstrassの長形式の2倍点, 3倍点公式


体K上の楕円曲線
     E: y2+a1xy+a3y=x3+a2x2+a4x+a6  (Weierstrassの長形式) ---- (1)
の加法公式より、2倍点、3倍点公式を導く。

■P0=(x0,y0) ∈ Eとする。
P0とOを通る直線L: x-x0 = 0とEの交点を求めると、yの2次方程式
     y2+a1x0y+a3y=x03+a2x02+a4x0+a6   ---- (2)
の2根をy0,y'0とすると、-P0(x0,y'0)である。
根と係数の関係より、
     y0+y'0 = -(a1x0+a3)
     y'0 = -y0-a1x0-a3
となる。
よって、-P0(x0,-y0-a1x0-a3)である。

■P1+P2=P3 ただし、P1(x1,y1),P2(x2,y2), P3(x3,y3) ∈ Eとする。
x1 = x2かつy0+y1 = a1x0+a3のとき、
     P1+P1 = O
である。
それ以外のとき、
     λ = (y2-y1)/(x2-x1) = (x12+x1x2+x22+a2(x1+x2)+a4-a1y2)/(y1+y2+a1x1+a3)
     ν = (y1x2-y2x1)/(x2-x1) = (a1x1y1-x1x2(x1+x2+a2)+y1y2+a6)/(y1+y2+a1x1+a3)    if x1 != x2

     λ = (3x12+2a2x1+a4-a1y1)/(2y1+a1x1+a3)
     ν = (-x13+a4x1+2a6-a3y1)/(2y1+a1x1+a3)    if x1 = x2
とする。
このとき、P3 = P1+P2は、以下で与えられる。
     x3 = λ2+a1λ-a2-x1-x2
     y3 = -(λ+a1)x3-ν-a3
特に、P1 != ±P2のとき、
     x(P1+P2) = ((y2-y1)/(x2-x1))2+a1(y2-y1)/(x2-x1)-a2-x1-x2
となる。
P(x,y)∈ Eに対する2倍点公式は、
     x(2P) = (x4-(2a4+a1a3)x2-2(a32+4a6)x-a12a6-4a2a6+a1a3a4-a2a32+a42)/(a1x + 2y + a3)2
             = (x4-(2a4+a1a3)x2-2(a32+4a6)x-a12a6-4a2a6+a1a3a4-a2a32+a42)/(4x3+(a12+4a2)x2+2(2a4+a1a3)x+(a32+4a6))
     y(2P) = ( x6 + 2a2x5 + (-a1y + 5a4)x4 + (-4a4y + a4a12 - 2a3a2a1 -a32 + 4a4a3 + 20a6)x3 + ((2a4a1 - 4a3a2)y + 9a6a12 - 6a4a3a1 -a32a2 + 4a4a3a2 + 20a6a2 - 5a42)x2 + ((8a6a1 -8a4a3 + 4a42)y + a6a14 - a4a3a13 + a32a2a12 + 6a6a2a12 - a42a12 -2a4a3a2a1 - a33a1 + 2a32a22 + 8a6a22 - 2a42a2 -7a4a32 + 4a42a3 - 4a6a4)x + ((a6a13 - a4a3a12 + a32a2a1 + 4a6a2a1 - a42a1 -5a33 + 8a4a32 -4a42a3 - 12a6a3 + 8a6a4)y + a6a3a13 -a4a32a12 + a6a4a12 + a33a2a1 + 4a6a3a2a1 - 2a42a3a1 + a4a32a2 + 4a6a4a2 -a34 - 10a6a32 + 4a6a4a3 -a43 - 8a62) )/(a1x + 2y + a3)3
となる。

■同様に、P(x,y)∈ Eに対する3倍点公式は、
     x(3P) = φ(x,y)/(ψ(x,y))2
となる。ただし、
     φ(x,y)= -44x12 + (217a12 - 188a2)x11 + (-32a1y + (256a14 + 640a2a12 + (306a3 + 128a4)a1 + (-304a22 - 188a4)))x10 + ((-416a13 - 96a2a1 + (-24a3 - 8a4))y + (56a16 + 504a2a14 + (974a3 + 64a4)a13 + (616a22 + 668a4)a12 + (1032a3 + 256a4)a2a1 + (-224a23 - 592a4a2 + (73a32 + 104a4a3 + (16a42 - 284a6)))))x9 + ((-312a15 - 816a2a13 + (-1132a3 - 164a4)a12 + (-64a22 - 192a4)a1 + (-80a3 - 16a4)a2)y + (56a2a16 + 335a3a15 + (248a22 + 502a4)a14 + (1968a3 + 64a4)a2a13 + (192a23 + 1264a4a2 + (1368a32 + 228a4a3 + 696a6))a12 + ((1112a3 + 128a4)a22 + (1288a4a3 + 128a42))a1 + (-64a24 - 656a4a22 + (288a32 + 248a4a3 + (16a42 - 960a6))a2 - 216a42)))x8 + ((-56a17 - 304a2a15 + (-1524a3 - 60a4)a14 + (-384a22 - 864a4)a13 + (-2336a3 - 160a4)a2a12 + (-224a4a2 + (-988a32 - 436a4a3 + (-16a42 - 672a6)))a1 + (-64a3a22 + (-160a4a3 - 32a42)))y + (56a4a16 + 336a3a2a15 + (496a4a2 + (836a32 - 4a4a3 + 490a6))a14 + (992a3a22 + 2022a4a3)a13 + (576a4a22 + (2838a32 + 260a4a3 + 1248a6)a2 + 646a42)a12 + (384a3a23 + 2696a4a3a2 + (970a33 + 20a4a32 + (128a42 + 1608a6)a3))a1 + (-256a4a23 + (328a32 + 144a4a3 - 1248a6)a22 - 488a42a2 + (492a4a32 + 208a42a3 + (-16a43 - 528a6a4)))))x7 + ((-392a3a16 - 304a4a15 - 1520a3a2a14 + (-768a4a2 + (-2960a32 - 304a4a3 - 1264a6))a13 + (-1152a3a22 + (-2484a4a3 + 4a42))a12 + (-2224a32 - 576a4a3 - 1344a6)a2a1 + ((-240a4a3 + 16a42)a2 + (-288a33 - 216a4a32 + (-56a42 - 528a6)a3 - 144a6a4)))y + (48a6a16 + 344a4a3a15 + ((836a32 - 4a4a3 + 464a6)a2 + 256a42)a14 + ((2048a4a3 - 64a42)a2 + (1180a33 - 144a4a32 + (64a42 + 2060a6)a3 - 64a6a4))a13 + ((1456a32 + 32a4a3 + 464a6)a22 + 576a42a2 + (3000a4a32 + 68a42a3 + 1320a6a4))a12 + ((1392a4a3 - 128a42)a22 + (2072a33 - 172a4a32 + (256a42 + 3232a6)a3 - 256a6a4)a2 + (1532a42a3 - 128a43))a1 + ((80a32 - 704a6)a23 - 272a42a22 + (1120a4a32 + 120a42a3 + (-32a43 - 1536a6a4))a2 + (284a34- 56a4a33 + (48a42 + 696a6)a32 + (32a43 + 264a6a4)a3 + (-88a43 - 48a6a42 - 48a62)))))x6 + (((-1176a32 - 400a6)a15 + (-1484a4a3 + 60a42)a14 + ((-3072a32 - 64a4a3 - 1376a6)a2 - 288a42)a13 + ((-2240a4a3 + 160a42)a2 + (-3004a33 - 224a4a32 + (-164a42 - 3584a6)a3 + 128a6a4))a12 + ((-1248a32 - 128a4a3 - 896a6)a22 + 224a42a2 + (-2364a4a32 - 260a42a3 + (32a43 - 672a6a4)))a1 + ((-712a33 - 360a4a32 + (-48a42 - 1216a6)a3 - 128a6a4)a2 + (-80a42a3 + 80a43)))y + (-a6a18 + a4a3a17 + ((-a32 - 8a6)a2 + a42)a16 + (4a4a3a2 + (a33 + 310a6a3))a15 + ((-4a32 - 24a6)a22 + 4a42a2 + (876a4a32 - 4a42a3 + 508a6a4))a14 + (8a4a3a22 + (1170a33 - 144a4a32 + (64a42 + 2016a6)a3 - 128a6a4)a2 + (1082a42a3 - 64a43))a13 + ((-8a32 - 64a6)a23 + 8a42a22 + (3084a4a32 - 128a42a3 + 992a6a4)a2 + (1035a34- 408a4a33 + (192a42 + 3150a6)a32 - 84a6a4a3 + (188a43 + 768a62)))a12 + (32a4a3a23 + (1088a33 - 192a4a32 + (128a42 + 1536a6)a3 - 256a6a4)a22 + (1560a42a3 - 256a43)a2 + (2258a4a33 - 404a42a32 + (256a43 + 3560a6a4)a3 - 512a6a42))a1 + ((-32a32 - 128a6)a24 + 32a42a23 + (544a4a32 - 128a42a3 - 1408a6a4)a22 + (646a34- 272a4a33 + (192a42 + 1536a6)a32 + (32a43 + 208a6a4)a3 + (-80a43 - 64a6a42 - 384a62))a2 + (790a42a32 - 96a43a3 + (-16a44- 360a6a42)))))x5 + ((-8a6a17 + 8a4a3a16 + ((-8a32 - 80a6)a2 + 8a42)a15 + (48a4a3a2 + (-2012a33 + 120a4a32 + (-60a42 - 1876a6)a3 + 116a6a4))a14 + ((-48a32 - 256a6)a22 + 48a42a2 + (-2932a4a32 + 180a42a3 - 896a6a4))a13 + (64a4a3a22 + (-3260a33 + 124a4a32 + (-160a42 - 3840a6)a3 + 288a6a4)a2 + (-852a42a3 + 164a43))a12 + ((-64a32 - 256a6)a23 + 64a42a22 + (-2320a4a32 + 80a42a3 - 640a6a4)a2 + (-1648a34+ 156a4a33 + (-244a42 - 3368a6)a32 + (-32a43 - 8a6a4)a3 + (192a43 + 64a6a42 - 384a62)))a1 + ((-464a33 - 144a4a32 - 832a6a3 - 64a6a4)a22 + (208a42a3 + 16a43)a2 + (-776a4a33 - 192a42a32 + (-8a43 - 944a6a4)a3 + 272a6a42)))y + (-5a6a3a17 + (5a4a32 - 2a6a4)a16 + ((-5a33 - 36a6a3)a2 + 7a42a3)a15 + ((14a4a32 - 24a6a4)a2 + (5a34+ 824a6a32 + (2a43 + 284a62)))a14 + ((-16a33 - 72a6a3)a22 + 32a42a3a2 + (1252a4a33 - 148a42a32 + (64a43 + 2216a6a4)a3 - 192a6a42))a13 + ((-8a4a32 - 144a6a4)a22 + (1012a34- 404a4a33 + (192a42 + 3120a6)a32 - 248a6a4a3 + (16a43 + 576a62))a2 + (1664a42a32 - 164a43a3 + 488a6a42))a12 + ((-8a33 - 32a6a3)a23 + 88a42a3a22 + (2368a4a33 - 632a42a32 + (256a43 + 3328a6a4)a3 - 768a6a42)a2 + (539a35 - 404a4a34+ (192a42 + 2444a6)a33 - 572a6a4a32 + (552a43 + 256a6a42 + 2136a62)a3 + (-128a44- 384a62a4)))a1 + ((-80a4a32 - 320a6a4)a23 + (348a34- 200a4a33 + (144a42 + 736a6)a32 - 32a6a4a3 + (80a43 - 576a62))a22 + (832a42a32 - 344a43a3 + (16a44- 832a6a42))a2 + (766a4a34- 480a42a33 + (288a43 + 2040a6a4)a32 - 280a6a42a3 + (4a44- 32a6a43 + 48a62a4)))))x4+ ((-32a6a3a16 + (32a4a32 - 32a6a4)a15 + ((-32a33 - 256a6a3)a2 + 64a42a3)a14 + ((96a4a32 - 224a6a4)a2 + (-2168a34+ 480a4a33 + (-240a42 - 3548a6)a32 + 412a6a4a3 + (32a43 - 416a62)))a13 + ((-128a33 - 576a6a3)a22 + 224a42a3a2 + (-3052a4a33 + 492a42a32 + (-160a43 - 2592a6a4)a3 + 512a6a42))a12 + ((-32a4a32 - 384a6a4)a22 + (-1868a34+ 444a4a33 + (-320a42 - 3664a6)a32 + 368a6a4a3 + (96a43 - 384a62))a2 + (-852a42a32 + 196a43a3 + (-16a44+ 288a6a42)))a1 + ((-64a33 - 256a6a3)a23 + 64a42a3a22 + (-832a4a33 - 128a42a32 + (32a43 - 768a6a4)a3 + 128a6a42)a2 + (-384a35 + 88a4a34+ (-8a42 - 1200a6)a33 + (-64a43 + 144a6a4)a32 + (224a43 - 64a6a42 - 768a62)a3 + (-32a44+ 384a62a4))))y + ((-10a6a32 + a62)a16 + (10a4a33 - 10a6a4a3)a15 + ((-10a34- 66a6a32 + 4a6a4a3 - 4a62)a2 + (19a42a32 - 10a6a42))a14 + ((18a4a33 - 4a42a32 - 48a6a4a3)a2 + (10a35 + 1230a6a33 - 140a6a4a32 + (18a43 + 64a6a42 + 1240a62)a3 - 128a62a4))a13 + ((-27a34+ 4a4a33 - 128a6a32 + 32a6a4a3 - 80a62)a22 + (38a42a32 - 4a43a3 - 96a6a42)a2 + (1094a4a34- 412a42a33 + (192a43 + 3468a6a4)a32 - 464a6a42a3 + (9a44+ 528a62a4)))a12 + ((-8a4a33 - 16a42a32 - 32a6a4a3)a22 + (522a35 - 400a4a34+ (192a42 + 2480a6)a33 - 768a6a4a32 + (88a43 + 256a6a42 + 1952a62)a3 - 512a62a4)a2 + (1294a42a33 - 436a43a32 + (128a44+ 1688a6a42)a3 - 512a6a43))a1 + ((-12a34+ 16a4a33 - 96a6a32 + 64a6a4a3 - 192a62)a23 + (-56a42a32 - 16a43a3 - 224a6a42)a22 + (828a4a34- 632a42a33 + (384a43 + 2080a6a4)a32 + (-32a44- 736a6a42)a3 + (68a44+ 64a6a43 - 576a62a4))a2 + (143a36 - 200a4a35 + (160a42 + 892a6)a34+ (-64a43 - 664a6a4)a33 + (16a44+ 364a43 + 384a6a42 + 1344a62)a32 + (-208a44- 32a6a43 - 288a62a4)a3 + (16a45 - 144a6a43 + 256a63)))))x3 + (((-48a6a32 - 16a62)a15 + (48a4a33 - 68a6a4a3 + 4a6a42)a14 + ((-48a34- 320a6a32 - 128a62)a2 + (132a42a32 - 4a43a3 - 16a6a42))a13 + ((28a4a33 + 4a42a32 - 384a6a4a3 + 32a6a42)a2 + (-1488a35 + 720a4a34+ (-360a42 - 3544a6)a33 + 928a6a4a32 + (116a43 - 200a6a42 - 1264a62)a3 + (-4a44+ 400a62a4)))a12 + ((-112a34- 512a6a32 - 256a62)a22 + (192a42a32 - 16a43a3 - 64a6a42)a2 + (-1716a4a34+ 700a42a33 + (-376a43 - 2400a6a4)a32 + (32a44+ 736a6a42)a3 + (32a44- 64a6a43 + 384a62a4)))a1 + ((-112a4a33 + 16a42a32 - 448a6a4a3 + 64a6a42)a22 + (-472a35 + 240a4a34+ (-104a42 - 1360a6)a33 + (-32a43 + 336a6a4)a32 + (112a43 - 96a6a42 - 704a62)a3 + (-16a44+ 320a62a4))a2 + (-240a42a33 - 88a43a32 + (56a44+ 400a6a42)a3 - 112a6a43)))y + ((-10a6a33 + 2a62a3)a15 + (10a4a34- 20a6a4a32 + 4a6a42a3 - 12a62a4)a14 + ((-10a35 - 56a6a33 + 4a6a4a32)a2 + (28a42a33 - 4a43a32 - 4a6a42a3))a13 + ((-96a6a4a32 + 40a6a42a3 - 128a62a4)a2 + (10a36 + 1116a6a34- 408a6a4a33 + (32a43 + 192a6a42 + 1944a62)a32 + (-4a44- 312a62a4)a3 + (-8a6a43 + 208a63)))a12 + ((-18a35 + 4a4a34- 80a6a33 + 16a6a4a32 - 32a62a3)a22 + (24a42a33 - 28a43a32 + 32a6a42a3)a2 + (560a4a35 - 404a42a34+ (192a43 + 2744a6a4)a33 - 1016a6a42a32 + (34a44+ 256a6a43 + 1840a62a4)a3 - 640a62a42))a1 + ((-20a4a34+ 24a42a33 - 160a6a4a32 + 96a6a42a3 - 320a62a4)a22 + (140a36 - 200a4a35 + (160a42 + 952a6)a34+ (-64a43 - 824a6a4)a33 + (16a44+ 480a6a42 + 1392a62)a32 + (-24a44- 64a6a43 - 544a62a4)a3 + (64a62a42 + 64a63))a2 + (476a42a34- 424a43a33 + (240a44+ 1288a6a42)a32 + (-32a45 - 744a6a43)a3 + (20a45 + 80a6a44- 144a62a42)))))x2 + (((-36a6a33 + 8a6a4a32 + (-4a6a42 - 40a62)a3 + 8a62a4)a14 + (36a4a34- 8a42a33 + (4a43 - 28a6a4)a32 - 4a6a42a3 - 32a62a4)a13 + ((-36a35 + 8a4a34+ (-4a42 - 232a6)a33 + 72a6a4a32 + (-32a6a42 - 256a62)a3 + 64a62a4)a2 + (104a42a33 - 12a43a32 + (4a44+ 32a6a42)a3))a12 + ((-20a4a34- 28a42a33 + (16a43 - 208a6a4)a32 - 16a6a42a3 - 128a62a4)a2 + (-612a36 + 536a4a35 + (-332a42 - 1912a6)a34+ (64a43 + 1080a6a4)a33 + (-16a44+ 108a43 - 496a6a42 - 1120a62)a32 + (-12a44+ 64a6a43 + 608a62a4)a3 + (32a6a43 - 64a62a42 + 256a63)))a1 + ((-48a35 + 32a4a34+ (-16a42 - 288a6)a33 + 160a6a4a32 + (-64a6a42 - 384a62)a3 + 128a62a4)a22 + (8a42a33 - 24a43a32 + (16a44- 64a6a42)a3)a2 + (-416a4a35 + 296a42a34+ (-152a43 - 656a6a4)a33 + 48a6a42a32 + (40a44+ 64a6a43 + 512a62a4)a3 + (-8a45 - 128a62a42))))y + ((-5a6a34- 3a62a32 + 4a62a4a3 - 4a63)a14 + (5a4a35 - 10a6a4a33 - 16a62a4a3)a13 + ((-5a36 - 26a6a34+ 4a6a4a33 - 24a62a32 + 32a62a4a3 - 32a63)a2 + (18a42a34- 4a43a33 + 14a6a42a32 + 4a6a43a3 - 32a62a42))a12 + ((-10a4a35 + 4a42a34- 64a6a4a33 - 64a62a4a3)a2 + (5a37 + 584a6a35 - 404a6a4a34+ (22a43 + 192a6a42 + 1528a62)a33 + (-12a44- 592a62a4)a32 + (56a6a43 + 128a62a42 + 672a63)a3 - 256a63a4))a1 + ((-3a36 - 20a6a34+ 16a6a4a33 - 48a62a32 + 64a62a4a3 - 64a63)a22 + (-6a42a34+ 8a43a33 - 64a6a42a32 + 16a6a43a3 - 128a62a42)a2 + (146a4a36 - 200a42a35 + (160a43 + 1072a6a4)a34+ (-64a44- 1032a6a42)a33 + (16a45 + 9a44+ 576a6a43 + 1584a62a4)a32 + (-8a45 - 96a6a44- 992a62a42)a3 + (36a6a44+ 128a62a43 + 64a63a4)))))x + (((-12a6a34+ 8a6a4a33 + (-4a6a42 - 24a62)a32 + 8a62a4a3)a13 + (12a4a35 - 8a42a34+ 4a43a33 + 8a6a42a32 + (-8a6a43 - 48a62a4)a3 + 16a62a42)a12 + ((-12a36 + 8a4a35 + (-4a42 - 72a6)a34+ 40a6a4a33 + (-16a6a42 - 96a62)a32 + 32a62a4a3)a2 + (36a42a34- 24a43a33 + (12a44+ 72a6a42)a32 - 24a6a43a3))a1 + ((-24a4a35 + 16a42a34+ (-8a43 - 144a6a4)a33 + 80a6a42a32 + (-32a6a43 - 192a62a4)a3 + 64a62a42)a2 + (-120a37 + 176a4a36 + (-152a42 - 432a6)a35 + (64a43 + 400a6a4)a34+ (-16a44+ 24a43 - 224a6a42 - 192a62)a33 + (-16a44+ 32a6a43)a32 + (8a45 + 48a6a43 + 64a62a42 + 384a63)a3 + (-16a6a44- 128a63a4))))y + ((-a6a35 - 4a62a33 + 4a62a4a32 - 8a63a3)a13 + (a4a36 + 2a6a4a34- 4a6a42a33 + 8a62a42a3 - 16a63a4)a12 + ((-a37 - 8a6a35 + 4a6a4a34- 24a62a33 + 16a62a4a32 - 32a63a3)a2 + (3a42a35 + 12a6a42a33 - 12a6a43a32 + 24a62a42a3))a1 + ((-2a4a36 - 16a6a4a34+ 8a6a42a33 - 48a62a4a32 + 32a62a42a3 - 64a63a4)a2 + (a38 + 152a6a36 - 200a6a4a35 + (2a43 + 160a6a42 + 608a62)a34+ (-64a6a43 - 608a62a4)a33 + (16a6a44+ 8a6a43 + 336a62a42 + 640a63)a32 + (-8a6a44- 64a62a43 - 448a63a4)a3 + (16a62a43 + 64a63a42 + 64a64)))))
     ψ(x,y)=(a1x + 2y + a3)(-3x4 + (-a12 - 4a2)x3 + (-3a3a1 - 6a4)x2 + (-3a32 - 12a6)x + (-a6a12 + a4a3a1 -a32a2 - 4a6a2 + a42))
である。


[参考文献]


Last Update: 2005.06.12
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧に戻る]