In
mathematics, the Jacobi curve is a representation of an
elliptic curve
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
different from the usual one defined by the
Weierstrass equation
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If t ...
. Sometimes it is used in
cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
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. The Jacobi curve also offers 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.
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
'P'' = ''P'' + ''P'' (the square brackets are used to indicate ''
'', 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
A group is a number of persons or things that are located, gathered, or classed together.
Groups of people
* Cultural group, a group whose members share the same cultural identity
* Ethnic group, a group whose members share the same ethnic ide ...
. 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 mathematics, an identity element, or neutral element, of a binary operation operating on a set is an element of the set that leaves unchanged every element of the set when the operation is applied. This concept is used in algebraic structures ...
in the
group law
In mathematics, a group is a Set (mathematics), set and an Binary operation, operation that combines any two Element (mathematics), elements of the set to produce a third element of the set, in such a way that the operation is Associative propert ...
. Adding and doubling formulas are useful also to compute ''
'', the ''n''-th multiple of a point ''P'' on an elliptic curve: this operation is considered the most in
elliptic curve cryptography
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide e ...
.
An elliptic curve ''E'', over a
field
Field may refer to:
Expanses of open ground
* Field (agriculture), an area of land used for agricultural purposes
* Airfield, an aerodrome that lacks the infrastructure of an airport
* Battlefield
* Lawn, an area of mowed grass
* Meadow, a grass ...
''K'' can be put in the
Weierstrass form
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If th ...
''y''
2 = ''x''
3 + ''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
'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
In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An ex ...
''f(x)'' = ''x''
3 + ''ax'' + ''b''.
From now on, we will use ''E
a,b'' to denote the elliptic curve with Weierstrass form ''y''
2 = ''x''
3 + ''ax'' + ''b''.
If ''E
a,b'' is such that the cubic polynomial ''x''
3 + ''ax'' + ''b'' has three distinct roots in ''K'' and ''b = 0'' we can write ''E
a,b'' in the Legendre normal form:
:''E
a,b:'' ''y''
2 = ''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
'. 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
In mathematics, the intersection of two or more objects is another object consisting of everything that is contained in all of the objects simultaneously. For example, in Euclidean geometry, when two lines in a plane are not parallel, thei ...
of two
quadric surfaces:
:
It is possible to define the Jacobi form of an elliptic curve as the intersection of two quadrics. Let ''E
a,b'' be an elliptic curve in the Weierstrass form, we apply the following
map to it:
:
We see that the following
system of equations
In mathematics, a set of simultaneous equations, also known as a system of equations or an equation system, is a finite set of equations for which common solutions are sought. An equation system is usually classified in the same manner as single ...
holds:
:
The curve ''E
' corresponds to the following intersection of
surface
A surface, as the term is most generally used, is the outermost or uppermost layer of a physical object or space. It is the portion or region of the object that can first be perceived by an observer using the senses of sight and touch, and is t ...
s in P
3(''K''):
:
.
The "special case", ''E
', the elliptic curve has a double point and thus it is
singular
Singular may refer to:
* Singular, the grammatical number that denotes a unit quantity, as opposed to the plural and other forms
* Singular homology
* SINGULAR, an open source Computer Algebra System (CAS)
* Singular or sounder, a group of boar ...
.
S1 is obtained by applying to ''E
' the
transformation
Transformation may refer to:
Science and mathematics
In biology and medicine
* Metamorphosis, the biological process of changing physical form after birth or hatching
* Malignant transformation, the process of cells becoming cancerous
* Tran ...
:
:ψ: ''E
' → S1
:
:
Group law
For S1, the
neutral element
In mathematics, an identity element, or neutral element, of a binary operation operating on a set is an element of the set that leaves unchanged every element of the set when the operation is applied. This concept is used in algebraic structures ...
of the group is the point (0, 1, 1, 1), that is the image of ''O'' = (0: 1: 0) under ψ.
Addition and doubling
Given ''P''
1 = (''X''
1, ''Y''
1, ''Z''
1, ''T''
1) and ''P''
2 = (''X''
2, ''Y''
2, ''Z''
2, ''T''
2), two points on S1, the
coordinates
In geometry, a coordinate system is a system that uses one or more numbers, or coordinates, to uniquely determine the position of the points or other geometric elements on a manifold such as Euclidean space. The order of the coordinates is si ...
of the point ''P''
3 = ''P''
1 + ''P''
2 are:
:
:
:
:
These formulas are also valid for doubling: it sufficies to have ''P''
1 = ''P''
2. 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 ''P''
1 and find ''P''
3 =
'P''
1:
:
:
:
:
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.
[P.Y.Liardet and N.P.Smart, ''Preventing SPA/DPA in ECC Systems Using the Jacobi Form'', pag 397] In this way it is possible to triple a point with 23 multiplications; indeed
'P''
1 can be obtained by adding ''P''
1 with
'P''
1 with a cost of 7 multiplications for
'P''
1 and 16 for ''P''
1 +
'P''
1
Example of addition and doubling
Let ''K'' = R or C and consider the case:
:
Consider the points
and
: it is easy to verify that ''P''
1 and ''P''
2 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 ''P''
3, where ''P''
3 = ''P''
1 + ''P''
2 are:
:
:
:
:
The resulting point is
.
With the formulas given above for doubling, it is possible to find the point ''P''
3 =
'P''
1:
:
:
:
:
So, in this case ''P''
3 =
'P''
1 = (0, 12, –12, 12).
Negation
Given the point ''P''
1 = (''X''
1, ''Y''
1, ''Z''
1, ''T''
1) in S1, its
negation
In logic, negation, also called the logical complement, is an operation that takes a proposition P to another proposition "not P", written \neg P, \mathord P or \overline. It is interpreted intuitively as being true when P is false, and fals ...
is −''P''
1 = (−''X''
1, ''Y''
1, ''Z''
1, ''T''
1)
Addition and doubling in affine coordinates
Given two affine points ''P''
1 = (''x''
1, ''y''
1, ''z''
1) and ''P''
2 = (''x''
2, ''y''
2, ''z''
2), their sum is a point ''P''
3 with coordinates:
:
:
:
These formulas are valid also for doubling with the condition ''P''
1 = ''P''
2.
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
An elliptic curve in Jacobi quartic form can be obtained from the curve ''E
a,b'' in the Weierstrass form with at least one point of order 2. The following
transformation
Transformation may refer to:
Science and mathematics
In biology and medicine
* Metamorphosis, the biological process of changing physical form after birth or hatching
* Malignant transformation, the process of cells becoming cancerous
* Tran ...
''f'' sends each point of ''E
a,b'' to a point in the Jacobi coordinates, where ''(X: Y: Z)'' = ''(sX: s
2Y: sZ)''.
: ''f:'' ''E
a,b'' → J
:
:
:
[Olivier Billet and Marc Joye, ''The Jacobi Model of an Elliptic Curve and Side-Channel Analysis'', pag 37-38]
Applying ''f'' to ''E
a,b'', one obtains a curve in J of the following form:
:
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 ''P''
1 = (''X''
1: ''Y''
1: ''Z''
1) and ''P''
2 = (''X''
2: ''Y''
2: ''Z''
2) in ''C′'', the coordinates for the point ''P''
3 = (''X''
3: ''Y''
3: ''Z''
3), where ''P''
3 = ''P''
1 + ''P''
2, are given in terms of ''P''
1 and ''P''
2 by the formulae:
:
:
:
One can use this formula also for doubling, with the condition that ''P''
2 = ''P''
1: in this way the point ''P''
3 = ''P''
1 + ''P''
1 =
'P''
1 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
[Sylvain Duquesne, ''Improving the Arithmetic of Elliptic Curves in the Jacobi Model''-I3M, (UMR CNRS 5149) and Lirmm, (UMR CNRS 5506), Universite Montpellier II] 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 ''E
4,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 ''P''
3 = ''P''
1 + ''P''
2 using the formulae for adding given above:
:
:
:
.
So
:
.
Using the same formulae, the point ''P''
4 =
'P''
1 is obtained:
:
:
:
So
:
.
Negation
The negation of a point ''P''
1 = (''X''
1: ''Y''
1: ''Z''
1) is: −''P''
1 = (−''X''
1: ''Y''
1: ''Z''
1)
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 ''a''
2 + ''c''
2 = 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 (''a''
2 + ''c''
2 = 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
Elliptic curve cryptography is a popular form of public key encryption that is based on the mathematical theory of elliptic curves. Points on an elliptic curve can be added and form a group under this addition operation. This article describe ...
.
Notes
References
*
* {{cite book
, author = P.Y. Liardet,
N.P. Smart
, title = Cryptographic Hardware and Embedded Systems — CHES 2001
, volume = 2162
, pages = 391–401
, year = 2001
, chapter = Preventing SPA/DPA in ECC Systems Using the Jacobi Form
, publisher = Springer-Verlag Berlin Heidelberg 2001
, isbn = 978-3-540-42521-2
, doi = 10.1007/3-540-44709-1_32
, series = Lecture Notes in Computer Science
*http://hyperelliptic.org/EFD/index.html
External links
*http://hyperelliptic.org/EFD/g1p/index.html
Elliptic curves
Elliptic curve cryptography