a*x^2+y^2=1+d*x^2*y^2
Extended coordinates [database entry] represent x y as X Y Z T satisfying the following equations:
x=X/Z y=Y/Z x*y=T/Z
This representation was introduced in the Hisil–Wong–Carter–Dawson paper "Twisted Edwards curves revisited" (Asiacrypt 2008).
Operation | Assumptions | Cost | Readdition cost |
---|---|---|---|
addition | Z1=1 and Z2=1 | 7M + 1*a | 7M + 1*a |
addition | Z1=1 and Z2=1 | 7M + 1S + 1*a + 1*d | 7M + 1S + 1*a |
addition | Z2=1 | 8M + 1*a | 8M + 1*a |
addition | Z2=1 | 8M + 1*a + 1*d | 8M + 1*a |
addition | 9M + 1*a | 9M + 1*a | |
addition | 9M + 1*a + 1*d | 9M + 1*a | |
doubling | Z1=1 | 3M + 4S + 1*a | |
doubling | 4M + 4S + 1*a | ||
tripling | 11M + 3S + 1*a |
A = X1*X2 B = Y1*Y2 C = T2 D = T1 E = D+C F = (X1-Y1)*(X2+Y2)+B-A G = B+a*A H = D-C X3 = E*F Y3 = G*H T3 = E*H Z3 = F*G
A = X1*X2
B = Y1*Y2
C = T1*d*T2
E = (X1+Y1)*(X2+Y2)-A-B
F = 1-C
G = 1+C
H = B-a*A
X3 = E*F
Y3 = G*H
T3 = E*H
Z3 = 1-C^2
A = X1*X2 B = Y1*Y2 C = Z1*T2 D = T1 E = D+C F = (X1-Y1)*(X2+Y2)+B-A G = B+a*A H = D-C X3 = E*F Y3 = G*H T3 = E*H Z3 = F*G
A = X1*X2 B = Y1*Y2 C = T1*d*T2 D = Z1 E = (X1+Y1)*(X2+Y2)-A-B F = D-C G = D+C H = B-a*A X3 = E*F Y3 = G*H T3 = E*H Z3 = F*G
A = X1*X2 B = Y1*Y2 C = Z1*T2 D = T1*Z2 E = D+C F = (X1-Y1)*(X2+Y2)+B-A G = B+a*A H = D-C X3 = E*F Y3 = G*H T3 = E*H Z3 = F*G
A = X1*X2 B = Y1*Y2 C = T1*d*T2 D = Z1*Z2 E = (X1+Y1)*(X2+Y2)-A-B F = D-C G = D+C H = B-a*A X3 = E*F Y3 = G*H T3 = E*H Z3 = F*G
A = X1^2 B = Y1^2 D = a*A E = (X1+Y1)^2-A-B G = D+B H = D-B X3 = E*(G-2) Y3 = G*H T3 = E*H Z3 = G^2-2*G
A = X1^2 B = Y1^2 C = 2*Z1^2 D = a*A E = (X1+Y1)^2-A-B G = D+B F = G-C H = D-B X3 = E*F Y3 = G*H T3 = E*H Z3 = F*G
YY = Y1^2 aXX = a*X1^2 Ap = YY+aXX B = 2*(2*Z1^2-Ap) xB = aXX*B yB = YY*B AA = Ap*(YY-aXX) F = AA-yB G = AA+xB xE = X1*(yB+AA) yH = Y1*(xB-AA) zF = Z1*F zG = Z1*G X3 = xE*zF Y3 = yH*zG Z3 = zF*zG T3 = xE*yH