]> Elliptic Curves - Explicit Addition Formulae

Elliptic Curves

Consider an elliptic curve E (in Weierstrass form)

Y 2 +a 1 XY+a 3 Y=X 3 +a 2 X 2 +a 4 X+a 6

over a field K.

Let P=(x 1 ,y 1 ) be a point on E(K).

Negation

To compute P, we need to find the line through P and O (recall O=OO), and find the third point of intersection. The line through P and O is the vertical line through P, so we need to find the points of intersection of X=x 1 and the curve. In other words, we need to solve Y 2 +(a 1 x 1 +a 3 )Y(x 1 3 +a 2 x 1 2 +a 4 x 1 +a 6 )=0 Since we know one solution is Y=y 1 , we know that the other must be a 1 x 1 a 3 y 1 . That is, P=(x 1 ,a 1 x 1 a 3 y 1 ) Recall that if charK2 , we can affinely transform the curve so that a 1 =a 3 =0 , so that to find the inverse of P we simply negate its y-coordinate.

Point Doubling

To find P+P=2 P (whose coordinate we'll denote by (x 3 ,y 3 )), we need the equation of the tangent at P. The gradient of the tangent at the point (X,Y) is given by (dE/dX)/(dE/dY)=(3 X 2 +2 a 2 X+a 4 )/(2 Y+a 1 X+a 3 ). So setting λ=3 x 1 2 +2 a 2 x 1 +a 4 2 y 1 +a 1 x 1 +a 3 means the tangent at P is given by the equation Y=λXλx 1 +y 1 . Substituting this into the equation for E and negating the coefficient of X 2 gives the sum of the roots: λ 2 +λa 1 a 2 which means the x-coordinate of the third point of intersection must be x 3 =λ 2 +λa 1 a 2 2 x 1 and the corresponding y-coordinate can be found from the equation of the tangent at P: y=λx 3 λx 1 +y 1 Lastly we need to negate (x 3 ,y) which from above is y 3 =a 1 x 1 a 3 λx 3 +λx 1 y 1

Point Addition

Suppose we have a second point Q=(x 2 ,y 2 ) different from P. We wish to find P+Q whose coordinates we shall denote by (x 3 ,y 3 ). If P=Q, then P+Q=O. Otherwise the gradient of the line determined by P and Q is λ=y 2 y 1 x 2 x 1 and the equation of the line between P and Q is Y=λXλx 1 +y 1 . Substituting this into the curve gives the equation (λXλx 1 +y 1 ) 2 +(a 1 X+a 3 )(λXλx 1 +y 1 )=X 3 +a 2 X 2 +a 4 X+a 6 The sum of the roots, i.e. the negation of the coefficient of X 2 is λ 2 +a 1 λa 2 , hence x 3 =λ 2 +a 1 λa 2 x 1 x 2 and the corresponding y-coordinate can be found by substituting into the equation of the P-Q line: y=λx 3 λx 1 +y 1 As before, we must negate this third point (x 3 ,y) which from above gives y 3 =a 1 x 3 a 3 λx 3 +λx 1 y 1