GF(q), p.
p>3,
(*)
, , , , ( ). , ( X). P Q, P+Q. .
. , . , . . P (x, y)
(X: Y: Z) = { (kx, ky, k) |k ϵ Fp, k ̸ = 0 },
. , λ (5.41) ,
(X, Y,Z) . (5.34)
(5.42)
∞ (0, 1, 0) . P = (X, Y,Z) ≠ ∞, P X/Z, Y/Z, - . (5.34) x 1 y 1 X 1 /Z 1 Y 1 /Z 1
x 2 y 2 x 2 y 2 . , :
. M ( . multiplication), S ( . squaring). , , . , , 0,6 0,8 .
|
|
.
x 3 y 3 , :
. T 1 = X 1 Z 2 T 2 = X 2 Z 1.
,
.
, , .
11. kQ Q
,
kQ Q (, ),
,
. k
k = ... , ∈ { 0, 1 }, 2 Q, 4 Q,
..., Q Q, = 1.
. k = 13. k = , ,
13 Q = 8 Q + 4 Q + Q. 16 Q − 2 Q − Q.
kP
P, Double(P) Add-
Points(P,Q) :
long Mult_k(Point P, long k) {
Point B = P;
while (k) {
if (k %2 == 0)
{ k/ = 2; B = Double (B);}
else
{ k − −; B = AddPoints (B, P);}
}
return B;
}