[back] [prev] [next] [index] [root]

 


EccPointsAdd

Returns the sum of two points on an elliptic curve over a finite field.

Syntax:

sum := EccPointsAdd(K,ec,P1,P2);

finite field
  K  
list
  E  
list
  P1  
list
  P2  
list
  sum  

See also:  EccIntPointMult, EccPointIsOnCurve, EccEncryptEccDecrypt, FF

Description:

Using the group law on an elliptic curve E over a finite field K two points P_1=[x_1,y_1] and P_2=[x_2,y_2] are added. E is either given by a list of two or five elements of K or integers. If the equation of E is y^2=x^3+a_4 x+a_6 the curve is represented by [a_4,a_6], if the equation of E is y^2+a_1 xy+a_3y=x^3+a_2x^2+a_4 x+a_6 then the representation is [a_1,a_2,a_3,a_4,a_6]. Points on the curve are given by a pair of elements of K or integers; the point at infinity is represented by the empty list [\;].


Example:


kash> K := FF(11);
Finite field of size 11
kash> E := [0,0,0,1,6];
[ 0, 0, 0, 1, 6 ]
kash> EccPointsAdd(K,E,[2,7],[5,9]);
[ 2, 4 ]
kash> EccPointsAdd(K,E,[2,7],[]);
> [ 2, 7 ]


<- back[back] [prev] [next] [index] [root]