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

XZ 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

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

  x=X/Z

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
doubling b2=2*b and b4=4*b 2M + 5S + 1*b2 + 1*a + 1*b4
doubling b2=2*b 3M + 4S + 1*b2 + 1*a
doubling 4M + 3S + 1*a + 1*b
doubling 3M + 5S + 13 + 14 + 2*a + 2*b
doubling 3M + 4S + 33 + 2*a + 2*b
diffadd Z1=1 and b4=4*b 6M + 2S + 1*a + 1*b4
diffadd Z1=1 6M + 2S + 1*a + 1*b
diffadd Z1=1 6M + 2S + 1*a + 1*b
diffadd 7M + 2S + 1*a + 1*b
diffadd 8M + 2S + 1*a + 1*b
diffadd Z1=1 9M + 2S + 1*a + 1*b
diffadd Z1=1 9M + 2S + 1*a + 1*b
diffadd Z1=1 9M + 3S + 1*a + 1*b
diffadd 10M + 2S + 1*a + 1*b
diffadd 11M + 3S + 1*a + 1*b
ladder Z1=1 and b2=2*b and b4=4*b 8M + 7S + 1*b2 + 2*a + 2*b4
ladder Z1=1 and b4=4*b 8M + 7S + 2*a + 3*b4
ladder Z1=1 and b4=4*b 8M + 7S + 2*a + 3*b4
ladder Z1=1 and b4=4*b 8M + 7S + 2*a + 3*b4
ladder Z1=1 and b2=2*b and b4=4*b 9M + 6S + 1*b2 + 2*a + 1*b4
ladder b4=4*b 9M + 7S + 2*a + 3*b4
ladder b4=4*b 10M + 7S + 2*a + 3*b4
ladder Z1=1 12M + 7S + 13 + 14 + 3*a + 3*b
ladder Z1=1 12M + 8S + 13 + 14 + 3*a + 3*b
ladder 13M + 7S + 13 + 14 + 3*a + 3*b
ladder 14M + 8S + 13 + 14 + 3*a + 3*b
ladder Z1=1 12M + 6S + 33 + 3*a + 3*b

Explicit formulas for addition

Explicit formulas for doubling

The "dbl-2002-bj-3" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

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

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

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

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

Explicit formulas for tripling

Explicit formulas for differential addition

The "mdadd-2002-bj-2" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mdadd-2002-it-3" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mdadd-2002-it-4" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dadd-2002-it-3" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dadd-2002-it-4" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mdadd-2002-bj" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mdadd-2002-it" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mdadd-2002-it-2" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dadd-2002-it" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "dadd-2002-it-2" differential-addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for differential addition and doubling

The "mladd-2002-bj-3" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mladd-2002-it-3" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mladd-2002-it-4" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mladd-2002-it-5" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mladd-2002-bj-2" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "ladd-2002-it-3" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "ladd-2002-it-4" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mladd-2002-it" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mladd-2002-it-2" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "ladd-2002-it" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "ladd-2002-it-2" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "mladd-2002-bj" differential-addition-and-doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for scaling