Jump to content

Twisted Edwards curve: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Sfan00 IMG (talk | contribs)
Non assisted edit - Caption cleanup Image not speedy - You can help!!
No edit summary
Line 3: Line 3:
[[Image:Twisted_Edwards_curve.jpg|300px|right|thumb|A Twisted Edwards curve of equation <math>10x^2+y^2=1+6x^2y^2</math> ]]
[[Image:Twisted_Edwards_curve.jpg|300px|right|thumb|A Twisted Edwards curve of equation <math>10x^2+y^2=1+6x^2y^2</math> ]]


In [[algebraic geometry]], the '''Twisted Edwards curves''' are plane models of [[elliptic curve]]s, a generalisation of [[Edwards curve]]s introduced by [[Daniel J. Bernstein|Bernstein]] et al. (2007) and named after [[Harold Edwards (mathematician)|Harold M. Edwards]]. Each [[twists of curves|twisted]] Edwards curve (as the name suggests) is a twist of an [[Edwards curve]].
In [[algebraic geometry]], the '''Twisted Edwards curves''' are plane models of [[elliptic curve]]s, a generalisation of [[Edwards curve]]s introduced by [[Daniel J. Bernstein|Bernstein]] et al. (2007) and named after [[Harold Edwards (mathematician)|Harold M. Edwards]]. Each [[twists of curves|twisted]] Edwards curve (as the name suggests) is a [[Twists of curves|twist]] of an [[Edwards curve]].
A twisted Edwards curve E <sub>E</sub><sub>,</sub><sub>a</sub><sub>,</sub><sub>d</sub> over ''k'' is an [[affine]] plane curve defined by the equation:
A twisted Edwards curve E <sub>E</sub><sub>,</sub><sub>a</sub><sub>,</sub><sub>d</sub> over a [[field (mathematics)|field]]''K'' is an [[affine]] plane curve defined by the equation:


:E <sub>E</sub><sub>,</sub><sub>a</sub><sub>,</sub><sub>d</sub>: <math>a x^2+y^2= 1+dx^2y^2</math>
:E <sub>E</sub><sub>,</sub><sub>a</sub><sub>,</sub><sub>d</sub>: <math>a x^2+y^2= 1+dx^2y^2</math>


where ''a'', ''d'' are distinct non-zero elements of ''k''. An Edwards curve is a twisted Edwards curve with ''a'' = 1.
where ''a'', ''d'' are distinct non-zero elements of ''K''. An Edwards curve is a twisted Edwards curve with ''a'' = 1.


Every twisted Edward curve is [[birationally equivalent]] to an elliptic curve in [[Montgomery curve|Montgomery form]] and vice versa.
Every twisted Edward curve is [[birationally equivalent]] to an elliptic curve in [[Montgomery curve|Montgomery form]] and vice versa.
Line 14: Line 14:
==Group law==
==Group law==


As for all elliptic curves, also for the Twisted Edwards curve, it is possible to do some operations between its points, such as adding two of them or doubling (or tripling one). The results of this operations are always, points that belong to the curve itself. In the following sections some formulas are given to obtain the coordinates of a point resulted from an addition between two other points (addition), or the coordinates of point resulted from a doubling of a single point on a curve.
As for all elliptic curves, also for the Twisted Edwards curve, it is possible to do some operations between its points, such as adding two of them or doubling (or tripling) one. The results of these operations are always points that belong to the curve itself. In the following sections some formulas are given to obtain the coordinates of a point resulted from an addition between two other points (addition), or the coordinates of point resulted from a doubling of a single point on a curve.


===Addition on Twisted Edward curves===
===Addition on Twisted Edward curves===
let ''K'' be a field with char(''k'')&nbsp;≠&nbsp;2.
Let ''K'' be a field with [[characteristic (algebra)|characteristic]] different from 2.
Let <math>(x_1,y_1)</math> and <math>(x_2,y_2)</math> be points on the Twisted Edward curve. The equation of Twisted Edward curve is written as;
Let <math>(x_1,y_1)</math> and <math>(x_2,y_2)</math> be points on the Twisted Edward curve. The equation of Twisted Edward curve is written as;


Line 67: Line 67:


==Extended coordinates==
==Extended coordinates==

There is another kind of coordinate system with which a point in the Twisted Edwards curves can be represented.
There is another kind of coordinate system with which a point in the Twisted Edwards curves can be represented.
A point <math>(x,y,z) </math> on <math>ax^2+y^2= 1+dx^2y^2</math> is represented as X, Y, Z, T satisfying the following equations
A point <math>(x,y,z) </math> on <math>ax^2+y^2= 1+dx^2y^2</math> is represented as X, Y, Z, T satisfying the following equations
x=X/Z, y=Y/Z, xy=T/Z.
x=X/Z, y=Y/Z, xy=T/Z.


The points (X:Y:Z:T) are called the ''extended Twisted Edward coordinates.''The identity element is represented by (0:1:1:0). The negative of these coordinates are (-X:Y:Z:-T).
The coordinates of the point (X:Y:Z:T) are called the '''extended Twisted Edward coordinates'''. The identity element is represented by (0:1:1:0). The negative of a point is (-X:Y:Z:-T).


===Inverted Twisted Edwards Coordinates===
===Inverted Twisted Edwards Coordinates===


The points <math>(X_1:Y_1:Z_1)</math> are called the ''inverted twisted edward coordinates'' on the curve
The coordinates of the point <math>(X_1:Y_1:Z_1)</math> are called the '''inverted twisted edward coordinates''' on the curve
<math>(X^2+aY^2)Z^2= X^2Y^2+dZ^4</math>with <math>X_1Y_1Z_1</math>≠0 and corresponds to the affine point<math>(Z_1/X_1,Z_1,Y_1)</math> on E<sub>E</sub><sub>,</sub><sub>a</sub><sub>,d</sub>.
<math>(X^2+aY^2)Z^2= X^2Y^2+dZ^4</math>with <math>X_1Y_1Z_1</math>≠0; this point to the affine one<math>(Z_1/X_1,Z_1,Y_1)</math> on E<sub>E</sub><sub>,</sub><sub>a</sub><sub>,d</sub>.
Bernstein and Lange introduced these inverted coordinates, for the case a=1 and observed that the coordinates save time in addition.
Bernstein and Lange introduced these inverted coordinates, for the case a=1 and observed that the coordinates save time in addition.


===Projective twisted Edward coordinates===
===Projective twisted Edward coordinates===

The equation for the Projective Twisted Edwards Curve is given as:
The equation for the Projective Twisted Edwards Curve is given as:
<math>(aX^2+Y^2)Z^2= Z^4+dX^2Y^2</math> for Z<sub>1</sub>≠0.The homogeneous point (X<sub>1</sub>:Y<sub>1</sub>:Z<sub>1</sub>) represents the [[affine space|affine point]] (x<sub>1</sub>= X<sub>1</sub>/Y<sub>1</sub>, y<sub>1</sub>= Y<sub>1</sub>/Z<sub>1</sub>) on E<sub>E</sub><sub>,</sub><sub>a</sub><sub>,</sub><sub>d</sub>. The addition and doubling formulas for this elliptic curve are defined, using the affine coordinates.
<math>(aX^2+Y^2)Z^2= Z^4+dX^2Y^2</math> for Z<sub>1</sub>≠0.The point (X<sub>1</sub>:Y<sub>1</sub>:Z<sub>1</sub>) represents the [[affine space|affine point]] (x<sub>1</sub>= X<sub>1</sub>/Y<sub>1</sub>, y<sub>1</sub>= Y<sub>1</sub>/Z<sub>1</sub>) on E<sub>E</sub><sub>,</sub><sub>a</sub><sub>,</sub><sub>d</sub>.


Expressing an elliptic curve in twisted Edwards form saves time in arithmetic,even when the same curve can be expressed in the Edwards form. To know more about the speeds of addition and doubling in projective coordinates on Edwards curves, standard coordinates on twisted Edward curves, inverted coordinates on Edwards curves and inverted coordinates on twisted Edwards curves refer to the table in:
Expressing an elliptic curve in twisted Edwards form saves time in arithmetic, even when the same curve can be expressed in the Edwards form. To know more about the speeds of addition and doubling in projective coordinates on Edwards curves, standard coordinates on twisted Edward curves, inverted coordinates on Edwards curves and inverted coordinates on twisted Edwards curves refer to the table in:


http://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
http://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
Line 89: Line 91:
==Addition in Projective Twisted curves==
==Addition in Projective Twisted curves==


The addition on a projective twisted Edwards curve is given as:
The addition on a projective twisted Edwards curve is given by:


:(X<sub>3</sub>:Y<sub>3</sub>:Z<sub>3</sub>)= (X<sub>1</sub>:Y<sub>1</sub>:Z<sub>1</sub>)+(X<sub>2</sub>:Y<sub>2</sub>:Z<sub>2</sub>)
:(X<sub>3</sub>:Y<sub>3</sub>:Z<sub>3</sub>)= (X<sub>1</sub>:Y<sub>1</sub>:Z<sub>1</sub>)+(X<sub>2</sub>:Y<sub>2</sub>:Z<sub>2</sub>)
Line 110: Line 112:
===Doubling on projective twisted curves===
===Doubling on projective twisted curves===


Doubling on the projective twisted curve is given as:
Doubling on the projective twisted curve is given by:


:(X<sub>3</sub>:Y<sub>3</sub>:Z<sub>3</sub>)= 2(X<sub>1</sub>:Y<sub>1</sub>:Z<sub>1</sub>)
:(X<sub>3</sub>:Y<sub>3</sub>:Z<sub>3</sub>)= 2(X<sub>1</sub>:Y<sub>1</sub>:Z<sub>1</sub>)

Revision as of 15:53, 15 February 2010

A Twisted Edwards curve of equation

In algebraic geometry, the Twisted Edwards curves are plane models of elliptic curves, a generalisation of Edwards curves introduced by Bernstein et al. (2007) and named after Harold M. Edwards. Each twisted Edwards curve (as the name suggests) is a twist of an Edwards curve. A twisted Edwards curve E E,a,d over a fieldK is an affine plane curve defined by the equation:

E E,a,d:

where a, d are distinct non-zero elements of K. An Edwards curve is a twisted Edwards curve with a = 1.

Every twisted Edward curve is birationally equivalent to an elliptic curve in Montgomery form and vice versa.

Group law

As for all elliptic curves, also for the Twisted Edwards curve, it is possible to do some operations between its points, such as adding two of them or doubling (or tripling) one. The results of these operations are always points that belong to the curve itself. In the following sections some formulas are given to obtain the coordinates of a point resulted from an addition between two other points (addition), or the coordinates of point resulted from a doubling of a single point on a curve.

Addition on Twisted Edward curves

Let K be a field with characteristic different from 2. Let and be points on the Twisted Edward curve. The equation of Twisted Edward curve is written as;

EE,a,d: .

The sum of these points on EE,a,d is:

The neutral element is (0,1) and the negative of is (

These formulas also work for doubling. If a is a square in K and d is a non-square in K, these formulas are complete: this means that they can be used for all pairs of points without exceptions; so they work for doubling as well, and neutral elements and negatives are accepted as inputs.[1]

Example of addition

Given the following Twisted Edwards curve with a=3 and d=2:

it is possible to add the points and using the formula given above. The result is a point P3 that has coordinates:

.

Doubling on Twisted Edward curves

Doubling can be performed with exactly the same formula as addition. Doubling of a point (x1,y1) on the curve EE,a,d is:

[2](x1,y1) = (x3,y3)

where


Example of doubling

Considering the same Edwards curve given in the previous example, with a=3 and d=2, it is possible to double the point . The point 2P1 obtained using the formula above has the following coordinates:

It is easy to see, with some little computations, that the point belongs to the curve .

Extended coordinates

There is another kind of coordinate system with which a point in the Twisted Edwards curves can be represented. A point on is represented as X, Y, Z, T satisfying the following equations x=X/Z, y=Y/Z, xy=T/Z.

The coordinates of the point (X:Y:Z:T) are called the extended Twisted Edward coordinates. The identity element is represented by (0:1:1:0). The negative of a point is (-X:Y:Z:-T).

Inverted Twisted Edwards Coordinates

The coordinates of the point are called the inverted twisted edward coordinates on the curve with ≠0; this point to the affine one on EE,a,d. Bernstein and Lange introduced these inverted coordinates, for the case a=1 and observed that the coordinates save time in addition.

Projective twisted Edward coordinates

The equation for the Projective Twisted Edwards Curve is given as: for Z1≠0.The point (X1:Y1:Z1) represents the affine point (x1= X1/Y1, y1= Y1/Z1) on EE,a,d.

Expressing an elliptic curve in twisted Edwards form saves time in arithmetic, even when the same curve can be expressed in the Edwards form. To know more about the speeds of addition and doubling in projective coordinates on Edwards curves, standard coordinates on twisted Edward curves, inverted coordinates on Edwards curves and inverted coordinates on twisted Edwards curves refer to the table in:

http://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html

Addition in Projective Twisted curves

The addition on a projective twisted Edwards curve is given by:

(X3:Y3:Z3)= (X1:Y1:Z1)+(X2:Y2:Z2)

and it costs 10Multiplications + 1Squaring + 2D(multiplication by the curve parameter d) + 7 additions where the 2D are one multiplcation by a and one by d.

Algorithm
A= Z1.Z2,
B=A2
C=X1.X2
D=Y1.Y2
E=dC.D
F=B-E
G=B+E
X3= A.F((X1+Y1).(X2+Y2)-C-D
Y3=A.G.(D-aC)
Z3=F.G[2]

Doubling on projective twisted curves

Doubling on the projective twisted curve is given by:

(X3:Y3:Z3)= 2(X1:Y1:Z1)

This costs 3Multiplications+4Squarings+1D+7additions where 1D is a multiplication by a

Algorithm
B=(X1+Y1)2
C= X12
D=Y12
E=aC
F= E+D
H=Z12
J=F-2H
X3=(B-C-D).J
Y3=F.(E-D)
Z3= F.J[2]

See also

Notes

  1. ^ Daniel J. Bernstein and Tanja Lange, Faster addition and doubling on elliptic curves
  2. ^ a b J. Bernstein, P.Birkner, M.Joye, T.Lange, C. Peters, Twisted Edwards Curves

References

  • Daniel Bernstein, T.Lange, P.Birkner, C.Peters, "Twisted Edwards Curves" (PDF){{citation}}: CS1 maint: multiple names: authors list (link)
  • ECM using Edward curves Daniel J. Bernstein, Peter Birkner, Tanja Lange, and Christiane Peters