This article needs attention from an expert in mathematics. Please add a reason or a talk parameter to this template to explain the issue with the article.WikiProject Mathematics may be able to help recruit an expert.(December 2009)
In mathematics, the Jacobi curve is a representantion of an elliptic curve different than the usual one (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 offers also faster arithmetic compared to the Weierstrass curve.
The Jacobi curve can be of two types: the Jacobi intersection, that is given by an intersection of two surfaces, and the Jacobi quartic.
It is possible to define the Jacobi form of an elliptic curve as the intersection of two quadrics, using the following map applied to the usual Weierstrass curve , :
This map sends the point to the point that satisfies the following system of equations:
The map can be applied to an elliptic curve in the Weirstrass form with three points of order two: this means that the polynomial has three roots in the field . Suppose that the roots are , with , then the three points of order two are: (0,0), (-1,0), (-j,0) and the curve can, thus, be written as:
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.
Adding and doubling formulas are usefull also to compute [n]P, the nth multple of a point P on an elliptic curve: this operation is considered the most in elliptic curve cryptography.
For S1, the neutral element of the group is the point , that is the image of by .
Addition and doubling
Given and , two points on , the coordinates of the point are:
These formulas are also valid for doubling: it sufficies to have . So adding or doubling points in are operations that both require 16 multiplications plus one multiplication by a constant ().
It is also possible to use the following formulas for doubling the point and find :
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 can be obtained by adding with with a cost of 7 multiplications for and 16 for [2]
Example of addition and doubling
Let the field , or .
Consider the case:
Consider the points and : it is easy to verify that and belong to S1 (it is sufficient to see that these points satisfy both equations of the systemS1).
Using the formulas given above for adding two points, the coordinates for , where are:
The resulting point is .
With the formulas given above for doubling, it is possible to find the point :
C' represents an elliptic curve in the Jacobi quartic form, in projective coordinates.
Jacobi quartic in affine coordinates
The general form of a Jacobi quartic curve in affine coordinates is:
Group law
The neutral element of the the group law of is the projective point .
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 and in , the coordinates for the point , where , are given in terms of and by the formulae:
One can use this formula also for doubling, with the condition that : in this way the point 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 and one by the constant .
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 and : 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 in E’ is significantly small, the multiplication by can be cancelled; however the best option is to reduce : if it is small, not only one, but two multiplications are neglected.
Example of addition and doubling
Consider an elliptic curve in the Weierstrass form in affine coordinates over the field , or , with and :
has a point of order 2: .
Applying the function to , the following elliptic curve in projective Jacobi quartic form is obtained:
where and .
Choosing two points and , it is possible to find their sum using the formulae for adding given above:
.
So .
Using the same formulae, the point is obtained:
so, .
Negation
The negation of a point is:
Alternative coordinates for the Jacobi quartic
There are other system 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 are used with the additional assumption:
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 (), 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:
^Olivier Billet, The Jacobi Model of an Elliptic Curve and Side-Channel Analysis
^ abP.Y.Liardet and N.P.Smart, Preventing SPA/DPA in ECC Systems Using the Jacobi Form, pag 397
^ abOlivier Billet and Marc Joye, The Jacobi Model of an Elliptic Curve and Side-Channel Analysis, pag 37-38
^Sylvain Duquesne, Improving the Arithmetic of Elliptic Curves in the Jacobi Model-I3M, (UMR CNRS 5149) and Lirmm, (UMR CNRS 5506), Universite Montpellier II