Go to the first, previous, next, last section, table of contents.

## 有限体上の楕円曲線に関する演算

有限体上の楕円曲線に関するいくつかの基本的な演算が, 組み込み関数として 提供されている.

楕円曲線の指定は, 長さ 2 のベクトル [a b] で行う. a, b は有限体の元で, `setmod_ff` で定義されている有限体が素体の場合, y^2=x^3+ax+b, 標数 2 の体の場合 y^2+xy=x^3+ax^2+b を表す.

楕円曲線上の点は, 無限遠点も込めて加法群をなす. この演算に関して, 加算 (`ecm_add_ff()`), 減算 (`ecm_sub_ff()`) および逆元計算のための 関数 (`ecm_chsgn_ff()`) が提供されている. 注意すべきは, 演算の対象 となる点の表現が,

- 無限遠点は 0.
- それ以外の点は, 長さ 3 のベクトル [x y z]. ただし, z は 0 でない.

という点である. [x y z] は斉次座標による表現であり, アフィン座標 では [x/z y/z] なる点を表す. よって, アフィン座標 [x y] で 表現された点を演算対象とするには, [x y 1] なるベクトルを 生成する必要がある. 演算結果も斉次座標で得られるが, z 座標が 1 とは限らないため, アフィン座標を求めるためには x, y 座標を z 座標で 割る必要がある.

Go to the first, previous, next, last section, table of contents.