y^2=x^3+a*x^2+16*a*x
Standard coordinates [database entry] represent x y as X Y Z ZZ satisfying the following equations:
x=X/Z
y=Y/ZZ
ZZ=Z^2
Operation | Assumptions | Cost | Readdition cost |
---|---|---|---|
addition | Z1=1 and Z2=1 | 4M + 4S + 1*a | 4M + 4S + 1*a |
addition | Z1=1 and Z2=1 | 4M + 4S + 1*a | 4M + 4S + 1*a |
addition | Z1=1 and Z2=1 | 6M + 3S + 1*a | 6M + 3S + 1*a |
addition | Z2=1 | 8M + 4S + 1*a | 8M + 4S + 1*a |
addition | Z2=1 | 9M + 3S + 1*a | 9M + 3S + 1*a |
addition | 12M + 5S + 1*a | 12M + 5S + 1*a | |
addition | 21M + 15S + 2^4 + 1*a | 21M + 11S + 1^4 + 1*a | |
addition | 7I + 12M + 9S + 1^4 + 1*a | 4I + 9M + 8S + 1^4 + 1*a | |
doubling | a2=2*a and a16=16*a and Z1=1 | 1M + 5S + 1*a2 + 1*a | |
doubling | a2=2*a | 2M + 5S + 1*a2 + 1*a | |
doubling | a4=4*a | 3M + 4S + 1*a + 1*a4 | |
doubling | a16=16*a | 3M + 8S + 1*a16 + 2*a | |
scaling | 1I + 2M + 1S |
A = Y2-Y1 AA = A^2 B = X2-X1 CC = B^2 F = X1*CC Z3 = 2*CC D = X2*Z3 ZZ3 = Z3^2 X3 = 2*(AA-F)-a*Z3-D Y3 = ((A+B)^2-AA-CC)*(D-X3)-Y2*ZZ3
A = Y2-Y1 AA = A^2 B = X2-X1 CC = B^2 D = 2*X2*CC F = X1*CC Z3 = 2*CC ZZ3 = Z3^2 X3 = 2*(AA-F)-a*Z3-D Y3 = ((A+B)^2-AA-CC)*(D-X3)-Y2*ZZ3
A = Y1-Y2 B = X1-X2 C = B Z3 = C^2 D = X1*Z3 E = A^2 F = X2*B*C X3 = E-a*Z3-D-F G = Z3^2 H = A*C Y3 = H*(D-X3)-Y1*G ZZ3 = G
A = Y2*ZZ1-Y1 AA = A^2 B = X2*Z1-X1 C = B*Z1 CC = C^2 D = 2*X2*CC F = X1*B*C Z3 = 2*CC ZZ3 = Z3^2 X3 = 2*(AA-F)-a*Z3-D Y3 = ((A+C)^2-AA-CC)*(D-X3)-Y2*ZZ3
A = Y2*ZZ1-Y1 B = X2*Z1-X1 C = B*Z1 Z3 = C^2 D = X2*Z3 E = A^2 F = X1*B*C X3 = E-a*Z3-D-F G = Z3^2 H = A*C Y3 = H*(D-X3)-Y2*G ZZ3 = G
A = Y1*ZZ2-Y2*ZZ1 AA = A^2 X2Z1 = X2*Z1 B = X1*Z2-X2Z1 C = B*Z2 E = C*Z1 EE = E^2 F = E*C D = F*X1 U = AA-a*EE-D-X2Z1*E*B X3 = 2*U Y3 = 2*((E+A)^2-EE-AA)*(D-U)-Y1*(2*F)^2 Z3 = 2*EE ZZ3 = Z3^2
A = Y1*Z2^2-Y2*Z1^2 B = X1*Z2-X2*Z1 D = Z1*Z2^2*B^2*X1 U = A^2-a*B^2*Z1^2*Z2^2-D-X2*B^2*Z1^2*Z2 X3 = U Y3 = Z1*Z2*A*B*(D-U)-Z1^2*Z2^4*Y1*B^4 Z3 = Z1^2*Z2^2*B^2 ZZ3 = Z3^2
A = Y1/Z1^2-Y2/Z2^2 B = (X1/Z1)-(X2/Z2) D = (X1/Z1)*B^2 X3 = A^2-a*B^2-D-(X2/Z2)*B^2 Y3 = A*B*(D-X3)-(Y1/Z1^2)*B^4 Z3 = B^2 ZZ3 = Z3^2
A = X1^2 B = A-a16 C = a2*A YY = Y1^2 YY2 = 2*YY Z3 = 2*YY2 X3 = B^2 V = (Y1+B)^2-YY-X3 Y3 = V*(X3+64*C+a*(YY2-C)) ZZ3 = Z3^2
A = X1^2 U = a2*ZZ1 B = A-8*U C = A*U YY = Y1^2 YY2 = 2*YY Z3 = 2*YY2 X3 = B^2 V = (Y1+B)^2-YY-X3 Y3 = V*(X3+64*C+a*(YY2-C)) ZZ3 = Z3^2
A = X1^2 U = a4*ZZ1 B = A-4*U C = A*U Z3 = (2*Y1)^2 X3 = B^2 Y3 = Y1*B*(2*(X3+32*C)+a*(Z3-C)) ZZ3 = Z3^2
A = X1^2 B = X1^2-a16*Z1^2 YT = Y1*B X3 = B^2 Z3 = 4*Y1^2 C = X1^2*a*Z1^2 D = Z3^2 E = a*(Z3-4*C) Y3 = YT*(2*X3+E+256*C) ZZ3 = D
A = 1/Z1
X3 = X1*A
Y3 = Y1*A^2
Z3 = 1
ZZ3 = 1