Jacobian curve

Last updated

In mathematics, the Jacobi curve is a representation of an elliptic curve different from the usual one defined by the Weierstrass equation. Sometimes it is used in cryptography instead of the Weierstrass form because it can provide a defence against simple and differential power analysis style (SPA) attacks; it is possible, indeed, to use the general addition formula also for doubling a point on an elliptic curve of this form: in this way the two operations become indistinguishable from some side-channel information. [1] The Jacobi curve also offers faster arithmetic compared to the Weierstrass curve.

Contents

The Jacobi curve can be of two types: the Jacobi intersection, that is given by an intersection of two surfaces, and the Jacobi quartic.

Elliptic Curves: Basics

Given an elliptic curve, it is possible to do some "operations" between its points: for example one can add two points P and Q obtaining the point P + Q that belongs to the curve; given a point P on the elliptic curve, it is possible to "double" P, that means find [2]P = P + P (the square brackets are used to indicate [n]P, the point P added n times), and also find the negation of P, that means find –P. In this way, the points of an elliptic curve forms a group. Note that the identity element of the group operation is not a point on the affine plane, it only appears in the projective coordinates: then O = (0: 1: 0) is the "point at infinity", that is the neutral element in the group law. Adding and doubling formulas are useful also to compute [n]P, the n-th multiple of a point P on an elliptic curve: this operation is considered the most in elliptic curve cryptography.

An elliptic curve E, over a field K can be put in the Weierstrass form y2 = x3 + ax + b, with a, b in K. What will be of importance later are point of order 2, that is P on E such that [2]P = O and P ≠ O. If P = (p, 0) is a point on E, then it has order 2; more generally the points of order 2 correspond to the roots of the polynomial f(x) = x3 + ax + b.

From now on, we will use Ea,b to denote the elliptic curve with Weierstrass form y2 = x3 + ax + b.

If Ea,b is such that the cubic polynomial x3 + ax + b has three distinct roots in K and b = 0 we can write Ea,b in the Legendre normal form:

Ea,b:y2 = x(x + 1)(x + j)

In this case we have three points of order two: (0, 0), (–1, 0), (–j, 0). In this case we use the notation E[j]. Note that j can be expressed in terms of a, b.

Definition: Jacobi intersection

An elliptic curve in P3(K) can be represented as the intersection of two quadric surfaces:

It is possible to define the Jacobi form of an elliptic curve as the intersection of two quadrics. Let Ea,b be an elliptic curve in the Weierstrass form, we apply the following map to it:

We see that the following system of equations holds:

The curve E[j] corresponds to the following intersection of surfaces in P3(K):

.

The "special case", E[0], the elliptic curve has a double point and thus it is singular.

S1 is obtained by applying to E[j] the transformation:

ψ: E[j]S1

Group law

For S1, the neutral element of the group is the point (0, 1, 1, 1), that is the image of O = (0: 1: 0) under ψ.

Addition and doubling

Given P1 = (X1, Y1, Z1, T1) and P2 = (X2, Y2, Z2, T2), two points on S1, the coordinates of the point P3 = P1 + P2 are:

These formulas are also valid for doubling: it sufficies to have P1 = P2. So adding or doubling points in S1 are operations that both require 16 multiplications plus one multiplication by a constant (k).

It is also possible to use the following formulas for doubling the point P1 and find P3 = [2]P1:

Using these formulas 8 multiplications are needed to double a point. However, there are even more efficient “strategies” for doubling that require only 7 multiplications. [2] In this way it is possible to triple a point with 23 multiplications; indeed [3]P1 can be obtained by adding P1 with [2]P1 with a cost of 7 multiplications for [2]P1 and 16 for P1 + [2]P1 [2]

Example of addition and doubling

Let K = R or C and consider the case:

Consider the points and : it is easy to verify that P1 and P2 belong to S1 (it is sufficient to see that these points satisfy both equations of the system S1).

Using the formulas given above for adding two points, the coordinates for P3, where P3 = P1 + P2 are:

The resulting point is .

With the formulas given above for doubling, it is possible to find the point P3 = [2]P1:

So, in this case P3 = [2]P1 = (0, 12, –12, 12).

Negation

Given the point P1 = (X1, Y1, Z1, T1) in S1, its negation is −P1 = (−X1, Y1, Z1, T1)

Addition and doubling in affine coordinates

Given two affine points P1 = (x1, y1, z1) and P2 = (x2, y2, z2), their sum is a point P3 with coordinates:

These formulas are valid also for doubling with the condition P1 = P2.

Extended coordinates

There is another kind of coordinate system with which a point in the Jacobi intersection can be represented. Given the following elliptic curve in the Jacobi intersection form:

the extended coordinates describe a point P = (x, y, z) with the variables X, Y, Z, T, XY, ZT, where:

Sometimes these coordinates are used, because they are more convenient (in terms of time-cost) in some specific situations. For more information about the operations based on the use of these coordinates see http://hyperelliptic.org/EFD/g1p/auto-jintersect-extended.html

Definition: Jacobi quartic

A Jacobi quartic of equation
y
2
=
x
4
-
1.9
x
2
+
1
{\displaystyle y^{2}=x^{4}-1.9x^{2}+1} JacobianQuartic.svg
A Jacobi quartic of equation

An elliptic curve in Jacobi quartic form can be obtained from the curve Ea,b in the Weierstrass form with at least one point of order 2. The following transformation f sends each point of Ea,b to a point in the Jacobi coordinates, where (X: Y: Z) = (sX: s2Y: sZ).

f:Ea,bJ
[3]

Applying f to Ea,b, one obtains a curve in J of the following form:

[3]

where:

.

are elements in K. C represents an elliptic curve in the Jacobi quartic form, in Jacobi coordinates.

Jacobi quartic in affine coordinates

The general form of a Jacobi quartic curve in affine coordinates is:

,

where often e = 1 is assumed.

Group law

The neutral element of the group law of C is the projective point (0: 1: 1).

Addition and doubling in affine coordinates

Given two affine points and , their sum is a point , such that:

As in the Jacobi intersections, also in this case it is possible to use this formula for doubling as well.

Addition and doubling in projective coordinates

Given two points P1 = (X1: Y1: Z1) and P2 = (X2: Y2: Z2) in C′, the coordinates for the point P3 = (X3: Y3: Z3), where P3 = P1 + P2, are given in terms of P1 and P2 by the formulae:

One can use this formula also for doubling, with the condition that P2 = P1: in this way the point P3 = P1 + P1 = [2]P1 is obtained.

The number of multiplications required to add two points is 13 plus 3 multiplications by constants: in particular there are two multiplications by the constant e and one by the constant a.

There are some "strategies" to reduce the operations required for adding and doubling points: the number of multiplications can be decreased to 11 plus 3 multiplications by constants (see [4] section 3 for more details).

The number of multiplications can be reduced by working on the constants e and d: the elliptic curve in the Jacobi form can be modified in order to have a smaller number of operations for adding and doubling. So, for example, if the constant d in C is significantly small, the multiplication by d can be cancelled; however the best option is to reduce e: if it is small, not only one, but two multiplications are neglected.

Example of addition and doubling

Consider the elliptic curve E4,0, it has a point P of order 2: P = (p, 0) = (0, 0). Therefore, a = 4, b = p = 0 so we have e = 1 and d = 1 and the associated Jacobi quartic form is:

Choosing two points and , it is possible to find their sum P3 = P1 + P2 using the formulae for adding given above:

.

So

.

Using the same formulae, the point P4 = [2]P1 is obtained:

So

.

Negation

The negation of a point P1 = (X1: Y1: Z1) is: −P1 = (−X1: Y1: Z1)

Alternative coordinates for the Jacobi quartic

There are other systems of coordinates that can be used to represent a point in a Jacobi quartic: they are used to obtain fast computations in certain cases. For more information about the time-cost required in the operations with these coordinates see http://hyperelliptic.org/EFD/g1p/auto-jquartic.html

Given an affine Jacobi quartic

the Doubling-oriented XXYZZ coordinates introduce an additional curve parameter c satisfying a2 + c2 = 1 and they represent a point (x, y) as (X, XX, Y, Z, ZZ, R), such that:

the Doubling-oriented XYZ coordinates, with the same additional assumption (a2 + c2 = 1), represent a point (x, y) with (X, Y, Z) satisfying the following equations:

Using the XXYZZ coordinates there is no additional assumption, and they represent a point (x, y) as (X, XX, Y, Z, ZZ) such that:

while the XXYZZR coordinates represent (x, y) as (X, XX, Y, Z, ZZ, R) such that:

with the XYZ coordinates the point (x, y) is given by (X, Y, Z), with:

.

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. Olivier Billet, The Jacobi Model of an Elliptic Curve and Side-Channel Analysis
  2. 1 2 P.Y.Liardet and N.P.Smart, Preventing SPA/DPA in ECC Systems Using the Jacobi Form, pag 397
  3. 1 2 Olivier Billet and Marc Joye, The Jacobi Model of an Elliptic Curve and Side-Channel Analysis, pag 37-38
  4. Sylvain Duquesne, Improving the Arithmetic of Elliptic Curves in the Jacobi Model-I3M, (UMR CNRS 5149) and Lirmm, (UMR CNRS 5506), Universite Montpellier II

Related Research Articles

<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:

In the mathematical field of complex analysis, elliptic functions are special kinds of meromorphic functions, that satisfy two periodicity conditions. They are named elliptic functions because they come from elliptic integrals. Those integrals are in turn named elliptic because they first were encountered for the calculation of the arc length of an ellipse.

<span class="mw-page-title-main">Euclidean planes in three-dimensional space</span> Flat surface

In Euclidean geometry, a plane is a flat two-dimensional surface that extends indefinitely. Euclidean planes often arise as subspaces of three-dimensional space . A prototypical example is one of a room's walls, infinitely extended and assumed infinitesimal thin. While a pair of real numbers suffices to describe points on a plane, the relationship with out-of-plane points requires special consideration for their embedding in the ambient space .

The Lenstra elliptic-curve factorization or the elliptic-curve factorization method (ECM) is a fast, sub-exponential running time, algorithm for integer factorization, which employs elliptic curves. For general-purpose factoring, ECM is the third-fastest known factoring method. The second-fastest is the multiple polynomial quadratic sieve, and the fastest is the general number field sieve. The Lenstra elliptic-curve factorization is named after Hendrik Lenstra.

<span class="mw-page-title-main">Lemniscate of Bernoulli</span> Plane algebraic curve

In geometry, the lemniscate of Bernoulli is a plane curve defined from two given points F1 and F2, known as foci, at distance 2c from each other as the locus of points P so that PF1·PF2 = c2. The curve has a shape similar to the numeral 8 and to the ∞ symbol. Its name is from lemniscatus, which is Latin for "decorated with hanging ribbons". It is a special case of the Cassini oval and is a rational algebraic curve of degree 4.

In geometry, an incidence relation is a heterogeneous relation that captures the idea being expressed when phrases such as "a point lies on a line" or "a line is contained in a plane" are used. The most basic incidence relation is that between a point, P, and a line, l, sometimes denoted P I l. If P I l the pair (P, l) is called a flag. There are many expressions used in common language to describe incidence (for example, a line passes through a point, a point lies in a plane, etc.) but the term "incidence" is preferred because it does not have the additional connotations that these other terms have, and it can be used in a symmetric manner. Statements such as "line l1 intersects line l2" are also statements about incidence relations, but in this case, it is because this is a shorthand way of saying that "there exists a point P that is incident with both line l1 and line l2". When one type of object can be thought of as a set of the other type of object (viz., a plane is a set of points) then an incidence relation may be viewed as containment.

In mathematics, the Jacobi elliptic functions are a set of basic elliptic functions. They are found in the description of the motion of a pendulum, as well as in the design of electronic elliptic filters. While trigonometric functions are defined with reference to a circle, the Jacobi elliptic functions are a generalization which refer to other conic sections, the ellipse in particular. The relation to trigonometric functions is contained in the notation, for example, by the matching notation for . The Jacobi elliptic functions are used more often in practical problems than the Weierstrass elliptic functions as they do not require notions of complex analysis to be defined and/or understood. They were introduced by Carl Gustav Jakob Jacobi. Carl Friedrich Gauss had already studied special Jacobi elliptic functions in 1797, the lemniscate elliptic functions in particular, but his work was published much later.

In mathematics, complex multiplication (CM) is the theory of elliptic curves E that have an endomorphism ring larger than the integers. Put another way, it contains the theory of elliptic functions with extra symmetries, such as are visible when the period lattice is the Gaussian integer lattice or Eisenstein integer lattice.

In geometry, the Hessian curve is a plane curve similar to folium of Descartes. It is named after the German mathematician Otto Hesse. This curve was suggested for application in elliptic curve cryptography, because arithmetic in this curve representation is faster and needs less memory than arithmetic in standard Weierstrass form.

<span class="mw-page-title-main">Viviani's curve</span> Figure-eight shaped curve on a sphere

In mathematics, Viviani's curve, also known as Viviani's window, is a figure eight shaped space curve named after the Italian mathematician Vincenzo Viviani. It is the intersection of a sphere with a cylinder that is tangent to the sphere and passes through two poles of the sphere. Before Viviani this curve was studied by Simon de La Loubère and Gilles de Roberval.

<span class="mw-page-title-main">Lemniscate elliptic functions</span> Mathematical functions

In mathematics, the lemniscate elliptic functions are elliptic functions related to the arc length of the lemniscate of Bernoulli. They were first studied by Giulio Fagnano in 1718 and later by Leonhard Euler and Carl Friedrich Gauss, among others.

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

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.

In mathematics, the Twisted Hessian curve represents a generalization of Hessian curves; it was introduced in elliptic curve cryptography to speed up the addition and doubling formulas and to have strongly unified arithmetic. In some operations, it is close in speed to Edwards curves.

<span class="mw-page-title-main">Doubling-oriented Doche–Icart–Kohel curve</span>

In mathematics, the doubling-oriented Doche–Icart–Kohel curve is a form in which an elliptic curve can be written. It is a special case of Weierstrass form and it is also important in elliptic-curve cryptography because the doubling speeds up considerably. It has been introduced by Christophe Doche, Thomas Icart, and David R. Kohel in Efficient Scalar Multiplication by Isogeny Decompositions.

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.

The tripling-oriented Doche–Icart–Kohel curve is a form of an elliptic curve that has been used lately in cryptography; it is a particular type of Weierstrass curve. At certain conditions some operations, as adding, doubling or tripling points, are faster to compute using this form. The Tripling oriented Doche–Icart–Kohel curve, often called with the abbreviation 3DIK has been introduced by Christophe Doche, Thomas Icart, and David R. Kohel in

<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.

Elliptic curve scalar multiplication is the operation of successively adding a point along an elliptic curve to itself repeatedly. It is used in elliptic curve cryptography (ECC). The literature presents this operation as scalar multiplication, as written in Hessian form of an elliptic curve. A widespread name for this operation is also elliptic curve point multiplication, but this can convey the wrong impression of being a multiplication between two points.

<span class="mw-page-title-main">Centripetal Catmull–Rom spline</span> Variant form of the Catmull-Rom spine

In computer graphics, the centripetal Catmull–Rom spline is a variant form of the Catmull–Rom spline, originally formulated by Edwin Catmull and Raphael Rom, which can be evaluated using a recursive algorithm proposed by Barry and Goldman. It is a type of interpolating spline defined by four control points , with the curve drawn only from to .

In mathematics, the moduli stack of elliptic curves, denoted as or , is an algebraic stack over classifying elliptic curves. Note that it is a special case of the moduli stack of algebraic curves . In particular its points with values in some field correspond to elliptic curves over the field, and more generally morphisms from a scheme to it correspond to elliptic curves over . The construction of this space spans over a century because of the various generalizations of elliptic curves as the field has developed. All of these generalizations are contained in .

References