Explicit-Formulas Database
Genus-1 curves over large-characteristic fields

# Doubling-oriented Doche–Icart–Kohel curves

An elliptic curve in doubling-oriented Doche–Icart–Kohel form [database entry; Sage verification script; Sage output] has parameters a and coordinates x y satisfying the following equations:
```  y^2=x^3+a*x^2+16*a*x
```
```  x3 = (-x1^3+(x2-a)*x1^2+(x2^2+2*a*x2)*x1+(y1^2-2*y2*y1+(-x2^3-a*x2^2+y2^2)))/(x1^2-2*x2*x1+x2^2)
y3 = ((-y1+2*y2)*x1^3+(-a*y1+(-3*y2*x2+a*y2))*x1^2+((3*x2^2+2*a*x2)*y1-2*a*y2*x2)*x1+(y1^3-3*y2*y1^2+(-2*x2^3-a*x2^2+3*y2^2)*y1+(y2*x2^3+a*y2*x2^2-y2^3)))/(-x1^3+3*x2*x1^2-3*x2^2*x1+x2^3)
```
Affine doubling formulas: 2(x1,y1)=(x3,y3) where
```  x3 = 1/(4*y1^2)*x1^4-8*a/y1^2*x1^2+64*a^2/y1^2
y3 = 1/(8*y1^3)*x1^6+((-a^2+40*a)/(4*y1^3))*x1^4+((a*y1^2+(16*a^3-640*a^2))/(4*y1^3))*x1^2+((-4*a^2*y1^2-512*a^3)/y1^3)
```
Affine negation formulas: -(x1,y1)=(x1,-y1).

This curve shape was introduced in 2006 Doche–Icart–Kohel. The parameter a is required to have a(a-64) nonzero. The neutral element of the curve is the unique point at infinity, namely (0:1:0) in projective coordinates.

## Representations for fast computations

Standard coordinates [more information] represent x y as X Y Z ZZ satisfying the following equations:
```  x=X/Z
y=Y/ZZ
ZZ=Z^2
```