楕円曲線暗号
楕円曲線E上に位置する2点 P A ( x 1 , y 1 ) , P B ( x 2 , y 2 ) {\displaystyle P_{\!A}\,(x_{1},\,y_{1}),\,P_{\!B}\,(x_{2},\,y_{2})} の加算は以下の通りである。
まず、無限遠点を O {\displaystyle O} とすると、 P A + O = O + P A = P A {\displaystyle P_{\!A}+O=O+P_{\!A}=P_{\!A}} である。すなわち、 O {\displaystyle O} が単位元である。
もし x 1 = x 2 , y 1 = − y 2 {\displaystyle x_{1}=x_{2},y_{1}=-y_{2}} ならば、 P A + P B = O {\displaystyle P_{\!A}+P_{\!B}=O} である。
それ以外の場合、 P C = P A + P B {\displaystyle P_{\!C}=P_{\!A}+P_{\!B}} は、2点 P A , P B {\displaystyle P_{\!A},\,P_{\!B}} を通る直線とEとの( P A {\displaystyle P_{\!A}} および P B {\displaystyle P_{\!B}} と異なる)交点の、y座標の符号を反転したものである。
楕円曲線E上の点 P A ( x 1 , y 1 ) {\displaystyle P_{\!A}\,(x_{1},\,y_{1})} に対し、これを2倍した点 2 P A = P A + P A {\displaystyle 2P_{\!A}=P_{\!A}+P_{\!A}} は、以下のように求められる。
y 1 = 0 {\displaystyle y_{1}=0} のとき、 2 P A = O {\displaystyle 2P_{\!A}=O} である。また、 2 O = O + O = O {\displaystyle 2O=O+O=O} である。
それ以外の場合は、 P D = 2 P A {\displaystyle P_{\!D}=2P_{\!A}} は、 P A {\displaystyle P_{\!A}} でのEの接線がE自身と交わる( P A {\displaystyle P_{\!A}} とは異なる)交点の、y座標の符号を反転したものである。