2倍算
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/19 09:53 UTC 版)
「Montgomery curve」の記事における「2倍算」の解説
モンゴメリ曲線 M A , B {\displaystyle M_{A,B}} 上の与えられた点 P 1 {\displaystyle P_{1}} に対して、点 P 1 {\displaystyle P_{1}} において曲線と接する直線を考えたとき、2倍算の点 [ 2 ] P 1 {\displaystyle [2]P_{1}} は、直線と曲線の3番目の交点で表される。よって、点 P 3 = 2 P 1 {\displaystyle P_{3}=2P_{1}} の座標を見つけるには、加算で与えられたのと同じ方法に従えば十分である。ただし、この場合、直線 y = l x + m {\displaystyle y=lx+m} は点 P 1 {\displaystyle P_{1}} で曲線に接している必要がある。もし曲線 M A , B {\displaystyle M_{A,B}} が f ( x , y ) = x 3 + A x 2 + x − B y 2 = 0 {\displaystyle f(x,y)=x^{3}+Ax^{2}+x-By^{2}=0} であるならば、直線の傾きを表す l {\displaystyle l} の値は、陰関数定理により、次の式で与えられます。 l = − ∂ f ∂ x / ∂ f ∂ y {\displaystyle l=-\left.{\frac {\partial f}{\partial x}}\right/{\frac {\partial f}{\partial y}}} よって、 l = 3 x 1 2 + 2 A x 1 + 1 2 B y 1 {\displaystyle l={\frac {3x_{1}^{2}+2Ax_{1}+1}{2By_{1}}}} であり、 P 3 = 2 P 1 {\displaystyle P_{3}=2P_{1}} の座標は x 3 = B l 2 − A − x 1 − x 1 = B ( 3 x 1 2 + 2 A x 1 + 1 ) 2 ( 2 B y 1 ) 2 − A − x 1 − x 1 = ( x 1 2 − 1 ) 2 4 B y 1 2 = ( x 1 2 − 1 ) 2 4 x 1 ( x 1 2 + A x 1 + 1 ) y 3 = ( 2 x 1 + x 1 + A ) l − B l 3 − y 1 = ( 2 x 1 + x 1 + A ) ( 3 x 1 2 + 2 A x 1 + 1 ) 2 B y 1 − B ( 3 x 1 2 + 2 A x 1 + 1 ) 3 ( 2 B y 1 ) 3 − y 1 . {\displaystyle {\begin{aligned}x_{3}&=Bl^{2}-A-x_{1}-x_{1}={\frac {B(3x_{1}^{2}+2Ax_{1}+1)^{2}}{(2By_{1})^{2}}}-A-x_{1}-x_{1}\\&={\frac {(x_{1}^{2}-1)^{2}}{4By_{1}^{2}}}={\frac {(x_{1}^{2}-1)^{2}}{4x_{1}(x_{1}^{2}+Ax_{1}+1)}}\\[8pt]y_{3}&=(2x_{1}+x_{1}+A)l-Bl^{3}-y_{1}\\&={\frac {(2x_{1}+x_{1}+A)(3{x_{1}}^{2}+2Ax_{1}+1)}{2By_{1}}}-{\frac {B(3{x_{1}}^{2}+2Ax_{1}+1)^{3}}{(2By_{1})^{3}}}-y_{1}.\end{aligned}}} で求められる。
※この「2倍算」の解説は、「Montgomery curve」の解説の一部です。
「2倍算」を含む「Montgomery curve」の記事については、「Montgomery curve」の概要を参照ください。
- 2倍算のページへのリンク