Explicit-Formulas Database
Genus-1 curves over large-characteristic fields
Short Weierstrass curves EFD / Genus-1 large-characteristic / XYZZ coordinates for short Weierstrass curves

XYZZ coordinates 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:
  y2=x3+a*x+b

XYZZ coordinates [database entry] represent x y as X Y ZZ ZZZ satisfying the following equations:

  x=X/ZZ
  y=Y/ZZZ
  ZZ3=ZZZ2

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

OperationAssumptionsCostReaddition cost
addition ZZ1=1 and ZZZ1=1 and ZZ2=1 and ZZZ2=1 4M + 2S 4M + 2S
addition ZZ2=1 and ZZZ2=1 8M + 2S 8M + 2S
addition 12M + 2S 12M + 2S
doubling ZZ1=1 and ZZZ1=1 4M + 3S
doubling 6M + 4S + 1*a
scaling 1I + 3M + 1S

Explicit formulas for addition

The "mmadd-2008-s" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "madd-2008-s" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "add-2008-s" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for doubling

The "mdbl-2008-s-1" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-2008-s-1" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for tripling

Explicit formulas for differential addition

Explicit formulas for differential addition and doubling

Explicit formulas for scaling

The "z" scaling formulas [database entry; Sage verification script; Sage output; three-operand code]: