Montgomery curvesでy座標を復元するときの話

[mathjax]ちょっとハマったのでメモ.

前回,ある公式を用いてy座標の復元を行った.その公式はHandbook of Elliptic and Hyperelliptic Curve Cryptographyに記載してあり,その元となったのはEfficient Elliptic Curve Cryptosystems from a Scalar Multiplication Algorithm with Recovery of the y-Coordinate on a Montgomery-Form Elliptic CurveのTheorem2である.論文の方には\(y\neq0\)とするように書かれているが,無限遠点に関する記述は見つけられなかった.以下の式で\(P_{n+1}=(x_{n+1},y_{n+1})=\omicron\),つまり\(P_{n+1}\)が無限遠点となる場合は,無限遠点に対応するアフィン座標が存在しないため,正しく求められない.
$$y_n = \frac{(x_1 x_n +1)(x_1 + x_n +2A)-2A-(x_1-x_n)^2x_{n+1}}{2By_1}$$
\(P_{n+1}=\omicron\)となるとき,以下の式が成り立つ.
$$P_{n+1}=P_1+P_n=\omicron$$
$$P_n=-P_1$$
$$(x_n,y_n)=(x_1,-y_1)$$
よって,\(P_{n+1}\)が無限遠点となる場合は\(y_n=-y_1\)となる.