Explicit-Formulas Database
Genus-1 curves over large-characteristic fields
Edwards curves
EFD / Genus-1 large-characteristic / Squared YZ coordinates with square d for Edwards curves
Squared YZ coordinates with square d for Edwards curves
An elliptic curve in Edwards form
[more information]
has parameters
c
d
and coordinates
x
y
satisfying the following equations:
x^2+y^2=c^2*(1+d*x^2*y^2)
Squared YZ coordinates with square d
[database entry]
make the additional assumptions
c=1
d=r^2
and
represent
x
y
as
Y
Z
satisfying the following equations:
r*y^2=Y/Z
The following formulas are the outcome of
a discussion in 2009 among Daniel J. Bernstein, David Kohel, and Tanja Lange.
The core ideas were published by Pierrick Gaudry in 2006.
Best operation counts
Smallest multiplication counts assuming I=100M, S=1M, *param=0M, add=0M, *const=0M:
- 4M for doubling: 4S.
- 3M for doubling with Z1=1: 3S.
- 6M for differential addition: 4M+2S.
- 5M for differential addition with Z1=1: 3M+2S.
- 10M for differential addition and doubling: 4M+6S. 4M+6S.
- 9M for differential addition and doubling with Z1=1: 3M+6S. 3M+6S.
- 101M for scaling: 1I+1M.
Smallest multiplication counts assuming I=100M, S=0.8M, *param=0M, add=0M, *const=0M:
- 3.2M for doubling: 4S.
- 2.4M for doubling with Z1=1: 3S.
- 5.6M for differential addition: 4M+2S.
- 4.6M for differential addition with Z1=1: 3M+2S.
- 8.8M for differential addition and doubling: 4M+6S. 4M+6S.
- 7.8M for differential addition and doubling with Z1=1: 3M+6S. 3M+6S.
- 101M for scaling: 1I+1M.
Smallest multiplication counts assuming I=100M, S=0.67M, *param=0M, add=0M, *const=0M:
- 2.68M for doubling: 4S.
- 2.01M for doubling with Z1=1: 3S.
- 5.34M for differential addition: 4M+2S.
- 4.34M for differential addition with Z1=1: 3M+2S.
- 8.02M for differential addition and doubling: 4M+6S. 4M+6S.
- 7.02M for differential addition and doubling with Z1=1: 3M+6S. 3M+6S.
- 101M for scaling: 1I+1M.
Summary of all explicit formulas
Explicit formulas for addition
Explicit formulas for doubling
The "mdbl-2006-g" doubling formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
The "dbl-2006-g" doubling formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
Explicit formulas for tripling
Explicit formulas for differential addition
The "mdadd-2006-g" differential-addition formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
The "dadd-2006-g" differential-addition formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
Explicit formulas for differential addition and doubling
The "mladd-2006-g-2" differential-addition-and-doubling formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
The "mladd-2006-g" differential-addition-and-doubling formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
The "ladd-2006-g-2" differential-addition-and-doubling formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
The "ladd-2006-g" differential-addition-and-doubling formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
Explicit formulas for scaling
The "scale" scaling formulas
[database entry;
Sage verification script;
Sage output;
three-operand code]:
- Cost: 1I + 1M + 0add.
- Explicit formulas:
Y3 = Y1/Z1
Z3 = 1