y^2=x^3+a*x+b
XYZZ coordinates [database entry] represent x y as X Y ZZ ZZZ satisfying the following equations:
x=X/ZZ y=Y/ZZZ ZZ^3=ZZZ^2
| Operation | Assumptions | Cost | Readdition cost |
|---|---|---|---|
| addition | ZZ1=1 and ZZZ1=1 and ZZ2=1 and ZZZ2=1 | 4M + 2S | 4M + 2S |
| addition | ZZ2=1 and ZZZ2=1 | 8M + 2S | 8M + 2S |
| addition | 12M + 2S | 12M + 2S | |
| doubling | ZZ1=1 and ZZZ1=1 | 4M + 3S | |
| doubling | 6M + 4S + 1*a | ||
| scaling | 1I + 3M + 1S |
P = X2-X1
R = Y2-Y1
PP = P^2
PPP = P*PP
Q = X1*PP
X3 = R^2-PPP-2*Q
Y3 = R*(Q-X3)-Y1*PPP
ZZ3 = PP
ZZZ3 = PPP
U2 = X2*ZZ1
S2 = Y2*ZZZ1
P = U2-X1
R = S2-Y1
PP = P^2
PPP = P*PP
Q = X1*PP
X3 = R^2-PPP-2*Q
Y3 = R*(Q-X3)-Y1*PPP
ZZ3 = ZZ1*PP
ZZZ3 = ZZZ1*PPP
U1 = X1*ZZ2
U2 = X2*ZZ1
S1 = Y1*ZZZ2
S2 = Y2*ZZZ1
P = U2-U1
R = S2-S1
PP = P^2
PPP = P*PP
Q = U1*PP
X3 = R^2-PPP-2*Q
Y3 = R*(Q-X3)-S1*PPP
ZZ3 = ZZ1*ZZ2*PP
ZZZ3 = ZZZ1*ZZZ2*PPP
U = 2*Y1
V = U^2
W = U*V
S = X1*V
M = 3*X1^2+a
X3 = M^2-2*S
Y3 = M*(S-X3)-W*Y1
ZZ3 = V
ZZZ3 = W
U = 2*Y1
V = U^2
W = U*V
S = X1*V
M = 3*X1^2+a*ZZ1^2
X3 = M^2-2*S
Y3 = M*(S-X3)-W*Y1
ZZ3 = V*ZZ1
ZZZ3 = W*ZZZ1
A = 1/ZZZ1
B = (ZZ1*A)^2
X3 = X1*B
Y3 = Y1*A
ZZ3 = 1
ZZZ3 = 1