Adding points within an elliptic curve group will give another point to the curve and all multiples of the points within the group will also be contained in the elliptical curve. There are three rules for adding points within an elliptical curve group that are followed:
- ∞ + ∞ = ∞
- (χ, γ) + ∞ = (χ, γ)
- (χ, γ) + (χ, -γ) = ∞
scalar multiplication of points in elliptic curves above GF (p) are calculated by the following formulas
A) Addition of points
Let be two points on the curve P = (x1, y1) and Q = (x2, y2) and their sum is R = (x3, y3). P and Q are distinguished if P and -Q are not the same (x1 ≠ x2). Adding the points, P + Q = R is defined as:
(x1, y1) + (x2, y2) = (x3, y3) λ = (y2 - y1) (x1 - x1) -1
x3 = λ2 –x1 –x2
y3 = λ (x1- x3) - y1
Β) Doubling of a point
Let the point P = (x1, x2) exist in the curve where x1 ≠ 0. The doubling of the point, 2P = R is defined as:
(x1, y1) + (x1, y1) = (x3, y3) λ = (3x12 + a) (2y1) -1
x3 = λ2 –2x1
y3 = λ (x1- x3) - y1
C) Scalar multiplication of points
Let P be a point and d be a bit string of an integer. In order to calculate the point Q = dP, combined methods of adding and doubling the points are used. The multiplication of a point, dP = Q, follows the following algorithm:
if dn-1 = 1, then Q: = P else Q: =
for i = n-2 to 0
Q: = Q + Q
if di = 1 then Q: = Q + P return Q