In
geometry
Geometry (; ) is a branch of mathematics concerned with properties of space such as the distance, shape, size, and relative position of figures. Geometry is, along with arithmetic, one of the oldest branches of mathematics. A mathematician w ...
, the Hessian curve is a
plane curve
In mathematics, a plane curve is a curve in a plane that may be a Euclidean plane, an affine plane or a projective plane. The most frequently studied cases are smooth plane curves (including piecewise smooth plane curves), and algebraic plane c ...
similar to
folium of Descartes. It is named after the German mathematician
Otto Hesse.
This curve was suggested for application 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 to provide equivalent security, compared to cryptosystems based on modula ...
, because arithmetic in this curve representation is faster and needs less memory than arithmetic in standard
Weierstrass form.
[Cauchy-Desbove's Formulae: ''Hessian-elliptic Curves and Side-Channel Attacks'', Marc Joye and Jean-Jacques Quisquarter]
Definition
Let
be a
field and consider 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 the ...
in the following special case of
Weierstrass form over
:
where the curve has
discriminant
In mathematics, the discriminant of a polynomial is a quantity that depends on the coefficients and allows deducing some properties of the zero of a function, roots without computing them. More precisely, it is a polynomial function of the coef ...
Then the point
has order 3.
To prove that
has order 3, note that the tangent to
at
is the line
which intersects
with multiplicity 3 at
.
Conversely, given a point
of order 3 on an elliptic curve
both defined over a field
one can put the curve into Weierstrass form with
so that the tangent at
is the line
. Then the equation of the curve is
with
.
To obtain the Hessian curve, it is necessary to do the following
transformation:
First let
denote a
root
In vascular plants, the roots are the plant organ, organs of a plant that are modified to provide anchorage for the plant and take in water and nutrients into the plant body, which allows plants to grow taller and faster. They are most often bel ...
of the polynomial
Then
Note that if
has a finite field of order
, then every element of
has a unique
cube root
In mathematics, a cube root of a number is a number that has the given number as its third power; that is y^3=x. The number of cube roots of a number depends on the number system that is considered.
Every real number has exactly one real cub ...
; in general,
lies in an extension field of ''K''.
Now by defining the following value
another curve, C, is obtained, that is
birationally equivalent to E:
which is called ''cubic Hessian form'' (in
projective coordinates
In mathematics, homogeneous coordinates or projective coordinates, introduced by August Ferdinand Möbius in his 1827 work , are a system of coordinates used in projective geometry, just as Cartesian coordinates are used in Euclidean geometry. T ...
)
in the ''affine plane'' (satisfying
and
).
Furthermore,
(otherwise, the curve would be
singular
Singular may refer to:
* Singular, the grammatical number that denotes a unit quantity, as opposed to the plural and other forms
* Singular or sounder, a group of boar, see List of animal names
* Singular (band), a Thai jazz pop duo
*'' Singula ...
).
Starting from the Hessian curve, a
birationally equivalent Weierstrass equation is given by
under the transformations:
and
where:
and
Group law
It is interesting to analyze the
group law of the elliptic curve, defining the addition and doubling formulas (because the
SPA and
DPA attacks are based on the running time of these operations). Furthermore, in this case, we only need to use the same procedure to compute the addition, doubling or subtraction of points to get efficient results, as said above.
In general, the group law is defined in the following way: ''if three points lie in the same line then they sum up to zero''. So, by this property, the group laws are different for every curve.
In this case, the correct way is to use the Cauchy-Desboves´ formulas, obtaining the point at infinity , that is, the
neutral element
In mathematics, an identity element or neutral element of a binary operation is an element that leaves unchanged every element when the operation is applied. For example, 0 is an identity element of the addition of real numbers. This concept is use ...
(the inverse of is again).
Let be a point on the curve. The line
contains the point and the point at infinity .
Therefore, is the third point of the intersection of this line with the curve. Intersecting the elliptic curve with the line, the following condition is obtained
Since
is non zero (because is distinct to 1), the -coordinate of is and the -coordinate of is , i.e.,
or in projective coordinates
.
In some application of
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 to provide equivalent security, compared to cryptosystems based on modula ...
and the elliptic curve method of factorization (
ECM) it is necessary to compute the scalar multiplications of , say for some
integer
An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
, and they are based on the
double-and-add method; these operations need the addition and doubling formulas.
Doubling
Now, if
is a point on the elliptic curve, it is possible to define a "doubling" operation using Cauchy-Desboves´ formulae:
Addition
In the same way, for two different points, say
and
, it is possible to define the addition formula. Let denote the sum of these points, , then its coordinates are given by:
Algorithms and examples
There is one
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
that can be used to add two different points or to double; it is given by
Joye and
Quisquater. Then, the following result gives the possibility the obtain the doubling operation by the addition:
Proposition. Let be a point on a Hessian elliptic curve . Then:
Furthermore, we have .
Finally, contrary to other
parameterizations, there is no subtraction to compute the negation of a point. Hence, this addition algorithm can also be used for subtracting two points and on a Hessian elliptic curve:
To sum up, by adapting the order of the inputs according to equation (2) or (3), the addition algorithm presented above can be used indifferently for:
Adding 2 (diff.) points, Doubling a point and Subtracting 2 points with only 12 multiplications and 7 auxiliary variables including the 3 result variables. Before the invention of
Edwards curves, these results represent the fastest known method for implementing the elliptic curve scalar multiplication towards resistance against
side-channel attack
In computer security, a side-channel attack is a type of security exploit that leverages information inadvertently leaked by a system—such as timing, power consumption, or electromagnetic or acoustic emissions—to gain unauthorized access to ...
s.
For some
algorithms
In mathematics and computer science, an algorithm () is a finite sequence of mathematically rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for per ...
protection against side-channel attacks is not necessary. So, for these doublings can be faster. Since there are many algorithms, only the best for the addition and doubling formulas is given here, with one example for each one:
Addition
Let and be two points distinct to . Assuming that then the algorithm is given by:
:
:
:
The cost needed is 8 multiplications and 3 additions readdition cost of 7 multiplications and 3 additions, depending on the first point.
;Example
Given the following points in the curve for and , then if we have:
:
:
:
Then:
Doubling
Let be a point, then the doubling formula is given by:
*
*
*
*
*
*
*
The cost of this algorithm is
;Example
If
is a point over the Hessian curve with parameter , then the coordinates of
are given by:
That is,
Extended coordinates
There is another coordinates system with which a Hessian curve can be represented; these new coordinates are called extended coordinates. They can speed up the addition and doubling. To have more information about operations with the extended coordinates see:
http://hyperelliptic.org/EFD/g1p/auto-hessian-extended.html#addition-add-20080225-hwcd
and
are represented by
satisfying the following equations:
*
*
*
*
*
*
*
*
See also
*For more information about the running-time required in a specific case, see
Table of costs of operations in elliptic curves
*
Twisted Hessian curves
External links
* http://hyperelliptic.org/EFD/g1p/index.html
Notes
References
*
Otto Hesse (1844), "Über die Elimination der Variabeln aus drei algebraischen Gleichungen vom zweiten Grade mit zwei Variabeln", ''Journal für die reine und angewandte Mathematik'', 10, pp. 68–96
*
*
{{DEFAULTSORT:Hessian Form Of An Elliptic Curve
Elliptic curves
Elliptic curve cryptography