椭圆曲线上点的表示分成仿射坐标系表示和射影坐标表示形式,首先来看看仿射坐标表示形式。
素域Fp上的椭圆曲线E由(仿射)方程y2=x3+ax+b决定,设曲线上的两个点为P1=(x1,y1),P2=(x2,y2),并且记椭圆曲线加法群的单位元为,称为无穷远点或者零点。如果P1≠-P2,则P3=P1+P2=(x3,y3),可以由如下公式计算出来:
当P1≠P2时,计算P3需要1次逆运算、2次乘法运算和1次平方运算,简记为1I+2M+1S(这里的I表示逆运算,M表示乘法运算,S表示平方运算,下同)。由于素域上的加法和减法比逆、乘法和平方快的多(参见[3],表2),所以可以忽略加法和减法的时耗,甚至小常数(比如2、3)与大整数的乘法也可以忽略不计。
当P1=P2时,计算P3需要1I+2M+2S。
然而,计算素域Fp上的逆是很耗时的(参见[3],§3.6),所以采用射影坐标以尽量避免做逆运算。