Adăugarea de puncte într-un grup de curbe eliptice va da un alt punct curbei și toți multiplii punctelor din grup vor fi, de asemenea, conținute în curba eliptică. Există trei reguli pentru adăugarea de puncte într-un grup de curbe eliptice care sunt urmate:
- â + â = â
- (Ï, γ) + â = (Ï, γ)
- (Ï, γ) + (Ï, -γ) = â
Înmulțirea scalară a punctelor din curbele eliptice deasupra GF (p) se calculează prin următoarele formule
A) Adunarea punctelor
Fie două puncte de pe curba P = (x1, y1) și Q = (x2, y2) și suma lor este R = (x3, y3). P și Q se disting dacă P și -Q nu sunt la fel (x1 â x2). Adunând punctele, P + Q = R este definit ca:
(x1, y1) + (x2, y2) = (x3, y3) λ = (y2 - y1) (x1 - x1) -1
x3 = λ2 âx1 âx2
y3 = λ (x1- x3) - y1
Î) Dublarea unui punct
Fie punctul P = (x1, x2) să existe în curba unde x1 â 0. Dublarea punctului, 2P = R este definită ca:
(x1, y1) + (x1, y1) = (x3, y3) λ = (3x12 + a) (2y1) -1
x3 = λ2 â2x1
y3 = λ (x1- x3) - y1
C) Înmulțirea scalară a punctelor
Fie P un punct și d un șir de biți dintr-un număr întreg. Pentru a calcula punctul Q = dP se folosesc metode combinate de adunare și dublare a punctelor. Înmulțirea unui punct, dP = Q, urmează următorul algoritm:
dacă dn-1 = 1, atunci Q: = P altfel Q: = ï¥
pentru i = n-2 la 0
Î: = Q + Q
dacă di = 1 atunci Q: = Q + P returnează Q