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

Jacobian 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

Jacobian coordinates [database entry] represent x y as X Y Z satisfying the following equations:

  x=X/Z2
  y=Y/Z3

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 Z1=1 and Z2=1 4M + 2S 4M + 2S
addition Z1=Z2 5M + 2S 5M + 2S
addition Z2=1 7M + 4S 7M + 4S
addition Z2=1 8M + 3S 8M + 3S
addition Z2=1 8M + 3S 8M + 3S
addition Z2=1 8M + 3S 8M + 3S
addition 11M + 5S 10M + 4S
addition 12M + 4S 11M + 3S
addition 12M + 4S 11M + 3S
addition half*2=1 12M + 4S + 1*half 11M + 3S + 1*half
addition 8M + 6S + 23 8M + 5S + 13
addition 10M + 5S + 33 10M + 4S + 23
addition 10M + 5S + 43 10M + 4S + 33
doubling Z1=1 1M + 5S
doubling 1M + 8S + 1*a
doubling 3M + 6S + 1*a
doubling half*2=1 3M + 6S + 1*half + 1*a
doubling 3M + 3S + 24 + 1*a
doubling 3M + 3S + 24 + 1*a
tripling 5M + 10S + 1*a
tripling 8M + 7S + 1*a
tripling 9M + 5S + 13 + 24 + 1*a
scaling 1I + 3M + 1S

Explicit formulas for addition

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

The "zadd-2007-m" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

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

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

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

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

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

The "add-1998-cmo-2" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

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

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

The "add-1986-cc-2" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

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

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

Explicit formulas for doubling

The "mdbl-2007-bl" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-2007-bl" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-1998-cmo-2" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-1998-hnm" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-1986-cc" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dbl-1998-cmo" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for tripling

The "tpl-2007-bl" tripling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "tpl-2005-dim-2" tripling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "tpl-2005-dim" tripling formulas [database entry; Sage verification script; Sage output; three-operand code]:

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]: