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