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:
  y2=x3+a*x2+16*a*x
Affine addition formulas: (x1,y1)+(x2,y2)=(x3,y3) where
  x3 = (-x13+(x2-a)*x12+(x22+2*a*x2)*x1+(y12-2*y2*y1+(-x23-a*x22+y22)))/(x12-2*x2*x1+x22)
  y3 = ((-y1+2*y2)*x13+(-a*y1+(-3*y2*x2+a*y2))*x12+((3*x22+2*a*x2)*y1-2*a*y2*x2)*x1+(y13-3*y2*y12+(-2*x23-a*x22+3*y22)*y1+(y2*x23+a*y2*x22-y23)))/(-x13+3*x2*x12-3*x22*x1+x23)
Affine doubling formulas: 2(x1,y1)=(x3,y3) where
  x3 = 1/(4*y12)*x14-8*a/y12*x12+64*a2/y12
  y3 = 1/(8*y13)*x16+((-a2+40*a)/(4*y13))*x14+((a*y12+(16*a3-640*a2))/(4*y13))*x12+((-4*a2*y12-512*a3)/y13)
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=Z2