Christophe Petit


Gröbner bases in cryptography

Gröbner bases for nubbies
Revisiting Berlekamp's problem
Polynomial systems arising from a Weil descent
The Successive Resultant Algorithm (SRA)
Applications and Perspectives
Related papers and talks


Gröbner bases for nubbies

Linear systems of equations can be solved efficiently with the Gaussian elimination algorithm. Polynomial systems, on the other hand, are much harder to solve.

In a sense, Gröbner bases are to polynomial systems what triangular matrices are to linear systems. Given a Gröbner basis of a polynomial system for the lexicographic ordering, the system can be solved efficiently "one variable at the time". The problem of solving polynomial systems is then reduced to the problem of computing a Gröbner basis for the lexicographic ordering.

Gröbner bases algorithms usually compute a Gröbner basis of the system for the degree reverse lexicographic ordering and then convert that basis to a lexicographic Gröbner basis using the [
FGLM] algorithm.

The first part reduces to linear algebra [L83]. Polynomial multiples of the original equations are added to the system. When sufficiently many equations are added, each monomial term is seen as an independent variable and the system is solved with linear algebra. Sophisticated Gröbner bases algorithms exploit parallelism and choose the new equations carefully to avoid linear dependencies [F4,F5].

In general, solving a system of polynomial equations takes a time exponential in the total degree (the sum of the degrees). However, systems arising in cryptography tend to be nothing but generic. The additional structure they have compared to generic systems will usually make them easier to solve.

Additional information on Gröbner basis and some cryptanalysis applications can be found at Jean-Charles Faugère's homepage, arguably the world's expert in the field. One problem I very actively contributed to is a variant of Berlekamp's problem.


Revisiting Berlekamp's problem

Let f be a univariate polynomial over a finite field F(q). In a now famous paper, Berlekamp showed how to solve the equation f(x)=0 [B70].

Let now f be a multivariate polynomial equation. The equation f(x1,...,xN)=0 is expected to have a lot of solutions for "random" f. To compute one solution, we can simply fix all variables but the first one randomly and then apply Berlekamp's algorithm.

Now suppose q=p^n for a "small" prime p and a "large" integer n. The field F(p^n) is a vector space over F(p). Let Vi be N vector subspaces of F(p^n) of dimension n' roughly n/N. Then the equation
f(x1,...,xN)=0, x1 in V1,...,xN in VN
is expected to have about one solution on average.

How can we compute that solution?


Polynomial systems arising from a Weil descent

This problem can be solved as follows. Substitute each variable xi over F(p^n) by n' variables xij over F(p). Choose a basis of F(p^n) over F(p). Decomposing f with respect to that basis, we obtain n polynomial equations in n'N variables. A natural approach to solve that system is to use Gröbner basis algorithms.

If the system was generic, solving it would require a time exponential in the total degree of the system, that is bounded by nNt if the degree of f is bounded by p^t in each variable. However, experimental evidence and theoretical arguments show that the system constructed in this way is much easier to solve than a generic system would be.

In fact, it appears that the problem can be solved in time (n')^(omega*D), where omega is the linear algebra constant and
D ~= (p-1)*t*N+1.


The Successive Resultant Algorithm (SRA)

When f is a monovariate polynomial, Berlekamp's trace algorithm (BTA) can compute its roots with a complexity that is much better than suggested by the bounds obtained using a Weil descent and Gröbner basis algorithms. Could we generalize BTA to the more general problem described above ?

Unfortunately, BTA does not seem easy to generalize, but we have recently obtained promising results in a similar direction. The Successive Resultants Algorithm (SRA) is a new algorithm for finding roots of polynomial equations over finite fields, that seems much easier to generalize at first sight.

We showed that the behaviour of Gröbner basis on polynomial systems arising from a Weil descent of a monovariate polynomial can be entirely explained by following SRA main steps, without any heuristic assumption. In particular, we closed a ten year old conjecture on the degree of regularity of a family of polynomial systems appearing in the cryptosystem HFE.

SRA is also interesting in its own right, as we showed that it has a complexity similar to the 40-year old but still state-of-the-art BTA, and can even beat BTA for some parameters.


Applications and perspectives

I believe that the above problem has tons of applications both in cryptography and coding theory. Three applications already developped so far are to the factorization problem in SL(2,2^n), to the elliptic curve discrete logarithm problem for fields of small characteristic, and to the discrete logarithm problem for the same fields.

Besides, I believe that generalizations of SRA to multivariate polynomials will at least lead to a rigorous explanation of Gröbner basis algorithms behaviour on generic polynomial systems arising from a Weil descent, and possibly to improved algorithms for the numerous applications of the above problem.


Contributions

Here is a list of my papers related to this topic. Your questions/comments are welcome!

On Generalized First Fall Degree Assumptions
Huang Yun-Ju, Christophe Petit, and Tsuyoshi Takagi
Preprint (2014)

Bounding HFE with SRA
Christophe Petit
Preprint (2013)

First fall degree and Weil Descent
Tim Hodges, Christophe Petit and Jacob Schlather
To appear in Finite Fields and their Applications
Preliminary version presented at YACC2012 conference under the title Degree of Regularity for Systems arising from Weil Descent
Paper.

Finding Roots in GF(p^n) with the Successive Resultant Algorithm
Christophe Petit
LMS Journal of Computation and Mathematics, Volume 17, Issue A, pp 203-217. Special issue for ANTS, Algorithmic Number Theory Symposium conference.
Preprint. LMS link.

Improvement of Faugère et al.'s method to solve ECDLP
Huang Yun-Ju, Christophe Petit, Naoyuki Shinohara, and Tsuyoshi Takagi
IWSEC 2013 - Advances in Information and Computer Security
Paper.

On polynomial systems arising from a Weil descent
Christophe Petit and Jean-Jacques Quisquater
Asiacrypt 2012 - 18th International Conference on the Theory and Application of Cryptology and Information Security
Paper. Extended version.

Improving the complexity of index calculus algorithms in elliptic curves over binary fields
Jean-Charles Faugère, Ludovic Perret, Christophe Petit, Guénaël Renault
Eurocrypt 2012 - 31st Annual International Conference on the Theory and Applications of Cryptographic Techniques
Paper.

New subexponential algorithms for factoring in SL(2,2^n)
Jean-Charles Faugère, Ludovic Perret, Christophe Petit, Guénaël Renault
Preprint (2011)
Paper.