楕円関数 の形式の加法公式をメモしておきます。
アフィン座標での加算公式
1) PとQが同一点の場合。
2) の場合
これをアフィン座標(affine coordinate)と呼びます。
素体 上の割り算は掛け算に比べて10倍〜50倍くらいの計算量なので、
割り算の回数を減らすように別の座標系を取ることが多いです。
点(x,y)の代わりに3つの値(X,Y,Z)を使い、2点(X', Y', Z'),(X, Y, Z)の間に、
X'=cX, Y'=cY, Z'=cZの関係がある場合、この2点を同一視する座標系を射影座標(projective coordinates)と呼びます。
(X, Y, Z)と(X/Z, Y/Z, 1)は同じ点ということになりますが、これを(x,y)と同一と考えます。
同じようにして、の関係を使って同一視した座標系をJacobian射影座標(Jacobian projective coordinates)と呼びます。
加法公式を射影座標に変換してみると、次のようになることが簡単な計算でわかります。
1) PとQが同一点の場合
2) の場合
Projective座標系での加算公式
式は単純にを代入すれば、得られます。
割り算を全てZ座標に集めることによって、割り算の数をProjective座標とアフィン座標の変換時のみにすることができます。
1) PとQが同一点の場合
2) の場合
参考:
https://written.4403.biz/source/ecc_rev30r.pdf
https://link.springer.com/content/pdf/10.1007%2F3-540-49649-1_6.pdf