Edwards curve

Last updated

Edwards curves of equation x + y = 1 + d *x *y over the real numbers for d = -300 (red), d = -[?]8 (yellow) and d = 0.9 (blue) Edward-curves.svg
Edwards curves of equation x + y = 1 + d ·x ·y over the real numbers for d = −300 (red), d = 8 (yellow) and d = 0.9 (blue)

In mathematics, the Edwards curves are a family of elliptic curves studied by Harold Edwards in 2007. The concept of elliptic curves over finite fields is widely used in elliptic curve cryptography. Applications of Edwards curves to cryptography were developed by Daniel J. Bernstein and Tanja Lange: they pointed out several advantages of the Edwards form in comparison to the more well known Weierstrass form. [1]

Contents

Definition

The equation of an Edwards curve over a field K which does not have characteristic 2 is:

for some scalar . Also the following form with parameters c and d is called an Edwards curve:

where c, d  K with cd(1  c4·d)  0.

Every Edwards curve is birationally equivalent to an elliptic curve in Montgomery form, and thus admits an algebraic group law once one chooses a point to serve as a neutral element. If K is finite, then a sizeable fraction of all elliptic curves over K can be written as Edwards curves. Often elliptic curves in Edwards form are defined having c=1, without loss of generality. In the following sections, it is assumed that c=1.

The group law

(See also Weierstrass curve group law)

Every Edwards curve over field K with characteristic not equal to 2 with is birationally equivalent to an elliptic curve over the same field: , where and the point is mapped to the infinity O. This birational mapping induces a group on any Edwards curve.

Edwards addition law

On any elliptic curve the sum of two points is given by a rational expression of the coordinates of the points, although in general one may need to use several formulas to cover all possible pairs. For the Edwards curve, taking the neutral element to be the point (0, 1), the sum of the points and is given by the formula

The opposite of any point is . The point has order 2, and the points have order 4. In particular, an Edwards curve always has a point of order 4 with coordinates in K.

If d is not a square in K and , then there are no exceptional points: the denominators and are always nonzero. Therefore, the Edwards addition law is complete when d is not a square in K. This means that the formulas work for all pairs of input points on the Edwards curve with no exceptions for doubling, no exception for the neutral element, no exception for negatives, etc. [2] In other words, it is defined for all pairs of input points on the Edwards curve over K and the result gives the sum of the input points.

If d is a square in K, then the same operation can have exceptional points, i.e. there can be pairs of points such that one of the denominators becomes zero: either or .

One of the attractive feature of the Edwards Addition law is that it is strongly unified i.e. it can also be used to double a point, simplifying protection against side-channel attack. The addition formula above is faster than other unified formulas and has the strong property of completeness [2]

Example of addition law :

Consider the elliptic curve in the Edwards form with d=2

and the point on it. It is possible to prove that the sum of P1 with the neutral element (0,1) gives again P1. Indeed, using the formula given above, the coordinates of the point given by this sum are:

An analogue on the circle

Clock group Edwards Curve,Clock group diagram.jpg
Clock group

To understand better the concept of "addition" of points on a curve, a nice example is given by the classical circle group:

take the circle of radius 1

and consider two points P1=(x1,y1), P2=(x2,y2) on it. Let α1 and α2 be the angles such that:

The sum of P1 and P2 is, thus, given by the sum of "their angles". That is, the point P3=P1+P2 is a point on the circle with coordinates (x3,y3), where:

In this way, the addition formula for points on the circle of radius 1 is:

.

Addition on Edwards curves

Sum of two points on the Edwards curve with d = -30 Sum of two points on an Edwards curve.svg
Sum of two points on the Edwards curve with d = -30
Doubling a point on the Edwards curve with d=-30 Double Point on Edwards Curve.svg
Doubling a point on the Edwards curve with d=-30

The points on an elliptic curve form an abelian group: one can add points and take integer multiples of a single point. When an elliptic curve is described by a non-singular cubic equation, then the sum of two points P and Q, denoted P + Q, is directly related to third point of intersection between the curve and the line that passes through P and Q.

The birational mapping between an Edwards curve and the corresponding cubic elliptic curve maps the straight lines into conic sections [3] . In other words, for the Edwards curves the three points , and lie on a hyperbola.

Given two distinct non-identity points , the coefficients of the quadratic form are (up to scalars):

,

,

In the case of doubling a point the inverse point lies on the conic that touches the curve at the point . The coefficients of the quadratic form that defines the conic are (up to scalars[ clarification needed ]):

,

,

Projective homogeneous coordinates

In the context of cryptography, homogeneous coordinates are used to prevent field inversions that appear in the affine formula. To avoid inversions in the original Edwards addition formulas, the curve equation can be written in projective coordinates as:

.

A projective point corresponds to the affine point on the Edwards curve.

The identity element is represented by . The inverse of is .

The addition formula in homogeneous coordinates is given by:

where

Algorithm

Addition of two points on the Edwards curve could be computed more efficiently [4] in the extended Edwards form, where :

Doubling

Doubling can be performed with exactly the same formula as addition. Doubling refers to the case in which the inputs (x1, y1) and (x2, y2) are equal.

Doubling a point :

The denominators were simplified based on the curve equation . Further speedup is achieved by computing as . This reduces the cost of doubling in homomorphic coordinates to 3M + 4S + 3C + 6a, while general addition costs 10M + 1S + 1C + 1D + 7a. Here M is field multiplications, S is field squarings, D is the cost of multiplying by the curve parameter d, and a is field addition.

Example of doubling

As in the previous example for the addition law, consider the Edwards curve with d=2:

and the point . The coordinates of the point are:

The point obtained from doubling P is thus .

Mixed addition

Mixed addition is the case when Z2 is known to be 1. In such a case A=Z1.Z2 can be eliminated and the total cost reduces to 9M+1S+1C+1D+7a

Algorithm

A= Z1.Z2 // in other words, A= Z1

B= Z12

C=X1.X2

D=Y1.Y2

E=d.C.D

F=B-E

G=B+E

X3= A.F((XI+Y1).(X2+Y2)-C-D)

Y3= A.G.(D-C)

Z3=C.F.G

Tripling

Tripling can be done by first doubling the point and then adding the result to itself. By applying the curve equation as in doubling, we obtain

There are two sets of formulas for this operation in standard Edwards coordinates. The first one costs 9M + 4S while the second needs 7M + 7S. If the S/M ratio is very small, specifically below 2/3, then the second set is better while for larger ratios the first one is to be preferred. [5] Using the addition and doubling formulas (as mentioned above) the point (X1 : Y1 : Z1) is symbolically computed as 3(X1 : Y1 : Z1) and compared with (X3 : Y3 : Z3)

Example of tripling

Giving the Edwards curve with d=2, and the point P1=(1,0), the point 3P1 has coordinates:

So, 3P1=(-1,0)=P-1. This result can also be found considering the doubling example: 2P1=(0,1), so 3P1 = 2P1 + P1 = (0,-1) + P1 = -P1.

Algorithm

A=X12

B=Y12

C=(2Z1)2

D=A+B

E=D2

F=2D.(A-B)

G=E-B.C

H=E-A.C

I=F+H

J=F-G

X3=G.J.X1

Y3=H.I.Y1

Z3=I.J.Z1

This formula costs 9M + 4S

Inverted Edwards coordinates

Bernstein and Lange introduced an even faster coordinate system for elliptic curves called the Inverted Edward coordinates [6] in which the coordinates (X : Y : Z) satisfy the curve (X2 + Y2)Z2 = (dZ4 + X2Y2) and corresponds to the affine point (Z/X, Z/Y) on the Edwards curve x2 + y2 = 1 + dx2y2 with XYZ  0.

Inverted Edwards coordinates, unlike standard Edwards coordinates, do not have complete addition formulas: some points, such as the neutral element, must be handled separately. But the addition formulas still have the advantage of strong unification: they can be used without change to double a point.

For more information about operations with these coordinates see http://hyperelliptic.org/EFD/g1p/auto-edwards-inverted.html

Extended Coordinates for Edward Curves

There is another coordinates system with which an Edwards curve can be represented. These new coordinates are called extended coordinates [7] and are even faster than inverted coordinates. For more information about the time-cost required in the operations with these coordinates see: http://hyperelliptic.org/EFD/g1p/auto-edwards.html

See also

For more information about the running-time required in a specific case, see Table of costs of operations in elliptic curves.

Notes

  1. Bernstein, Daniel; Lange, Tanja (3 March 2014), How to design an elliptic-curve signature system
  2. 1 2 Daniel. J. Bernstein , Tanja Lange, pag. 3, Faster addition and doubling on elliptic curves
  3. Christophe Arene; Tanja Lange; Michael Naehrig; Christophe Ritzenthaler (2009). "Faster Computation of the Tate Pairing". arXiv: 0904.0854 . Bibcode:2009arXiv0904.0854A . Retrieved 28 February 2010.
  4. Huseyin Hisil, Kenneth Koon-Ho Wong, Gary Carter, and Ed Dawson. Twisted Edwards curves revisited. In ASIACRYPT 2008, pages 326–343, 2008
  5. Bernstein et al., Optimizing Double-Base Elliptic curve single-scalar Multiplication
  6. Daniel J.Bernstein. Tanja Lange, pag.2, Inverted Edward coordinates
  7. H. Hisil, K. K. Wong, G. Carter, E. Dawson Faster group operations on elliptic curves

Related Research Articles

<span class="mw-page-title-main">Bessel function</span> Families of solutions to related differential equations

Bessel functions, first defined by the mathematician Daniel Bernoulli and then generalized by Friedrich Bessel, are canonical solutions y(x) of Bessel's differential equation for an arbitrary complex number , which represents the order of the Bessel function. Although and produce the same differential equation, it is conventional to define different Bessel functions for these two values in such a way that the Bessel functions are mostly smooth functions of .

<span class="mw-page-title-main">Elliptic curve</span> Algebraic curve

In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point O. An elliptic curve is defined over a field K and describes points in K2, the Cartesian product of K with itself. If the field's characteristic is different from 2 and 3, then the curve can be described as a plane algebraic curve which consists of solutions (x, y) for:

Unit quaternions, known as versors, provide a convenient mathematical notation for representing spatial orientations and rotations of elements in three dimensional space. Specifically, they encode information about an axis-angle rotation about an arbitrary axis. Rotation and orientation quaternions have applications in computer graphics, computer vision, robotics, navigation, molecular dynamics, flight dynamics, orbital mechanics of satellites, and crystallographic texture analysis.

<span class="mw-page-title-main">Anti-de Sitter space</span> Maximally symmetric Lorentzian manifold with a negative cosmological constant

In mathematics and physics, n-dimensional anti-de Sitter space (AdSn) is a maximally symmetric Lorentzian manifold with constant negative scalar curvature. Anti-de Sitter space and de Sitter space are named after Willem de Sitter (1872–1934), professor of astronomy at Leiden University and director of the Leiden Observatory. Willem de Sitter and Albert Einstein worked together closely in Leiden in the 1920s on the spacetime structure of the universe. Paul Dirac was the first person to rigorously explore anti-de Sitter space, doing so in 1963.

<span class="mw-page-title-main">Solid of revolution</span> Type of three-dimensional shape

In geometry, a solid of revolution is a solid figure obtained by rotating a plane figure around some straight line, which may not intersect the generatrix. The surface created by this revolution and which bounds the solid is the surface of revolution.

<span class="mw-page-title-main">Radon transform</span> Integral transform

In mathematics, the Radon transform is the integral transform which takes a function f defined on the plane to a function Rf defined on the (two-dimensional) space of lines in the plane, whose value at a particular line is equal to the line integral of the function over that line. The transform was introduced in 1917 by Johann Radon, who also provided a formula for the inverse transform. Radon further included formulas for the transform in three dimensions, in which the integral is taken over planes. It was later generalized to higher-dimensional Euclidean spaces and more broadly in the context of integral geometry. The complex analogue of the Radon transform is known as the Penrose transform. The Radon transform is widely applicable to tomography, the creation of an image from the projection data associated with cross-sectional scans of an object.

<span class="mw-page-title-main">Cardioid</span> Type of plane curve

In geometry, a cardioid is a plane curve traced by a point on the perimeter of a circle that is rolling around a fixed circle of the same radius. It can also be defined as an epicycloid having a single cusp. It is also a type of sinusoidal spiral, and an inverse curve of the parabola with the focus as the center of inversion. A cardioid can also be defined as the set of points of reflections of a fixed point on a circle through all tangents to the circle.

<span class="mw-page-title-main">Pedal curve</span> Curve generated by the projections of a fixed point on the tangents of another curve

In mathematics, a pedal curve of a given curve results from the orthogonal projection of a fixed point on the tangent lines of this curve. More precisely, for a plane curve C and a given fixed pedal pointP, the pedal curve of C is the locus of points X so that the line PX is perpendicular to a tangent T to the curve passing through the point X. Conversely, at any point R on the curve C, let T be the tangent line at that point R; then there is a unique point X on the tangent T which forms with the pedal point P a line perpendicular to the tangent T – the pedal curve is the set of such points X, called the foot of the perpendicular to the tangent T from the fixed point P, as the variable point R ranges over the curve C.

<span class="mw-page-title-main">Osculating circle</span> Circle of immediate corresponding curvature of a curve at a point

An osculating circle is a circle that best approximates the curvature of a curve at a specific point. It is tangent to the curve at that point and has the same curvature as the curve at that point. The osculating circle provides a way to understand the local behavior of a curve and is commonly used in differential geometry and calculus.

In calculus, the Leibniz integral rule for differentiation under the integral sign, named after Gottfried Wilhelm Leibniz, states that for an integral of the form where and the integrands are functions dependent on the derivative of this integral is expressible as where the partial derivative indicates that inside the integral, only the variation of with is considered in taking the derivative.

<span class="mw-page-title-main">Orthogonal trajectory</span> Definition in differential equations

In mathematics, an orthogonal trajectory is a curve which intersects any curve of a given pencil of (planar) curves orthogonally.

<span class="mw-page-title-main">Strophoid</span> Geometric curve constructed from another curve and two points

In geometry, a strophoid is a curve generated from a given curve C and points A and O as follows: Let L be a variable line passing through O and intersecting C at K. Now let P1 and P2 be the two points on L whose distance from K is the same as the distance from A to K. The locus of such points P1 and P2 is then the strophoid of C with respect to the pole O and fixed point A. Note that AP1 and AP2 are at right angles in this construction.

<span class="mw-page-title-main">Multiple integral</span> Generalization of definite integrals to functions of multiple variables

In mathematics (specifically multivariable calculus), a multiple integral is a definite integral of a function of several real variables, for instance, f(x, y) or f(x, y, z).

<span class="mw-page-title-main">Trilinear coordinates</span> Coordinate system based on distances from the sidelines of a given triangle

In geometry, the trilinear coordinatesx : y : z of a point relative to a given triangle describe the relative directed distances from the three sidelines of the triangle. Trilinear coordinates are an example of homogeneous coordinates. The ratio x : y is the ratio of the perpendicular distances from the point to the sides opposite vertices A and B respectively; the ratio y : z is the ratio of the perpendicular distances from the point to the sidelines opposite vertices B and C respectively; and likewise for z : x and vertices C and A.

<span class="mw-page-title-main">Sine and cosine</span> Fundamental trigonometric functions

In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side that is opposite that angle to the length of the longest side of the triangle, and the cosine is the ratio of the length of the adjacent leg to that of the hypotenuse. For an angle , the sine and cosine functions are denoted as and .

In mathematics, the Montgomery curve is a form of elliptic curve introduced by Peter L. Montgomery in 1987, different from the usual Weierstrass form. It is used for certain computations, and in particular in different cryptography applications.

<span class="mw-page-title-main">Twisted Edwards curve</span>

In algebraic geometry, the twisted Edwards curves are plane models of elliptic curves, a generalisation of Edwards curves introduced by Bernstein, Birkner, Joye, Lange and Peters in 2008. The curve set is named after mathematician Harold M. Edwards. Elliptic curves are important in public key cryptography and twisted Edwards curves are at the heart of an electronic signature scheme called EdDSA that offers high performance while avoiding security problems that have surfaced in other digital signature schemes.

In Euclidean geometry, for a plane curve C and a given fixed point O, the pedal equation of the curve is a relation between r and p where r is the distance from O to a point on C and p is the perpendicular distance from O to the tangent line to C at the point. The point O is called the pedal point and the values r and p are sometimes called the pedal coordinates of a point relative to the curve and the pedal point. It is also useful to measure the distance of O to the normal pc (the contrapedal coordinate) even though it is not an independent quantity and it relates to (r, p) as

A proper reference frame in the theory of relativity is a particular form of accelerated reference frame, that is, a reference frame in which an accelerated observer can be considered as being at rest. It can describe phenomena in curved spacetime, as well as in "flat" Minkowski spacetime in which the spacetime curvature caused by the energy–momentum tensor can be disregarded. Since this article considers only flat spacetime—and uses the definition that special relativity is the theory of flat spacetime while general relativity is a theory of gravitation in terms of curved spacetime—it is consequently concerned with accelerated frames in special relativity.

<span class="mw-page-title-main">Translation surface (differential geometry)</span> Surface generated by translations

In differential geometry a translation surface is a surface that is generated by translations:

References