- Montgomery curve
-
In mathematics the Montgomery curve is a form of elliptic curve, different from the usual representation (Weierstrass form). It has been introduced by Peter L.Montgomery in,[1] and it has been used since 1987 for certain computations, and in particular in different cryptography applications.
Contents
Definition
A Montgomery curve over a field K is defined by the equation:
MA,B: By2 = x3 + Ax2 + x
for certain and with .
Generally this curve is considered over a finite field K (for example over a finite field of q elements, ) with characteristic different from 2 and with , ; but they are also considered over the rationals with the same restrictions for A and B.
Montgomery arithmetic
It is possible to do some "operations" between the points of an elliptic curve: "adding" two points P,Q consists on finding a third one R such that R = P + Q; "doubling" a point consists on computing [2]P = P + P (For more information about operations see The group law) and below.
A point P = (x,y) on the elliptic curve in the Montgomery form By2 = x3 + Ax2 + x can be represented in Montgomery coordinates P = (X:Z), where P = (X:Z) are projective coordinates and x = X / Z for .
Notice that this kind of representation for a point loses information: indeed, in this case, there is no distinction between the affine points (x,y) and (x, − y) because they are both given by the point (X:Z). However, with this representation it is possible to obtain multiples of points, that is, given P = (X:Z), to compute [n]P = (Xn:Zn).
Now, considering the two points Pn = [n]P = (Xn:Zn) and Pm = [m]P(Xm:Zm): their sum is given by the point Pm + n = Pm + Pn = (Xm + n:Zm + n) whose coordinates are:
Xm + n = Zm − n((Xm − Zm)(Xn + Zn) + (Xm + Zm)(Xn − Zn))2
Zm + n = Xm − n((Xm − Zm)(Xn + Zn) − (Xm + Zm)(Xn − Zn))2
If m = n, then the operation becomes a "doubling"; the coordinates of [2]Pn = Pn + Pn = P2n = (X2n:Z2n) are given by the following equations:
4XnZn = (Xn + Zn)2 − (Xn − Zn)2
X2n = (Xn + Zn)2(Xn − Zn)2
Z2n = (4XnZn)((Xn − Zn)2 + ((A + 2) / 4)(4XnZn))
The first operation considered above (addition) has a time-cost of 3M+2S, where M denotes the multiplication between two general elements of the field on which the elliptic curve is defined, while S denotes squaring of a general element of the field.
The second operation (doubling) has a time-cost of 2M+2S+1D, where D denotes the multiplication of a general element by a constant; notice that the constant is (A + 2) / 4, so A can be chosen in order to have a small D.
Algorithm and example
The following algorithm represents a doubling of a point P1 = (X1:Z1) on an elliptic curve in the Montgomery form.
It is assumed that Z1 = 1. The cost of this implementation is 1M + 2S + 1*A + 3add + 1*4. Here M denotes the multiplications required, S indicates the squarings, and a refers to the multiplication by A.
Example
Let be a point on the curve 2y2 = x3 − x2 + x. In coordinates (X1:Z1), with x1 = X1 / Z1, P1 = (2:1).
Then:
The result is the point P3 = (X3:Z3) = (9:24), such that P3 = 2P1.
Addition
Given two points P1 = (x1,y1), P2 = (x2,y2) on the Montgomery curve MA,B in affine coordinates, the point P3 = P1 + P2 represents, geometrically the third point of intersection between MA,B and the line passing through P1 and P2. It is possible to find the coordinates (x3,y3) of P3, in the following way:
1) consider a generic line y=lx+m in the affine plane and let it pass through P1 and P2 (impose the condition), in this way, one obtains and ;
2) intersect the line with the curve MA,B, substituting the y variable in the curve equation with y=lx+m; the following equation of third degree is obtained:
x3 + (A − Bl2)x2 + (1 − 2Blm)x − m2 = 0.
As it has been observed before, this equation has three solutions that correspond to the x coordinates of P1, P2 and P3. In particular this equation can be re-written as:
(x − x1)(x − x2)(x − x3) = 0
3) Comparing the coefficients of the two identical equations given above, in particular the coefficients of the terms of second degree, one gets:
− x1 − x2 − x3 = A − Bl2.
So, x3 can be written in terms of x1, y1, x2, y2, as:
.
4) To find the y coordinate of the point P3 it is sufficient to substitute the value x3 in the line y=lx+m. Notice that this will not give the point P3 directly. Indeed, with this method one find the coordinates of the point R such that , but if one needs the resulting point of the sum between P1 and P2, then it is necessary to observe that: if and only if − R = P1 + P2. So, given the point R, it is necessary to find -R, but this can be done easily by changing the sign to the y coordinate of R. In other words, it will be necessary to change the sign of the y coordinate obtained by substituting the value x3 in the equation of the line.
Resuming, the coordinates of the point P3 = (x3,y3), P3 = P1 + P2 are:
Doubling
Given a point P1 on the Montgomery curve MA,B, the point [2]P1 represents geometrically the third point of intersection between the curve and the line tangent to P1; so, to find the coordinates of the point P3 = 2P1 it is sufficient to follow the same method given in the addition formula; however, in this case, the line y=lx+m has to be tangent to the curve at P1, so, if MA,B:f(x,y) = 0 with
f(x,y) = x3 + Ax2 + x − By2,
then the value of l, which represents the slope of the line, is given by:
by the implicit function theorem.
So and the coordinates of the point P3, P3 = 2P1 are:
.
Equivalence with twisted Edwards curves
Let K be a field with characteristic different from 2.
Let MA,B be an elliptic curve in the Montgomery form:
MA,B: Bv2 = u3 + Au2 + u
with ,
and let Ea,d be an elliptic curve in the twisted Edwards form:
with , .
The following theorem proved in,[2] shows the birational equivalence between Montgomery curves and an twisted Edwards curves:
Theorem (i) Every twisted Edwards curve is birationally equivalent to a Montgomery curve over K. In particular, the twisted Edwards curve Ea,d is birationally equivalent to the Montgomery curve MA,B where , and .
The map:
is a birational equivalence from Ea,d to MA,B, with inverse:
- ψ − 1:
Notice that this equivalence between the two curves is not valid everywhere: indeed the map ψ is not defined at the points v = 0 or u + 1 = 0 of the MA,B.
Equivalence with Weierstrass curves
Any elliptic curve can be written in Weierstrass form.
So, the elliptic curve in the Montogmery form
MA,B: By2 = x3 + Ax2 + x,
can be transformed in the following way: divide each term of the equation for MA,B by B3, and substitute the variables x and y, with and respectively, to get the equation
.
To obtain a short Weierstrass form from here, it is sufficient to replace u with the variable :
;
finally, this gives the equation:
.
See also
- Table of costs of operations in elliptic curves, information about the running-time required in a specific case
Notes
References
- Peter L. Montgomery (1987). Speeding the Pollard and Elliptic Curve Methods of Factorization. American Mathematical Society. JSTOR 2007888.
- Daniel J. Bernstein, Peter Birkner, Marc Joye, Tanja Lange and Christiane Peters (2008). Twisted Edwards Curves. Springer-Verlag Berlin Heidelberg. ISBN 978-3-540-68159-5. http://www.springerlink.com.proxy.library.uu.nl/content/m37m171510425501/fulltext.pdf.
- Wouter Castryck, Steven Galbraith, Reza Rezaeian Farashahi. Efficient Arithmetic on Elliptic Curves using a Mixed Edwards-Montgomery Representation. http://wis.kuleuven.be/algebra/castryck/xcoordinate.pdf.
External links
Categories:- Cryptographic attacks
- Elliptic curves
- Elliptic curve cryptography
Wikimedia Foundation. 2010.