a*x^3+y^3+1=d*x*y
Projective coordinates [database entry] represent x y as X Y Z satisfying the following equations:
x=X/Z y=Y/Z
Operation | Assumptions | Cost | Readdition cost |
---|---|---|---|
addition | 11M + 1*a | 11M + 1*a | |
addition | 12M + 1*a | 12M + 1*a | |
doubling | minustwo=-2 | 6M + 2S + 1*minustwo + 1*d | |
doubling | minustwo=-2 | 7M + 1S + 1*minustwo + 1*d | |
doubling | i^2=-1 and minustwo=-2 and 2d=2*d | 8M + 1*i + 1*minustwo + 1*2d | |
doubling | 6M + 3S + 1*a | ||
doubling | 3M + 3^3 + 1*a | ||
tripling | w^2+w+1=0 and f*d^3=27*a and d*3overd=3 | 6M + 6S + 4*w + 1*a + 1*3overd + 1*f | |
tripling | w^2+w+1=0 and f*d^3=27*a and d*3overd=3 | 6M + 6S + 12*w + 1*a + 1*3overd + 1*f | |
tripling | 2overd*d=2 and aoverddd*d^3=a | 8M + 4S + 1*aoverddd + 1*a + 1*2overd | |
tripling | d*recipd=1 | 8M + 6S + 1*a + 1*recipd |
A = X1*Z2 B = Z1*Z2 C = Y1*X2 D = Y1*Y2 E = Z1*Y2 F = a*X1*X2 G = (D+B)*(A-C) H = (D-B)*(A+C) J = (D+F)*(A-E) K = (D-F)*(A+E) X3 = G-H Y3 = K-J Z3 = J+K-G-H-2*(B-F)*(C+E)
A = X1*Z2 B = Z1*Z2 C = Y1*X2 D = Y1*Y2 E = Z1*Y2 F = a*X1*X2 X3 = A*B-C*D Y3 = D*E-F*A Z3 = F*C-B*E
R = Y1+Z1 S = Y1-Z1 T = R^2 U = S^2 V = T+3*U W = 3*T+U C = R*V D = S*W E = 3*C-d*X1*(W-V) X3 = minustwo*X1*D Y3 = (D+E)*Z1 Z3 = (D-E)*Y1
P = Y1*Z1
2P = 2*P
S = Y1+Z1
A = S^2-P
C = (A-2P)*S
D = A*(Z1-Y1)
E = 3*C-d*X1*2P
X3 = minustwo*X1*D
Y3 = (D-E)*Z1
Z3 = (D+E)*Y1
iZ = i*Z1 A = (Y1-iZ)*(Y1+iZ) B = Y1*Z1 C = (A-B)*(Y1+Z1) D = (A+B)*(Z1-Y1) E = 3*C-2d*X1*B X3 = minustwo*X1*D Y3 = (D-E)*Z1 Z3 = (D+E)*Y1
A = X1^2 B = Y1^2 C = Z1^2 D = A*X1 E = B*Y1 F = C*Z1 G = a*D X3 = X1*(E-F) Y3 = Z1*(G-E) Z3 = Y1*(F-G)
D = X1^3 E = Y1^3 F = Z1^3 G = a*D X3 = X1*(E-F) Y3 = Z1*(G-E) Z3 = Y1*(F-G)
R = a*X1*X1^2 V = Y1*Y1^2 S = Z1*Z1^2 wS = w*S wV = w*V wSV = wS-wV F = R+S+V G = R+wSV-V H = R-S-wSV A = F*F^2 B = A-f*A C = G*G^2 D = H*H^2 wC = w*C wD = w*D wCD = wC-wD X3 = 3overd*(B+C+D) Y3 = B+wCD-D Z3 = B-C-wCD
R = a*X1*X1^2 V = Y1*Y1^2 S = Z1*Z1^2 F = R+S+V G = R+w*S+w*w*V H = R+w*w*S+w*V A = F*F^2 B = A-f*A C = G*G^2 D = H*H^2 X3 = 3overd*(B+C+D) Y3 = B+w*C+w*w*D Z3 = B+w*w*C+w*D
R = a*X1*X1^2 V = Y1*Y1^2 S = Z1*Z1^2 T = R+S N = T*(S+V)*(V+R) M = (R-S)*(S-V)*(V-R) C = (T+V)*(T+V)^2 D = aoverddd*C E = N-8*D X3 = 2overd*(C-3*(D+N)) Y3 = E+M Z3 = E-M
U = a*X1*X1^2 V = Y1*Y1^2 W = Z1*Z1^2 A = (U-V)^2 B = (U-W)^2 C = (V-W)^2 D = A+C E = A+B X3 = recipd*(U+V+W)*(B+D) Y3 = 2*U*C-V*(C-E) Z3 = 2*V*B-U*(B-D)