Section:
Scientific Foundations
Algebraic curves over finite
fields
One of the most common cryptographic protocols is
Diffie–Hellman Key Exchange, which enables
Alice and Bob to exchange secret information over an insecure
channel. Given a publicly known cyclic group with generator , Alice
sends for a random to Bob, and Bob responds with
for a random . Both Alice and Bob can now compute ,
and this is henceforth their common secret.
Of course, this a schematic presentation; real-life
protocols based on this need more security properties.
The difficulty of recovering
recover from (the Discrete Log Problem, or DLP) is
fundamental to the security of the scheme, and groups for which the
DLP is hard must be favored.
Therefore, the choice of group is crucial;
TANC concentrates on groups derived from algebraic curves.
These groups offer a very interesting alternative to finite fields:
the DLP in a finite field can be broken by subexponential algorithms,
while exponential time is required for an elliptic curve over the same field.
Smaller keys can therefore be used in curve-based cryptosystems;
this is very interesting
from the point of view of limited-power devices.
In order to build a cryptosystem based on an algebraic curve over a
finite field, one needs to efficiently compute the group law (and hence
have a nice representation for elements of the Jacobian of the curve).
Next, one must compute the cardinality of the Jacobian,
so that we can find generators of the group.
Once the curve is built, one
needs to test its security, for example by determining the hardness of
the DLP in its Jacobian.
Effective group laws
The curves that interest us are typically defined over a finite field
, where is the (prime) characteristic of the field.
The points of an elliptic curve (of equation ,
say) form an abelian group, that was thoroughly studied over the
preceding millennium. Adding two points is usually done using the
so-called chord-and-tangent formulæ. When dealing with a genus
curve (the elliptic curve case being ), the associated group is the
Jacobian (set of -tuples of points modulo an equivalence relation),
an object of dimension . Points are replaced by polynomial
ideals. This requires the help of tools from effective commutative
algebra, such as Gröbner bases or Hermite normal forms.
The great catalog of usable curves is now complete,
as a result of the work of TANC ,
notably in two ACI (cryptocourbes and cryptologie p-adique )
that are now completed.
Cardinality
Once the group law is tractable, one has to find means of computing the
cardinality of the group: this is not an easy task in general. Of
course, if frequently changing the group
is imperative in applications,
then this computation has to be done as fast as possible.
Two parameters enter the scene: the genus of the curve, and the
characteristic of the underlying finite field. When and
is large, the only currently known algorithm for computing the number of
points of an elliptic curve over is the
Schoof–Elkies–Atkin algorithm. Thanks
to the work of the project, widespread implementations are able
to build cryptographically strong curves in less than one minute on a
standard PC.
Recent improvements were made by F. Morain and P. Gaudry (CACAO) (see
[49] ), see also [3] and in
[10] , in which a new approach to eigenvalue
computation is described and proven. Note that A. Sutherland now
detains the record in computations using a new algorithm for computing
modular polynomials.
When is small (one of the most interesting cases for hardware
implementation in smart cards being ) the best current methods
use -adic numbers, following the breakthrough of T. Satoh with a
method working for . The first version of this algorithm for
was proposed independently by M. Fouquet, P. Gaudry and
R. Harley and by B. Skjernaa. J. -F. Mestre has designed the current
fastest algorithm, based on the arithmetic-geometric mean (AGM).
Developed by R. Harley and P. Gaudry, it led to new world
records. Then, P. Gaudry combined this method with other
approaches to make it competitive for cryptographic sizes [48] .
When and is large, polynomial time algorithms exist, but
their implementation is not an easy task. P. Gaudry and É. Schost
have modified the best existing algorithm so as to make it more
efficient. They were able to build the first random cryptographically
strong genus 2 curves defined over a large prime field [50] .
To get one step further, one needs to use genus 2 analogues of modular
equations. After a theoretical study [51] , they are now
investigating the practical use of these equations, finally leading to
[52] .
When , -adic algorithms led to striking new results. First,
the AGM approach extends to the case and is competitive in
practice (only three times slower than in the case ). In another
direction, Kedlaya has introduced a new approach, based on
Monsky–Washnitzer cohomology. His algorithm was originally designed for .
P. Gaudry and N. Gürel implemented this algorithm and
extended it to superelliptic curves, thus adding
these curves to the list of those usable in cryptography.
Closing the gap between small and large characteristic leads to
pushing the -adic methods as far as possible. In this spirit, P. Gaudry and
N. Gürel have adapted Kedlaya's algorithm and exhibited a linear
complexity in , making it possible to reach a characteristic of around
1000 (see [46] ).
For larger 's, one can use the Cartier–Manin
operator. Recently, A. Bostan, P. Gaudry and É. Schost have found
a much faster algorithm than currently known ones
[34] . Primes around are now doable.
Computing isogenies
The core of the Schoof–Elkies–Atkin (SEA) algorithm for computing
cardinality of elliptic curves over large-characteristic finite fields
consists in using
the theory of isogenies to find small factors of division
polynomials.
Isogenies are also a tool for understanding the difficulty of the Discrete
Log problem among classes of elliptic curves [58] .
Recently, there appeared suggestions to use isogenies in a
cryptographic context, replacing the multiplication on curves by
composition of isogenies [67] , [65] .
Algorithms for computing isogenies are very well known and widely used in the
large characteristic case. When the characteristic is small, three
algorithms exist:
two due to Couveignes [37] , [38] , [61] ,
and one due to Lercier [60] .
The Discrete Logarithm Problem
The Discrete Logarithm Problem (DLP) is one of the major difficult problems
upon which we build secure cryptosystems. It has essentially been
proven equivalent to the computational Diffie–Hellman problem, which
corresponds more closely to the actual security of many protocols.
For an arbitrary group of prime order ,
the DLP can be solved by a generic, exponential
algorithm in group operations.
For elliptic curves (setting aside some rare and easily avoidable instances),
no faster algorithms are known.
For higher genus curves, the algorithms with the best complexity create
relations as smooth principal divisors on the curve and use linear
algebra to deduce discrete logarithms, similarly to the quadratic
sieve for factoring. The first such algorithm for high genus
hyperelliptic curves with a heuristic complexity analysis is given in
[32] , and A. Enge developed the first algorithm with a
proven subexponential run time of in
[43] . Generalisations to other groups proposed for
cryptography (in particular ideal class groups of imaginary quadratic
number fields) are obtained by A. Enge and P. Gaudry in
[6] and [42] .
Proofs for arbitrary curves of large genus are
given by J.-M. Couveignes [36]
and F. Heß [56] .
The existence of subexponential algorithms shows that high genus
curves are less secure than low-genus curves (including elliptic curves)
in cryptography.
By analyzing the same algorithms differently, concrete recommendations
for key lengths can be obtained, an approach introduced by P. Gaudry
in [47] and pursued in [53] . It turns out that
elliptic curves and hyperelliptic curves of genus 2 are not
affected, while the key lengths have to be increased in higher genus,
for instance by in genus 3.
Using similar algorithms to those analyzed in [6] ,
C. Diem has shown in [39] that non-hyperelliptic curves
(of genus at least 3) are even less secure than hyperelliptic ones of
the same genus. This effectively leaves only elliptic and low genus
hyperelliptic curves as potential sources for public-key cryptosystems.