Genus-1 curves over large-characteristic fields

Short Weierstrass curves

y^^{2}=x^^{3}+a*x+b

W12 coordinates with a6=0 [database entry] make the additional assumptions

b=0and represent x y as X Y Z satisfying the following equations:

x=X/Z y=Y/Z^^{2}

- 17M for addition: 10M+7S.
- 13M for addition with Z2=1: 8M+5S.
- 16M for readdition: 10M+6S after 10M+7S.
- 13M for readdition with Z2=1: 8M+5S after 8M+5S.
- 7M for doubling: 1M+6S.

- 15.6M for addition: 10M+7S.
- 12M for addition with Z2=1: 8M+5S.
- 14.8M for readdition: 10M+6S after 10M+7S.
- 12M for readdition with Z2=1: 8M+5S after 8M+5S.
- 5.8M for doubling: 1M+6S.

- 14.69M for addition: 10M+7S.
- 11.35M for addition with Z2=1: 8M+5S.
- 14.02M for readdition: 10M+6S after 10M+7S.
- 11.35M for readdition with Z2=1: 8M+5S after 8M+5S.
- 5.02M for doubling: 1M+6S.

Operation | Assumptions | Cost | Readdition cost |
---|---|---|---|

addition | Z2=1 | 8M + 5S | 8M + 5S |

addition | 10M + 7S | 10M + 6S | |

doubling | 1M + 6S + 1*a |

- Assumptions: Z2=1.
- Cost: 8M + 5S + 9add + 3*2.
- Source: 2010 Costello–Lange–Naehrig.
- Explicit formulas:
A = Z1^

^{2}E = X2*Z1 G = Y2*A H = (X1-E) I = (Y1-G) II = I^^{2}J = Z1*H K = 2*J*H X3 = 2*II-(X1+E)*K JJ = J^^{2}Y3 = ((J+I)^^{2}-JJ-II)*(X1*K-X3)-Y1*K^^{2}Z3 = 2*JJ

- Cost: 10M + 7S + 12add + 3*2 + 1*4.
- Cost: 10M + 6S + 12add + 3*2 + 1*4 dependent upon the first point.
- Source: 2010 Costello–Lange–Naehrig.
- Explicit formulas:
A = Z1^

^{2}B = Z2^^{2}C = (Z1+Z2)^^{2}-A-B D = X1*Z2 E = X2*Z1 F = Y1*B G = Y2*A H = D-E I = 2*(F-G) II = I^^{2}J = C*H K = 4*J*H X3 = 2*II-(D+E)*K JJ = J^^{2}Y3 = ((J+I)^^{2}-JJ-II)*(D*K-X3)-F*K^^{2}Z3 = 2*JJ

- Cost: 1M + 6S + 1*a + 7add + 1*2 + 1*4.
- Source: 2010 Costello–Lange–Naehrig.
- Explicit formulas:
A = X1^

^{2}B = Y1^^{2}C = Z1^^{2}D = a*C X3 = (A-D)^^{2}E = 2*(A+D)^^{2}-X3 F = ((A-D+Y1)^^{2}-B-X3) Y3 = E*F Z3 = 4*B