Explicit-Formulas Database
Genus-1 curves over large-characteristic fields
Short Weierstrass curves EFD / Genus-1 large-characteristic / W12 coordinates with a6=0 for short Weierstrass curves

# W12 coordinates with a6=0 for short Weierstrass curves

An elliptic curve in short Weierstrass form [more information] has parameters a b and coordinates x y satisfying the following equations:
```  y^2=x^3+a*x+b
```

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

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

## Best operation counts

Smallest multiplication counts assuming I=100M, S=1M, *param=0M, add=0M, *const=0M:
Smallest multiplication counts assuming I=100M, S=0.8M, *param=0M, add=0M, *const=0M:
Smallest multiplication counts assuming I=100M, S=0.67M, *param=0M, add=0M, *const=0M:

## Summary of all explicit formulas

addition Z2=1 8M + 5S 8M + 5S
addition 10M + 7S 10M + 6S
doubling 1M + 6S + 1*a

The "madd-2010-cln" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:
• 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
```

The "add-2010-cln" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:
• 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
```

## Explicit formulas for doubling

The "dbl-2010-cln" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:
• 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
```