Section:
Research Program
Function fields, algebraic curves and cryptology
Participants :
Karim Belabas, Julio Brau Avila, Jean-Marc Couveignes, Andreas Enge, Hamish Ivey-Law, Nicolas Mascot, Enea Milio, Damien Robert.
Algebraic curves over finite fields are used to build the currently
most competitive public key cryptosystems. Such a curve is given by
a bivariate equation with coefficients in a finite
field . The main classes of curves that are interesting from a
cryptographic perspective are elliptic curves of equation
and hyperelliptic curves of
equation with .
The cryptosystem is implemented in an associated finite
abelian group, the Jacobian . Using the language
of function fields exhibits a close analogy to the number fields
discussed in the previous section. Let (the analogue of )
be the rational function field with subring (which
is principal just as ). The function field of is
; it contains the coordinate ring
. Definitions and properties carry over from
the number field case to the function field extension . The Jacobian is the divisor class group of , which is
an extension of (and for the curves used in cryptography usually equals) the
ideal class group of .
The size of the Jacobian group, the main security parameter of the
cryptosystem, is given by an -function. The GRH for function fields,
which has been proved by Weil, yields the Hasse–Weil bound
or
,
where the genus is an invariant of the curve that
correlates with the degree of its equation. For instance, the genus of
an elliptic curve is 1, that of a hyperelliptic one is
. An important algorithmic
question is to compute the exact cardinality of the Jacobian.
The security of the cryptosystem requires more precisely that the
discrete logarithm problem (DLP) be difficult in the underlying
group; that is, given elements and of ,
it must be difficult to determine . Computing corresponds in
fact to computing explicitly with an isomorphism to an
abstract product of finite cyclic groups; in this sense, the DLP amounts
to computing the class group in the function field setting.
For any integer , the Weil pairing on is a
function that takes as input two elements of order of and
maps them into the multiplicative group of a finite field extension
with depending on . It is bilinear in both
its arguments, which allows to transport the DLP from a curve into
a finite field, where it is potentially easier to solve. The
Tate-Lichtenbaum pairing, that is more difficult to define,
but more efficient to implement, has similar properties. From a
constructive point of view, the last few years have seen a wealth of
cryptosystems with attractive novel properties relying on pairings.
For a random curve, the parameter usually becomes so big that the
result of a pairing cannot even be output any more. One of the major
algorithmic problems related to pairings is thus the construction of
curves with a given, smallish .