Explicit-Formulas Database
Genus-1 curves over large-characteristic fields
Edwards curves EFD / Genus-1 large-characteristic / Projective coordinates for Edwards curves

Projective coordinates for Edwards curves

An elliptic curve in Edwards form [more information] has parameters c d and coordinates x y satisfying the following equations:
  x2+y2=c2*(1+d*x2*y2)

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

  x=X/Z
  y=Y/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
addition Z1=1 and Z2=1 6M + 1S + 1*c + 1*d 6M + 1S + 1*c + 1*d
addition k*c=1 and Z2=1 9M + 1*k 9M + 1*k
addition X2=1 9M + 1S + 1*c + 1*d 9M + 1S + 1*c + 1*d
addition Z2=1 9M + 1S + 1*c + 1*d 9M + 1S + 1*c + 1*d
addition Z2=1 9M + 1S + 1*c + 1*d 9M + 1S + 1*c + 1*d
addition c2=2*c and Z2=1 6M + 5S + 1*c2 + 1*d 6M + 5S + 1*c2 + 1*d
addition 10M + 1S + 1*c + 1*d 10M + 1S + 1*c + 1*d
addition 10M + 1S + 1*c + 1*d 10M + 1S + 1*c + 1*d
addition i2=-1 10M + 1S + 3*i + 1*c + 1*d 10M + 1S + 2*i + 1*c + 1*d
addition k*c=1 11M + 1*k 11M + 1*k
addition c2=2*c 7M + 5S + 1*c2 + 1*d 7M + 5S + 1*c2 + 1*d
addition k*c=1 10M + 3S + 1*k 9M + 2S + 1*k
doubling cc2=2*c*c and Z1=1 3M + 3S + 2*c
doubling 3M + 4S + 3*c
doubling 3M + 4S + 3*c
doubling 3M + 4S + 3*c
tripling c2=2*c 9M + 4S + 1*c2
tripling 9M + 4S + 1*c
tripling c=1 7M + 7S
tripling cc4=4*c*c 7M + 7S + 1*cc4
scaling 1I + 2M

Explicit formulas for addition

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

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

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

The "madd-2007-bl-2" 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-2007-bl-3" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

The "add-2007-bl-2" 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-2007-bl-4" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:

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

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

The "add-20090311-hwcd" 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-2" 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-2007-bl-3" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:

Explicit formulas for tripling

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

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

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

The "tpl-2007-bblp-3" 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]: