Ddoc T 2018 0104 Abelard
Ddoc T 2018 0104 Abelard
Contact : [email protected]
LIENS
THÈSE
présentée et soutenue publiquement le 7 septembre 2018
pour l’obtention du
par
Simon Abelard
Composition du jury
À mes grands-parents.
ii
iii
Remerciements
Théorème. Pour toute thèse en position générique, les remerciements sont la partie la plus lue
et la plus délicate à rédiger.
Preuve. C’est de notoriété publique, d’ailleurs les thèses contenant cet énoncé forment un
sous-ensemble dense de l’ensemble des thèses muni de la topologie de Zariski.
Corollaire. Malgré mes efforts, cette partie contient son lot de formulations approximatives et
d’oublis qui sont de surcroît plus faciles à remarquer que les éventuelles erreurs tapies dans le
chapitre 4 ou dans la section 5.4.
Ces fondements théoriques solides étant posés, je sollicite l’indulgence de celles et ceux qui
me liront concernant les erreurs qui se trouvent dans mes remerciements (ou ailleurs) ainsi que
les répétitions peu élégantes du verbe remercier dans les quelques paragraphes qui suivent. J’en
profite également pour préciser que l’ordre de mes remerciements est globalement peu significatif,
même si j’ai tenté autant que possible de séparer ce qui relève du scientifique de ce qui relève
du personnel.
Mes premiers remerciements sont pour Pierrick et Pierre-Jean qui m’ont proposé un sujet de
recherche passionnant et dans lequel j’ai pu m’épanouir, notamment grâce à leur encadrement
remarquable. Merci infiniment d’avoir guidé mes premiers pas dans le monde de la recherche par
vos conseils avisés et par l’attention que vous avez portée à la préparation de mes divers exposés
ainsi qu’à la rédaction de ce manuscrit. Merci pour tout ce que vous m’avez transmis, pour votre
bienveillance et pour le plaisir que j’ai eu à travailler avec vous. Merci à Pierre-Jean pour son
enthousiasme communicatif, ses bonnes questions («affine ou homogène ?») et pour m’avoir fait
découvrir que le système polynomial c’est trop génial. Merci Pierrick d’avoir partagé ta culture
et ton expertise dans le domaine des courbes, et de m’avoir fait découvrir [28] dans lequel nous
nous sommes (re)plongés à deux reprises, avec un plaisir toujours renouvelé.
Je remercie Christophe Ritzenthaler pour avoir accepté d’être rapporteur de ma thèse, pour
l’attention qu’il y a portée ainsi que pour les remarques et les discussions enrichissantes qui
en ont découlé. I wish to thank Fréderik Vercauteren for accepting the task of reviewing my
thesis, and for his thorough reading. Many thanks also to Elisa Gorla for being a member of my
committee and attending my defense from overseas. Je remercie Magali Bardet dont la thèse
m’a beaucoup aidé à enrichir, à clarifier et à réorganiser mes connaissances en matière de bases
de Gröbner et qui a accepté de faire partie de mon jury. Merci également à Guillaume Hanrot
d’être toujours fidèle au poste dans le jury d’un énième doctorant CARAMEL / CARAMBA.
Merci enfin à Monique Teillaud d’avoir été ma référente de thèse au cours de ces trois ans.
Je remercie toute l’équipe CARAMBA pour cette ambiance agréable et stimulante : j’y
ai rencontré des gens remarquables autant par leurs compétences scientifiques et techniques
que par leurs qualités humaines. Même si j’ai dû m’habituer au troll alors que c’était tout
sauf ma spécialité, je garderai un excellent souvenir de ces années passées avec vous. Merci
d’avoir fait honneur à l’ADN Inria en encourageant ma fibre entrepreneuriale disruptive et en
supportant mes nombreux pitchs (et je ne parle pas de la brioche fourrée) et autres idées de
jeunes pousses dans des domaines allant des objets connectés pour chevaux à la blockchain du
froid. Merci également d’avoir tous contribué à ma culture scientifique mais aussi culinaire,
agricole, musicale, cinématographique et hippique. Merci en particulier à Cécile dont le chat
m’a bien aidé à rédiger l’introduction, j’espère que tu y reconnaîtras son style littéraire et que
ton cheval trouvera ça beau (vous l’avez ?).
iv
En parlant d’ambiance, je remercie tous ceux qui ont fait vivre l’esprit du bureau A215 :
Svyat, Élise, Shashank, Sandra et nos illustres prédécesseurs et notamment Hamza que je n’ai
jamais rencontré mais dont le poster et l’héritage spirituel m’ont grandement influencés. Parmi
les piliers de ce bureau, Laurent mérite des remerciements tous particuliers pour ses nombreux
conseils, ses scripts et sa grande culture. Merci également à Paul et Simon avec qui j’ai partagé
le bureau B225 pendant ma rédaction, ainsi qu’à Ludovic, Joseph, Itsaka, Ivan, Alicia et tou-
te-s les Camarades du pique-nique des doctorant-e-s pour les nombreuses conversations aussi
philosophiques qu’animées. Merci encore aux stagiaires que j’ai croisé-e-s, notamment Aude qui
commence sa thèse tandis que je termine la mienne.
Merci également à tous les collègues avec qui j’ai eu d’agréables discussions, qu’elles soient
mathématiques ou non. Il me serait difficile de tous vous citer, mais je tiens à remercier Maike
Massierer, Jan Tuitman, Cyril Hugounenq, Alexandre Gélin, David Kohel, Ben Smith, Benjamin
Wesolowski, Marius Vuille, Chloe Martindale, Daniel Lazard, Grégoire Lecerf, Reynald Lercier,
Enea Milio, mon "grand-père" Mohab et bien d’autres. Un grand merci à Éric Schost pour
son invitation à Waterloo en avril 2017 et ses efforts pour financer mon postdoc à venir. J’ai
beaucoup appris lors de ma première visite et je suis impatient de retourner à Waterloo.
Au cours de ces trois ans, j’ai aussi eu l’opportunité d’enseigner aux Mines de Nancy, ce qui
fut une expérience agréable et très enrichissante. Je remercie Antoine Henrot, pour m’avoir fait
confiance, Bernardetta Addis grâce à qui j’ai découvert et apprécié la recherche opérationnelle,
Yannick Toussaint avec qui j’ai été très content de partager bon nombre d’heures de TD, Frédéric
Sur aussi bien pour son aide précieuse concernant les subtilités administratives que pour son
expérience pédagogique ainsi que Guillaume Bonfante, Pierre-Etienne Moreau et Cédric Zanni
pour les TP de python et leur organisation bien rodée. Merci enfin à tous mes élèves pour avoir
servi de cobayes à mes expériences pédagogiques, j’espère qu’elles vous ont été profitables autant
qu’à moi et que vous en garderez un bon souvenir.
Mais l’enseignement et la recherche ne sont pas uniquement le fait des enseignant-chercheurs
eux-mêmes, aussi je voudrais remercier toutes les personnes qui m’ont grandement aidé en
gérant les aspects pratiques et administratifs associés à ma recherche. À ce titre, je remercie
Sophie, Emmanuelle, Christine, Laurence, Virginie et Françoise ainsi que tous les services de
l’école doctorale, de l’Université de Lorraine, des Mines de Nancy et du LORIA qui m’ont aidé
dans mes démarches ou qui ont contribué, parfois sans que j’en aie conscience, aux excellentes
conditions de travail dont j’ai bénéficié pendant ma thèse. Un grand merci en particulier aux
équipes du restaurant du centre (que tout le monde nous envie) et notamment à Isabelle, Tarek
et Caroline pour leur énergie et leur gentillesse.
Bien avant ma thèse, j’ai croisé la route de personnes qui m’ont encouragé à poursuivre
dans les sciences mathématiques, ou qui m’ont permis de clarifier mes projets d’études ou de
recherches. Parmi eux, je remercie Olivier Leguay et Daniel Souquet grâce à qui j’ai réalisé à
quel point les Mathématiques étaient un domaine vivant et rempli de liberté et d’opportunités.
Je remercie mes enseignants de licence et de master pour leurs conseils et plus particulièrement
Jean-Michel Morel, Bernard Landreau et Michael Harris avec qui j’ai effectué des stages qui ont
été très formateurs et qui m’ont aidé dans mon orientation. Un grand merci enfin à Célestin
Rakotoniaina qui a été mon professeur à une période charnière de mes études et qui est devenu
un ami.
Les mots me manquent pour exprimer des remerciements à la hauteur de la gratitude que j’ai
pour ma famille. Je pense notamment à mes parents qui m’ont fait grandir par leur dévouement,
leur affection inconditionnelle et l’éducation qu’ils m’ont donnée. Votre implication dans mon
parcours scolaire puis académique, votre soutien logistique à toute épreuve et la liberté que vous
m’avez laissée dans mes choix personnels ont été déterminants au point que cette thèse est aussi
v
la vôtre.
Je dois aussi énormément à mes frères qui ont grandement contribué à l’environnement
stimulant dans lequel j’ai grandi. Merci Guillaume d’avoir été mon premier prof de maths, pour
les heures passées en jeux de stratégie qui m’ont appris la persévérance, et pour tout ce que
tu m’as transmis du haut de tes dix ans de plus. Merci Sylvain pour nos nombreux échanges
numériques de qualitay qui ont égayé mes études supérieures, pour ton hospitalité lors de mes
passages en région parisienne et pour ta relecture attentive de ces remerciements et de mon
résumé en français (on a frôlé la catastrophe !).
Je n’oublie pas non plus mes grands-parents pour tout ce qu’ils m’ont apporté. Aucun d’eux
n’aura pu voir l’aboutissement de ce travail, mais leur souvenir ne m’a jamais quitté. Cette
thèse leur est dédiée.
I am deeply grateful to my American family for the time we had the opportunity to spend
together in Atlanta and Milwaukee during my thesis. Being with you gave me the peace of mind
and the energy I needed to keep moving.
Z celého srdce děkuji paní doktorce Carole Wastiaux, která sledovala s porozuměním a
osobním pochopením mou práci v posledních pěti letech. Tato dizertační práce a její autor
jí vděčí za mnohé (merci à Lenka Froulíková pour la traduction).
Enfin, comme on dit dans My Little Pony, les amis c’est magique et c’est donc tout na-
turellement que je souhaite remercier les miens. Je pense en particulier à Ève pour notre trafic
d’animaux mignons en tous genres ; aux camarades cachanais-e-s et notamment Lilian, Pierre,
Alexandre et Édouard ; à tous mes rowers et pourvoyeurs de bons mots, d’informations inso-
lites, décalées et trollesques parmi lesquels se distinguent Rémi et mon directeur de la publication
Henri Vullierme. Merci à tous mes amis de prépa et d’avant avec qui j’ai gardé contact de façon
plus ou moins dématérialisée, notamment Déborah, Kévin et Laurène, Matthias, Thomas et
bien d’autres qui, je l’espère, ne m’en voudront pas de ne pas être nommés ici.
vi
Contents
Introduction
vii
viii Contents
Part II Contributions 51
Conclusion 113
Bibliography 117
Résumé en Français
x Contents
Introduction
xi
xii Introduction
logarithms is hard in general. They now represent a widespread standard which benefits from
much smaller keysizes compared to RSA. The reason is that contrary to factoring integers
or computing discrete logarithms in the multiplicative group of a finite field, there is still no
subexponential algorithm for computing discrete logarithms on an elliptic curve. Yet, a result by
Pohlig and Hellman shows in [116] that even an exponential algorithm turns out to be efficient
if the elliptic curve has a smooth number of rational points. Therefore, elliptic curves must be
carefully chosen for cryptographic applications, and in particular the number of their rational
points has to be known.
As the theory around curves developed, other objects were designed or related to curves.
Examples are the various zeta and L functions associated to curves, which are now central tools
in modern number theory. Indeed, there are various examples of number-theoretical results that
were achieved by proving analytical results for these complex functions, such as the Sato -Tate
conjecture. This conjecture gives a result on the behavior of the statistical distribution of the
number of rational points of the reduction modulo p of an elliptic curve over Q when p varies,
and was proven circa 2005 [67, 32, 139]. For more general curves, work is in progress to formulate
generalizations of the Sato -Tate conjecture such as [49]. To this end, heavy experiments are
made and point-counting represents a major part of the computations [71].
All these applications entail different contexts, from the nature of the curves involved to their
fields of definition. In this thesis, we focus on hyperelliptic curves given by an odd-degree model
y 2 = f (x), with f a monic squarefree polynomial of odd degree. The degree deg f = 2g + 1
determines the genus g of the associated hyperelliptic curve which will be an important parameter
throughout the whole manuscript. The two additional parameters p and n determine the base
field Fpn of the curve, and we set q = pn when only the size of the field matters. In the whole
manuscript, we use the usual O notation, the O e notation for the O notation in which we omit
(poly)logarithmic terms, and Og when we further omit all the terms depending only on g. Using
fast arithmetic (see for instance [24]), we assume that field operations in Fq have a cost in
O(log
e q).
Schoof’s algorithm
We have seen several reasons why knowing the number of rational points on an elliptic curve can
be crucial. One approach is to find methods to build curves with a prescribed number of points,
such as the CM-method of [6] used for cryptographic applications in [86]. Another way is to
consider “random” curves and count their points until we are satisfied with the outcome. While
there are low-brow methods for so doing, such as testing all the pairs (x, y) ∈ Fq and check if they
satisfy the curve’s equation, their complexities considerably limit their use. A groundbreaking
progress was made by Schoof in 1985, who proposed in [127] an algorithm for counting points
on elliptic curves in time polynomial in log q. Although at that time his algorithm was not
considered efficient enough for practical use, he set the path for numerous improvements and
extensions that are now known as `-adic algorithms. A few years later, Elkies and Atkin designed
improvements [128] to Schoof’s algorithm that contributed to its practicality and remarkable
efficiency. Under the name SEA (Schoof-Elkies-Atkin), the variant of Schoof’s algorithm is still
used for generating cryptographic curves and successfully addresses the problem of counting
points on elliptic curves.
The idea of Schoof’s algorithm is to compute the number of rational points modulo prime
numbers ` until the actual value can be recovered by the Chinese remainder theorem (CRT).
√
Indeed, the Weil bounds imply that it lies in an interval of size d4 qe so that the number and
maximal size of primes ` to consider is in O(log q). To obtain the modular information, Schoof
xiii
considers the action of the Frobenius endomorphism π : (x, y) 7→ (xq , y q ) on the `-torsion, i.e.
the sets of points P such that `P is the point at infinity, which is the zero element for the addition
on the curve. For ` 6= p a prime number, the `-torsion is actually a vector space isomorphic to
(Z /` Z)2 . The action of the Frobenius endomorphism can therefore be represented by a 2 × 2
matrix, and its trace determines the number of rational points modulo `. The bottleneck of
this algorithm is the computation of π in the `-torsion, which costs O(` e 2 log q) field operations.
Taking into account the cost of such operations, the size of the largest ` and the number of
5
`, the overall complexity of Schoof’s algorithm is in O(log
e q). The SEA improvement consists
of replacing the `-torsion by a subgroup isomorphic to Z /` Z in which each operation costs
4
O(`
e log q) field operations, so that the SEA algorithm runs in time O(log e q).
Jacobians of curves
For some applications such as cryptography, the natural extension of elliptic curves are not
curves of larger genera because their rational points no longer form a group. A more suitable
tool for this purpose is to consider the Jacobian of the curve, which is a group —actually an
Abelian variety— built from formal sums of points on the curve. The same goes for the `-torsion
of an elliptic curve which has to be replaced by that of the Jacobian of the curve. In fact, we
will see that determining the `-torsion is a prominent step in order to extend Schoof’s algorithm,
and this relies extensively on arithmetic in Jacobians.
Although algorithms for group operations in non-hyperelliptic Jacobians have been designed
in [73, 83], this thesis focuses on the hyperelliptic case because it greatly simplifies the arithmetic
of the associated Jacobians, and in particular the description of the `-torsion. Elements of
genus-g hyperelliptic Jacobians can be represented by their Mumford form, which is a pair of
polynomials of respective degrees at most g and g −1. Arithmetic on elements given in Mumford
form is performed using Cantor’s algorithm [27], for a space and time complexity quasi-linear in
g log q. Through binary exponentiation, Cantor’s addition algorithm provides an efficient way
to perform scalar multiplications in the Jacobian.
on different spaces. Among the vast literature on the subject, one can point another p-adic
approach for hyperelliptic curves based on Monsky-Washnitzer cohomology by Kedlaya [80] and
its counterpart in characteristic 2 by Denef and Vercauteren [41], and further extensions to more
and more general curves [30, 29, 142]. In characteristic 2, a variant of Satoh’s algorithm was
independently designed by Mestre [102], who proposed an expression of the Frobenius in terms of
an arithmetic-geometric sequence which is still the fastest option for counting points on elliptic
curves over F2n . Also in [102], Mestre suggested an extension of his method to genus 2. This
was further extending in two directions: either over field of (small) odd characteristic [94] or for
curves of larger genus [121, 95].
An interesting fact is that these methods yield practical algorithms and that their complexity
is polynomial in g and n but exponential in log p, so that both the p-adic and `-adic provide
complementary approaches when either one of p or g is small. There is still no classical point-
counting algorithm that runs in time polynomial both in g and n log p1 , but Harvey designed
in [70] an algorithm that, given a curve over Q as input, computes the zeta functions of its
reduction modulo p for all primes p of good reduction lower than a bound N . This algorithm
runs in time quasi-linear in N , meaning that the average time spent counting points on each
reduction modulo p is polynomial in log p for each p. This is particularly relevant when running
experiments for analogues of the Sato -Tate conjecture.
In this thesis we focus on the following problem, which we sometimes also call counting
points although we retrieve more information than the number of rational points on the curve
(or its Jacobian).
Torsion subgroups
A key ingredient to the `-adic methods is the determination of the action of the Frobenius on
the `-torsion subgroups. In Schoof’s algorithm, the `-torsion of the input elliptic curve is the
set of points whose abscissae are the roots of the so-called `-division polynomial ψ` of degree
(`2 − 1)/2. Therefore, the action of the Frobenius endomorphism π : (x, y) 7→ (xq , y q ) on the
torsion can be computed by repeatedly squaring and reducing by the equations defining the
`-torsion: y 2 = f (x) and ψ` (x) = 0. In a more general context, Pila calls this step computing a
low-degree representation of the Frobenius.
For elliptic curves, the division polynomials give a straightforward representation of the `-
torsion. For curves of larger genera, a priori, we do not have access to a representation that
would allow us to compute a low-degree representation of the Frobenius by performing binary
exponentiation in a quotient ring. This entails an additional step in which we compute a
1
Allowing quantum primitives, such an algorithm was designed by Kedlaya in [81].
xv
“nice representation” (e.g. a Gröbner basis) for the torsion ideal before using it to reduce the
Frobenius.
In this thesis, we follow the approach of Gaudry-Harley-Schost [57, 60, 62] and first start by
writing the equation `D = 0. To this end, we need a description of the multiplication by ` as a
rational map. For P a point of an hyperelliptic curve, there are 2g + 2 polynomials describing
the Mumford form of the divisor `(P − P∞ ) in the Jacobian. These polynomials introduced
in [28] are called Cantor’s `-division polynomials and they extend the `-division polynomial.
Writing D, an element of the Jacobian, as a sum of points, we deduce a first way of describing
the `-torsion as the solution set of the system `D = 0.
Once this first system is computed, we solve it in order to have a representation of the
`-torsion in which we can compute the action of the Frobenius endomorphism. This accounts
for most of the cost of our algorithms, both in theory and practice. We thus take particular
care of the way we model the `-torsion by polynomial systems and the techniques we use to
solve them, as they have a significant impact on the final complexities and running time of our
point-counting algorithms.
Contributions
This thesis focuses on `-adic methods derived from Schoof-Pila’s algorithm. A central question
of the whole manuscript is the complexity of such methods and in particular the dependency
on g of the exponent of log q. The first contribution of this manuscript, to appear as [1], is a
point-counting algorithm for hyperelliptic curves, whose complexity is such that this exponent
asymptotically grows linearly in g when the characteristic p is large enough. This improves
on previous results by Adleman and Huang [3] who proved that this exponent was in general
polynomial in g and even quadratic in the case of hyperelliptic curves. The state of the art
concerning this exponent is detailed in Table 1. To achieve this complexity result, our algorithm
itself is no different from that of Pila but our complexity analysis benefits from a novel modelling
of the `-torsion by a structured polynomial system, as explained above. This structure is the key
of the improvement, and performing our analysis without
exploiting it yields a result similar to
2
that of Adleman and Huang in O (log q)O(g log g) . This involves some technicalities, however,
as we must first ensure that our system satisfies some genericity hypothesis to invoke complexity
bounds for the computation of a geometric resolution; also, our modelling involves in fact many
polynomial systems to handle “special” torsion elements.
Table 1: Asymptotic complexity bounds for computing the local zeta function of a g-dimensional
Abelian variety defined over Fq
Another aspect we study is the practicality of Schoof-Pila’s algorithm in small genus, which
goes along with the value of the exponent of log q for a fixed genus. Although Pila’s algorithm
seems unfit for straightforward implementation, what he calls a small representation of the
Frobenius, i.e. the Frobenius modulo the `-torsion ideal can be computed in practice using
standard tools from computer algebra. This was studied and implemented in genus 2 by Gaudry,
Harley and Schost in [57, 60, 62]. Due to the size of the objects to manipulate, the complexity is
much larger than in genus 1 but the algorithm is practical enough so as to provide a cryptographic
curve defined over a 128-bit prime field. In this thesis, we informally analyze the feasibility of
designing such a secure genus-2 curve over a field of 192-bit characteristic, which seems quite
unlikely at the moment. Curves equipped with an explicit and efficient real multiplication (RM)
benefit from additional structure that is used in [59] to decrease the exponent of log q from 8 to
5, reaching a complexity similar to that of Schoof’s algorithm.
One step further, the other main contribution within this manuscript deals with hyperelliptic
curves of genus 3 [2]. Practical experiments in that case seem almost hopeless for primes ` > 3.
xvii
However, for genus-3 hyperelliptic curves with explicit RM, the work of [59] extends modulo
6
several additional subtleties with a complexity in O(loge q), even lower than that of the general
genus-2 case. As expected from such a result, the algorithm is quite practical, although efficiency
requires some modifications compared to the version used to establish the complexity bound.
In particular, we count points on a genus-3 hyperelliptic curve with RM defined over the prime
field F264 −59 , which has a 192-bit Jacobian. Our algorithm can readily be turned into a point-
counting algorithm for general genus-3 hyperelliptic curves (i.e. without explicit RM) with a
14
much larger complexity in O(loge q), thus giving a partial answer for the complexity of the
Schoof-Pila algorithm in genus 3. As in the genus-2 case, the bottleneck of our algorithm is
the resolution of the polynomial system describing the `-torsion. This system is trivariate but
successive elimination using resultants is still sufficient to achieve our reference complexity which
is the square of the degree of the ideal. In practice however, we computed a Gröbner basis using
the F4 [45] and FGLM [47] algorithms because they were far more efficient, although their
theoretical complexity is much harder to control in our case.
Since the literature presents numerous examples of RM-curves of any genus [87, 23, 43,
101, 138], it is quite natural to wonder what changes this additional structure brings to the
asymptotic complexity when g is no longer fixed to 2 or 3. We therefore extended some results
and methods of the genus-3 case to design a point-counting algorithm for hyperelliptic curves
with explicit RM of arbitrary high genus. The main primitive we use is the computation of a
geometric resolution for the kernel of an endomorphism of degree `2 . This is done by adapting
the machinery of Chapter 5 which was applied to the kernel of the multiplication by `, itself
being an endomorphism of degree `2g . The difference of degrees impacts our modelling by
reducing the degrees of the equations from Og (`3 ) to Og (`3/g ). Therefore, after checking that the
hypotheses still hold and applying the geometric resolution algorithm, we achieve a complexity
in Og ((log q)c ), with c an absolute constant and Og hiding a term that depends both on g and the
ring by which the curve has RM. However, we emphasize that our algorithm is not polynomial
both in g and log q because the factor hidden by the Og -notation remains exponential in g. We
nonetheless analyze the cause of that exponential dependency in the hope that further results
might provide tighter complexity estimates for the exponential steps, or find a way to replace
or remove them.
Table 2: Asymptotic complexities for computing the local zeta function of hyperelliptic curves
of genus ≤ 3
Chapter III
Genus-2 curves
Chapters V and VI
Genus-g and genus-3 with RM
Chapter VII
Genus-g curves with RM
curves with an explicit RM. Lastly, Chapter 7 combines the approaches of both Chapters 6
and 5 to improve the bounds of Chapter 5 in the case of hyperelliptic curves with explicit real
multiplication (RM). To this end, we extend the algorithm and results of Chapter 6 in any genus
and then prove that the systems involved in the extended algorithm satisfy genericity hypotheses
similar to those of 5, so that the complexity bounds for computing a geometric resolution of
these systems still apply. The complexity gain over the general case is then a pure consequence
of the smaller degrees of the systems involved. Figure 1 sums up the dependencies between all
the chapters.
xx Introduction
Part I
1
Chapter 1
In this chapter, we introduce objects and concepts of algebraic geometry that are ubiquitous
in this thesis such as curves, Jacobians and point-counting. We also recall fundamental results
used by point-counting algorithms such as the Weil conjectures. Section 1.2 reviews the main
families of point-counting algorithms and their principles, and Section 1.3 presents applications
of point-counting.
In the whole manuscript, p stands for a prime number and q = pn is a power of that prime.
We denote by Fp the finite field of cardinality p and by Fq its extension of degree n, up to
isomorphism. In this first chapter, we consider objects (curves and varieties) defined over a
perfect field K which will often, but not always, be a finite field in the other chapters. We
denote by K̄ the algebraic closure of K.
Definition 1.2. We define An (K̄) = {(x1 , . . . , xn ) | xi ∈ K̄} the set of affine points.
and
An (L) = {(x1 , . . . , xn ) | xi ∈ L}.
Both the affine and projective spaces can be endowed with the Zariski topology, for which
we refer to [68, Chap. 1, Sec. 1 and 2]. A subset of Pn (K̄) (resp. An (K̄)) is closed for the
Zariski topology if and only if it is the set of simultaneous zeroes of homogeneous polynomials
in K̄[X0 , . . . , Xn ] (resp. of polynomials in K̄[x1 , . . . , xn ]).
3
4 Chapter 1. Point-counting and applications
For S a set of polynomials in K̄[X0 , . . . , Xn ] (resp. K̄[x1 , . . . , xn ]), we denote Z(S) the
associated closed set in Pn (K̄) (resp. An (K̄)).
Let V be a Zariski closed subset of either Pn (K̄) or An (K̄), and IK be the associated ideal
of (homogeneous) polynomials of either K[X0 , . . . , Xn ] or K[x1 , . . . , xn ] vanishing on V . We say
that V is defined over K if and only if Z(IK ) = V .
If IK is a prime ideal, we say that V is irreducible over K. Note that irreducibility depends
on the√field K as, for instance, the ideal I = hx21 − 2x22 i is a prime ideal in Q[x1 , x2 ] but it splits
in Q( 2)[x1 , x2 ]. When IK̄ is a prime ideal, we say that V is absolutely irreducible.
Definition 1.3. A projective (resp. affine) variety over K is an irreducible projective closed set
over K.
Definition 1.4. The dimension dim(V ) of a variety V is the largest integer k such that there
exist a chain S0 ) S1 ) · · · ) Sk of subsets of V that are closed and absolutely irreducible. A
variety of dimension 1 is called a curve.
Definition 1.5. Let V ⊂ An (K̄) be an affine variety over K. It corresponds to a prime ideal
I(V ) = {f ∈ K[x1 , . . . , xn ] | ∀P ∈ V, f (P ) = 0}. Denote K[V ] = K[x1 , . . . xn ]/I, since it is an
integral domain we can define its quotient field K(V ). The ring K[V ] and the field K(V ) are
respectively called the coordinate ring and function field of V .
For V a projective variety, defining I(V ) as the set of homogeneous polynomials vanishing
on V , we similarly define the notion of coordinate ring K[V ] and we define K(V ) as the set of
quotients of homogeneous polynomials of identical degrees.
Definition 1.6. [34, Def. 4.33 & 4.34] A morphism ϕ from An (K̄) to A1 (K̄) is given by a
polynomial f ∈ K[x1 , · · · , xn ] and defined by ϕ : P = (a1 , . . . , an ) 7→ f (a1 , . . . , an ) = f (P ).
Likewise, a morphism between An (K̄) and Am (K̄) is given by a m-tuple of polynomials in
K[x1 , · · · , xn ].
Definition 1.7. [34, Def. 4.35] A K-rational morphism between two affine varieties V ⊂
An (K̄) and W ⊂ Am (K̄) is defined as a morphism ϕ : An (K̄) → Am (K̄) between their associated
affine spaces such that ϕ(V ) ⊂ W .
Definition 1.8 (Rational map). [34, Def. 4.40] Let U be a nonempty open set of an affine
variety V , a rational map from V to A1 (K̄) with definition set U is a map rU : U → A1 (K̄)
given by rU (P ) = ψ(P )ϕ(P )−1 for some ψ, ϕ ∈ K̄[V ] such that ϕ does not vanish on U .
We say that two rational maps are equivalent if they coincide on the intersection of their
respective definition sets. This defines an equivalence relation whose classes are called rational
functions.
Proposition 1.9. [34, Prop. 4.42] Let V be an affine variety, the set of rational functions on
V is a field which is isomorphic to its function field K(V ).
Definition 1.10 (Regularity at a point). [34, Def. 4.48] A rational function f ∈ K(V ) is regular
at a point P ∈ V if it has a rational map with set of definition containing P as a representative.
As in Definition 1.6, considering tuples of rational maps and functions, these notions extend
to rational maps and functions between varieties.
Replacing polynomials by homogeneous polynomials, and affine spaces by projective spaces,
rational maps, rational functions and regularity are similarly defined for projective varieties.
1.1. Background and definitions 5
Definition 1.11. [34, Def. 4.53] An algebraic group G over K is an absolutely irreducible variety
defined over K, along with
such that ⊕ is associative, 0 is the neutral element for ⊕ and for any e ∈ G, ⊕(e, ι(e)) = 0.
For L an extension of K, denote G(L) the set of L-rational points, it is a group in which the
group law is computed by evaluating the previous morphisms that are defined on K and do not
depend on L.
Surprisingly, when G is a projective variety one can prove that the group law induced by ⊕
has to be commutative, leading to the following definition:
Definition 1.12. An Abelian variety over a field K is a projective algebraic group over K.
Definition 1.13. Let P be a point on a curve C. The set of rational functions that are regular
at P is a subring of K(C) denoted OP .
From now on, the word curve will refer to a smooth projective curve unless mentioned
otherwise.
Definition 1.15. Let C be a smooth projective and absolutely irreducible curve over K. The
free Abelian group with basis C(K̄) is called the divisor group of C, written DivC . An element D
of DivC has the form X
D= nP P,
P ∈C(K̄)
where the nP are integers such that only a finite number of them are non-zero. We define
Supp(D) the support of D as the set of points P such that nP 6= 0 and the degree of D as
P
deg D = P ∈C(K̄) nP .
Definition 1.16. The set of degree-zero divisors forms a subgroup of DivC that we denote Div0C .
P
Definition 1.17. A divisor D = P ∈C(K̄) nP P is said to be effective if for all P we have
nP ≥ 0, and for D and E two divisors, we write D ≥ E if D − E is effective.
6 Chapter 1. Point-counting and applications
Definition 1.18. Let L be an intermediate field between K and K̄, the action of Gal(K̄/L) on
C(K̄) induces an action on DivC (resp. Div0C ). We define DivC (L) (resp. Div0C (L)) the subgroup
of L-rational divisors (resp. degree-zero divisors) as the subgroup of DivC (resp. Div0C ) fixed
under that action.
Definition 1.19. Let L be an intermediate field between K and K̄, let ϕ be a non-zero rational
function in L(C) and set vP (ϕ) equal to either the multiplicity of P as a zero of ϕ, minus its
multiplicity as a pole of ϕ or zero if P is neither a pole nor a zero of ϕ. We define the associated
P
divisor as (ϕ) = P ∈C(K̄) vP (ϕ)P . A divisor of this form is said to be principal, and we denote
PrC (L) the group of principal divisors.
Remark that a principal divisor has to be in Div0C ([34, Prop. 4.104]), which allows the
following definition:
Definition 1.20. Let L be an intermediate field between K and K̄, we define the degree-zero
Picard group of C as the quotient Pic0C (L) = Div0C (L)/ PrC (L).
Theorem 1.22 (Riemann’s inequality). Let C be as in Definition 1.15. Then there exists an
integer g ≥ 0 such that for any D ∈ DivC ,
`(D) ≥ deg D − g + 1.
Theorem 1.23. [106, Th. 1.1 & Prop. 2.1] Let C be a smooth projective and absolutely irre-
ducible curve of genus g > 0 over K and L/K an extension. Then, there exists an Abelian variety
J of dimension g over K such that J(K) = Pic0C (K̄)Gal(K̄/K) and such that J(L) = Pic0C (L) as
soon as C(L) 6= ∅. This Abelian variety J is called the Jacobian (variety) of the curve C, and it
is denoted either Jac C or JC .
Definition 1.25. A nonsingular projective curve C of genus g > 1 over K is called a hyperelliptic
curve if there exists a function x ∈ K̄(C) such that the function field K(C) is a separable quadratic
extension of the rational function field K(x).
1.1. Background and definitions 7
By [34, Theorem 4.122], if we characterize hyperelliptic curves by their affine plane parts,
we can rewrite the previous definition in a more concrete way:
Definition 1.26. Let K be a field of characteristic 6= 2, any plane affine curve given by an
equation of the form
C : y 2 = f (x),
with f in K[x] such that f is monic of degree 2g + 1 and squarefree is birationally equivalent to a
hyperelliptic curve of genus g over K. Such hyperelliptic curves are called imaginary hyperelliptic
curves.
In the remainder of this thesis, we will sometimes refer to “the hyperelliptic curve C of
equation y 2 = f (x)”. To be accurate, this refers to the nonsingular projective curve birationally
equivalent to C which is indeed a hyperelliptic curve in the sense of Definition 1.25.
Note that when setting g = 1 in the equations of imaginary hyperelliptic curves, we fall back
to the case of elliptic curves, which are famous for their use as cryptographic groups (i.e. groups
in which the discrete logarithm problem is hard). Curves of genus 2 are no longer groups but
their Jacobians also offer good candidates for cryptosystems, in a sense that we detail later on.
The first requirement for constructing a cryptographic group is to provide an efficient way to
represent and manipulate its elements: this is achieved thanks to the Mumford form for divisors
and Cantor’s algorithm to add and reduce them. Before giving details on this, we first review
the specificities of hyperelliptic Jacobians.
Like elliptic curves, imaginary hyperelliptic curves have a unique K-rational point P∞ at
infinity and an involution sending an affine point (x, y) to its opposite (x, −y). In what follows,
we see that these additional properties give a simpler description of divisors on C.
Definition 1.27. Let C be a hyperelliptic curve and D = P ∈C(K̄) nP P be a divisor in Div0C . We
P
Mumford is hu, vi with u of degree r whose roots are the xi ’s counted with multiplicities and v
satisfying v(xi ) = yi . The integer r ≤ g is called the weight of the divisor.
From the group isomorphism of Theorem 1.23 between Pic0C (L) and JC (L) for any K ⊂ L ⊂
K̄, the Mumford form also gives a way of representing the points of the Jacobian of C.
Algorithm 1, originally described by Cantor [27] in odd characteristic and later extended by
Koblitz [85] to arbitrary fields, performs additions of reduced divisors given in Mumford form.
8 Chapter 1. Point-counting and applications
where the ψi ’s are called division polynomials and they are defined inductively by ψ0 = 0, ψ1 = 1
and
3 2
ψ2m+1 = ψm+2 ψm − ψm−1 − ψm−2 ψm+1 for m ≥ 2,
ψm
2 2
ψ2m = ψm+2 ψm−1 − ψm−2 ψm+1 for m ≥ 3.
2y
These polynomials have been generalized in [28] as follows: given ` > g and the weight-one
divisor D = P − ∞ with P ∈ C of coordinates (x, y) the generic point, there exist 2g + 2
polynomials (di )0≤i≤g and (ei )0≤i≤g such that the Mumford form of `D is
* g−1 g−1 +
X di (x) i X ei (x) i
Xg + X ,y X .
i=0
dg (x) e (x)
i=0 g
As in the elliptic case, there exist recurrence formulas for those division polynomials, which
we use later to bound their degrees. To compute them, however, it is much simpler to directly
multiply the generic affine point (x, y) by ` in the function field of the curve. In Chapter 4, we
present two bounds for the degrees of Cantor’s division polynomials, one for hyperelliptic curves
of arbitrary genera and another sharper bound specific to genus-3 hyperelliptic curves.
1.1. Background and definitions 9
Definition 1.30. Let A and B be two Abelian varieties over K, and let ϕ ∈ HomK (A, B) be a
morphism of Abelian varieties, i.e. a morphism of varieties that is also a group homomorphism.
We say that ϕ is an isogeny if the induced morphism A(K̄) → B(K̄) is surjective and has a
finite kernel. If there exists such an isogeny, we say that A and B are isogenous.
Definition 1.31. The degree of such an isogeny is defined as its degree as a rational map.
Definition 1.32. Given an isogeny ϕ of degree n between A and B, there exists a unique isogeny
ϕ∨ of degree n between B and A such that ϕϕ∨ = [n]. We call it the contragredient isogeny of
ϕ.
Definition 1.33. The set HomK (A, A) of endomorphisms of A, denoted EndK (A), is a ring
with composition as a multiplicative structure, called the endomorphism ring of A.
Example 1.34. Let A be an Abelian variety over Fq . Let π be the Frobenius map x 7→ xq of
Fq , it extends to a map of projective spaces which stabilizes A, since A is defined over Fq . The
group law and zero-element of A are also defined over Fq so π is also an endomorphism for the
group structure of A. Thus, π ∈ EndFq (A) can be seen as an endomorphism called the Frobenius
endomorphism.
Proposition 1.35. [34, Th. 4.73] Let A be an Abelian variety of dimension g defined over K
of positive characteristic, and let n be an integer coprime to the characteristic of K. Then A[n]
is a Z /n Z-module isomorphic to (Z /n Z)2g .
Note that it is important to highlight the fact that we consider the torsion elements in the
algebraic closure, for they have no reason to be rational, and in general they live in (large)
extensions of the base field.
In what follows, let ` be a prime number different from the characteristic. For any positive
k, [`]A[`k+1 ] = A[`k ]. Thus, the groups A[`k ] form a projective system, which brings us to the
following definition.
Definition 1.36. Let ` be a prime different from char(K), the `-adic Tate module of A is defined
as T` (A) = lim A[`k ].
←−
We have seen that for n coprime to char(K), A[n] has a structure of free Z /n Z-module of
dimension 2g, from which we deduce that T` (A) is a free Z` -module, also of dimension 2g. Thus,
Aut(T` (A)) and Aut(A[n]) can be respectively identified with GL2g (Z` ) and GL2g (Z /n Z).
By acting on each A[`k ], the Frobenius endomorphism acts on the Z` -module T` (A), and we
can extend its action to the 2g-dimensional Q` -vector space T` (A) ⊗Z` Q` . This action can be
represented by a square matrix of size 2g whose characteristic polynomial we denote χ` .
10 Chapter 1. Point-counting and applications
Theorem 1.37. [34, Lem. 5.71] The polynomials χ` have integer coefficients which are inde-
pendent from `. Their common value χ is called the characteristic polynomial of the Frobenius
endomorphism.
Note that this section relies on some powerful theoretic results that we do not want to linger
on. In what follows we will mostly consider actions of the Frobenius on subspaces such as the
`-torsion, on which there are more elementary definitions. We invite the interested reader to
look for more detailed information on this subject in [111, Sec. 19].
Proposition 1.39. [137] Denote End0K (A) = EndK ⊗Z Q. If A is simple, then End0K (A) is a
skew field.
Definition 1.40. Let F be a totally real number field, we say that A has real multiplication
(RM) by F if there exists an embedding F ,→ End0K (A).
Likewise, we say that A has RM by a subring R of a totally real number field if there exists
an embedding R ,→ EndK (A).
1.2 Point-counting
1.2.1 Definitions
Definition 1.41 (Local zeta function). Let C be a nonsingular projective algebraic curve over
a finite field Fq , the (local) zeta function of C is defined as the formal power series in Q[[t]]:
X tk
Z(t) = exp #C(Fqk ) .
k≥1
k
In what follows, most point-counting algorithms actually compute the whole zeta function of
the input curve instead of simply computing #C(Fq ) or #JC (Fq ). The reason is that these algo-
rithms strongly rely on the fact that zeta functions satisfy remarkable properties, as conjectured
by Weil in 1949 and later proved by Dwork, Grothendieck and Deligne.
The Weil conjectures can be summed up by the following three properties:
• the numerator of Z(t) is a polynomial in Z[t] whose roots are algebraic integers of norm
√
1/ q.
1.2. Point-counting 11
For counting points, we use the following consequences of the Weil conjectures.
Proposition 1.42. The zeta function Z(t) of a nonsingular projective algebraic curve C is a
rational fraction of the form
L(t)
Z(t) = ,
(1 − t)(1 − qt)
where L = a0 + · · · + a2g t2g is a degree 2g polynomial whose coefficients ai are integers such that
a0 = 1, a2g = q g and !
g−i 2g i/2
∀i ≤ g, a2g−i = q ai and |ai | ≤ q .
i
We have reduced the problem to computing the polynomial L, but we can get even more
information on this polynomial by relating it further to the curve. In fine, we can translate all
these properties into efficient point-counting algorithms.
Lemma 1.43. The polynomial L is the reciprocal polynomial of the characteristic polynomial χ
of the Frobenius endomorphism, as defined in Definition 1.37.
This lemma is the cornerstone to all the algorithms that we discuss next, each one follows
the same principle indeed: deducing χ from the characteristic polynomial of the action of the
Frobenius on some spaces, of course provided that we can recover the actual χ from the partial
information obtained.
1.2.2 Algorithms
In this section, we review the main families of algorithms for counting points on hyperelliptic
curves, as well as their complexities. Note that the input curve is given by a degree 2g + 1
polynomial in Fq [X], with q = pn . This input has a bit-size in O(ng log p) which is why ng log p =
g log q is the reference when we give complexity estimates. Therefore, an algorithm in O(p) will
be called exponential. See for instance [56] for a survey on the subject, along with record
computations.
Exhaustive search
Since by Proposition 1.42 we are looking for a finite number of bounded integers, an algorithm
that comes to mind would be to simply try all possibilities. To do so, one can try all the finitely
many possibilities for χ until the characteristic equation χ(π) = 0 is satisfied in the Jacobian.
This amounts to a searchspace of size determined by the Weil bounds, at least in O(q g/2 ). The
complexity is therefore both exponential in g and log q.
Such information on χ can be gained using “polynomial-time” algorithms such as the ones we
describe below. For simplicity, we only present these methods in genus 2 and 3, respectively in
Chapters 3 and 6.
p-adic methods
Instead of considering the action of the Frobenius directly on JC , the p-adic approaches are
based on computing (a p-adic approximation of) a lift of the Frobenius and its action on some
differential forms. There are many algorithms following this philosophy, each using a different lift
or different differential forms. For instance, Satoh’s algorithm for elliptic curves [124] computes
the canonical lift of both the curve and the (dual) Frobenius endomorphism, whose action on the
lifted curve determines the trace of the Frobenius. Kedlaya’s algorithm [80] just needs a monic
lift but it acts on a larger space, namely a Monsky-Washnitzer cohomology group. Compared
to Satoh’s, this algorithm also has the advantage of working for hyperelliptic curves of arbitrary
genera, with a complexity in O(pg
e 4 n3 ) bit-operations and O(pg 3 n3 ) space. Note that Kedlaya’s
algorithm does not apply as such in characteristic 2, but this was fixed by Denef and Vercauteren
in [41]. This was extended by Tuitman in [142] for (possibly non-hyperelliptic) curves with a
“good” lift, where good hides various technical hypotheses that are expected to be satisfied in
general.
All these approaches have polynomial complexities in both g and n, and despite an improve-
√
ment by Harvey [69] reducing the dependency in p to p, this is still exponential in log p, which
is why they are used for fields of small characteristic. However, when counting points over many
fields, it is remarkable that an average polynomial-time complexity can be reached [71]. Indeed,
given a curve over Q, this algorithm computes the zeta function of its reduction modulo p on Fp
for all the primes p of good reduction smaller than N in time O(N e log3 N ) and polynomial in g.
Thus, on average, counting points on each curve amounts to a polynomial complexity in log p,
n and g. However, we still do not know any algorithm that has polynomial-time complexity in
all these parameters for counting points on a single curve.
In [127], Schoof describes an algorithm to compute the zeta function of an elliptic curve,
which amounts to computing the trace of the associated Frobenius endomorphism. The idea
is to consider the action of the Frobenius on the `-torsion subgroup to recover χ mod ` for
sufficiently many ` and, using Proposition 1.42, to recover χ by CRT.
Proposition 1.44. Let C be a smooth projective curve over Fq and ` coprime to q, then the
restriction of π to the `-torsion subgroup JC [`] has χ mod ` for characteristic polynomial.
Note that in Algorithm 2, ⊕E denotes the group law of the elliptic curve, which may lead to a
division by zero in the algebra R. To avoid this problem, one can previously factor ψ` to perform
operations in fields. This is a costly solution and we prefer to follow the approach of [40] and let
the representations of elements of R evolve during the computations. In the unlikely event of a
“forbidden” division, we can split ψ` as a product of two factors and pursue the computations
in the algebras obtained by replacing ψ` by each of its factors, with no consequence on the
complexity since each factor has a smaller degree. In this thesis, we sometimes reuse this
method under the name of “D5 strategy”. Another important aspect in practice is that we can
modify the group law to avoid handling the ordinate, and work only in a univariate algebra.
While this does not change the asymptotic complexity, it greatly reduces the running time.
Let us analyze the cost of one iteration of Schoof’s algorithm for a fixed `. First, ψ` can
be obtained from the recurrence formulas on the ψi ’s. These formulas show that computing
ψ` amounts to computing 5 ψk ’s with k ' `/2, which yields an overall complexity in O(`log2 5 )
for computing Cantor’s `-division polynomials. The bottleneck is the computation of F0 which
requires O(log q) operations in R, each of them accounting for a bit-complexity in O(` e 2 log q)
since ψ` has degree (`2 − 1)/2. Likewise, computing F1 is feasible within O(log q) operations in
R, and recovering t` can be done by exhaustive search for ` additions in R.
Thus, for a fixed ` the loop costs O(` e 2 log q(` + log q)) bit operations. Using results of
analytic number theory such as [140, Cor. 10.1], one sees that we have to repeat the loop about
O(log q/ log log q) times and the largest ` to consider has size O(log q). This proves that the
5
complexity of Schoof’s algorithm is in O(log
e q).
Schoof’s algorithm was later improved by restricting to specific primes ` for which we can
test the characteristic equation of the Frobenius in a proper subgroup of E[`]. This amounts to
replacing ψ` by a factor of degree O(`) in the definition of R, reducing the cost of each operation
4
in R by a factor ` and therefore having an overall complexity in O(log e q). We do not discuss
these improvements further and refer to [128] for more information.
Schoof’s algorithm relies on theoretical results such as Weil’s conjecture and Proposition 1.44
which are still valid even in a much more general setting, and it was extended few years later by
Pila [114] who proposed an algorithm to count points on Abelian varieties with time-complexity
in O((log q)∆ ), where ∆ depends on the dimension g of the input Abelian variety A, and its
group law.
Although most of the theoretical background is still valid in this much more general context,
to compute the action of π on A[`] we need to find an explicit description A[`] as a 2g-dimensional
vector space, so that given e ∈ A[`] we can compute π(e). This is the most difficult part and it
constitutes the bottleneck of many if not all the `-adic point-counting algorithms appearing in
this thesis. Pila’s approach to the problem is to view A[`] as a zero-dimensional algebraic set,
after getting a description for the maps [n], with n ≤ `. Applying straightforwardly the Frobenius
map to an element would not give a polynomial-time algorithm, but using the description of
A[`] we can repeatedly square elements and reduce by the defining equations. The complexity
result follows by bounding the number of monomials appearing in these equations, and applying
various primitives such as ideal membership testing and monomial bases computations.
14 Chapter 1. Point-counting and applications
As in Schoof’s algorithm, the complexity is polynomial in log q but the exponent ∆ is actually
exponential in the dimension g of A, so that the overall complexity is doubly exponential in g.
The dependency in g of the exponent of log q has later been improved by [75] and [3].
In [75], Huang and Ierardi reduce the dependency in g of the exponent in the case of plane
curves to a polynomial in g. This is achieved by using another way of representing JC [`]: by
considering its elements as divisor classes and by using effective Riemann-Roch algorithms to
get a semi-algebraic description with size polynomial in ` and exponential in the degree of C.
An important obstacle to overcome is the presence of singular points.
In [3], Adleman and Huang extend the result of [75] to Abelian varieties, with a more precise
2
complexity bound in (log q)O(g log g) for hyperelliptic curves of genus g. This time, the low-degree
representation of the Frobenius is achieved through faster ad hoc algorithms on semi-algebraic
sets.
This problem has lead to cryptographic applications taking advantage of the fact that the
exponentiation P 7→ nP is a one-way function as long as the DLP is hard.
In [131], Shoup defined a concept √ of generic group and proved that in such a group, any
algorithm must perform at least Ω( M ) group operations in order to compute a discrete loga-
rithm. There are many models for black box groups in the literature for which similar results
were proven, such as [112], but we do not intend to review them all.
However, finding such generic groups in real life is not that easy: for instance if G = Z /M Z,
the DLP can be solved in polynomial time by computing an XGCD. In real-life cryptography,
G is either the multiplicative group of a finite field or (the Jacobian of) an elliptic curve. Note
that the DLP in finite fields is much easier than in a generic group, as the complexity to solve
it range from quasipolynomial to subexponential, depending on its characteristic.
Thus, surprisingly enough, Jacobians of curves of fixed genus are the only known examples
of groups in which there is still no classical subexponential algorithm to solve the DLP. Yet,
some subexponential algorithms exist when g grows asymptotically as fast as log q and some
attacks like in [58], though still exponential, reduced the hardness of the DLP in genus strictly
larger than 2, making genus 1 and 2 optimal in terms of keysize. For a more detailed survey on
the subject, we refer to [53].
1.3. Applications of point-counting 15
We emphasize that even if we consider a group G in which the DLP is hard, exponential
algorithms may still be succesful in practice, for instance if #G is small. The following technique
due to Pohlig and Hellman in [116] shows that considering G of large size is not sufficient since
the difficulty of the DLP is entailed to the largest prime factor of #G.
Let us assume that G has order N = ri=1 pei i , where the pi ’s are distinct primes. Let
Q
Pi = Ni P with Ni = N/pei i , then the subgroup Gi generated by Pi has order pei i , so that we can
solve the DLP in G by solving it in each Gi and using the Chinese remainder theorem. Thus,
the DLP in G is as hard as the DLP in the “hardest” Gi .
We can now assume that G has a prime-power order N = pe . Given Q = nP , we want to find
n. Since n < N , we decompose n in basis p as n = e−1 i
P
i=0 ni p . Multiplying this decomposition
e−1
by p , we get
e−1
X
e−1 e−1 e
p n=p n0 + p ni p i .
i=1
Now since Q = nP , we have pe−1 Q = npe−1 Pso that pe−1 Q = n0 pe−1 P . We can now recover
n0 by solving a DLP, but in a group of size p instead of pe . Once done, we do the same for n1
and so on by induction. Finally, the DLP in G is broken down into solving e DLPs in groups of
order p.
To sum up, if we only focus on finding the smallest groups achieving a fixed security level,
then we have to choose (Jacobians of) curves of genus 1 and 2. But then, we must find curves
such that #JC = χ(1) is prime (or actually almost prime for other cryptographic reasons).
Because of Weil’s bounds, we already know that our curves have to be defined over a large
field. Although no practical attack against curves over fields of small characteristic has been
published, standards seem to prefer curves defined over Fp or Fp2 with p a large prime, so that
`-adic methods are more adapted in this context.
For elliptic curves, Schoof’s algorithm and its improvements based on Elkies and Atkin’s
work [128] are efficient enough to allow choosing random curves, counting points on them and
retaining only those with an almost prime order. The same method was used in [62] to create a
secure genus-2 curve, as we will detail in Chapter 3, but it involves much heavier computations.
Theorem 1.46. Let E be an elliptic curve over Q and tp the trace of the p-Frobenius of its
reduction modulo a prime of good reduction p. If E does not have complex multiplication,
√ then
√ 2
the normalized traces tp /2 p are equidistributed with respect to the measure 2dt/π 1 − t .
Note that the distribution of these quantities was also known since Deuring for curves with
complex multiplication. A natural question is to ask for generalization of this statement in
higher genera, both in the general case and in less likely cases analogous to the CM case in
genus 1.
√
It is conjectured that given a curve C, the normalized Weil polynomials Lp (t)/ p of its
reductions modulo primes of good reduction follow a distribution that matches that of the
16 Chapter 1. Point-counting and applications
Primality proving
Given an integer N , we want an algorithm running in time polynomial in N that returns “yes”
if N is prime and “no” if not, with a small probability of giving a wrong answer. We present
two algorithms in which `-adic methods play a central role, but let us first give an introductory
example.
Assume that we can find another integer m < N such that m − 1 is coprime to N and such
that m(N −1)/2 ≡ 1 mod N , then if (N − 1)/2 is prime, N is prime as well and we repeat the
process until the primality of N has been reduced to a number which is known to be prime (for
instance any prime smaller than 100). Since it is quite easy to find a good m quickly by taking
random integers, this would yield a probabilistic polynomial-time algorithm. But it has a fatal
flaw: if (N − 1)/2 is not prime we cannot draw any conclusion on the primality of N .
To deal with this obstacle, Goldwasser and Kilian [65] reduced the primality of N to that of
another integer r which is roughly two times smaller than N but can be different from (N −1)/2.
This is achieved by considering a random elliptic curve E and computing m = #E(Z /N Z)
using Schoof’s algorithm. Then if m happens to be even, one can prove that the primality of
r = m/2 entails that of N . Provided that there are sufficiently many “good” integers m occurring
as cardinalities of random elliptic curves such that r is actually prime, this method achieves
polynomial complexity. √ Unfortunately,
√ this amounts to proving that there are sufficiently many
primes between N − N and N + N , but current knowledge on the distribution of primes is
not even sufficient to even prove that there is a single prime in that interval.
Adleman and Huang found a workaround in [4] by devising two extensions of the previous
algorithm, and combining them together. First, instead of only considering the case m = 2r,
they reduced the primality of N to r such that m = λr with λ a small prime. This yields an
algorithm terminating in polynomial time for integers smaller than x outside of a subset of size
bounded by x15/16 . The other extension is to consider genus 2 curves instead of elliptic curves.
Indeed, while there is still a polynomial-time analogue
√ of Schoof’s algorithm for counting points,
the Hasse-Weil interval has a size larger than N N . This “reduces” the primality of N to that
of a larger integer, which could be a flaw at first sight. But they actually proved that after
repeating this step three times at most, they obtained a candidate prime large enough for the
first variant of the Kilian-Goldwasser algorithm to return the correct answer in polynomial time.
Agrawal, Kayal and Saxena later proposed a deterministic polynomial-time algorithm for
primality proving. Although these algorithms answer a theoretical question, we also remark that
1.3. Applications of point-counting 17
using elliptic curves for probabilistic primality testing is also competitive in practice thanks to
work of Atkin and Morain [7, 109]. Indeed, a recent computation using ECPP gave a primality
certificate for 2116224 − 15905 in November 2017 by Peter Kaiser [76].
Other applications
Schoof’s algorithm and its generalization all rely on having a nice representation of the `-torsion,
in a sense that we have already mentioned, and will make clearer in Chapters 3 to 5. An example
is given in [122, Sec. 7.5] to compute all the `-isogenies from an Abelian variety knowing its `-
torsion subgroups.
Last, some multiplication algorithms like [31] or algebro-geometric codes benefit from curves
with many rational points [66, 107, 79]. We do not further develop these aspects since they use
mostly non-hyperelliptic curves.
18 Chapter 1. Point-counting and applications
Chapter 2
Polynomial systems
The generalizations of Schoof’s algorithm all rely on describing the `-torsion in a way that
allows to test ideal membership and perform group operations. In genus greater than 1, this
step is the bottleneck of these algorithms, and therefore the step to improve in order to get
better complexity estimates. The direction that we investigate in this thesis consists in formally
multiplying a divisor D by ` and then solving the polynomial system obtained after equating
`D = 0. The aim of this section is to define what we mean by polynomial system solving, to
present the methods that we use to do so and to study their complexities. These methods and
complexity results are used in Chapters 3 to 6.
Since all our systems will be designed to model (subsets of) the `-torsion of Abelian varieties,
they will all have dimension zero. Thus, all the definitions and statements of this section are
given in the particular case of zero-dimensional systems.
In this chapter, we review three methods for solving polynomial systems along with com-
plexity results that we reuse later. Section 2.2 recalls algorithms for computing Gröbner bases,
but their complexities are hard to bound, so that they are only used for practical results in
Chapter 6. Section 2.3 deals with resultants that provide a good alternative both in theory and
in practice for bivariate systems, as detailed in Chapter 3. In the trivariate case, they are no
longer competitive against algorithms like F4 but they can still be used to derive complexity
bounds in Chapter 6. Lastly, Section 2.4 is dedicated to the geometric resolution, a method
used in Chapter 5 to take advantage of structural properties of our polynomial systems.
19
20 Chapter 2. Polynomial systems
Definition 2.2 (Triangular form). We say that a zero-dimensional polynomial system is trian-
gular if it has the form
g1 (x1 , x2 , x3 , . . . , xn )
..
.
gi1 (x1 , x2 , x3 , . . . , xn )
gi1 +1 (x2 , x3 , . . . , xn )
..
.
gi2 (x2 , x3 , . . . , xn )
gi2 +1 (x3 , · · · , xn )
..
.
gin (xn )
x1 − h1 (xn )
..
.
xn−1 − hn−1 (xn )
hn (xn ).
When a system can be put in this form, we say that the system is in shape position. It has been
proven in [14] that when the associated ideal is radical this is very likely after a random linear
change of variables, provided that the field of definition is large enough.
h0 (x0 ) = 0
x1 = h1 (x0 )
..
.
xn = hn (x0 )
where h0 is a univariate polynomial whose degree D is the degree of the polynomial system, and
the hi are univariate polynomials of degrees smaller than D. The linear combination x0 is called
a separating variable or a primitive element.
To compute a triangular form of our system, a possible strategy is to eliminate one variable
and then repeat the same procedure on the equations with n − 1 variables. We made this precise
by introducing the following definition
Definition 2.4. [38, Sec. 3 Def. 1] Given I = hf1 , . . . fm i ⊂ K[x1 , . . . , xn ], the k-th elimination
ideal Ik is defined by
Ik = I ∩ K[xk+1 , . . . , xn ].
linear systems of equations. This method can be seen as computing the row-reduced form of a
matrix associated to the system, so it is no surprise that we end up with a system in triangular
form. In Sections 2.2 and 2.3, we review two ways of performing elimination, respectively by
computing a Gröbner basis or resultants.
• ≺ is a well-ordering, i.e. it is a strict total ordering such that every nonempty subset of
Zn≥0 has a smallest element under ≺.
This gives an ordering on the set of monomials via α 7→ xα which is compatible with the
multiplication of monomials. Given an element P = α aα xα of K[x1 , . . . , xn ], it allows to
P
define:
• the multidegree mdeg(P ), the greatest α (for the monomial order) such that aα 6= 0,
• the leading coefficient LC(P ) = amdeg(P ) , the coefficient of the leading monomial of P ,
Theorem 2.9. [38, Chap. 2, Th. 3] Let us fix a monomial order and let F = (f1 , . . . , fs ) be an
ordered tuple of polynomials in K[x1 , . . . , xn ]. Every f ∈ K[x1 , . . . , xn ] can be written
s
X
f= ai fi + g,
i=1
with the ai ’s and g in K[x1 , . . . , xn ] such that g is either 0 or a linear combination of monomials
that are not divisible by any of the LM (fi )’s. Furthermore, if ai fi 6= 0, then we have mdeg(f ) ≥
mdeg(ai fi ).
F
Definition 2.10. In the setting of the previous theorem, we denote g = f and call it a re-
mainder of f modulo F . Furthermore, if LM(g) ≺ LM(f ), we say that f is top-reducible.
These definitions generalize the univariate Euclidean division but in a much weaker sense:
even given a fixed monomial ordering, there is no unicity of the remainder in general. For
some well-chosen sets F , however, the remainder modulo F is unique and it is thus possible to
perform an analogue of Euclid’s algorithm. In the next section, we define Gröbner bases that
are an example of such nice sets.
Definition 2.11 (Gröbner basis). Let I be an ideal of K[x1 , . . . , xn ], ≺ a monomial ordering and
a finite subset G ⊂ I. Then G is a Gröbner basis of I for the order ≺ if hLM (G)i = hLM (I)i.
Theorem 2.12. [38, Chap. 2, §5 Cor. 6] Given a monomial ordering ≺, any nonzero ideal has
a Gröbner basis for ≺.
The previous theorem guarantees the existence of a Gröbner basis but there is no unicity:
given G a Gröbner basis, the set G0 obtained by adding any element in I is another Gröbner basis.
In the following definition, this inconvenience is fixed by adding some minimality condition.
Definition 2.13. A Gröbner basis G of I is said to be reduced if for all h ∈ G we have LC(h) = 1
and no monomial of h is in hLM (G\{h})i.
Proposition 2.14. [38, Chap. 2, §7 Prop. 6] Let I be a non-zero ideal of K[x1 , . . . , xn ] and ≺
a monomial ordering. Then I has a unique reduced Gröbner basis G for ≺.
Note that while the reduced Gröbner basis of I for a monomial order is unique, it may differ
from the reduced Gröbner basis for a different monomial order. As announced previously, one
of their essential features is the unicity of the reduction of a polynomial by a Gröbner basis, as
defined in Definition 2.10.
Proposition 2.15. Let G = {g1 , . . . , gk } be a Gröbner basis of an ideal I and let f ∈ K[x1 , . . . xn ].
Then there exists a unique r ∈ K[x1 , . . . xn ] such that:
Proposition 2.16. A finite set G is a Gröbner basis of an ideal I if one of the following
equivalent properties is satisfied:
2.2. Gröbner bases 23
no absolute answer to this question, but practical experiments allow to compare the efficiency of
different choices. The so-called normal strategy consists of reducing first by pairs of small degrees
and seems to be quite efficient. Another improvement was brought by the F4 algorithm [45],
using linear algebra to perform reductions much faster. The link between Gröbner bases and
linear algebra will be detailed in the next section, as it is also helpful to prove complexity bounds.
Further improvements on the reduction step can be designed, for instance by anticipating
and avoiding reductions of some critical pairs to zero. This idea was introduced by Buchberger’s
criteria (see [38, Sec. 9]) and later improved in the F5 algorithm [46].
The remainder of the section presents a tighter complexity estimate from [11], when further
assumptions are made on the system. These assumptions guarantee that all the trivial reductions
in Buchberger’s algorithm are avoided using the F5 criteria.
Definition 2.26 (Regular sequence). [11, Def. 1.7.1] Let f1 , . . . , fm be a sequence of homoge-
neous polynomials in K[x1 , . . . , xn ]. We say that the sequence is regular if the following condi-
tions hold
• hf1 , . . . , fm i =
6 K[x1 , . . . , xn ]
The gd,i (n) bound the number of degree-d polynomials in the Gröbner basis of hf1 , . . . , fi i for
the grevlex ordering [11, Th. 3.4.1] . The previous expression is in fact a polynomial whose
degree equals the Macaulay bound ij=1 (dj − 1) + 1.
P
Theorem 2.29. [11, Th. 3.4.2] Under Hypotheses 1 and 2, there exists an algorithm to com-
pute the Gröbner basis of hf1 , . . . , fm i which performs a total number of elementary operations
bounded by
m−1 ∞
! !
X X i + d + di+1 n + d + di+1 − 1
gd+di+1 ,i+1 (n) .
i=1 d=0
d + di+1 d + di+1
This result is achieved using a variant of the F5 algorithm, and although it is not easily
compared to other complexity bounds, it is instantiated in particular cases in [11, 12] in which
a simpler complexity bound is derived and indeed yields an improvement over that of Lazard’s
algorithm. As explained in [11], these bounds where notably used for solving equations over F2
and in particular attacking the public-key system HFE, as well as decoding codes. In our setting
however, the regularity hypotheses fail and the complexity bound is not tight enough, just as
the Bézout bound.
Although Gröbner bases are a powerful tool for polynomial system solving, we cannot use
them to derive asymptotic complexity estimates because only the most general and pessimistic
2.3. Resultant-based approaches 27
complexity bounds apply to our setting. In particular, the Bézout bound is much too large for our
purpose as it does not take into account the fact that most variables come with a small degree,
contrary to its multihomogeneous counterpart. In practice however, we will see in Chapter 6
that they are particularly efficient to solve trivariate systems. The next two sections review
alternative options for which we have tighter complexity estimates, and Section 2.4 presents a
method to achieve a polynomial-time complexity in the multihomogeneous Bézout bound, which
is the cornerstone of Chapter 5.
the one encountered in Chapter 3, the additional equation can be “nicer”, i.e. of the form
S1 (Y )X − S0 (Y ). Such an equation is given by one of the subresultants defined below.
Definition 2.34 (Subresultant matrix [141]). Let m, n and j be three positive integers, and
P = a0 X m + · · · + am and Q = b0 X n + · · · + bn be two polynomials in K[X]. We define the
j-th subresultant matrix of P and Q as the (n + m − 2j) × (n + m − j) submatrix N (j) (P, Q) of
the Sylvester matrix by taking the top m − j rows of coefficients of P and the top n − j rows of
coefficients of Q.
a0 a1 · · · an
a0 a1 ··· an
.. .. .. m−j
. . .
a0 ··· an
.
b
0 b1 ··· bm
b0 b1 ··· bm
.. .. .. n−j
. . .
b0 ··· bm
Definition 2.35 (Subresultant [141]). Keeping the notation of the previous definition, for k ≤ j,
(j)
we further define Nk (P, Q) as the (square) submatrix of N (j) (P, Q) obtained by taking only its
rightmost m + n − 2k − 1 columns and its (m + n − j − k)-th column. The j-th subresultant of
P and Q is then defined as the polynomial
j
X (j)
det Nk X k .
k=0
Considering P and Q in K[X, Y ], one can define the bivariate resultants and subresultants
except that the coefficients ai and bj are now polynomials in (say) Y . Thus, the bivariate
resultant R(Y ) = ResX (P, Q) is now a univariate polynomial and the j-th subresultant is a
bivariate polynomial of degree at most j in X. If the first subresultant of P and Q is non-
zero, then it has degree 1 in X so that we can write it S1 (Y )X + S0 (Y ) with S1 a non-zero
univariate polynomial. Since the resultant and subresultants of P and Q are all in the ideal
generated by P and Q, the system P (X, Y ) = Q(X, Y ) = 0 is equivalent to the system {R(Y ) =
0, S1 (Y )X + S0 (Y ) = 0}.
Let us consider P and Q in K[x1 , . . . , xn ], which we view as R[X] = K[x2 , . . . , xn ][X]. We
can likewise define the Sylvester matrix and resultant Resx1 (P, Q) ∈ K[x2 , . . . , xn ]. As in the
bivariate case, we eliminate the variable x1 but the resultant is not necessarily a generator of
the first elimination ideal. However, we will see in Chapter 6 that successive elimination by
resultants is still accurate enough for us to use it in the trivariate case with an asymptotic
complexity that matches that of more sophisticated methods. In the remainder of the section,
we give more details about the complexity of computing resultants of polynomials in up to three
variables.
done in O(nω ), where n is a bound on the degrees of P and Q and ω < 2.38 the exponent of
linear algebra. Using the fact that Res(P, Q) = (−1)mn bm−r 0 Res(Q, R) with R the remainder
of the Euclidean division of P by Q, one can design a algorithm that returns Res(P, Q) in time
quadratic in n. The subresultants can similarly be related to (variations of) Euclid’s algorithm
by the fundamental theorem of subresultants (see for instance [141, Th. 3.4.]).
In general, by following Euclid’s algorithm, we have a sequence of polynomials whose degrees
decrease by one at each step so that n steps are needed and the complexity is indeed quadratic.
However, one can imitate the half-GCD algorithm to halve the degree at each step. This yields
a quasi-optimal algorithm for computing the resultant and the last non-zero subresultant of two
univariate polynomials P and Q.
Properly presenting a fast algorithm for computing the resultant of two polynomials along
with their last non-zero subresultant is not a challenge that we want to take in this thesis,
insomuch as we did not contribute on this aspect. We therefore limit ourselves to stating
the following theorem, which is the only statement about (sub)resultants that will be needed
throughout this thesis.
Theorem 2.36 (Computing resultants and subresultants). [21, Prop. 6.15 & Thm. 6.16] Let
P and Q be two univariate polynomials in K[X] of degrees bounded by n > 0. Then Res(P, Q)
can be computed in time and space O(n),
e and so can any subresultant of P and Q.
For our purpose, we will also need to compute bivariate and trivariate (sub)resultants, for
which the existence of a quasi-optimal algorithm is still an open problem. In the next section,
we give complexity bounds for computing these resultants by using evaluation / interpolation
schemes to reduce to the univariate case.
Theorem 2.38. [21, Th. 5.1] Given n distinct field elements a0 , . . . , an−1 , one can perform the
multipoint evaluation or the interpolation in O(n)
e field operations.
Note that when K = Fq , we may not have enough distinct points to perform evaluation or
interpolation of a polynomial of large degree. However, when it is the case, we can take a field
30 Chapter 2. Polynomial systems
Proposition 2.39. [54, Thm. 6.22 and Cor. 11.21] Let P (x, y) and Q(x, y) be two polynomials
whose degrees in x and y are bounded by dx and dy respectively. Then, R(y) = Resx (P, Q) can
e 2 dy ) field operations, and the degree of R is bounded by 2dx dy .
be computed in O(d x
Proposition 2.40. Let P (x, y, z) and Q(x, y, z) be two polynomials whose degrees in each vari-
e 5 ) field operations,
able are bounded by d. Then, R(y, z) = Resx (P, Q) can be computed in O(d
2
and the degree of R in each variable is bounded by 2d .
Proof. The Sylvester matrix has at most 2d columns and its entries are bivariate polynomials
whose degrees in y and z are bounded by d. Thus, its determinant is a polynomial whose degrees
in y and z are bounded by 2d2 .
2
We first perform a Kronecker substitution by considering P̃ (x, y) = P (x, y, y 2d +1 ) and
2
Q̃(x, y) = Q(x, y, y 2d +1 ), which are polynomials of degrees ≤ d in x and ≤ 2d3 + d in y. Note
2
that the choice to replace z by y 2d +1 is made to be able to invert the Kronecker substitution
after the resultant computation.
Next, we compute R̃(y) = Resx (P̃ (x, y), Q̃(x, y)). By Lemma 2.39, it is a univariate polyno-
mial of degree at most 4d4 + 2d2 and can be computed in O(d e 5 ) operations. We can then invert
the Kronecker substitution to get R(y, z), which can be done in time linear in the number of
monomials, that is in O(d4 ).
Proposition 2.39 has remained unimproved for several decades, however Villard has recently
polynomials P and
announced [143] that given two generic bivariate Q in K[x, y], the bivariate
(2−1/ω) 1+o(1)
resultant Resx (P, Q) can be computed in O (dx dy ) field operations. Since the
computations of resultants are the bottleneck of the algorithms presented in Chapters 3 and 6,
this new algorithm may have a direct impact on their complexity bounds. We discuss this in
the dedicated chapters and sum up the impact of these new bounds in the conclusion.
∀λ, µ ∈ K, f (λx1 , . . . , λxnx , µy1 , . . . , µyny ) = λd1 µd2 f (x1 , . . . , xnx , y1 , . . . , yny ).
m X
Y n
dj,i Ti .
j=1 i=1
Theorem 2.45. [110] Consider F as above, then it has no more isolated solutions than its
multihomogeneous Bézout number d.
This bound is much more convenient than the original Bézout bound when dealing with a
system which has a large number of variables appearing with small degree and a small number of
variables appearing with large degree. In Chapter 5 we encounter systems of O(g 2 ) variables with
2
only g variables of “large” degree δ. In this context, the Bézout bound is in δ O(g ) versus δ O(g)
for its multihomogeneous counterpart. The reason why these bounds appear in the complexity
is detailed later on: we will see in Section 2.4 that the cost of computing a geometric resolution
is polynomial in the maximum of the degrees of intermediate ideals, as defined below. However,
contrary to the Bézout bound which is readily computable from the input system, computing
the degree of an ideal is not straightforward. When the input system is generic enough (i.e.
when it is a regular sequence as in Definition 2.26), the degrees of the intermediate ideals can
be bounded by the (multihomogeneous) Bézout bound.
n+1
Definition 2.46 (Degree of an ideal). By identifying a point (λ0 , . . . , λn ) ∈ K with the
polynomial λ0 + λ1 X1 + · · · + λn Xn ∈ K[X1 , . . . , Xn ], there is a dense Zariski open subset
n+1 dim V (I)
O ⊂ (K ) such that for any (`1 , . . . , `dim V (I) ) ∈ O, the algebra K[X1 , . . . , Xn ]/(I +
h`1 , . . . , `dim V (I) i) is a finite dimensional K-vector space of constant dimension, which is called
the degree of I.
32 Chapter 2. Polynomial systems
Definition 2.47 (Reduced sequence). The sequence (f1 , . . . , fi ) is reduced if every intermediate
ideal hf1 , . . . , fj i with j ∈ [1, i] is radical.
n
Moreover, this degree is bounded above by 2nx +ny dnx x dy y .
Proof. This is a direct consequence of [123, Prop. I.1] using, with the notation of [123, Prop.
I.1], k = 1, e = 0, P = m, Di,0 = dx , Di,1 = dy , n = nx , n1 = ny . Note that [123, Prop. I.1]
is stated when the base field is C, but the proof works without any major modification when
the base field is a finite field. The last sentence of the statement follows from the fact that the
regularity assumption implies that m ≤ nx + ny , and hence the sum of the binomial coefficients
is bounded above by 2m ≤ 2nx +ny .
Definition 2.49 (Division-free SLP). A division-free SLP (DFSLP) defined over a field K is a
sequence of polynomials h1 , h2 , . . . , h` ∈ K[X1 , . . . , Xn ] such that each polynomial hi is either a
variable Xt with t ∈ [1, n], an element in K, or hi = hj ◦ hj 0 , where j, j 0 < i and ◦ ∈ {+, −, ×}
is an arithmetic operation. The time of a DFSLP is the total number of arithmetic operations,
and its space is the minimal number of arithmetic registers required to evaluate it. A polynomial
system f1 , . . . , fm is said to be represented by a DFSLP h1 , . . . , h` if {f1 , . . . , fm } ⊂ {h1 , . . . , h` }.
The following lemma gives a bound on the size of a DFSLP needed to represent a bihomo-
geneous polynomial:
see also [64]. The following definition is slightly simpler than the one in [25, Sec. 2.1] because we
restrict ourselves to the 0-dimensional case in the whole thesis (in [25, Sec. 2.1], the definition
is also valid for equidimensional varieties with positive dimension).
takes distinct values at all points in V . The linear form ` is called the primitive element
of the geometric resolution;
x1 = · · · = xn−i−1 = f1 = · · · = fi = 0, g 6= 0,
in the form
xn−i+1 = T
xn−i+2 = Wn−i+2 (xn−i , T ),
Q(xn−i , T ) = 0, ..
.
xn = Wn (xn−i , T )
This step can be seen as seeing the variable xn−i as a parameter of the geometric resolution,
and a solution of Si can be seen as an approximated solution of the above system at precision
O(xn−i ). By the Newton method, this solution can be lifted at precision O(x2n−i ), and the
34 Chapter 2. Polynomial systems
process can be repeated until the precision is sufficient to have an exact resolution. This is
achieved when the precision becomes greater than the degree of the variety.
At the end of the lifting step, the equation fi+1 = 0 is still not taken into account. This is
the point of the so-called intersection step and it is achieved as follows. First, introduce a new
variable X and perform the change of variable in K [[t]]
With Qt a polynomial in X and T and the Vt,j ’s are polynomials in T and rational fractions
in X with coefficients in K [[t]] at precision O(t2 ). Let us now compute
A(X) = ResT (Qt (X, T ), fi+1 (0, . . . , 0, X − tT, T, Vt,n−i+2 (X, T ), . . . , Vt,n (X, T ))).
This resultant is in K[X] [[t]] and substituting X = xn−i + txn−i+1 in A(X) = a0 (X) + ta1 (X) +
O(t2 ), we get
a0 (xn−1 ) = 0, a00 (xn−i )xn−i+1 + a1 (xn−i ) = 0.
This is not completely satisfying as we must still remove the potential solutions contained
in the hypersurface g 6= 0. This is the cleaning step and consists essentially of replacing a0 (T )
by a0 (T )/c(T ), where
For our purposes, the main result to remember is that one can compute a geometric resolution
in time polynomial (actually quadratic) in the (multi-homogeneous) Bézout bound. Note that
this result does not apply to our setting, but the following theorem gives a similar statement for
finite fields of sufficiently large size.
Theorem 2.53. [25, Thm. 4.8] Let f1 , . . . , fn ∈ Fqe [x1 , . . . , xn ] be a reduced regular sequence,
where the polynomials are represented by a DFSLP with space S 0 and time T 0 . Set the following
notation:
• For any real number x ≥ exp(1), U(x) = x(log x)2 log log x;
• Let δ ∈ Z≥0 be an integer larger than the degrees of the ideals hf1 i, hf1 , f2 i, . . . , hf1 , . . . , fn i.
Assume further that q e ≥ 60 n4 dδ 4 . There is a probabilistic Turing machine using space O((S 0 +
n + d)δ 2 log(q e δ)) and time O((nT 0 + n5 )U(δ)(U(dδ) + log(q e δ))U(log(q e δ))) which takes such
polynomial systems as input and which outputs an Fqe -geometric resolution of the algebraic set
n (M ) (M )
{x ∈ Fqe | f1 (x) = · · · = fn (x) = 0} with probability at least 11/12.
The above complexity estimates derive from two costly steps: the lifting and the intersection.
The former’s complexity is essentially due to the cost of computing a Newton lift at precision
δ and the latter’s bottleneck is the computation of the resultant A. The regularity assumption
on the input system ensures that we have an invertible Jacobian matrix to perform the Newton
iterations. We do not investigate further and refer the interested reader to [64, 25] for more
details.
36 Chapter 2. Polynomial systems
Chapter 3
In this chapter, we investigate genus-2 extensions of Schoof’s algorithm both in theory and
practice, along with their applications in cryptography. Like elliptic curves, Jacobians of hy-
perelliptic curves are ideal candidates for cryptographic groups. However, some attacks were
designed for Jacobians of curves of genus ≥ 3 and while these attacks remain exponential, they
imply a less advantageous ratio between key-length and security level. For genus-2 curves, this
ratio is comparable to elliptic curves and by using the Kummer surface associated to the curve
rather than its Jacobian, a genus-2 Diffie-Hellman protocol detailed in [119] can be made faster
than its elliptic analogue [105, 17] thanks to more efficient arithmetic operations designed in [55].
More recently, a signature scheme based on Kummer surfaces of genus-2 curves was designed
in [120]. Almost all the results presented here were already known before the beginning of this
thesis, so this section can be considered as a warm-up for Chapters 5 and 6 as we focus on parts
of the algorithm that we extend later to hyperelliptic curves of larger genera.
Although Pila’s algorithm [115] already yields a polynomial-time algorithm for counting
points on genus-2 curves, the first practical attempt was made in 2000 [57] by combining three
different methods. First, using the Cartier-Manin operator, χ mod p can be computed provided
that the characteristic p is not too large. Since this relates to p-adic methods and will not
be used in this thesis, we do not explore this approach and focus on the two other points:
the computation of χ mod ` for small primes ` in the spirit of Schoof’s algorithm, and the
reconstruction of χ exploiting previous modular knowledge by a baby-step giant-step (BSGS)
algorithm. By then, it was already possible to count points on a curve over a 63-bit prime
field (i.e. in a 126-bit Jacobian) in about two CPU-months. However, generating a Jacobian
of cryptographic size requires much heavier computations that were made possible in [62] by
introducing numerous practical optimizations.
In Section 3.1, we first give an overview of these algorithms along with their complexity
estimates. Section 3.2 reviews practical improvements taken mostly from [62] and how they
were used to compute a cryptographic Jacobian of size 256 bits, i.e. with a 128-bit security
level. A recent note by the NSA [113] advised to upgrade the security level of curve-based
protocols to 192 bits, casting doubt about possibly more efficient yet still exponential attacks
on ECDLP. While finding elliptic curves with this security level is not a problem, it seems quite
a challenge in genus 2. With this motivation in mind, Section 3.1.2 focuses on genus-2 curves
with real multiplication (RM) and how this property is used in [59] to speed-up point-counting.
For non-RM curves, Section 3.3 surveys prospective improvements and ongoing research that
could make it possible to design genus-2 curves that offer a 192-bit security level.
37
38 Chapter 3. Counting points on genus-2 curves
Proposition 3.1. Using the above notation and setting Di = Pi − P∞ , there exist univariate
polynomials d0 , d1 , d2 , e0 , e1 , e2 in Fq [x] such that for ` ≥ 3, the Mumford form hui , vi i of `Di is
given by
d1 (xi ) d0 (xi )
ui (X) = X 2 + X+ ,
d2 (xi ) d2 (xi )
yi
vi (X) = (e1 (xi )X + e0 (xi )) .
e2 (xi )
In the particular case of genus-2 curves, it is known that the respective degrees of these
polynomials are 2`2 − 1, 2`2 − 2, 2`2 − 3, 3`2 − 1, 3`2 − 2 and 3`2 − 3.
Rewriting the equality of the ui , we get the following system in the variables x1 , x2 :
This system is put in triangular form by computing R(x1 ) = Resx2 (E1 , E2 ) and replacing
one of the equations by R(x1 ) = 0. Before doing so, one must actually remove a factor (x1 − x2 )
that appears in both E1 and E2 to avoid having R = 0. This factor is due to the fact that if
x1 = x2 , then we have P1 = ±P2 , thus `(P1 − P∞ ) = ±`(P2 − P∞ ) and therefore u1 = u2 . This is
an example of solutions to our system that do not yield useful information on J[`], we call them
parasites and investigate them later on. Apart from that factor which threatened the validity
of our algorithm, other parasites only increase the complexity by a constant factor. In larger
genus, many more degenerate cases can occur so that a thorough analysis of those parasites is
required.
Once the resultant is computed, a torsion point can be reconstructed as follows: find a root
x1 of R, possibly in an extension of Fq . From the other equation in x1 and x2 , deduce a value for
x2 . Then, there are only four possibilities for (y1 , y2 ), pick one of them to deduce two points P1
and P2 and finally test whether any of the combinations P1 ± P2 leads to a torsion divisor. If it
is not the case, then x1 was a root of a parasite factor of R, so we have to consider another root.
The same can be done if x1 leads to a torsion divisor for which there are still several candidates
for (s1 , s2 ) mod `.
Actually, it may happen that even after checking the whole `-torsion we may end up with
more than one candidate for (s1 , s2 ). When this is the case, one must remember that the (s1 , s2 )
correspond to polynomials that annihilates the Frobenius action. Computing their GCD, we
can first deduce a multiple of its minimal polynomial. Luckily, the degree and roots of that
polynomial are enough information to recover the actual characteristic polynomial χ mod `.
Since this is unlikely, we do not detail that subtlety and refer to [62, Sec. 3.4] for that matter.
It is possible to eliminate all the parasites by taking into account all the equations and not
only the first two. Writing that the v-coordinates of `(P1 − P∞ ) and `(P2 − P∞ ) have to be
opposite amounts to the third equation
Then, one can compute R1 = Resx2 (E1 , E3 ) and apply the previous method to R̃ = gcd(R, R1 )
instead of R.
Following the D5 strategy of [40] mentioned in Section 1.2.2.0, one could actually recover
a triangular form of the `-torsion ideal I` , and perform operations in the quotient ring while
handling the potential “forbidden divisions” by removing the vanishing factor from the univariate
polynomial of the lex Gröbner basis of I` . This approach was considered but not used in [60]
as the first strategy seems more efficient for primes smaller than 19. In [62], the D5 strategy is
preferred as ` goes up to 31.
To do so, we compute both the resultant and subresultant of the equations E1 and E2 to
put the system in the form
S0 (x1 ) + x2 S1 (x1 ) = 0,
R(x1 ) = 0.
Then, taking into account the equation E3 , we clean up the parasites by computing R̃ and the
modular inverse S̃ = S0 /S1 mod R̃. We can therefore represent the `-torsion ideal by the base
y22 −f (x2 )
y12 −f (x1 )
x2 +S(x1 )
R̃(x1 ).
40 Chapter 3. Counting points on genus-2 curves
Once given such a representation, it is no longer necessary to factor R, as one can consider
a generic D` = (x1 , y1 ) + (x2 , y2 ) − 2P∞ in Fq [x1 , x2 , y1 , y2 ] and test the equation χ(D` ) = 0 in
Fq [x1 , x2 , y1 , y2 ]/I` .
We now follow the complexity analysis of [57, 62]. Note that [57] originally proves a com-
9
plexity in O(log
e q) because it does not make use of fast arithmetic in Fq .
8
Theorem 3.2. [57, Sec. 5.4] Algorithm 4 has a complexity in O(log
e q) bit operations and a
5
memory requirement in O(log q).
Proof. Compared to the rest of the algorithm, computing the genus-2 division polynomials takes
negligible time and memory in practice: even a naive approach using the recurrence formulas
of [28, Eq. (1.8)] and storing each `-division polynomials yield a complexity in O(`3 log q) memory
bits and O(`3 log q) binary operations (each step requires O(1) operations on polynomials over
Fq with degree in O(`2 )) which is within the complexity bounds we aim for.
Computing the bivariate resultant R is done by an evaluation / interpolation scheme. The
degrees of E1 and E2 in the xi are in O(`2 ) so that by Proposition 2.39 the polynomials R, S1 , S2
can be computed in O(` e 6 ) field operations using O(`4 ) interpolation points, i.e. O(`4 log q) bits
of memory. Since we consider polynomials of degrees in O(`4 ), the GCD computations also fit
e 4 ) field operations.
within O(`
e 4 ) field operations and each ele-
In the algebra Fq [x1 , x2 , y1 , y2 ]/I` , each operation costs O(`
ment is stored on O(`4 log q) memory bits. Finding χ mod ` costs at most O(`) operations in the
algebra Fq [x1 , x2 , y1 , y2 ]/I` and a constant number of Frobenius computations, which amounts
e 4 (log q + `)) field operations. During this step, only a fixed (i.e. independent of `) number
to O(`
of elements needs to be stored, hence a memory requirement in O(`4 log q) bits.
Since both the number of primes ` and the size of the largest ` to consider are in O(log q) and
that each operation in Fq has a bit complexity in O(log e q), we deduce the final bit complexity
8 5
in O(log
e q) and a memory requirement of O(log q) bits.
3.1. Genus-2 extensions of Schoof’s algorithm 41
8
The complexity in O(log
e q) bit operations is much larger than that of Schoof’s algorithm in
5
O(log q) and the exponent is twice larger than that of the SEA algorithm. It is very challenging
e
to get modular information on χ for prime numbers above 30, which is the reason why other
strategies are used in practice to terminate the computations. This complexity analysis also
reveals an interesting phenomenon: compared to Schoof’s algorithm, applying powers of π to
a generic torsion element is no longer the bottleneck in the genus-2 case. Indeed, the most
costly step is the computation of a triangular form for the `-torsion ideal. When g grows, it is
even more conspicuous that this step is also the bottleneck of our generalizations of Schoof’s
algorithm.
Confronted with such a complexity bound, one may look for more favorable instances of
the problem in which the bounds are more reasonable. For example, one would like to find
Jacobians with “a smaller torsion”. Unfortunately, such Jacobians cannot exist as they must
satisfy Proposition 1.35. However, we will see in the next section that there exist families of
curves whose torsion can be split into a direct sum of subspaces which are similar in size to the
`-torsion subgroup of an elliptic curve. Such subspaces correspond to ideals of smaller degrees
than the `-torsion ideal, and therefore putting them in triangular form is less costly than doing
the same to the full `-torsion.
Definition 3.3. Let η be a real element of a number field, and let C be a hyperelliptic curve
with RM by Z[η]. We say that the real multiplication is explicit if we have explicit formulas to
compute the Mumford form η(P − P∞ ) for P = (x, y) the generic point on the curve C.
Remark Consider Q(π) the so-called CM-field of J, then the intersection Q(π) ∩ EndFq (A) is
an order O of Q(π) and hence it is a subring of the maximal order OQ(π) . By a result from [145],
O also contains a “minimal order” as it has to contain Z[π, π ∨ ].
Let us consider a genus-2 curve C with explicit RM by Z[η] as in Definition 3.3. Examples
of such curves are given by the family Ct : Y 2 = X 5 − 5X 3 + 5X + t from [138] with RM by
Z[ζ5 + ζ5−1 ], as well as other families due to Humbert and Mestre [101]. They are detailed in [87]
along with examples of RM in higher genus.
In what follows, we assume that the curve C has explicit RM by Z[η]. Let us denote ψ = π+π ∨
and recall the expression of χπ (t) = t4 − s1 t3 + s2 t2 − s1 qt + q 2 , from which we deduce the
characteristic polynomial of ψ,
χψ (t) = t2 − s1 t + s2 .
42 Chapter 3. Counting points on genus-2 curves
By the previous remark, Z[ψ] ⊂ Z[η] hence there exist two integers a and b such that
ψ = a + bη. They are uniquely determined by s1 and s2 because
Contrary to Section 3.1 we do not test directly the characteristic equation of π but the
equality between the last two members of ψπ = π 2 + q = aπ + bηπ. In other terms, we compute
a mod ` and b mod ` by finding ā and b̄ in (Z /` Z) such that for any torsion divisor D we have
This brings two advantages over the general case: first, we only have to apply powers of π up
√
to π 2 instead of π 4 , and more importantly, [59, Eq. 10] shows that both a and b are in O( q)
√ √
while s2 is in O(q). More precisely, one can prove that |a| ≤ 4 q and |b| ≤ 2(| Tr(η)| + 1) q.
Yet, this improvement only reduces the number (and size) of primes ` to consider by a
constant factor since it depends logarithmically on the width of the Hasse-Weil interval. The
most significant gain lies in the structure of the `-torsion, which allows us to find torsion divisors
D more easily.
Let us consider a prime ` that splits in Z[η] into the product p1 p2 . We first detail how this
can be used to split J[`] ' (Z /` Z)4 into a direct sum of two subspaces isomorphic to (Z /` Z)2 .
In [59], the ideals pi are assumed to be principal because the order Z[η] has class number 1
in all the examples of RM families. This assumption is not necessary and will be removed in
Chapter 6 although it still holds in the genus-3 RM family that we used for practical experiments.
For simplicity, we follow [59] and make the same assumption in this chapter.
Lemma 3.4. [59, Lemma 1] If p is a principal ideal of norm ` in a real quadratic order Z[η], √
then there exists an effectively computable generator α = a + bη of p with both a and b in O( `).
Computing small generators α1 and α2 of p1 and p2 , we have J[`] = J[α1 ] ⊕ J[α2 ] so that
any torsion divisor D can be written D1 + D2 with Di ∈ J[αi ]. We have therefore transformed
the problem of finding a generic element of `-torsion into finding a generic element of αi -torsion.
To do so, we proceed exactly as in Subsection 3.1.1 but with the equation αi (Di ) = 0 instead
of `Di = 0. Once found Di a generic element of J[αi ], we compute π 2 (Di ) + (q mod `)Di and
kπ(Di ) for any k ∈ Z /` Z to find ki the only value of k such that these two quantities are equal.
This is summed up in Algorithm 5.
5
Theorem 3.5. [59, Th. 1] Algorithm 5 has a complexity in O(log
e q) bit operations.
Proof. Let us consider a fixed prime ` that splits in Z[η]. For each pi , we √ compute a small
generator αi = βi + γi η as in Lemma 3.4. Since we know there is one of size O( `), it is possible
to find it by exhaustive search for O(`) field operations.
We now compute a generic element Di ∈ J[αi ] using the strategy of Section 3.1.1 except that
we write √ αi (P1 − P∞ ) = −αi (P2 − P∞ ) instead of `(P1 − P∞ ) = −`(P2 − P∞ ). Since βi and γi
are in O( `), the Mumford form of αi (Pi ) have coefficients whose degrees in the abscissa xi is in
O(`). Then, following the analysis in the proof of Theorem 3.2 with equations of degree ` instead
of `2 , we prove that a generic element of Ker αi can be computed in O(` e 3 ) field operations.
Then, finding the ki ’s require two applications of π and hence O(log q) field operations and
e
at most O(`) field operations for the exhaustive search. Deducing (a, b) from k1 and k2 is linear
algebra in F` , which is negligible, and therefore each step in the main loop of Algorithm 5 has
e 3 ) field operations i.e. O(`
an overall cost of O(` e 3 log q) bit operations.
3.2. Practical improvements and past results 43
input : q an odd prime power, and f ∈ Fq [X] a monic squarefree polynomial of degree
5 such that the curve Y 2 = f (X) has explicit RM by Z[η].
output: The characteristic polynomial χπ ∈ Z[T ] of the Frobenius endomorphism on
the Jacobian J of the curve.
w ← 1;
` ← 2;
√
while w < max(|2 Tr(η)| + 1, 4) q do
Pick the next prime ` that splits in Z[η] ;
Compute the ideal decomposition ` Z[η] = p1 p2 , corresponding to the eigenvalues
λ1 , λ2 of η in J[`] ;
for i ← 1 to 2 do √
Compute a small generator αi of pi with coefficients in O( `) ;
Compute a generic element Di in J[αi ] ;
Find the unique ki ∈ Z /` Z such that ki π(Di ) = π 2 (Di ) + qDi ;
end
Find the unique (a, b) in (Z /` Z)2 such that a + bλi = ki , for i in {1, 2} ;
w ← w · `;
end
Reconstruct (a, b) using the Chinese Remainder Theorem ;
Deduce χπ from Equations (3.3).
Algorithm 5: Overview of the genus-2 RM point-counting algorithm from [59]
Since the RM field is fixed, by Chebotarev’s density theorem, half of the primes split in Z[η]
and thus both the number of primes ` to consider and the size of the largest one are still in
O(log q). Replacing ` by log q and adding a factor log q for the number of primes proves the
theorem.
2 −2
than the factor (x1 − x2 ), it is pointed out in [57] that d2 (x1 )2` divides the resultant R(x1 ).
Indeed, recall the equations
and remark that if d2 (x1 ) vanishes, then any root of d2 is also a common root of E1 (x1 , ·) and
E2 (x1 , ·).
Using evaluation / interpolation techniques, we can directly avoid these parasites by evaluat-
2
ing R̃(a1 ) = Resx2 (E1 (a1 , x2 ), E2 (a1 , x2 ))/d2 (a1 )2` −2 and then reconstruct R̃ by interpolation.
Knowing the degrees of the di , we see that deg R̃ = 4`4 − 10`2 + 6 is about twice smaller than
deg R. The computation of R representing most of the time spent by the algorithm, this trick
almost halves the running time.
In [62], it was further noticed that d2 has the form f 3 δ 2 , with f the defining polynomial of
the hyperelliptic curve. This also results in parasites that can be eliminated, albeit with a less
spectacular decrease of deg(R̃) by roughly `4 /4.
Resymmetrization
Since the `-torsion has size `4 , we know that R̃ still has about three times more parasitic factor
than factors coming from actual torsion points. Notice that System 3.1 is symmetric in the
variables x1 and x2 . In [60] the symmetry is used and the change of variables U1 = −(x1 + x2 )
and U0 = x1 x2 allows to halve the degrees of the input system. Moreover, the parasites of the
previous paragraph can still be tracked after resymmetrization so that an additional factor 2 is
gained in the degree of R̃.
was preferable to searching directly factors in R̃ with risks of useless computations leading to
parasite solutions, or “cleaning” R̃ before factorization to ensure that no parasite remains, at
the cost of almost doubling the running time. This was ruled out in [62, Sec. 3.4] by using an
alternative strategy involving the recovery of a Gröbner basis for the whole symmetrized torsion
ideal, and by designing another way of cleaning the parasites.
Let S = S0 /S1 mod R̃, and let us consider the algebra B = Fq [U1 , X]/hR̃(U1 ), X 2 + U1 X +
S(U1 )i. Let P1 and P2 be points of respective abscissae X1 = X and X2 = −U1 −X, and compute
`(P1 −P∞ ) and `(P2 −P∞ ) in the algebra B. Note that we can handle these scalar multiplications
without having to worry about the ordinates and only dealing with their respective squares
f (X1 ) and f (X2 ). Ultimately, we want `(P1 − P∞ ) = −`(P2 − P∞ ) so that the v coordinates
of their Mumford forms have to be opposite. Denote v1i X + v0i such Mumford forms. We
must have v112 = v 2 for D = P + P − 2P
12 ` 1 2 ∞ to be an `-torsion element. Experimentally,
2 − v 2 ) has no remaining parasite factor.
R = gcd(R̃, v11 12
Let us now explain how to recover χ as in the non-resymmetrized case. Let us consider
D` = hX 2 + U1 X + U0 , V1 X + V0 i, a generic divisor in Fq [U1 , U0 , V1 , V0 ]. The first equations
that D` must satisfy to be an `-torsion divisor are R̃(U1 ) = 0 and U0 = S(U1 ), which determine
its u-coordinate. Now, remark that writing D` = P1 + P2 as above, the coordinate V1 must be
(Y1 − Y2 )/(X1 − X2 ) and the quotient V0 /V1 must be (X1 Y1 Y2 − X2 f (X1 ))/(Y1 Y2 − f (X2 )). We
can actually find expressions involving only the X-coordinates for Y1 Y2 and for Yi2 = f (Xi ). For
the V1 -coordinate, however, we have to consider its square which we express as
Plugging back the expressions of the Xi ’s in terms of the Ui ’s, we end up with expressions
of the coordinates of D` involving only U1 and U2 , which yield the following Gröbner basis for
the torsion ideal I` ⊂ Fq [X1 , X2 , V1 , V0 ]:
V0 −V1 Z(U1 )
V12 −W (U1 )
U0 −S(U1 )
R̃(U1 )
with all the polynomials R̃, S, W, Z of degrees ≤ (`4 − 1)/2. We refer to [62, Sec. 3] for more
information about this process.
Once given such a representation, we likewise avoid the factorization of R̃, and directly test
the equation χ(D` ) = 0 in Fq [U1 , U0 , V1 , V0 ]/I` , using the D5 strategy to avoid division by any
non-invertible element in that algebra.
and only a few random D are expected to be necessary to determine #J. This method a priori
gives the exponent of the group rather than its order, but it can be adjusted to deduce the
actual order of the group, as presented in [33][Algorithm 5.4.1]. Note that this requires bounds
on the cardinal of the input group, which is not a problem in our case since they are provided
by the Weil bounds.
Using a birthday paradox approach, one expect to find (s1 , s2 ) with running time and memory
requirement in O(q 3/4 ). If s1 and s2 are already known modulo an integer m, then the search-
space is reduced by a factor m2 and the complexity by a factor m. An idea introduced in [99] is
to split the characteristic equation into two parts: one depending only on a parameter derived
from s2 and the other depending on two parameters derived from s1 and s2 . Then, instead of
directly trying random values for these 3 parameters, one stores all the possible values for the
first part, and deduces bounds for the two other before performing a random collision search to
determine the remaining two parameters. The main drawback of these methods is the storage
requirement.
The key to avoiding storage is to look for collision of deterministic sequences which are
assumed to behave as pseudo-random sequences in the complexity analysis (an assumption that
is backed by practical evidence). This is inspired by Pollard’s kangaroos method. To simplify
√
the exposition, let us first assume that m ≥ 8 q, so that s1 is already completely determined
and we only look for the right value of s2 . Let us split s2 = s¯2 + ms˜2 with s¯2 already known.
Denote by K = q 2 + 1 − s1 (q + 1) + s¯2 so that #J = K + ms˜2 . From the bounds on s2 we deduce
bounds on s˜2 and we actually substract from K some multiple of m and s˜2 by some constant
to make these bounds of the form |s˜2 | ≤ B. Let us pick a random D ∈ J and define the “wild”
and “tamed kangaroos” as
When an element of W ∩ T is found, we are able to compute s˜2 . Using a birthday paradox
approach, we want to compute random elements in each set until we find an element in the
intersection. But we need a way of storing some elements in order to detect such a collision.
Storing any of the two sets in totality is excluded since it would entail memory requirements
comparable to the algorithm of [99]. A workaround is to use distinguished points, i.e. elements of
J with a particular feature, such has having the 20 last bits of their u0 coordinate equal to zero.
We now fix a hash function on divisors and perform pseudo-random walks (Di ) such that Di+1
is determined by the hash of Di and decide to stop the pseudo-random walk whenever it hits a
distinguished divisor. We perform many such walks in W and T and only store one element per
walk i.e. the final distinguished divisor. Due to the deterministic design of the pseudo-random
walks, if a walk in W collides with a walk in T , then they keep colliding until the end. Hence,
the distinguished divisor that is stored is also a point in W ∩ T , which is the reason why only
the last element of the walk has to be stored. We redirect to [60] for complexity analysis and
optimization of the parameters. Note that similarly to the one-dimensional approach we a priori
only get s2 modulo the order of D, but once again this can be fixed using [33][Algorithm 5.4.1].
In the general case, however, both s1 and s2 are not completely known and the previous
collision has to be sought in intersecting rectangles instead of intervals. Each step is made in
a plane instead of a line although in practice it is better to impose a fixed proportion of one-
dimensional steps in the direction corresponding to s2 , as it is much larger than s1 . Indeed, our
√
rectangles are really flat because of the Weil bounds in O( q) for s1 and in O(q) for s2 . To
perform the pseudo-random walk, Di+1 is computed from Di by adding an offset of the form
(−1)b α(q + 1)mD + βmD, where b, α and β depend on the hash of Di . These quantities are
3.2. Practical improvements and past results 47
initially taken uniformly at random respectively in {0, 1}, [0, 2L1 ] and [0, 2L2 ] with the Li ’s being
parameters. Note that once each tuple (b, α, β) is associated to a value of the hash function, it
remains the same in order to keep our walks deterministic.
Let us now discuss on the parameters involved. First, let N be the number of points in the
rectangle {(s1 , s2 ) | b1 ≤ s1 ≤ B1 , b2 ≤ s2 ≤ B2 }. Let C be the number of chains to create: this
is fixed by the user and must be large enough to avoid each chain √ being too long but small enough
not to require too much memory. We expect to construct O( N ) points before a collision, and
the user can estimate an actual value λ for this quantity. We must now decide of the probability
pD for a random divisor to be distinguished: too small will imply a larger running time while too
large will be too demanding on memory. We can actually relate it to C: if we are too compute
about λ points divided into C chains, then we expect each chain to have a length about λ/C.
Since a chain ends when it reaches a distinguished point, its expected length is 1/pD . Equating
the two quantities yields pD = C/λ. To fix the parameters L1 and L2 , let us observe that we
do not want the chains to leave the intersection of the rectangles, because there is no hope to
find a collision outside. On average, each chain goes a distance L2 /pD from the center along the
s2 -axis so we want L2 /pD to be small enough compared to B2 − b2 , for example one tenth of it.
We do the same for L1 but warn that along the s1 -axis, the chains can move in both directions
because of the b
p sign (−1)√. In that case, by the central limit theorem we expect the chains to be
at distance 2 2/3πL1 / pD of the center along the s1 -axis. Setting L1 to be about one tenth of
√
the limit and approximating the previous term, one can set L1 = (B1 − b1 ) pD /9. Once again,
we refer to [60] for a heuristic complexity analysis and discussion on the choice of parameters.
We give more details about that in Chapter 6 in the tridimensional case.
Note that the running time of Gaudry and Schost’s algorithm for one- and two-dimensional
collision search depends on the overlap between the sets T and W . In [52], Galbraith and Ruprai
propose a more detailed complexity analysis as well as an improved version of the algorithm in
which the size of W ∩ T is constant.
of 586 curves were computed for a total time of roughly 1000 CPU hours per curve, using the
collision search algorithm described in Section 3.2.3. The 128-bit security level Jacobian that
was retained corresponds to a hyperelliptic curve defined over F2127 −1 by the equation
y 2 =x5 + 64408548613810695909971240431892164827x4
+ 76637216448498510246042731975843417626 x3
+ 154735094972565041023366918099598639851 x2
+ 9855732443590990513334918966847277222 x
+ 81689052950067229064357938692912969725.
It has since been used in various cryptographic implementations and records such as [119, 18,
120].
To our knowledge, this example is still the only random 128-bit secure genus-2 curve in the
literature and this is no wonder because of the efforts required to achieve it. Worse, to hope for
a higher security level, one needs to compute modular information for larger `, for a complexity
e 6 log q). The goal of the next section is to survey the prospects for larger cryptographic
in O(`
genus-2 Jacobians. Note that there are other ways of finding such Jacobians by using the CM
method or by restricting to curves with RM, but one could prefer a less structured curve as
additional properties might well lead to faster attacks on the DLP, although none have been
published yet.
may not be completely impossible. However, we question the point of spending conspicuous
amounts of computational power that might even not be negligible compared to the cost of
discrete logarithm computations in the secure curve.
Unless further improvements are made, it seems that the only plausible alternatives for safe
genus-2 curves come from RM curves or from the CM-method. Indeed, in [59] counting points
on a RM-curve defined over a 512-bit prime field is done in about 80 CPU days. When using
the CM-method, the order of the Jacobian is almost already determined and the bulk of the
computations is actually to find suitable fields K and Fp and recover an equation of a curve
C over Fp with CM by the ring of integers of K. When the CM-field K has a small class
number as in [146], Jacobians of genus-2 curves offering a 128-bit security level can be computed
in a matter of minutes. Later on, further examples with fields of larger class numbers were
constructed in [44], the largest one being the field K = Q[X]/(X 4 + 1357X 2 + 3299), with class
number 40032. In the next two subsections, we discuss research areas that could help make
random genus-2 curves competitive again.
ization Φ` (j(E), X) = f1 · · · fs . We denote by (δ1 , . . . , δs ) the tuple formed by the degrees of the
fi ’s rearranged in non-decreasing order and we use the terminology of [8] to classify the primes
` according to the tuple associated to Φ` (j(E), X):
The improvement by Atkin allows to deduce information on χ mod ` from this factorization
pattern: it does not change the asymptotic complexity of Schoof’s algorithm, but provides a
significant speed-up. Indeed, we have χ(X) = X 2 − tX + q and Atkin proved that t2 mod ` is
either 4q mod ` in the volcanic case or (ζ + ζ −1 + 2)q mod ` in the other two cases, with ζ a
primitive e-root of unity, for e dividing either ` + 1 if ` is an Atkin prime or ` − 1 if ` is an Elkies
prime.
The improvement due to Elkies consists of determining t mod ` by replacing the test χ(P ) = 0
in E[`] by the test π(P ) = λP in the kernel of an `-isogeny determined by the factorization of
Φ` (j(E), X). Since the kernel is given by a polynomial of degree (` + 1)/2 versus (`2 − 1)/2
for the `-division polynomial, this decreases the complexity of computing χ mod ` by a factor
O(`) provided that there exists an `-isogeny. This is the case when ` is either a volcanic or an
Elkies prime but in the first case we already know much about χ mod `. Heuristically, we expect
Elkies and Atkin primes to represent both about 50% of all primes, but we cannot invoke the
Chebotarev density theorem since we do not work in a fixed number field. Under this heuristic,
by considering only Elkies primes, we expect the largest ` to be in O(loge q). Therefore, the SEA
4
algorithm has a heuristic complexity of O(log q). However, although this heuristic complexity
e
is backed by numerical experiments, Satoh and Galbraith showed in [125, Appendix A] that
under GRH, the largest ` to consider in the SEA algorithm is in O((log q)2+ε ).
In order to extend these improvements to point-counting in genus 2, analogues of modular
polynomials were introduced in [60] along with an algorithm to compute them and experiments
on their factorization patterns. Unfortunalety, the complexity estimate to obtain these polyno-
mials is in O(`8 log q) bit operations, which is more costly than the natural extension of Schoof’s
algorithm. In some favorable cases, i.e. when the curve has RM by a small quadratic order,
Milio and Martindale [103, 98] have computed analogues of modular polynomials which could
be exploited to mimic the Atkin improvement. By computing modular correspondences between
Abelian varieties equipped with a theta-structure, Faugère, Lubicz and Robert propose another
extension of modular polynomials in higher dimension [48]. In order to extend the Elkies im-
provement to the genus-2 case, current work by Couveignes and Ezome and implementations
by Milio [104, 37] involve computing (`, `)-isogenies from their kernels, which solves a part of
the problem, but we still lack an algorithm to compute the kernel itself. We also refer to the
AVIsogenies software [20] for ongoing work in that direction although it requires hypotheses on
the rationality of 2- and 4-torsion, and therefore in most cases to accept working in a significant
extension of the base field.
Part II
Contributions
51
Chapter 4
53
54 Chapter 4. Cantor’s division polynomials
Theorem 4.1 ([28], Th. 8.35). Let C be a hyperelliptic curve given of genus g by an equation
of the form Y 2 = F (X) with F monic of degree 2g + 1. Let P be the generic point on C, (x, y)
be its coordinates and let D = P − P∞ be the associated divisor.
For ` ≥ g, there exists two polynomials δ` (X) and ε` (X) of respective degrees g and g − 1
such that the non-normalized Mumford form of `D is
x−X x−X
δ` , ε` .
4y 2 4y 2
Furthermore, the coefficients of δ` are polynomials in x. And those of ε` /y are rational fractions
whose numerators and common denominator are also polynomials in x.
By non-normalized Mumford form, we mean that the polynomial δ` is not monic, contrary
to Definition 1.29. This is the only difference and it allows us to have polynomials as coefficients
of δ` .
Definition 4.2. Let ` ≥ g, the g + 1 coefficients of the polynomials δ` , the g numerators and
the common denominator of the coefficients of ε` /y are called Cantor’s `-division polynomials,
and we omit the ` when there is no ambiguity on it.
In this chapter, we study the degrees in x of these polynomials, and notably their dependency
in `. For a polynomial P whose coefficients are rational fractions, we denote by degmax(P ) the
maximum of the degrees of the numerators and denominators of its coefficients. In the remainder
of the chapter, we aim to bound degmax(δ` ) and degmax(ε` /y).
Warning: Instead of the coefficients of δ` , we may also consider those of δ` ((x − X)/(4y 2 )) or
more often the 2g + 2 polynomials (di )0≤i≤g and (ei )0≤i≤g such that
* g−1 g−1 +
g
X di (x) i X ei (x) i
`D = X + X ,y X .
i=0
dg (x) e (x)
i=0 g
The second family of polynomials is deduced from the first after developping (x − X)/(4y 2 ), and
the third comes from the second after simplifying the rational fractions. For simplicity, all of
them are called division polynomials, but there is little ambiguity on their respective occurrences:
the last one is the only form appearing in our systems and in practice, while we mostly focus on
4.1. Overview on division polynomials 55
the first one when proving bounds on degrees. However, the difference of degrees between them
only depends on g and can readily be computed.
To simplify the exposition, the first step is a change of variable X = x − z from the point
P = (x, y) on the curve Y 2 = F (X) to the point P0 = (0, (−1)g+1 y) on the curve C 0 of equation
Y 02 = E(z) with E(z) = F (x − z). The choice of the sign of the ordinate of P0 is well-motivated
in [28], but since we ultimatelyponly focus on the degrees of Cantor’s polynomials, we prefer
not to linger on signs. Denote E(z) the formal power series which is the Taylor series of the
square root of E around z = 0 with constant term (−1)g+1 y. Following Cantor, we first define
unnormalized division polynomials as A` , B` , C` and D` , then we normalize them by the right
power of 2y and we invert the change of variables to recover the normalized polynomials α` , β` ,
γ` and δ` . Lastly, the polynomial ε` is deduced from δ` , δ`−1 and δ`+1 .
Let us now consider the curve C 0 , mapped in its Jacobian J 0 by P 7→ P − P∞ . Let A` (z) and
B` (z) be polynomials such that
We are not sure yet whether they exist and how to compute them, but this will be dealt with
once their definition becomes more natural and relevant to the initial problem.
Indeed, the function on the curve C 0 given by A` (z) − Y 0 B` (z) has ` + h poles at infinity with
h ≤ g. Then, denote D the associated principal divisor, we have D = D0 + `P0 − (` + h)P∞
where D0 is an effective degree-h divisor, since z ` divides A` (z) − Y 0 B` (z). Now, this principal
divisor has to be zero in the Jacobian J 0 , so we end up with D0 − hP∞ = −`(P0 − P∞ ).
For ` > g define
D` (z) = −(A` (z)2 − B` (z)2 E(z))/z ` (4.1)
as in [28, 2.3]. This definition is natural in the sense that D` is the Mumford u-coordinate of
D0 . Then, we define Ē` (z) to be the corresponding v-coordinate of the Mumford form, that is
deg Ē` < deg D` and Ē` (z)2 − E(z) ≡ 0 mod D` . This gives the intuition on the construction of
the non-normalized division polynomials, but deeper understanding is required to define them
rigorously, which actually comes with the existence and definition of A` and B` .
The first condition on these polynomials amounts to ` homogeneous linear conditions on their
(unknown) coefficients. The degree conditions only allows for deg A` + deg B` to be `−1 so there
is a total of exactly `+1 coefficients to be determined to completely fix those two polynomials.
p In
other terms, A` and B` are defined as Padé-Hermite approximants of the series E(z) modulo
z ` . Thus, by unicity of the Padé-Hermite approximants, either there is no solution, or there
is a unique solution for A` and B` up to multiplication by a scalar. There exist algorithms to
compute these Padé approximants, and the condition for their existence is the non-nullity of
some Hankel determinants.
p
For brevity, let us define the power series S(z) = E(z), denote sj being either the j-th
coefficient of S or 0 if j ≤ 0. For m ≥ 0 and n ≥ 1 let us define the following Hankel matrix as
sm−n+1 sm−n+2 ··· sm
s
m−n+2 sm−n+3 ··· sm+1
Hmn (S) = .. .. .. ..
,
. . . .
sm−1 sm ··· sm+n−2
and hmn (S) its determinant with the convention hmn (S) = 1 if n = 0 and hmn (S) = 0 if n ≤ −1.
The non-nullity of these hmn guarantees the existence of solutions to the Padé approximation
problem, as stated in [28, Th. (3.5)]. These solutions are actually (up to a constant) determinants
of matrices similar to Hmn . We do not restate them since that would not be enlightening, but
properties of Padé approximants allow to define the polynomials A` (z), B` (z) as well as two
other quantities which will play a crucial role: the series C` (z) such that
A` (z) − B` (z)S(z) = −z ` C` (z),
and the f` which are polynomials in x, defined as hn`+1 m`+1 where n` and m` are some indices
depending on ` and g which we do not detail. We will see later that these f` are actually
non normalized versions of polynomials ψ` that extend the elliptic division polynomials in some
natural way [28, Cor. 8.34].
Using properties of Padé approximants called Frobenius identities in [74, Eq. (2.5)], one can
derive the following recurrence formulas:
Proposition 4.3 ([28], 3.14). For ` ≥ g + 1,
f`−1 A`+1 (z) = f` A` (z) − zf`+1 A`−1 (z),
f`−1 B`+1 (z) = f` B` (z) − zf`+1 B`−1 (z),
f`−1 C`+1 (z) = (f` C` (z) − f`+1 C`−1 (z))/z.
Along with initial values given in [28, 3.10], these identities allow to compute the A, B, C and
f inductively without having to compute the determinants. More importantly for our purpose,
they allow to inductively bound degmax(A), degmax(B) and degmax(C) once the degrees of
the fi are known. In Section 4.2, we transcript them into recurrence relations involving the
normalized counterparts α, β, γ and ψ of Definition 4.4 instead of directly studying the non
normalized objects. This is done for a pragmatic reason: to avoid duplicating proofs and results
in Cantor’s paper, the non-normalized objects are used to simplify technical proofs but final
results are only given in normalized form.
Let us introduce some notation: for S(z) a formal power series, we denote S[ιn ] the polyno-
mial of degree ≤ n obtained by truncation, i.e. nk=0 sk z k and S[n] the n-th term of the series,
P
that is sn z n .
We restate the dictionary to switch from the non-normalized to the normalized world.
Definition 4.4 ([28], 8.7). Let ` ≥ g + 1 and ν` = (`2 − ` − g 2 + g)/2, we define
ψ` = (2y)ν` f` ,
α` (z) = 2(2y)ν`−1 −1 f` A` (4y 2 z){ιg },
β` (z) = (2y)ν`−1 f` B` (4y 2 z){ιg },
γ` (z) = (2y)ν`+1 f` C` (4y 2 z){ιg },
δ` (z) = (2y)2ν` D` (4y 2 z),
ε` (z) = Ē` (4y 2 z).
From the non-normalized conditions of the Mumford form, we get the following alternative
expression for ε` , which allows us to focus on ψ` and δ` (z).
Proposition 4.5 ([28], 8.13). For ` > g,
2 δ 2 (z) − ψ 2 δ
z(ψ`−1 `+1 `+1 `−1 (z))
ε` (z) = y 2 mod δ` (z).
ψ`−1 ψ` ψ`+1
4.1. Overview on division polynomials 57
The five polynomials α to ε have degrees at most g in z, but their coefficients are a priori
rational fractions in x and y. The following theorem clarifies the situation:
Theorem 4.6 ([28], 8.15). If ` − g is even, then ψ` is a polynomial in x, and α` (z)/(2y)g ,
β` (z)/(2y)g and γ` (z)/(2y)g are polynomials in z with coefficients that are polynomials in x.
If ` − g is odd, then ψ` /(2y)g is a polynomial in x, and α` (z), β` (z) and γ` (z) are polynomials
in z with coefficients that are polynomials in x.
Definition 4.7 ([28], 8.16). Let us now define P` as ψ` if ` − g is even, and ψ` /(2y)g otherwise,
so that P` is always a polynomial in x.
Both its degree and leading coefficient are given but we only restate the result on the degree.
Theorem 4.8 ([28], 8.17). The polynomial P` has degree
g(`2 − g 2 )
if ` − g is even,
2
2 2
g(` − g ) − g(2g + 1)
if ` − g is odd.
2
Using the fact that y 2 = F (x), we can rephrase this by a formula which we often use to prove
the following theorems: deg(ψ`2 ) = g(`2 − g 2 ). We now have all the necessary ingredients for
Section 4.2 but we present alternative recurrence formulas that are more similar to the elliptic
case, and that also allow for sharper bounds in the genus-3 case.
This is studied in [28, Sec. 6 & 8], respectively in the non-normalized and normalized cases.
Once again, the idea is to use properties of Padé approximants and translate them into recurrence
relations. We focus on the results and refer to Cantor’s paper for proofs, hence we restrict to
the normalized case. We restate the relations [28, 8.31 to 8.33] that allow to express α` , γ` and
ψ` in terms of determinants involving the polynomials αr , γr and ψr for several values of r that
are close to `/2.
Definition 4.9 ([28], 8.30). Let s ≥ r ≥ 2g − 1 and h ≤ g, define the (g + 1) × (g + 1) matrix
αr−g (z)αs (z)[ιg−2 ] ψr−g ψs γr−s (z)γs (z)[h]
αr−g+1 (z)αs−1 (z)[ιg−2 ] ψr−g+1 ψs−1 γr−g+1 (z)γs−1 (z)[h]
Ers [h] = .. .. .. .
. . .
αr (z)αs−g (z)[ιg−2 ] ψr ψs−g γr (z)γs−g (z)[h]
Definition 4.10 ([28], 8.32). Let s ≥ r ≥ 2g − 1 and h ≤ g, define the (g + 1) × (g + 1) matrix
αr−g (z)αs (z)[h] ψr−g ψs γr−s (z)γs (z)[ιg−2 ]
α
r−g+1 (z)α s−1 (z)[h] ψ ψ
r−g+1 s−1 γ r−g+1 (z)γs−1 (z)[ιg−2 ]
Frs [h] =
.. .. .. .
. . .
αr (z)αs−g (z)[h] ψr ψs−g γr (z)γs−g (z)[ιg−2 ]
Recall that, using previous notation, the first matrix involves g − 1 terms in α and one term
in γ while the second one involves g − 1 terms in γ and one in α. We restate recurrence relations
based on the determinants of these matrices:
Proposition 4.11 ([28], 8.31). For s ≥ r ≥ 2g − 1 and h ≤ g, we have
g−1
g+1
det Ers [h] = (−1)( 2 ) γr+s−2g+1 [h]ψs−r
Y
ψr−g+k ψs−g+k .
k=1
58 Chapter 4. Cantor’s division polynomials
g−1
g+1
det Frs [h] = (−1)( 2 ) αr+s−2g+1 [h]ψs−r
Y
ψr−g+k ψs−g+k .
k=1
This can be used to compute the exact degrees of Cantor’s division polynomials in genus 2,
which is used in Chapter 3. Another important remark is that when g = 1 they give exactly the
same recurrence as the one satisfied by the division polynomials, and the immediate corollary is
that in genus 1 the ψ` coincide with the previously known division polynomials.
To our knowledge, apart from the leading and constant coefficients of δ` , which Cantor proved
to be respectively −(4y 2 )g ψ`2 and (−1)g+1 ψ`−1 ψ`+1 even in arbitrary genus, no additional proven
result was published for g ≥ 3. In Section 4.3, we instantiate these recurrence formulas in genus
3 and use them to prove a quadratic bound in ` on the degrees of all the 8 analogues of division
polynomials. We also explain why we are not very optimistic about that approach compared to
the first one when g is larger.
Theorem 4.13. For any integer ` > g, the polynomial δ` (X) of degree g in X has coefficients in
Fq [x] whose degrees in x are bounded by g`3 /3 + Og (`2 ); the polynomial ε` (X)/y has coefficients
in Fq (x) such that the degrees of the numerators and the denominators have degrees bounded by
2g`3 /3 + Og (`2 ). Furthermore, the roots of the denominators are roots of the leading coefficient
of δ` (X).
Proof. Technicalities arise from the normalizations required to manipulate entities that are poly-
nomials in x (and not rational fractions), without odd power of y involved. In Cantor’s article,
this normalization often depends on the parity of ` − g. We will concentrate on the case where
g is even; for the other case some formulas must be adapted, multiplying or dividing by 2y at
various places.
We recall that ν` = (`2 − ` − g 2 + g)/2 as defined in (8.7), so that ν` = ν`−1 + ` − 1. By
combining Definition 4.4 and 4.1, we obtain
(2y)2ν` 2 2 2 2 2
δ` (z) = A ` (4y z) − B` (4y z) E(4y z) ,
(4y 2 z)`
where A` and B` are unnormalized versions of α` and β` given in Definition 4.4 and E(z) is
defined by E(z) = f (x − z). For our purpose, it is easier to deal with non-truncated versions of
α` and β` . Let us then introduce the following quantities, inspired by Definition 4.4:
ᾱ` (z) = 2(2y)ν`−1 −1 A` (4y 2 z), and β̄` (z) = (2y)ν`−1 B` (4y 2 z),
4.2. A cubic bound in any genus 59
(2y)νk fk−1 ᾱk+1 (z) = (2y)νk +k−1 fk ᾱk (z) − (2y)νk +2k−1 fk+1 z ᾱk−1 (z),
where all the polynomials have coefficients in Fq [x]. The expression for β̄k is exactly the same, but
we have to multiply the expression in Proposition 4.3 by (2y)2νk in that case. By Definitions 4.4
and 4.7 plus Theorems 4.6 and 4.8, for any k, the quantity (2y)νk fk is a polynomial in x of degree
g(k 2 −g 2 )/2. Therefore the right-hand-side of the recurrence relation has coefficients with degrees
bounded by an expression of the form max degmax(ᾱk (z)), degmax(ᾱk−1 (z)) + gk 2 /2, up to
where Errg (k) is a polynomial linear in k and cubic in g. Again, this inequality is also valid for
β̄k . By induction, we then get the following bounds:
g`3 g`3
degmax(ᾱ` (z)) ≤ + Og (`2 ), and degmax(β̄` (z)) ≤ + Og (`2 ).
6 6
We can then propagate these bounds in the expression of δ` and we get
degmax(δ` (z)) ≤ max(2 degmax(ᾱ` (z)), 2 degmax(β̄` (z)) + degmax(E(4y 2 z)), so that we get the
claimed result concerning δ` .
The fact that ε` (z)/y has coefficients in Fq (x) follows directly from Proposition 4.5 that we
recall here:
2 δ 2
z ψ`−1 `+1 (z) − ψ`+1 δ`−1 (z)
ε` (z) = y mod δ` (z).
ψ`−1 ψ`2 ψ`+1
As stated in [28, 8.11], the leading coefficient of δ` (z) is −(4y 2 )g ψ`2 , so that the property on the
denominator of ε` can not be easily deduced from this equation, due to the presence of ψ`−1 and
ψ`+1 before the reduction modulo δ` (z) occurs. We will prove it below, with a direct geometric
argument, but we first give bounds on the degrees of the coefficients of the numerator and the
denominator.
The polynomial δ` (z) is of degree g in z, so that at most two steps of reduction are required to
reduce the degree of ε` to strictly less than g. In fact, it can be checked that LT(ψ`−1 2 δ
`+1 (z)) =
60 Chapter 4. Cantor’s division polynomials
LT(ψ`+12 δ
`−1 (z)), so that there is at most only one reduction step. This reduction accounts for an
increase of the coefficients’ degrees in x by at most degmax(δ` ) in the numerator and an increase
of the degree of the leading coefficient of δ` in the denominator. Since deg ψ` = g`2 /2 + Og (`),
the degrees of the coefficients of the numerator of ε` (z) are bounded by 32 g`3 + Og (`2 ), and the
degree of the denominator is bounded by 3g`2 + Og (`).
It remains to prove the claim on the roots of the denominator of the coefficients of ε` (z)/y.
For this, we consider the map from the affine part of the curve Caff to J seen as a projective
Abelian variety, that sends a point (x, y) to [`]((x, y) − ∞). One of the main points of Cantor’s
article is that if ψ` (x) 6= 0, then the image by this map is in J \ Θ, where Θ ⊂ J is the subvariety
of elements of weight less than g (i.e. divisors that are sums of less than g points). On this open
subset, Mumford coordinates with a monic u of degree g and v of degree at most g − 1 give a
local set of coordinates that we use to describe the map. The i-th coefficient of v is y times a
rational fraction ci in x that gives a finite value at any x for which ψ` (x) 6= 0. Therefore, any
root of the denominator of ci is a root of ψ` . By Theorem 4.1, the Mumford v-polynomial that
we are considering is ε` up to a renormalization that will only introduce additional powers of
4y 2 in the denominator. Therefore, any root of the denominator of the coefficients of ε` is a root
of ψ` or of 4y 2 , and both divide the leading coefficient of δ` , which is −(4y 2 )g ψ`2 .
Remark. The bounds that we obtain are not tight: from [28], we know that the leading
and constant coefficients are in Og (`2 ) instead of Og (`3 ). We ran experiments that allow us to
conjecture
precise degrees
for the other coefficients. In these experiments, instead of developing
x−X x−X
δ` 4y2 and ε` 4y2 to compute the di ’s and ei ’s, we computed `((x, y)−∞) over the function
field of the curve. This does not exactly yield the di ’s and ei ’s because we actually get di /dg and
ei /eg , thus possibly missing a common factor in all the di ’s and ei ’s. We denote d˜i and ẽi the
numerators and denominators of the aforementioned fractions, and we compute their degrees
for each pair (g, `) with g ≤ 8 and g < ` ≤ g + 20 (which includes non prime values of `). We
found that the degrees of the d˜i are consecutive from deg(d˜g ) up to deg(d˜0 ) = deg(d˜g ) + g, with
the following values for deg(d˜0 ).
g`2 − g 3 + g
(
if g − ` is even
2 3 2
g` − g + 2g − 1 if g − ` is odd
Concerning the ẽi , the degrees are consecutive from deg(ẽg−1 ) up to deg(ẽ0 ) = deg(ẽg ), the
latter being equal to
3(g`2 − g 3 )/2 + 2g 2 − g − 1
(
if g − ` is even
3(g`2 − g 3 )/2 + 3g 2 − g/2 − 1 if g − ` is odd
Cantor [28] gave simple expressions for the leading term and constant term of δ` (respec-
tively −(4y 2 )g ψ`2 and (−1)g+1 ψ`−1 ψ`+1 ), from which we can deduce the degrees of d0 and dg by
evaluating δ` at (x − X)/4y 2 . Assuming that there is no common factor to all the di ’s when
g − ` is even, while the GCD of all the di ’s is f g−1 when g − ` is odd, these theoretical degrees
are consistent with our experiments.
Theorem 4.14. In genus 3, the degrees of Cantor’s `-division polynomials are bounded by O(`2 ).
We first prove a bound on the degrees of the coefficients of the quantities αr and γr defined
in [28], from which the wanted bounds will follow. The key tools are Propositions 4.11 and 4.12
that relate quantities at index ` to quantities at index around `/2, in a similar fashion as for the
division polynomials of elliptic curves. More precisely, the following lemma shows that when
the index ` is (roughly) doubled, degmax α` and degmax γ` are roughly multiplied by 4, which
leads to the expected quadratic growth.
Lemma 4.15. Let ` ≥ 10, and assume that for all i ≤ (` + 9)/2 the degrees degmax αi and
degmax γi are bounded by C, then degmax α` and degmax γ` are bounded by 4C + 36` + 108.
Proof. We first deal with the bound on degmax γ` . Let us consider r and s around `/2 such that
` = r + s − 5: we take either r = s − 3 = `/2 + 1 if ` is even, or r = s − 4 = (` + 1)/2 otherwise.
From Definition 4.9 and Proposition 4.11, the degree of γ` [h]ψs−r ψr−2 ψs−2 ψr−1 ψs−1 is that
of the determinant of the matrix Ers [h] defined by:
αr−3 αs [0] αr−3 αs [1] ψr−3 ψs γr−3 γs [h]
α α α α ψ ψ γ
[0] [1] r−2 γs−1 [h]
Ers [h] = r−2 s−1 r−2 s−1 r−2 s−1
.
αr−1 αs−2 [0] αr−1 αs−2 [1] ψr−1 ψs−2 γr−1 γs−2 [h]
αr αs−3 [0] αr αs−3 [1] ψr ψs−3 γr γs−3 [h]
Therefore we have an expression for the degrees of the coefficients of γ` in terms of objects at
index around r and s:
deg γ` [h] ≤ deg det Ers [h] − deg(ψr−2 ψs−2 ψr−1 ψs−1 ).
In this last formula, the factor ψs−r has been omitted, because s − r is either 3 or 4, and by
Theorem 4.8 this has non-negative degree in any case. Thus, we simply bounded it below by
0 in the previous inequality. Before entering a more detailed analysis, we use the fact that
αk (0) = ψk−1 and γk (0) = ψk+1 (this is [28, (8.8)]) to rewrite the first column with expressions
for which we have exact formulas for the degree:
ψr−4 ψs−1 αr−3 αs [1] ψr−3 ψs γr−3 γs [h]
ψ ψ α α ψ ψ γ
[1] r−2 γs−1 [h]
Ers [h] = r−3 s−2 r−2 s−1 r−2 s−1
.
ψr−2 ψs−3 αr−1 αs−2 [1] ψr−1 ψs−2 γr−1 γs−2 [h]
ψr−1 ψs−4 αr αs−3 [1] ψr ψs−3 γr γs−3 [h]
The determinant of Ers [h] is the sum of products of 4 ψ factors and 4 α or γ factors. The
degrees of the former are explicitly known, while by hypothesis we have upper bounds on the
latter, since all the indices are at most (` + 9)/2. We can then deduce an upper bound on the
degree of this determinant. All the ψi have indices with i in the range [r − 4, s] (remember that
r ≤ s), and since their degrees increase with the indices, we can upper bound the degree of the
products of the four ψ factors by 4 deg ψs . Therefore we have
In order to deduce an upper bound on degmax γ` , it remains to get a lower bound on the degree
of the deg(ψr−2 ψs−2 ψr−1 ψs−1 ) term, and again by monotonicity of the degree in the index, it is
bounded below by 4 deg ψr−2 . So finally, we get
Using Definition 4.7 and Theorem 4.8, we deduce that for all k, we have deg(ψk2 ) = 3(k 2 − 9)
and substituting this value and the expression of r − 2 and s in term of `, we obtain
(
30` + 90 if ` is even,
deg ψs4 − deg ψr−2
4
=
36` + 108 if ` is odd,
We can now finish the proof of Theorem 4.14. We define two sequences (`i )i≥0 and (Ci )i≥0
as follows: let `0 = 10 and let C0 be a bound on the degrees of the coefficients of all the αi and
γi for i ≤ `0 . Then for all i ≥ 1, we define the sequences inductively by
(
`i+1 = 2`i − 9
Ci+1 = 4Ci + 36`i+1 + 108.
By Lemma 4.15, for all i, and all ` ≤ `i , the degrees degmax α` and degmax γ` are bounded by
Ci . The expression `i = (`0 − 9)2i + 9 = 3 · 2i + 9 can be derived directly from the definition
and substituted in the recurrence formula of Ci+1 to get Ci+1 = 4Ci + 216 · 2i + 432. This
recurrence can be solved by setting Γi = Ci + 108 · 2i + 144, so that Γi+1 = 4 Γi , and we obtain
Ci = (C0 + 252) 4i − 108 · 2i − 144. Finally, for any `, we select the smallest i such that ` ≤ `i .
This value of i is dlog2 ((` − 9)/3)e. The corresponding bound for degmax α` and degmax γ`
is then Ci , which grows like O(`2 ) (and we remark that the effect of the ceiling can make the
constant hidden in the O() expression grow by a factor at most 3).
Using [28, Eq. 8.10], i.e. δ` (z) = α` (z)γ` (z){ιg }, we have degmax δ` ≤ degmax α` +degmax γ` ,
and therefore the bound O(`2 ) also applies to the degrees of the coefficients of δ` . And by
Proposition 4.5, the same holds as well for the coefficients of ` /y.
This concludes the proof of Theorem 4.14.
Remark. One could try to extend this method to larger g in the hope of getting a better
bound than the cubic one proven in the previous section. In a nutshell, the quadratic bound
was achieved because the 4 × 4 determinants involve 2 terms in either α2 or γ 2 and 2 terms in
4.3. A quadratic bound in genus 3 63
ψ 2 . This led to a bound on the degrees of α and γ that was mutiplied by 4 each time ` was
multiplied by 2. In larger genus, however, the balance between the two types of terms is broken
because the (g + 1) × (g + 1) determinant is made up of (g − 1) terms in α2 and β 2 . A direct
generalization of our method would therefore give a bound B` on the degrees of α and β that is
multiplied by 2(g − 1) each time ` is multiplied by 2. In particular, for g ≥ 5, the growth of B`
seems already worse than cubic.
64 Chapter 4. Cantor’s division polynomials
Chapter 5
Let C be a hyperelliptic curve of genus g over a finite field Fq of characteristic p and denote
by J its Jacobian. In this chapter, we present a Las Vegas algorithm derived from Schoof and
Pila’s approaches to count points on hyperelliptic curves that achieves a time complexity in
O((log q)cg ) for c a constant and g fixed with q growing and p large enough. This is joint work
with Pierrick Gaudry and Pierre-Jean Spaenlehauer and most of this chapter is to appear as [1].
Organization of the chapter. Section 5.1 describes a general algorithm for point-counting
on Abelian varieties along with its complexity, assuming that the `-torsion can be efficiently
computed. Section 5.2 establishes the complexity result for multi-homogeneous polynomial
systems that is required to obtain our claimed complexity bound. Section 5.3 contains the
modelling of the `-torsion under some mild assumptions on its structure. Finally, Section 5.4
describes the complete modelling of the `-torsion, which is faithful even if the assumptions
required in Section 5.3 are not satisfied.
5.1 Overview
This chapter aims to give a proof of the following result:
Theorem 5.1. There exists an explicitly computable constant c such that for all genus g, there
exists an integer q0 (g) such that for all prime power q = pn larger than q0 (g) with p ≥ (log q)cg
and for all imaginary hyperelliptic curves C of genus g defined over Fq , the numerator L of the
local zeta function of C from Proposition 1.42 can be computed with a probabilistic algorithm in
expected time bounded by (log q)cg .
This complexity result is summarized by the notation Og ((log q)O(g) ), keeping in mind that
g is fixed and q grows to infinity. Indeed, such a complexity statement can hide any factor that
0
depends only on g: a running time in f (g)(log q)cg can be transformed into (log q)c g by taking
0
a value c0 larger than c and adjusting q0 (g), so that |f (g)| ≤ (log q0 (g))(c −c)g .
A typical example is the multiplication of two polynomials of degree d = (log q)O(g) . Us-
ing FFT-based techniques, this can be done in O(d) e operations, which can be rewritten as
(log q) O(g) (log((log q) O(g) )) for some constant k and is therefore again in Og (log(q)O(g) ). Here
k
the function f (g) that has been hidden in the operation is polynomial in g, but we will have
65
66 Chapter 5. Asymptotic complexity bounds in arbitrary genus
cases where it is a combinatorial factor that grows very quickly with g and we make no effort
to optimize it.
The algorithm that allows to prove the theorem is essentially the same as the one proposed
by Pila for Abelian varieties, which is itself inspired by Schoof’s algorithm for counting points
on elliptic curves. Pila’s algorithm reconstructs the numerator of the local zeta function of C by
computing the action of the Frobenius on the `-torsion for sufficiently-many prime numbers `
and by using the Chinese Remainder Theorem. A bird’s eye view of this algorithm is given in
Algorithm 6. The main difficulty resides in the step where one computes an explicit description
of J[`]. Since J[`] is a 0-dimensional variety of degree `2g , what we will compute is a geo-
metric resolution of the corresponding radical ideal, that is a univariate squarefree polynomial
F` (T ), together with 2g coordinate polynomials γi (T ), such that the coordinates of the `-torsion
elements are the evaluations of the vector (γ1 (T ), . . . , γ2g (T )) at the roots of F` .
To be more precise, the Mumford coordinates are in fact a set of g affine systems of co-
ordinates, each corresponding to a different weight of the represented divisor (the definition is
recalled in Section 5.3). The variety J[`] will accordingly be represented by a set of g geometric
resolutions, each encoding `-torsion divisors of a given weight w ∈ [1, g]. Generically, we expect
that all the elements in J[`] have weight g, except for the neutral element which has weight
0. Most of the chapter is dedicated to computing efficiently this representation for J[`]. The
cornerstone of the proof of Theorem 5.1 relies on the following statement.
Proposition 5.2. Let C be a hyperelliptic curve of genus g over Fq with Weierstrass form
Y 2 = f (X) (f monic squarefree of degree 2g + 1) and J be its Jacobian variety. Let ` > g
be a prime not dividing q. Assuming that the characteristic of Fq is sufficiently large as in
Theorem 5.1, there is a Las Vegas probabilistic algorithm which takes as input q, `, f and which
computes geometric resolutions for the varieties {Jw [`]}w∈[1,g] of `-torsion points of weight w in
the Jacobian variety. This algorithm can be implemented by a Turing machine with space and
5.2. Computing geometric resolutions 67
expected time Og (` log q)O(g) .
Assuming this complexity bound, performing a complexity analysis as done in [114] leads
to a complexity bound for Algorithm 6 that corresponds to Theorem 5.1. We recall it here
for completeness, with some simplifications due to the fact that we consider a probabilistic
algorithm, so we can factor polynomials using Cantor-Zassenhaus’ algorithm.
Proof of Theorem 5.1 assuming Proposition 5.2. By Weil’s bounds, the absolute values of the
2g g
coefficients of the characteristic polynomial χ are bounded by g q . Therefore at the end of
the loop of Algorithm 6, these coefficients are completely determined by their values modulo all
the primes ` that have been explored. It follows from [140, Cor. 10.1] that the largest ` in the
loop is at most linear in g log q. From this and Proposition 5.2, computing the description of J[`]
as a union of geometric
resolutions for all the Jw [`] can be achieved within expected complexity
Og (log q) O(g) .
Factoring the univariate
polynomials involved in the geometric resolutions can be done within
the same time bound Og (log q) O(g) , since the sum of their degrees is `2g and factoring poly-
nomials in finite fields can be done in time linear in log(q) and quasi-quadratic in the degree [54,
Thm. 14.14]. Therefore, it is possible to construct a Mumford representation for each `-torsion
divisor within the same complexity, each of them possibly defined over a different extension of
Fq . In fact, due to the rationality of the group law that acts on J[`], one of these extensions of
Fq contains all the others.
Using elementary linear algebra for the Frobenius endomorphism ϕ acting on J[`] (seen as
an F` -vector space), we can deduce χ` = χ mod `. We first compute a basis of J[`] by brute
force and a dictionary of how all elements decompose on it. Then, the action of ϕ on the basis
elements can be computed and the result is a matrix whose characteristic polynomial is χ` . All
of this fits in the Og ((log q)O(g) ) complexity bound. The loop is repeated Og (log q) times, and
this additional factor does not affect the overall complexity.
tools that we will use to estimate the complexity of computing a convenient representation of
the `-torsion of the Jacobian of hyperelliptic curves.
Let us recall the notation of Section 2.4.1: if f ∈ Fq [X1 , . . . , Xnx , Y1 , . . . , Yny ], then we
let degx (f ) (resp. degy (f )) denote the degree of f (X1 , . . . , Xnx , y1 , . . . , yny ) ∈ Fq [X1 , . . . , Xnx ]
(resp. f (x1 , . . . , xnx , Y1 , . . . , Yny ) ∈ Fq [Y1 , . . . , Yny ]), where y1 , . . . , yny (resp. x1 , . . . , xnx ) are
generic values in Fq .
Proposition 5.3. There exists a probabilistic Turing machine T which takes as input polynomial
systems with coefficients in a finite field Fq and which satisfies the following property. For any
function h : Z>0 → Z>0 , for any positive number C > 0 and for any ε > 0, there exists
a function ν : Z>0 → Z>0 and a positive number D > 0 such that for all positive integers
g, `, nx , ny , dx , dy , m > 0 such that nx < C g, ny < h(g), dx < h(g) `C , dy < h(g), m < h(g), for
n
any prime power q such that the prime number p dividing q satisfies 2nx +ny dnx x dy y < p, and for
any polynomial system f1 , . . . , fm ∈ Fq [X1 , . . . , Xnx , Y1 , . . . , Yny ] such that
• for all i ∈ [1, m], degx (fi ) ≤ dx and degy (fi ) ≤ dy ,
• the ideal I = hf1 , . . . , fm i has dimension 0 and is radical,
the Turing machine T with input f1 , . . . , fm returns an Fqdν(g) log `e -geometric resolution of the
variety {x ∈ Fq | f1 (x) = · · · = fm (x) = 0} with probability at least 5/6, using space and time
bounded above by ν(g) `D g (log q)2+ε .
Proof. Postponed to Subsection 5.2.3.
Proof. This is a reformulation of [132, Thm. A.8.7] in the case of finite fields. In [132, Thm. A.8.7],
this result is stated over the field C, but this statement holds over any field k, provided that an
n nm
extra separability assumption is satisfied. More precisely, set n = nx + ny and let Vs ⊂ k × k
(M ) (M )
be the variety of pairs ((x, y), M ) such that f1 (x, y) = · · · = fs (x, y) = 0. In this setting,
the extra condition that is required for the proposition to hold is that the projection π of Vs
nm
to k must be separable for all s ∈ [1, n] (this is always true in characteristic 0). We refer to
[84, Thm. 4.2] for more details on this separability argument. In our setting, the degree of a
n
generic fiber of π is bounded by 2n dnx x dy y < p using the multi-homogeneous Bézout bound (see
e.g. Proposition 2.48) and hence the separability condition is satisfied.
Since we are looking at polynomial systems over finite fields, we must estimate the size of
the extension of the base field that is required to find with sufficiently large probability a matrix
(M ) (M )
M such that f1 , . . . , fnx +ny is reduced and regular.
Lemma 5.5. Let (f1 , . . . , fm ) ∈ Fq [X1 , . . . , Xnx , Y1 , . . . , Yny ]m be polynomials satisfying the
assumptions of Proposition 5.4 and such that their total degree is bounded above by d ∈ Z≥0 .
Set n = nx + ny and l m
e = (2n + 1) logq (d + 1) + logq (11) .
If M is an n × m matrix with entries in Fqe picked uniformly at random, then the probability
(M ) (M )
that (f1 , . . . , fn ) is a reduced regular sequence is bounded below by 10/11.
and let F1 (Λ, X, Y ), . . . , Fn (Λ, X, Y ) ∈ Fq [X1 , . . . , Xnx , Y1 , . . . , Yny , λ11 , . . . , λnm ] be the polyno-
mials defined as
F1 (Λ, X, Y ) f1 (X, Y )
.. ..
=Λ· .
. .
Fn (Λ, X, Y ) fm (X, Y )
For s ∈ [1, n], we consider the s × m matrix Λ(s) obtained by truncating Λ to its s first rows,
a new set of variables {µ1 , . . . , µs−1 } and the following polynomial system:
F1 (Λ(s) , X, Y ) = · · · = Fs (Λ(s) , X, Y ) = 0
∂F1 ∂F1 ∂F1 ∂F1
∂X ··· ···
i 1 ∂Xnx ∂Y1 ∂Yny
h
h . .. .. .. .. ..
i
µ1 · · · µs−1 1 · ..
. . . . . = 0 ···
0
∂Fs ∂Fs ∂Fs ∂Fs
··· ···
∂X1 ∂Xnx ∂Y1 ∂Yny
···
M11 M1m
E = ... .. .. ∈ Fnm | h (M , . . . , M ) · · · h (M , . . . , M ) 6= 0
. . qe 1 11 1m n 11 nm
Mn1 · · · Mnm
Once we have a reduced regular sequence, we can use Theorem 2.53 to solve the system.
We note that in [25] there is a general assumption that for all s ∈ [1, n] the intermediate ideals
(M ) (M )
hf1 , . . . , fs i define absolutely irreducible varieties. However, the proof of Theorem 2.53
does not require this assumption (this assumption is only required in algorithms for finding a
rational point in [25, Section 6]). To apply the theorem, we need our input to be represented
by division-free straight line programms (DFSLP) as in Definition 2.49 and we can bound the
size of such SLP using Lemma 2.50.
The last ingredient to derive Proposition 5.3 from Theorem 2.53 is an upper bound on
δ = maxi deghf1 , . . . , fi i which was given in Proposition 2.48. Let us now complete the proof of
Proposition 5.3.
n
where d = dx + dy = (`C + 1) h(g), n = nx + ny = Cg + h(g), δ = 2n dnx x dy y =
2
(2h(g))Cg+h(g) `C g . Using the inequalities nx < C g, ny < h(g), dx < h(g)`C , dy < h(g),
we get that e = Og (logq `);
(M ) (M )
2. It constructs the straight-line program representing f1 , . . . , fn with space S 0 = O(S)
and time T 0 = O(T + m n);
5.3. Computing generic `-torsion points 71
3. It applies the probabilistic Turing machine from Theorem 2.53 to compute a geometric
(M ) (M )
resolution of the algebraic set defined by f1 (X) = · · · = fn (X) = 0; By Theorem 2.53,
it returns a geometric resolution ((`1 , . . . , `n ), q(T ), (q1 (T ), . . . , qn (T ))) with probability
(M ) (M )
11/12, provided that f1 (X), . . . , fn (X) is a reduced regular sequence;
We start by showing that the output of this algorithm is indeed a geometric resolution of
n
the algebraic set V = {x ∈ Fq | f1 (x) = · · · = fm (x) = 0}, assuming that the probabilistic
(M ) (M )
algorithm in Step 3 returns the correct result and that (f1 , . . . , fn ) is a reduced regular
n (M ) (M )
sequence. Let W be the algebraic set {x ∈ Fq | f1 (x) = · · · = fm (x) = 0}. Since
(M ) (M )
hf1 , . . . , fn i ⊂ hf1 , . . . , fm i, we have V ⊂ W . By construction, the algebraic set defined
by the geometric resolution ((`1 , . . . , `n ), λ(T ), (ν1 (T ), . . . , νn (T ))) is precisely the subset of W
where all polynomials f1 , . . . , fm simultaneously vanish.
It remains to prove that this Turing machine runs within the desired complexity. Steps 1
and 2 require negligible time. Step 3 is done within space O((S 0 + n + d)δ 2 log(q e δ)) and
time O((nT
e 0 + n5 )δ(dδ + log(q e δ)) log(q e δ)) (Theorem 2.53), provided that δ is an upper bound
on the degrees of the intermediate ideals. Step 4 is done within space and time bounded by
O(δ
e e log q(T + m)) by evaluating the SLP modulo q(T ) (whose degree is bounded by δ) and
then by computing m GCD using a quasi-linear algorithm. Finally, Step 5 can be done within
time and space O(δ e e log q).
Then, Proposition 2.48 shows that δ is an upper bound on the degrees of the intermediate
ideals. Using the facts that nxd+d nx = O (`C 2 g ) and ny +dy ≤ (n +d )ny = O (1),
x
x
≤ (n x +d x ) g dy y y g
Lemma 2.50 provides bounds on S and T . Summing these complexities leads to the claimed
complexity estimate. Finally, the probability of success is bounded below by the probability that
(M ) (M )
the sequence f1 , . . . , fn is reduced and regular (Lemma 5.5) multiplied by the probability
of success of the probabilistic Turing machine in Theorem 2.53, namely 10/11 · 11/12 = 5/6.
have
x−X x−X
` ((x, y) − ∞) = δ` , ε` .
4y 2 4y 2
Let us now restate Theorem 4.13, which is proven in Section 4.2 of Chapter 4 :
The polynomial δ` (X) has degree g and its coefficients are polynomials in Fq [x] of degree
bounded by 31 g`3 +Og (`2 ). The polynomial ε` (X)/y has degree less than g and its coefficients are
rational fractions in Fq (x). The degrees of the numerators and denominators of these coefficients
are bounded by 23 g`3 + Og (`2 ). Furthermore, any root of a denominator is also a root of the
leading coefficient of δ` (X).
Remark that this result is also proven for any non-prime ` > g, it will be used in Section 5.4
where we handle non-generic situations. However, we will also need to define analogues of these
polynomials to describe `P when P is not generic. This is done in Definition 5.9 and we also
remark later on that the previous degree bounds still apply to non generic division polynomials.
Later on, we will need explicit names for these coefficients of δ` and ε` , so we define the
univariate polynomials di and ei (the notation does not show the dependence on ` for simplicity)
such that, after clearing denominators we have:
g g−1
x−X x−X ei (x) i
X X
i
δ` = di (x)X , and ε` =y X.
4y 2 i=0
4y 2 i=0
eg (x)
Definition 5.6. In what follows, we shall say that an element of J is `-generic if it has weight
g and the corresponding reduced divisor gi=1 (Pi − ∞) satisfies the following two properties:
P
• For any i, the u-coordinate of the divisor `(Pi − ∞) in Mumford form has degree g;
• For any i 6= j, the u-coordinates of the divisors `(Pi − ∞) and `(Pj − ∞) are coprime.
This implies that the Pi are distinct, and that if an affine point P occurs in the support of a
`(Pi − ∞) then neither P nor −P appears in the support of another `(Pj − ∞).
Proposition 5.7. For any ε > 0, there is a constant D such that for all prime ` > g co-
prime to the base field characteristic, there is a Monte Carlo algorithm which computes an Fqe -
geometric resolution of the sub-variety of J[`] consisting of `-generic `-torsion elements, where
e = Og (log `). The time and space complexities of this algorithm are bounded by Og (`Dg (log q)2+ε )
and it returns the correct result with probability at least 5/6.
Proof. Let D = gi=1 (Pi −∞) be an `-generic divisor in J. We shall consider a system equivalent
P
to `D = 0 but let us first introduce some notation. For each point Pi = (xi , yi ) in the support of
D, we denote by hui , vi i the Mumford form of `(Pi −∞) and by (αij , βij )1≤j≤g the coordinates of
the g points in its support counted with multiplicities, which means that for any i the g roots of
ui are exactly
the αij , and that for
any j,
βij = vi (αij ). Note that using the previous notation,
xi −X xi −X
ui (X) = δ` 4yi2
and vi (X) = ε` 4yi2
.
We have `D = 0 if and only if the sum of the divisors gi=1 `(Pi − ∞) is a principal divisor.
P
The only pole is at infinity, so this is equivalent to the existence of a non-zero function ϕ ∈ Fq (C)
of the form P (X) + Y Q(X) with P and Q two polynomials such that the g 2 points (αij , βij ) are
the zeros of ϕ, with multiplicities. Since we want ϕ to have g 2 affine points of intersection with
the curve C (once again, counted with multiplicities), the polynomial ResY (Y 2 − f, P + Y Q) =
P 2 − f Q2 must have degree g 2 which yields 2 deg(P ) ≤ g 2 and 2 deg(Q) ≤ g 2 − 2g − 1. Exactly
5.3. Computing generic `-torsion points 73
one of those two bounds is even (it depends on the parity of g), and for this particular bound, the
inequality must be an equality, otherwise the degree of the resultant would not be g 2 . Since the
function ϕ is defined up to a multiplicative constant, we can normalize it so that the polynomial
P 2 + f Q2 is monic, which is equivalent to enforce that either P or Q is monic depending on the
parity of g.
For a fixed i ∈ [1, g], requiring the (αij , βij ) to be zeros of ϕ amounts to asking for the αij
to be roots of P (X) + Q(X)vi (X), with multiplicities. Since the αij are by definition the roots
of the ui , `D = 0 is equivalent to g congruence relations P + Qvi ≡ 0 mod ui which we can
rephrase using Cantor’s polynomials:
! !
xi − X xi − X
P (X) + ε` Q(X) ≡ 0 mod δ` . (5.1)
4yi2 4yi2
Thus, for any `-generic divisor, `D = 0 is equivalent to the existence of P and Q satisfying the
above g congruence relations.
The variables are the coefficients of P and Q, as well as the xi and yi . With the degree
conditions and the normalization, we have g 2 − g variables coming from P and Q. Adding
the 2g variables xi and yi , we get a total of g 2 + g variables. Each one of the g congruence
relations (5.1) amounts to g equations providing a total of g 2 conditions on the coefficients of
P and Q. The fact that the (xi , yi ) are points of the curve yields the g additional equations
yi2 = f (xi ). Finally, we have to enforce the `-genericity of the solutions, which can be done by
requiring that i dg (xi ) i<j Res(ui , uj ) 6= 0. Therefore, we get a polynomial system with g 2 + g
Q Q
have to do at most O(g 2 ) times. Since by Theorem 4.13 the dj have degree in Og (`3 ) in xi the
fully reduced polynomial will have coefficients that are fractions for which the degrees of the
numerators and of the denominators are at most Og (`3 ) in the xi variables. In these equations,
the degree in the yi variables and in the variables for the coefficients of P and Q is 1. The
degrees in xi and yi in the curve equations are 2g + 1 and 2 respectively.
It remains to study the degree of the inequality. Each resultant is the determinant of a
2g × 2g Sylvester matrix whose coefficients are the di , which have degrees bounded by Og (`3 ).
Since for any i there are exactly g resultants involving xi in the product, the degree of this
inequality in any xi is in Og (`3 ), and it does not involve the other variables. In order to be able
to use Proposition 5.3, we must model this inequality by an equation, which is done classically
by introducing a new variable T and by using the equation T · i dg (xi ) i<j Res(ui , uj ) = 1.
Q Q
To conclude, we have a polynomial system with two blocks of variables: the 2g variables xi
and yi and the g 2 − g variables coming from the coefficients of P and Q. The degree of the
equations in the first block of variables grows cubically in `, while the degree in the other block
of variables depends only on g. The system therefore verifies the conditions of Proposition 5.3
and the complexity follows, provided that we can show that the system is 0-dimensional and
radical.
Let us consider the sub-variety S ⊂ J[`] consisting of `-generic `-torsion elements, and I
the corresponding ideal. More precisely, we see I as the ideal of a sub-scheme of the `-torsion
74 Chapter 5. Asymptotic complexity bounds in arbitrary genus
scheme, which is the kernel of a finite and étale map because ` is coprime to the characteristic.
Therefore I is 0-dimensional and radical. Since all the elements in S have the same weight g
we can use the Mumford coordinates hu(X), v(X)i with deg u = g and deg v < g − 1 as a
local system of coordinates to represent them. But the polynomial system that we have built
is with the (xi , yi ) coordinates, that is, it generates the ideal I unsym obtained by adjoining to
the equations defining I the 2g equations coming from u(X) = (X − xi ) and yi = v(xi ).
Q
Then we have deg I unsym = g! deg I. By the `-genericity condition, all the fibers in the variety
have exactly g! distinct points corresponding to permuting the (xi , yi ) which are all distinct.
Therefore the radicality of I implies the radicality of I unsym and we can apply Proposition 5.3
to our polynomial system.
We emphasize that, although the algorithm in Proposition 5.7 is Monte Carlo, we expect
that it returns a correct and verifiable result in most of the cases. Indeed, if all the `2g − 1
nonzero `-torsion elements are `-generic (which is the situation that we expect to happen in
most of the cases) and if the algorithm returns the correct result, then we can check that these
elements are indeed `-torsion elements, and that we have all of them. In that favorable case,
the proof of Proposition 5.2 is completed.
For most of the curves, we expect that for all the primes ` considered in Algorithm 6 the set
J[`] contains only `-generic elements (apart from 0), so that the result of the previous section
is sufficient. If this is not the case, then it is very likely that the orbit under the Frobenius
endomorphism of the `-torsion elements computed contains an F` -basis of J[`], so that we can
easily recover the missing elements using the group law or the Frobenius. Still, unless we
could prove otherwise, we can not exclude the case where the set of `-generic `-torsion elements
generate a proper subgroup of J[`] which is stable under the action of ϕ. In that unlikely case,
we would maybe not be able to deduce χ` . An option is then to skip this unlucky ` and proceed
with the algorithm; this would only marginally increase the largest considered `. But then, we
would be left to prove that the number of unlucky `’s is small enough, which seems as hard.
Our only remaining option is to perform a tedious, systematic study of all the non-generic
cases and to show that they can all be modelled by polynomial systems that can be solved within
the target complexity. The number of these systems must also be bounded independently of `,
so that with our setting where g is fixed and q grows to infinity the global complexity remains
the same. All this is the purpose of Subsection 5.4.2. As a warm-up, we will first describe
some simple degeneracy cases and, informally, how to deal with them. Since several causes of
non-genericity may simultaneously appear, we then describe a data structure to encode all the
possible non-generic cases. Then, we detail how to build a polynomial system modelling each of
these cases. Note that all these systems will have more equations (O(g 4 ), see Table 5.2) than
variables (O(g 2 ), see Table 5.1), which is no wonder since we expect them to have no solution
in general.
Lastly, we point out that Subsections 5.4.1 and 5.4.2 can easily be skipped at first reading
as it is only devoted to proving the main theorem of the chapter and will not be used in other
chapters or sections of this thesis.
5.4. Non-generic cases 75
Case 1: Low weight `-torsion elements. In order to compute the `-torsion elements that
satisfy all the conditions of `-genericity except that their weight is less than g, we can proceed as
in the proof of Proposition 5.7 with the following modifications. This time, D = w i=1 (Pi − ∞),
P
and the only difference is that there are w points instead of g. Following the same method, we
search ϕ of the form P (X) + Y Q(X) such that the points in the reduced divisor `(Pi − ∞) are
exactly the zeros of ϕ. We now want ϕ to have gw points of intersection with C instead of g 2 , and
we similarly deduce 2 deg(P ) ≤ gw and 2 deg(Q) ≤ gw − 2g − 1. By similar parity considerations
we deduce that exactly one of these bounds is even, and the corresponding polynomial will be
made monic to normalize the function. The number of variables from P and Q is thus gw − g,
and after adding the 2w variables xi and yi , we have a total of (g + 1)w + w − g variables.
As for the number of equations, the number of congruence relations is now w but the relations
themselves remain unchanged, and we get a total of (g + 1)w equations after adding the w
equations yi2 = f (xi ). Since we keep the degrees unchanged but reduce the number of variables,
the complexity bounds are still valid in this case.
Case 2: Multiple points in the `-torsion divisor. It may happen that the reduced forms
of `-torsion divisors contain multiple points. In that case, the u-coordinate in the Mumford
representation of such a point is not squarefree. Although the modelling by the polynomial
system described in Section 5.3 is still faithful, such multiple points will induce multiplicities since
what we actually compute is the variety describing the points in the reduced divisor. Therefore,
the ideal generated by the polynomial system is not radical in this case. We use the following
workaround: For λ = (λ1 , . . . , λk ) a partition of w, we write a polynomial system generating a
radical ideal whose solutions represent the reduced divisors of the form D = λ1 P1 + · · · + λk Pk −
w ∞. To build this polynomial system, we do as if we were looking for elements of weight k, but
instead of multiplying Pi by `, we multiply it by λi `, using Cantor’s polynomials δλi ` and ελi ` .
This system has the same number of variables and equations as if we were looking for elements
of weight k. Since λi is bounded above by g, the degrees of the equations are multiplied by a
quantity which depends only on g but not on `. Consequently, the complexity bounds are still
valid in this case. To avoid multiplicity problems that could arise from subpartitions of λ, we
add the inequalities xi 6= xj for i 6= j, where xi is the x-coordinate of Pi . Again, this does not
change our complexity estimate.
Case 3: Low weight after multiplication by `. We study here the case where the `-
genericity property that is not verified is that the `(Pi − ∞) are of weight g, all the others being
satisfied. We denote by wi ≤ g the weight of `(Pi − ∞). Then each ui will have degree wi , so
that each congruence relation (5.1) yields only wi equations instead of g. In Cantor’s article (on
top of page 141 in [28]), it is stated that ` · (Pi − ∞) is of weight wi if and only if for any k
such that wi < k ≤ g we have ψ`−k+wi +1 (xi ) = 0 and ψ`−g+wi (xi ) 6= 0, where the polynomials
ψi are efficiently computable and of degrees bounded by Og (`2 ). Therefore the total number
P
of equations is unchanged. Since the function ϕ will have to vanish at i wi points instead of
g 2 , we also reduce the degree of P and Q accordingly. The number of variables from P and Q
thus becomes i wi − g which is smaller than in the generic case, while the number of equations
P
remains the same, and their degrees are also smaller. Thus we can still describe this non-generic
situation with systems that can be handled within the same complexity bounds.
76 Chapter 5. Asymptotic complexity bounds in arbitrary genus
Case 4: Non semi-reduced principal divisor. We now consider the case where the `-
genericity property fails due to the presence of a point of abscissa ξ which appears with positive
multiplicity νi in an `(Pi − ∞) and with a negative multiplicity −νj in another `(Pj − ∞). Let
ν = min(νi , νj ). This event implies that (X − ξ)ν divides both P and Q so that we can write
ϕ(X, Y ) = (X − ξ)ν (Pe (X) + Y Q(X)),
e with Pe coprime to Q.e The number of variables coming
from ϕ is reduced compared to the generic case: we add one (the variable ξ), but the number of
coefficients in Pe is reduced by ν compared to P , and the same is true for Q
e and Q. To write the
conditions on ϕ, we write the congruences exactly like in the generic case and we add conditions
to ensure that the multiplicities are respected. Namely, ui , uj and vi + vj must all be divisible
by (X − ξ)ν , which adds 3ν ≤ 3g equations. The degree in ξ in these equations is bounded by
g 2 . Since this does not depend on `, the complexity result is maintained. The general study
will cover the case where there are several ξ’s at which the semi-reduction genericity assumption
fails. Also, there is no reason why such a root ξ should occur in only two of the `(Pi − ∞)’s.
Such a situation will be also taken into account in Section 5.4.2.
Case 5: Multiplicity in `D. The last situation that could lead to not satisfying `-genericity
is when the same point is shared within different `(Pi − ∞), which causes some trouble as the
congruence relations of the generic case will not be able to handle the subsequent multiplicity.
Note that if the multiplicity occurs only within a single `(Pi − ∞) this is already dealt within the
generic case. One can view our method as using the Chinese remainder theorem on the modular
conditions (5.1) to see that multiplicities within a single congruence is handled whereas common
factors within different ui -polynomials are an obstacle that needs special strategies. There is
some similarities with the previous case that also implies a common factor between two different
ui ’s.
We devise the following workaround: instead of considering the congruences modulo the
ui ’s separately, we group them into a single congruence of the form P + QV ≡ 0 mod U , with
U = i ui and V a polynomial whose coefficients shall be new variables such that V ≡ vi mod ui
Q
for all i. Note that if some non semi-reduced case occurs simultaneously, U must actually be
divided by the aforementioned X − ξ; such situations will be dealt with later, in the general
study (Section 5.4.2). In order for V to encode enough information and ensure that the condition
P + QV ≡ 0 mod U enforces a function with exactly the correct principal divisor, we have to
follow Mumford’s representation and add the condition U |V 2 −f , with deg V < deg U . Together
with the other conditions on U and V , we then have existence and unicity (up to a constant
factor): they are the result of Cantor’s composition algorithm.
In order to write the polynomial system modelling this situation, some care must be taken
so as to stay within the scope of Proposition 5.3. The polynomial U is of degree g 2 and its
coefficients are polynomials in the xi ’s of degrees bounded by Og (`3 ). New variables are added
for the coordinates of V . For each i, the condition V ≡ vi mod ui is converted in O(g) equations,
with degrees Og (`3 ) in xi and 1 in the coordinates of V . The condition U |V 2 − f contributes
to O(g 2 ) additional equations, each of them of degree 2 in the coordinates of V , and degree
Og (`3 ) in the coordinates xi . And finally, the equation P + QV ≡ 0 mod U , contributes also
to O(g 2 ) equations, each of them of degree 1 in the coordinates of V , P and Q, and of degree
Og (`3 ) in the coordinates xi . Skipping the details, we can again apply Proposition 5.3 and get
the expected complexity.
5.4. Non-generic cases 77
represent the weights of the Pi after multiplication by λi ` as in case 3: For i in [1, k], the reduced
divisor λi `(Pi − ∞) is of weight ti . Then, we need to consider how many common or opposite
points these divisors are in their support to take into account the cases 4 and 5. We denote by
Q1 , . . . , Qs the points in the union of the supports of all the reduced divisors λi `(Pi −∞), keeping
only one point in each orbit under the hyperelliptic involution. We represent the non-genericity
by a k × s matrix M such that its non-zero entries mij satisfy mij = ordQj (λi `(Pi − ∞)) when
Qj is in the support of λi `(Pi − ∞) or mij = − ordQ0j (λi `(Pi − ∞)) when the hyperelliptic
conjugate Q0j of Qj is in the support. Note that this matrix, that we shall call the matrix of
shared points, represents both multiplicities and non-semi-reduction. Since the row i represents
what happens with points in the support of λi `(Pi − ∞), which is of weight ti , the sum of the
absolute values of the entries of the row i of M is equal to ti .
Also, by construction, in each column, there is at least one non-zero entry. An additional
complication arises when one of the Pi is a ramification point, i.e. when its y-coordinate is
zero, because this would cause multiplicities if care is not taken, leading to non-radicality of the
polynomial system we build. Since this corresponds to Pi − ∞ being of order 2, the weight ti is
equal to λi ` mod 2, namely 0 or 1. If ti = 0, then the divisor D − λi (Pi − ∞) is also an `-torsion
divisor of weight w − λi , so that we can reconstruct D from another polynomial system. There
is however no obvious way to preclude the possibility ti = 1. Therefore, we will encode the fact
that Pi is a ramification point by a bit i that can be set only in the cases where ti = 1 and
λi = 1.
A tuple (w, λ = (λ1 , . . . , λk ), t = (t1 , . . . , tk ), = (1 , . . . , k ), M ) is from now on the piece of
data with which we represent a non-generic situation, and a polynomial system will be associated
to each tuple. Changing the order of the columns of M amounts to permuting the points Qj .
Also, changing the sign of all the entries of a column j corresponds to taking the opposite of the
point Qj . While it would not change the final complexity not to do so, it therefore makes sense to
consider only normalized tuples, in the sense that the columns of M are sorted in lexicographical
order, and the choice between a point Qj and its opposite is done so that the sum of all elements
in the corresponding column is nonnegative. We remark that this is not enough to guarantee
that two normalized tuples do not describe similar situations. For instance, if λ = (1, . . . , 1)
and two ti values are equal, then permuting the two corresponding rows could lead to another
normalized matrix that would describe the same situation. This is not a problem for the general
algorithm: we might get the same `-torsion elements from two different systems, but what is
important to us is non-multiplicity (i.e. radicality of the ideal) in each individual system.
• For all 1 ≤ i ≤ k, the sum of the absolute values of the entries on the row i is equal to ti ;
• The sum of the rows of the matrix is a vector whose coordinates are nonnegative.
From the discussion above, any `-torsion element is described by (at least) one normalized
non-genericity tuple. In the following we will give a polynomial system for each normalized
non-genericity tuple, so that all `-torsion elements described by it are modelled by this system.
Furthermore, the system will have the properties required to apply Proposition 5.3, so that the
complexity result will follow.
Before starting this, we discuss briefly a bound on the number of normalized non-genericity
tuples. Assuming everything is always of maximal size, and not sorted, we have g choices for
2
w, then at most g g choices for λ and t, at most 2g choices for , and finally at most (g 2g+1 )g
3
choices for M , which gives g O(g ) . As bad as
it is, such a factor that depends only on g will not
hinder the final complexity estimate in Og (log q)O(g) , as explained in Section 5.1.
This is a (possibly empty) variety of dimension 0 that can be described with the classical (generic)
division polynomials of Cantor: we define
so that V`,t is precisely the set of points (x, y) for which ∆`,t (x) = 0 and ψ`−g+t (x) 6= 0, as stated
by Cantor in [28] on page 141. The polynomial ψ` is essentially the square root of the leading
coefficient of δ` . It can be computed efficiently and has degree in Og (`2 ) by Theorem 8.17 of [28].
To avoid multiplicities, we define ∆ ˜ `,t (x) the square-free polynomial whose roots are exactly the
roots of ∆`,t (x) that are not roots of ψ`−g+t (x). The degree of ∆ ˜ `,t (x) is again bounded by
2
Og (` ). Furthermore since the points of V`,t come in pairs of conjugate points sharing the same
x-value, the degree of V`,t is 2 deg ∆ ˜ `,t (x).
Definition 5.9. The non-generic division polynomials u`,t and v`,t are the polynomials in X
˜ `,t (x), y 2 − f (x)) such that
with coefficients in Fp [x, y]/(∆
D E
` · ((x, y) − ∞) = u`,t (X), v`,t (X) ,
in weight-t Mumford representation: u`,t (X) is monic of degree t, v`,t (X) is of degree at most
t − 1 and they satisfy u`,t | v2`,t − f .
5.4. Non-generic cases 79
Just like for the classical division polynomials, the coefficients of u`,t (X) and of y1 v`,t (X)
˜ `,t (x) (they do not depend on y) and we can choose representatives of them that
are in Fp [x]/∆
are polynomials of degree less than deg ∆ ˜ `,t (x). Hence, the bounds given in Theorem 4.13 are
also valid for the non-generic division polynomials; and since there are no denominators in the
coefficients of v`,t (X), the other part of Theorem 4.13 also holds trivially.
The non-generic division polynomials can be computed efficiently, once the classical division
polynomials are known: the polynomial ∆ ˜ `,t (x) can be easily deduced, and then working in the
quotient algebra yields the result in a time O e g (`2 ), which is negligible compared to the other
parts of the algorithm.
for the coordinates (xi , yi ) of all the points Pi . Since these points are on the curve, they satisfy
yi2 = f (xi ), however if Pi is a ramification point this can be simplified into yi = 0 = f (xi ), which
avoids the multiplicities. We get a first set of equations
(
yi2 = f (xi ) 6= 0, for all i in [1, k] such that i = 0,
(Sys.1)
yi = f (xi ) = 0, for all i in [1, k] such that i = 1.
As we just discussed, we must model the fact that Pi 6= ±Pj for i 6= j. This is done via the
following set of inequalities:
The next step is to enforce the fact that the element λi `(Pi − ∞) is of weight ti . For the
indices for which ti < g, this is encoded by the equation defining Vλi `,ti :
(
˜ λ `,t (xi ) = 0,
∆ i i
for all i in [1, k] such that ti < g, (Sys.3)
dti (xi ) 6= 0,
while for the indices for which ti = g, this is encoded by the non-vanishing of the leading
coefficient of the Cantor polynomial in degree λi `:
We now need to model the fact that the λi `(Pi − ∞) satisfy the conditions given by the
matrix M . We write λi `(Pi − ∞) = hui (X), vi (X)i in Mumford representation, where ui (X)
and vi (X) are Cantor’s classical division polynomials in degree λi ` if ti = g or the non-generic
division polynomials uλi `,ti and vλi `,ti , if ti < g. In both cases, these are polynomials in X
whose coefficients are polynomials in xi and yi . Recall that the entries of M , denoted by
(mij )i∈[1,k],j∈[1,s] , are such that mij is the order of Qj in λi `(Pi − ∞) if it is positive, or the
opposite of the order of Q0j if it is negative. To this effect, we introduce s new variables ξj for
80 Chapter 5. Asymptotic complexity bounds in arbitrary genus
the abscissae of the Qj , and the following equations enforce the multiplicities:
(n)
ui (ξj ) = 0, for all i, j in [1, k] × [1, s] and for all n ≤ |mij | − 1 (Sys.5)
(|m |)
ui ij (ξj ) 6= 0, for all i, j in [1, k] × [1, s] (Sys.6)
0
vi (ξj ) − vi0 (ξj ) = 0, for all i, i , j such that mij mi0 j > 0 (Sys.7)
0
vi (ξj ) + vi0 (ξj ) = 0, for all i, i , j such that mij mi0 j < 0 (Sys.8)
0
ξj 6= ξj 0 , for all j 6= j . (Sys.9)
(n)
In Equations Sys.5 and Sys.6, the notation ui is for the n-th derivative of ui . This simple way
of describing multiple roots is valid because the characteristic is large enough.
The next step of the construction is to consider a semi-reduced version of the divisor `D =
Pk
i=1 λi `(Pi − ∞). This semi-reduction process can be described directly on the matrix M : if
two entries in a same column have opposite signs, a semi-reduction can occur (corresponding to
subtracting the principal divisor of the function (x − ξj )), thus reducing the difference between
these entries. This semi-reduction can continue until one of these two entries reaches zero. This
whole process can be repeated as long as there are still columns containing entries with opposite
signs. This is formalized in Algorithm 7, which takes as input a matrix M and returns a matrix
M
f with the same dimensions such that if M describes all the multiplicities in a divisor, then M f
describes all the multiplicities of a semi-reduced divisor equivalent to the input divisor. More
precisely, the matrix Mf satisfies the following properties: (1) In each column, all elements are
nonnegative; (2) The sum of the rows of M equals the sum of the rows of M f; (3) For all i, j
such that Mi,j is nonnegative, Mij ≤ Mij .
f
for i from 1 to k do
if Mij > 0 then
fij ← min(Mij , µj )
M
µj ← µj − M
fij
else
fij ← 0
M
end
end
end
return M f
Algorithm 7: Reducing the matrix of shared points
The function ϕ that we will use to model the principality of the divisor `D will have two
parts: a product of “vertical lines” corresponding to semi-reductions, and a part of the form
P (X)+Y Q(X), where P and Q are coprime. Modelling the existence of this second part requires
to introduce new entities u
ei that are the ui polynomials from which we remove the linear factors
coming from semi-reduction as described by M f. Formally, we have the following equations,
5.4. Non-generic cases 81
defining u
ei :
s
(X − ξj )|mij |−m
Y
ui (X) = u
ei (X) e ij , for all i ∈ [1, k]. (Sys.10)
j=1
Indeed, by definition of the matrix M , the factor (X − ξj )|mij | divides exactly ui (X), and the
factor (X − ξj )me ij divides exactly u
ei (X). In order to express these conditions efficiently in the
polynomial system, we introduce new variables for the coefficients of the u ei polynomials.
Since we are now dealing with a semi-reduced divisor, we can consider its Mumford repre-
sentation, i.e. two polynomials U and V with the following properties:
k
Y
U= u
ei , U |V 2 − f, (Sys.11)
i=1
V ≡ vi mod u
ei , for all i ∈ [1, k]. (Sys.12)
The expression of U is simple enough, so we do not have to introduce new variables for its
coefficients. However, this will be necessary for the coefficients of the V polynomial. Finally, in
order to impose that the semi-reduced part of ϕ has exactly the zeros described by this divisor,
we have the equation
P + QV ≡ 0 mod U, (Sys.13)
which is expressed with new variables for the coefficients of P and Q.
In Table 5.1, we summarize all the variables used in the polynomial system and count them.
A key quantity for this count is the degree of U which is the sum of the degrees of the u ei ’s. It
can be computed directly from the tuple (w, λ, t, , M ). Then, to ensure existence and unicity of
the V polynomial to represent the semi-reduced divisor, we have to impose that deg V < deg U ,
so that we have exactly deg U variables for the coefficients of V . For the polynomials P and Q,
we need the degree of P 2 − Q2 f to be exactly deg U . After a normalization like in Section 5.3
depending on the parity of deg U , we get deg U − g variables for their coefficients.
Table 5.1: Summary of the variables in the polynomial system corresponding to a normalized
non-genericity tuple (w, λ, t, , M ).
In order to apply Proposition 5.3, we need to evaluate the degrees of all the equations and
inequalities that we have listed, with respect to two groups of variables: The first group contains
just the variables xi and yi , and we will denote deg1 (f ) the degree of a polynomial f with respect
to those variables (said otherwise, deg1 (f ) is the degree of f if we consider only the symbols
xi , yi as variables, and all the other indeterminates are considered as parameters). The second
group of variables contains all the other indeterminates and the degree with respect to this group
is denoted by deg2 .
The crucial point is to ensure that each polynomial equation has a deg1 bounded by Og (`3 ),
while deg2 is bounded by Og (1). For the inequalities, we require the same degree conditions:
82 Chapter 5. Asymptotic complexity bounds in arbitrary genus
Table 5.2: Summary of the degrees of the equations in the polynomial system corresponding to
a normalized non-genericity tuple (w, λ, t, , M ).
Finally, since we have been very careful in describing elements that are `-torsion points on J,
without room for parasite solutions or multiplicities, we can again appeal to the finite and étale
property of multiplication by ` in J to deduce that the system is 0-dimensional and radical.
Therefore, by Proposition 5.3, each system can be solved in the claimed complexity bound.
To conclude the proof of Proposition 5.2, and hence of our main result, we need a few more
observations.
First, notice that the solutions of our polynomial systems can be grouped by weight of the
`-torsion divisor: once geometric resolutions of two 0-dimensional sets V1 and V2 are known, a
geometric resolution of V1 ∪V2 can be computed very efficiently. The strategy to do so is to change
the primitive element of the geometric resolutions for a random element, so that both resolution
share the same primitive element. This can done within complexity linear in the number of
variables and polynomial in deg(V1 ∪ V2 ) using Algorithm 6 in [64]. Then, computing the LCM
of the univariate polynomials of the geometric resolutions and interpolating the parametrization
provides a geometric resolution of V1 ∪ V2 . Using this procedure for regrouping the solutions
of all the systems derived from the non-degeneracy tuples with the same weight w provides
geometric solutions of Jw [`] within the claimed complexity.
Finally, we need to transform the Monte Carlo algorithm from Proposition 5.3 in a Las Vegas
algorithm. This can be easily achieved since the probability that the Monte Carlo algorithm
succeeds is bounded below by a quantity which does not depend on the input size, and the output
5.4. Non-generic cases 83
can be verified since we know that the sum of the degrees of the varieties Jw [`] for w ∈ [1, g] must
equal `2g −1. Consequently, once all polynomial systems corresponding to non-generic situations
have been solved, it is easy to count the number of `-torsion elements found and to check that
none of them is missing by comparing their number with the theoretical value `2g − 1. The
Las Vegas algorithm consists in repeating the Monte Carlo algorithm until the result is verified
and is correct (i.e. all elements found are `-torsion elements and none of them is missing). The
expected complexity of the Las Vegas variant equals the complexity of the Monte Carlo variant
up to multiplication by a constant. This concludes the proof of Proposition 5.2.
84 Chapter 5. Asymptotic complexity bounds in arbitrary genus
Chapter 6
Contrary to p-adic methods that have been adapted to any genus, implementations of `-adic
point-counting algorithms were limited to genus 1 and 2, probably because of the lack of cryp-
tographic applications of genus-3 curves but also because such an algorithm would very likely
have a prohibitive complexity that would impede any practical attempt. In fact, the complexity
of a genus-3 analogue of Schoof’s algorithm is subject to speculations as mentioned in [70] with
12
an estimation in O(log
e q) that is prohibitive indeed. However, as in genus 2, we may try to
find easier instances and in particular consider the RM case.
The aim of this chapter is thus to show — both with theoretical proofs and practical experi-
ments — that the complexity of `-adic methods for genus-3 hyperelliptic curves can be dramati-
cally decreased as soon as an explicitly computable non-integer endomorphism η ∈ End(Jac(C))
is known. More precisely, we consider C a genus-3 hyperelliptic curve with explicit RM by Z[η]
in the sense of Definition 3.3. This means that we have explicit formulas describing η(P − P∞ )
(u)
for P a generic point of C. By explicit formulas, we mean polynomials (ηi (x, y))i∈{0,1,2,3} and
(v)
(ηi (x, y))i∈{0,1,2,3} in Fq [x, y], such that, when C is given in odd-degree Weierstrass form, the
DP E
3 (u) iP 2 (v) (v) i
Mumford coordinates of η(x, y) are i=0 ηi (x, y)X , i=0 ηi (x, y)/η3 (x, y) X , where
(x, y) is the generic point of the curve. In cases where C does not have an odd-degree Weier-
strass model, we can work in an extension of degree at most 8 of the base field in order to ensure
the existence of a rational Weierstrass point.
Examples of curves with RM are given by modular curves. For instance, the genus-3 curve
y 2 = x7 + 3x6 + 2x5 − x4 − 2x3 − 2x2 − x − 1 is a quotient of X0 (284) and therefore has real
multiplication by an element of Q[x]/(x3 − 3x − 1). This follows from the properties of the Hecke
operators as explained in [130, Chapter 7]. Based on this theory, algorithms for constructing such
curves are explained in [50]; however the explicit expression for the real endomorphism is not
given. We expect that tracking the Hecke correspondences along their construction, and using
techniques like in [144] to reconstruct the rational fractions describing the real endomorphism
could solve this question. In any case, these are only isolated points in the moduli space.
Larger families are obtained from cyclotomic covering. This line of research has produced several
families of hyperelliptic genus-3 curves having explicit RM by Z[2 cos(2π/7)]. In particular, such
explicit families are given in [101] and [138], and explicit formulas for their RM endomorphism
are obtained in [87]. We use the 1-dimensional family of curves from [138, Theorem 1 with
p = 7] for our experiments. Other families of genus-3 curves (but not necessarily hyperelliptic)
85
86 Chapter 6. The case of genus-3 hyperelliptic curves with RM
with RM have been made explicit in [23, Chapter 2], following [43]. We would like to point out
that within the moduli space of complex polarized abelian varieties of dimension 3, those with
RM by a fixed order in a cubic field form a moduli space of codimension 3 [19, Sec. 9.2]. Since
Jacobians of hyperelliptic curves form a codimension 1 space, we would expect the moduli space
of hyperelliptic curves of genus 3 with RM by a given cubic order to have dimension 2.
We insist on the fact that all the O() and the O()e notation used throughout the chapter
should be understood up to a multiplicative constant which may depend on the ring Z[η] and
(u) (v)
on the degrees of the polynomials ηi and ηi . There are natural families of curves for which
these degrees are bounded by an absolute constant and for which Z[η] is fixed: reductions at
primes (of good reduction) of a hyperelliptic curve with explicit RM defined over a number field.
Most of this chapter is joint work with Pierrick Gaudry and Pierre-Jean Spaenlehauer and is to
appear as [2].
Organization of the chapter. In Section 6.1 we give an overview of both our algorithm and
its complexity. The main task is the computation of kernels of some endomorphisms detailed
in Section 6.3. This is achieved by solving a polynomial system using resultants. Section 6.4
is devoted to implementation of the algorithm using Gröbner bases instead of resultants and
ending with an exponential collision search which can be run massively in parallel. Indeed,
although using Gröbner bases seems to be more efficient in practice, we do not see any hope of
proving with rigorous arguments that it is asymptotically competitive.
√
In Section 6.2.1, it is shown that the coefficients a, b and c can be bounded in O( q). More
precisely, we denote by Cabc a constant that depends only on η such that their absolute values
√
are bounded by Cabc q. Since these bounds are much smaller than the bounds for σ1 , σ2 , σ3 ,
it makes sense to design an algorithm that reconstruct these coefficients of ψ instead of the
coefficients of χπ as in the classical Schoof algorithm, and this is what we are going to do later
on.
Another important bound that we need concerns the size of small elements that can be
found in ideals of Z[η]. Let ` be a prime that splits completely in Z[η], so that we can write
` = p1 p2 p3 , where the pi ’s are distinct prime ideals of norm `. In Section 6.2.2, it is shown that
each pi contains a non-zero element αi = ai + bi η + ci η 2 , where ai , bi and ci are integers and are
bounded in absolute value by O(`1/3 ).
Since ` is a prime and Di is of order exactly `, this is also the case for π(Di ). Finding ki can then
be seen as a discrete logarithm problem in the subgroup of order ` generated by π(Di ); hence
the solution is unique. Equating the two expressions for ψ, we get explicit relations between a,
b, c modulo `:
a + bλi + cλ2i ≡ ki mod `.
Therefore we have a linear system of three equations in three unknowns, the determinant of
which is the Vandermonde determinant of the λi , which are distinct by hypothesis. Hence the
system can be solved and it has a unique solution modulo `.
It remains to show how to construct a divisor Di in Gi , i.e. an element of order ` in the
kernel J[αi ]. Since an explicit expression of η as an endomorphism of the Jacobian of C is known,
an explicit expression can be deduced for αi , using the explicit group law. The coordinates of
the elements of this kernel are solutions of a polynomial system that can be directly derived
from this expression of αi . Using standard techniques, it is possible to find the solutions of this
88 Chapter 6. The case of genus-3 hyperelliptic curves with RM
input : q an odd prime power, and f ∈ Fq [X] a monic squarefree polynomial of degree
7 such that the curve Y 2 = f (X) has explicit RM by Z[η].
output: The characteristic polynomial χπ ∈ Z[T ] of the Frobenius endomorphism on
the Jacobian J of the curve.
R ← 1;
√
while R ≤ 2 ∆ Cabc q + 1 do
Pick the next prime ` that satisfies conditions (C1) to (C4);
Compute the ideal decomposition ` Z[η] = p1 p2 p3 , corresponding to the eigenvalues
λ1 , λ2 , λ3 of η in J[`] ;
for i ← 1 to 3 do
Compute a small element αi of pi as in Lemma 6.2;
Compute a non-zero element Di of order ` in J[αi ] ;
Find the unique ki ∈ Z /` Z such that ki π(Di ) = π 2 (Di ) + qDi ;
end
Find the unique triple (a, b, c) in (Z /` Z)3 such that a + bλi + cλ2i = ki , for i in
{1, 2, 3} ;
R ← R · `;
end
Reconstruct (a, b, c) using the Chinese Remainder Theorem ;
Deduce χπ from Equations (6.1).
Algorithm 8: Overview of our genus-3 RM point-counting algorithm
system, perhaps in a finite extension of the base field (of degree bounded by the degree of the
ideal generated by the system, i.e. in O(`2 )), from which divisors in J[αi ] can be constructed.
Multiplying by the appropriate cofactor, we can reach all the elements of Gi ; but we stop as
soon as we get a non-trivial one.
We summarize the conditions that must be satisfied by the primes ` that we work with:
(C1) ` must be different from the characteristic of the base field;
(C3) there must exist αi ∈ pi as in Lemma 6.2 with norm non-divisible by `3 for i ∈ {1, 2, 3};
The bottleneck of the algorithm is the computation of a non-zero element of order ` in the
kernel J[αi ] of αi . This part will be treated in detail in Section 6.3, where it is shown to be
e 4 ) operations in Fq . The output is a divisor Di of order ` in J[αi ] that is defined
feasible in O(`
over an extension field Fqδ , where δ is in O(`2 ).
In order to check Equation (6.2), we first need to compute π(Di ) and π 2 (Di ) which amounts
e 2 log q) operations in Fq . Then,
to raising the coordinates to the q-th power. The cost is in O(`
each Jacobian operation e 2 ) operations in the base field,
in the group generated by π(Di ) costs O(`
√
and we need O( `) of them to solve the discrete logarithm problem √ given by Equation (6.2).
e 2 ( ` + log q)) operations in Fq .
The overall cost of finding ki , once Di is known is therefore O(`
e 2 (`2 + log q)) operations in the base
Finally, the amount of work performed for each ` is O(`
field Fq . Summing up for all the primes, and taking into account the cost of the operations in
Fq , we obtain a global bit-complexity of O((log
e q)6 ).
where D(µ0 , µ1 , µ2 ) = −27 µ20 + 18 µ0 µ1 µ2 − 4 µ0 µ32 − 4 µ31 + µ21 µ22 is the discriminant of the
polynomial T 3 + µ2 T 2 + µ1 T + µ0 .
By computing Gröbner bases for other lexicographical orderings (with a > c > b > σ1 >
σ2 > σ3 > µ0 > µ1 > µ2 > q and b > c > a > σ1 > σ2 > σ3 > µ0 > µ1 > µ2 > q respectively),
we obtain that polynomials of the following form also belong to the ideal generated by the
polynomials in the system of equations (6.1):
P5 (i)
Ψb (q, b, σ1 , σ2 , σ3 , µ0 , µ1 , µ2 ) = D(µ0 , µ1 , µ2 )3 b6 + i=0 ψb (q, σ1 , σ2 , σ3 , µ0 , µ1 , µ2 ) bi ,
5 (i)
Ψa (q, a, σ1 , σ2 , σ3 , µ0 , µ1 , µ2 ) = D(µ0 , µ1 , µ2 )3 a6 + i=0 ψa (q, σ1 , σ2 , σ3 , µ0 , µ1 , µ2 ) ai .
P
Lemma 6.1. The absolute values of the coefficients a, b, c of ψ = a + bη + cη 2 are bounded above
by O(q 1/2 ).
Weil’s bounds imply that |σei | = O(1) for i ∈ {1, 2, 3}. Therefore, for all i ∈ {0, . . . , 5}, we obtain
(i)
that |θc (σf1 , σ f3 , µ0 , µ1 , µ2 )| = O(1). For fixed µ0 , µ1 , µ2 ∈ Q such that µ0 + µ1 T + µ2 T 2 + T 3
f2 , σ
90 Chapter 6. The case of genus-3 hyperelliptic curves with RM
is the minimal polynomial of a totally real algebraic number, the discriminant D(µ0 , µ1 , µ2 )
must be nonzero. Equations Ψc = 0 and (6.3) imply the following inequality:
5 (i)
X |θc (σf1 , σ
f2 , σ
f3 , µ0 , µ1 , µ2 )|
|ce|6 − |ce|i ≤ 0.
i=0
|D(µ0 , µ1 , µ2 )|3
Then |ce| must be smaller or equal to the largest root of this polynomial inequality, which can
itself be bounded, for instance, with Cauchy’s bound
( (i) )
|θc (σ
f1 , σ
f2 , σ
f3 , µ0 , µ1 , µ2 )|
|ce| ≤ 1 + max ,
0≤i≤5 |D(µ0 , µ1 , µ2 )|3
which shows that |ce| = O(1), and hence |c| = O(q 1/2 ). The proof for the bounds on |a| and |b|
are similar, using the equations Ψa = 0 and Ψb = 0.
For any given η, it is not difficult to make the constants in the O() fully explicit. We do
it in the particular case of Z[η7 ], with η7 = 2 cos(2π/7), which is the RM used in our practical
experiments. Since Z[η7 ] is a principal ring, a more direct approach leads to bounds for a
generator that are tighter than what would be obtained by a naive application of the previous
lemma.
Lemma 6.3. Every ideal pi of norm ` in Z[η7 ] has a generator αi of the form ai + bi η7 + ci η72 ,
where ai , bi , ci ∈ Z satisfy
|ai | < 2.415 · `1/3 ; |bi | < 1.850 · `1/3 ; |ci | < 1.764 · `1/3 .
Proof. By abuse of notation, we identify Q(η7 ) with the algebraic number field Q[X]/(X 3 +X 2 −
2X − 1) and we let σ1 , σ2 , σ3 be the three real embeddings of Q(η7 ) in R and let 1 = 1 − η72
and 2 = 1 + η7 be a pair of fundamental units. Let µi be a generator of pi . The logarithmic
embedding ϕ : x 7→ (log|σ1 (x)|, log|σ2 (x)|, log|σ3 (x)|) sends the set of generators of pi to the
lattice generated by ϕ(1 ) and ϕ(2 ) translated by ϕ(µi ). Solving a CVP for the projection
of ϕ(µi ) on the plane where the 3 coordinates sum-up to zero, we deduce a unit ξi such that
αi = ξi µi is a generator whose real embeddings are bounded by
|σ1 (αi )| ≤ 2.247 · `1/3 , |σ2 (αi )| ≤ 1.803 · `1/3 , |σ3 (αi )| ≤ 2.247 · `1/3 .
6.3. Computing kernels of endomorphisms 91
Writing αi = ai +bi η7 +ci η72 , the real embeddings can also be expressed as (σ1 (αi ), σ2 (αi ), σ3 (αi ))T =
V · (ai , bi , ci )T , where V is the Vandermonde matrix of (σ1 (η7 ), σ2 (η7 ), σ3 (η7 )). A numerical eval-
uation of its inverse allows to translate the bounds on σ1 (αi ), σ2 (αi ), σ3 (αi ) into the claimed
bounds on ai , bi , ci .
Let α be an explicit endomorphism of degree O(`2 ) on the Jacobian of C, which satisfies the
properties of Lemma 6.2. We want to compute a triangular polynomial system that describes
the kernel J[α] of α. This will provide us with a nice description of a subgroup of the `-
torsion on which we will be able to test the action of ψ = π + π ∨ and deduce a, b, c such that
ψ = a + bη + cη 2 mod `.
We first model J[α] by a system of polynomial equations that we will then put in triangular
form. To do so, we consider a generic divisor D = P1 + P2 + P3 − 3∞, where Pi is an affine
point of C of coordinates (xi , yi ). We then write α(D) = 0, i.e α(P1 − ∞) + α(P2 − ∞) =
−α(P3 − ∞). Generically, we expect each α(Pi − ∞) to be of weight 3, and we write hui , vi i
for its Mumford form. We derive our equations by computing the Mumford form hu12 , v12 i of
α(P1 − ∞) + α(P2 − ∞) and then writing coefficient-wise the conditions u12 = u3 and v12 = −v3 .
The case where the genericity conditions are not satisfied is discussed at the end of the section.
Similarly to the Schoof-Pila algorithm, we define polynomials — which are equivalent to
Cantor’s division polynomials — by the formulas
2 ˜ 2
X di (x1 , x2 , y1 , y2 ) X ẽi (x1 , x2 , y1 , y2 )
u12 (X) = X 3 + X i, v12 (X) = X i,
i=0 d˜3 (x1 , x2 ) i=0
ẽ3 (x1 , x2 )
2 2
X di (x3 ) i X ei (x3 ) i
u3 (X) = X 3 + X, v3 (X) = y3 X.
d (x )
i=0 3 3 i=0
e3 (x3 )
Lemma 6.4. For any i ∈ {1, 2, 3}, the degrees of d˜i , ẽi , di and ei are in O(`2/3 ).
Proof. Let us first remark that the d˜i ’s and ẽi ’s are obtained after adding two divisors hu1 , v1 i
and hu2 , v2 i such that the coefficients of the ui and vi are respectively the dj /d3 and yi ej /e3
evaluated at xi . Thus, since this application of the group law involves a number of operations
that is bounded independently of ` and q, the degree stays within a constant multiplicative
factor, which is captured by the O(). Therefore it is enough to prove the result for the di ’s and
ei ’s.
Since the endomorphism α satisfies the properties of Lemma 6.2, it is a linear combination of
1, η and η 2 with coefficients of size O(`1/3 ). Using the same argument about the group law, we
can further reduce our proof to the case where α = nη k , with k ∈ {0, 1, 2} and n an integer in
O(`1/3 ). But once again, η k does not depend on ` so that, provided we can prove that Cantor’s
n-division polynomials have degrees in O(n2 ), we have proven that nη k (P − ∞) = η k (n(P − ∞))
have coefficients whose degrees are in O(n2 ), and then so does α(P − ∞). This quadratic bound
on the degrees of Cantor’s division polynomials in genus 3 is precisely Theorem 4.14, whose
proof is done in Section 4.3.
92 Chapter 6. The case of genus-3 hyperelliptic curves with RM
∀i ∈ {0, 1, 2}, d˜i (x1 , x2 , y1 , y2 )d3 (x3 ) = d˜3 (x1 , x2 )di (x3 ), (6.4)
of degree O(`2/3 ) in the xi ’s. By computing resultants with the equations yi2 = f (xi ), we derive
three equations Ei (x1 , x2 , x3 ) = 0 whose degrees are still in O(`2/3 ).
We then eliminate x1 by computing 3 trivariate resultants Ri (between the two equations
Ej with j 6= i). We get three equations Ri (x2 , x3 ) = 0 of degrees O(`4/3 ) within a complexity in
e 10/3 ) field operations, as proven in Proposition 2.40.
O(`
Then, we compute bivariate resultants Si (between the two equations Rj with j 6= i) to
eliminate x2 . From Proposition 2.39, we get three univariate equations Si (x3 ) = 0 of degree
bounded by O(`8/3 ) for a complexity in O(` e 4 ) field operations. And we compute the polynomial
S(x3 ) as the GCD of the Si (x3 ), which belongs to the ideal defined by our original system.
The bound on the degree of S is much larger than `2 − 1, the expected degree of the kernel.
Although we can expect the actual degree to be in O(`2 ), we need to add the constraints coming
from the v-coordinates to be able to prove it.
The polynomial system coming from v12 = −v3 has the same characteristics as the one
coming from the u-coordinates. Therefore, we can proceed in a similar way and deduce, at
e 4 ) operations another univariate polynomial S̃(x3 ) belonging to the ideal. Now,
a cost of O(`
since all the original equations have been taken into account all common roots of S and S̃ will
correspond to a solution of the original system for which we know that there are O(`2 ) solutions.
Therefore taking the squarefree part of the GCD of S and S̃ yields a polynomial of degree O(`2 ).
This univariate polynomial can be factored at a cost of O(` e 4 ) operations in Fq with standard
algorithms [54] (there exist asymptotically faster algorithms, but we already fit in our target
complexity). We then deal with each irreducible factor in turn, until one is found that leads
to a genuine solution of the original system. Let δ be the degree of such an irreducible factor
φ(x3 ). In the field extension Fqδ = Fq [x3 ]/(φ(x3 )), we have by construction a root x3 of φ. We
then solve again the original polynomial system where x3 is instantiated with this root. This
system is bivariate in x1 and x2 and there are O(1) solutions, that possibly live in another
finite extension Fqδ0 of Fqδ . Since the degrees of the bivariate polynomials are in O(`2/3 ), by
e 2 ) operations in F δ .
Proposition 2.39, this system solving costs O(` q
6.3. Computing kernels of endomorphisms 93
A solution obtained in this way must be checked, because it could come from a vanishing
denominator that has been cleared when constructing the system or from non-generic situations.
But given a set of candidate coordinates for a Di element of J[αi ], it is cheap to check that this
is indeed an element of the Jacobian and that it is killed by αi . Also, if αi is not a generator of
pi , it is necessary to check the order of Di : if this is a multiple of `, then multiplying Di by the
cofactor gives an order-` element. But it is also possible to get an unlucky element that is of a
small order coprime to `, and then we have to take another solution of the system.
Since an operation in Fqδ requires a number of operations in Fq that is quasi-linear in δ,
and since the sum of all the degrees δ of the irreducible factors of GCD(S, S̃) is in O(`2 ), the
e 4 ) operations in Fq to deduce a divisor Di in J[αi ].
amortized cost is O(`
Note that using the algorithm of Villard mentioned at the end of Section 2.3 for bivariate
resultants, the complexity is lowered as follows. First, to compute trivariate resultants of poly-
nomials whose degrees are bounded by d, we perform a Kronecker substitution and compute
bivariate resultants of equations of degrees dx ≤ d3 and dy ≤ d. Since d = `2/3 , we end up
with a complexity in O(`2/3(2−1/ω)+2+o(1) ), which is dominated by `3+1/9 . Once this is done, it
remains to compute bivariate resultants of equations with degrees in x and y both smaller than
2d2 . This yields a complexity in O(`4/3(2−1/ω) `4/3+o(1) ) field operations. This is dominated by
O(`3+5/9 ). It follows from our complexity analysis that the overall complexity of Algorithm 8 is
thus decreased by a factor (log q)4/9 at least.
6.3.3 Remarks
In Section 6.3, the algorithms work by evaluation / interpolation, which requires to have enough
elements in the base field. Were it not the case, we simply take a field extension Fqδ of Fq , that
will add a factor O(δ)
e to the complexity. The complexity of the algorithms will be polynomial
in the number of evaluation points, therefore, δ will be logarithmic in the final complexity, so
that the cost of taking a field extension will be hidden in the O()
e notation.
Another difficulty is that an evaluation / interpolation strategy assumes that the points of
evaluation are generic enough, so that all the degrees after evaluation are generic. This is again
guaranteed by taking a large enough base field. Still, the algorithm remains a Monte-Carlo one.
However, the ultimate goal is to construct kernel elements, which is an easily verified property.
Turning this into a Las Vegas algorithm can therefore be done with standard techniques.
Last but not least, our analysis assumes in the first place that the `-torsion elements are
generic in a rather strong sense, as in Definition 5.6. This is expected to be the case with
overwhelming probability, when the base field is large enough and the curve is taken at random
in a large family. However, to obtain a proven complexity we must also consider the cases where
there exist `-torsion elements that are non-generic. We follow the strategy of Section 5.4 where
another polynomial system is designed and solved for each non-generic situation, for instance
the fact that an `-torsion divisor is of weight less than 3, or that some points involved in the
modelling are not distinct while they generically are. We do not give all the details, but the
number of polynomial systems to consider is bounded by a constant, and each of these polynomial
systems describes a situation that is smaller than the generic one in the sense that it has either
less variables or a lower degree, so that the complexity bound is maintained.
94 Chapter 6. The case of genus-3 hyperelliptic curves with RM
y 2 = x7 − 7x5 + 14x3 − 7x + t,
The fact that this expression has degree 2 while one would generically expect a degree 3 is
no accident: it comes from the construction in [138] of the endomorphism as a sum of two
automorphisms on a double cover of the curve. We have η73 + η72 − 2η7 − 1 = 0, so that the ring
Z[η7 ] is isomorphic to the ring of integers Z[2 cos(2π/7)] of the real subfield of the cyclotomic
field Q(e2iπ/7 ). All the numerical data in this section have been obtained for the parameter
t = 42, on the prime field Fp with p = 264 − 59.
In our practical computations, the main differences with the theoretical description are the
following: we use Gröbner basis algorithms instead of resultants, we consider also small non-split
primes ` and small powers, and we finish the computation with a parallel collision search. The
source code for our experiments is available at https://members.loria.fr/SAbelard/RMg3.
tgz.
We were more successful with the direct approach using Gröbner bases that we now describe.
For computing the kernel of a given endomorphism, we computed a Gröbner basis of the sys-
tem (6.4) with some small modifications. First, we observe that the only occurrences of y1 and
y2 are within the monomial y1 y2 . Consequently, we can remove one variable by replacing each
occurrence of y1 y2 by a fresh variable y. Next, we need to make the system 0-dimensional by
encoding the fact that d3 (x3 ) and df3 (x1 , x2 ) are nonzero. This is done by introducing another
6.4. Practical results 95
fresh variable t and by adding the polynomial S(x1 , x2 , x3 )t−1 to the system, where S(x1 , x2 , x3 )
is the squarefree part of d3 (x3 )df3 (x1 , x2 ). Finally, it appears that each polynomial is symmetric
with respect to the transposition of the variables x1 and x2 . Consequently, we can rewrite the
equations using the symmetric polynomials s1 = x1 + x2 and s2 = x1 x2 . This divides by two
the degree in x1 and x2 of the equations. We end-up with a system in 5 variables.
The whole construction can be slightly modified to compute the pre-image of a given divisor
by the endomorphism: to model α(D) = Q − P∞ , we write D = P1 + P2 + P3 − 3P∞ and solve
for α(P1 − P∞ ) + α(P2 − P∞ ) = Q − P∞ − α(P3 − P∞ ). In that case, the variable y3 gets involved
in all the equations, so that we get a system in 6 variables.
For ` = 2, the 2-torsion elements are easily deduced from the factorization of f , and by
computing a pre-image of a 2-torsion divisor, we got a point in J[4] from which we could
deduce a, b, c mod 4. Dividing again by 2 was too costly, due to the fact that the 4-torsion
point was in an extension of degree 4. For ` = 3, which is an inert prime, we ran the kernel
computation for the multiplication-by-3 endomorphism, without using the RM property. The
norm being 27, this is the largest modular computation that we performed (and the most costly
in terms of time and memory). The prime ` = 7 ramifies in Z[η7 ] as the cube of the ideal
generated by α7 = −2 − η7 + η72 . The kernel of α7 can be computed but it yields only one
linear relation in a, b, c mod 7. Dividing the kernel elements by α7 would give more information,
but again, this computation did not finish due to the field extension in which the divisors
are defined. The first split prime is ` = 13. We use the following small generators: (13) =
(2 − η7 − 2η72 )(−2 + 2η7 + η72 )(3 + η7 − η72 ), which seem to produce the polynomial systems
with the smallest degrees. For instance, the apparently smaller element 1 + η72 of norm 13 yields
equations of much higher degrees 7, 71, 72, 73, 72. The next split prime is 29, which would maybe
have been feasible, but was not necessary for our setting. In the following table, we summarize
the data for these systems, that were obtained with Magma V2.23-4 on a Xeon E7-4850v3 at
2.20GHz, with 1.5 TB RAM.
general genus-2 case, this time the cuboid is not flat since a, b and c have the same order of
magnitude. Let us start by picking a random divisor D in J and set
and
W = {KD + s1 mD + s2 mη(D) + s3 mη 2 (D) | (s1 , s2 , s3 ) ∈ [−B/m, B/m]3 }.
From the relations (6.1) between the coefficients of ψ and the coefficients of χπ , one could
translate the Weil bounds into precise bounds in the coefficients a, b and c. Instead, we set an
√
ad hoc bound B = 5 q for their respective absolute values. Our choice was satisfactory and
we did not encounter any problem so we did not modify it, although fine tuning this parameter
would certainly reduce the average running time.
Each chain consists in a pseudo-random deterministic walk in either W or T that stops
whenever it encounters a distinguished point, which is the only information stored from each
chain. Indeed, the deterministic nature of the process guarantees that any collision between two
chains will propagate to their last point. This increases the running time compared to the baby-
step giant-step approach but allows for negligible memory requirements, as explained in 3.2.3.
While the probability pD of being distinguished is an important parameter, the distinguishing
feature itself is not. For instance, we say that an element is distinguished if the b− log2 pD c bits
of low weight of its Mumford representation are equal to 0. By the birthday paradox, we expect
a collision to be found after browsing through (2B/m)3/2 points in the searchspace. Denoting
by C the number of chains, we therefore expect each chain to be of length (2B/m)3/2 /C, and
since each chain stops whenever it hits a distinguished element, pD is precisely the inverse of
this quantity. In our experiments, we set pD = 50000(B/m)−3/2 , thus expecting the number of
chains to be about 140000 before a collision occurs. Recall that the number of chains must be
small enough to keep the memory requirements reasonable, but large enough to avoid taking
too much time.
To design the deterministic walks, we start each chain by an element of either T or W defined
by a triple (s1 , s2 , s3 ) taken uniformly at random in [−B/m, B/m]3 . Then, given a divisor D̃ in
a chain, the next one is computed as D̃ + Oh(D̃) , where the O’s are a set of 120 precomputed
offsets and h a hash function mapping D̃ into a triple (b1 , b2 , i) ∈ {0, 1}2 × {1, 2, . . . , 30}. The
offset corresponding to that triple is
where αi , βi and γi are integers respectively taken uniformly at random in {1, 2, . . . , 2Li } and
then fixed during the whole search. The Li ’s are chosen to reduce the risk of a chain exiting the
cuboid and considering points on which collisions are impossible. This could actually even lead
to a neverending chain which is why some bound can be set to discard any chain whose length
is much longer than expected, but a convenient choice for the Li ’s make this extremely unlikely.
Our practical choice followed the genus-2 case and set the Li ’s such that, on average, each chain
terminates on a point whose coordinates are ten times smaller than the size of the cuboid. In
the first direction, our offset is always positive and the expected length of a chain is 1/pD ,
so that the expected distance in the first direction is L1 /pD and we choose L1 = 2BpD /10.
For the two other directions, the offsets have changing signs so that we bound the distance
6.4. Practical results 97
p √
reached using the central limit theorem. This yields an expected distance in 2 2/3πL2 / pD
as in the genus-2 case. This is not surprising because since we study the problem dimension by
dimension, we always considerp one-dimensional random walks no matter the dimension of the
searchspace. Approximating 2 2/3π by 9/10 and dividing by 10, we choose L2 and L3 both
√
equal to 2B pD /10.
We wrote a dedicated C implementation with a few lines of assembly to speed-up the addi-
tions and multiplications in Fp , taking advantage of the special form of p. This implementation
performs 10.7M operations in the Jacobian per second using 32 (hyperthreaded) threads of a 16-
core bi-Xeon E5-2650 at 2 GHz. We used the knowledge of ψ modulo 156 but not of the known
relation modulo 7 for simplicity (there is no obstruction to using it and saving an additional
71/2 factor).
After computing about 190,000 chains of average length 32,000,000, we got a collision, from
which we deduced
and the coefficients of the characteristic polynomial χπ of the Frobenius are then
The number of group operations that were done is slightly less than 43 (p3/4 /1563/2 ). This
factor 43 is close to the average that we observed in our numerous experiments with smaller
sizes. Scaled on a single (physical) core, we can estimate the cost of this collision search to be
105 core-days.
98 Chapter 6. The case of genus-3 hyperelliptic curves with RM
Chapter 7
In this chapter, we study the benefits of real multiplication in arbitrary genus. We extend the
process of Chapter 6 and Section 3.1.2 for (families of) hyperelliptic curves with RM by an order
Z[η]. For primes ` that split into gi=1 pi in Z[η], we split J[`] into a direct sum of g subspaces
Q
J[pi ] isomorphic to (Z /` Z)2 . One can therefore expect that for RM curves, Algorithm 6 detailed
in Chapter 5 can be adapted
to find non-zero
of J[pi ] instead of J[`] with a complexity
elements
bound in Oη (log q) O(1) instead of Og (log q) O(g) . Note that we do not use the Og ()-notation
because, as in Chapter 6, there is an additional dependency in η. Since g is nothing more than
the degree of the algebraic number η, we replace the Og ()-notation by the Oη ()-notation which
takes into account both dependencies on g and η.
Using a theoretical machinery similar to that of Chapter 5, we will prove that it is indeed the
case. However, we warn the reader that this complexity is still exponential in g. Even though
each of the ideals J[αi ] has degree independent of g, we model them by polynomial systems whose
2
multihomogeneous Bézout bounds involve a combinatorial factor of the form g g+g . Since the
Organization. In Section 7.1, we give an overview of our point-counting algorithm, along with
an example of families of hyperelliptic curves of arbitrary high genus with RM by a real subfield of
a cyclotomic field. In particular, we prove a bound on the size and number of primes ` to consider
in our algorithm. Section 7.2 focuses on the main primitive of our algorithm: the computation
of a non-zero element in the kernel of an endomorphism α whose degree is a small multiple of `2 .
This section adapts methods and results of Chapter 5 to design structured polynomial systems
whose solution sets are subsets of J[α]. Section 7.3 concludes on the complexity of solving these
systems, and on the overall complexity of our point-counting algorithm. We also present an
analysis on the exponent of g in the final complexity, investigating the various places where
exponential factors may occur and how to avoid them when it is possible.
7.1 Overview
The main result of this chapter can be summarized by the following theorem, in which we give
more precision on the notation Oη (logc q) for our complexity result, and make the dependency
99
100 Chapter 7. Counting points on hyperelliptic curves with explicit RM
in η explicit. In Section 7.3, we also bound c by 8 and conjecture that it should be 6. Note that
whenever we give a bound with an explicit constant, we can no longer hide the polylogarithmic
factor in the exponent, so we use the notation O e η () to hide both factors depending only on η
and factors that are polylogarithmic in q.
Theorem 7.1. For any g and any η ∈ Q such that Q(η) is a totally-real number field of degree g,
there exists an explicitly computable c(η) > 0 such that there is an integer q0 (g, η) such that for
all prime power q = pn larger than q0 (g, η) with p ≥ (log q)c(η) and for all genus-g hyperelliptic
curves C with explicit RM by Z[η] defined over Fq , the local zeta function of C can be computed
with a probabilistic algorithm in expected time bounded by (log q)c(η) .
σ0 = 1 and the convention that σg is actually twice smaller than the g-th coefficient of χπ . By
the Cayley-Hamilton theorem, we have q −g (π ∨ )g χπ (π) = 0. Using the fact that ππ ∨ = q, we
rewrite that as g
(−1)g−i σg−i (π i + (π ∨ )i ) = 0.
X
i=0
maximal order of Q(η), but not necessarily in Z[η]. However, as in the genus-3 case, Z[η] has
finite index ∆ in the maximal order and the possible common denominator of the ai ’s has to
divide ∆. This denominator entails that additional primes may be required to fully determine
ψ, however ∆ depends only on η so that it will disappear in the Oη -notation of our complexity
estimates. Therefore, we do not detail further this subtlety and assume for simplicity that the
√
ai ’s are integers, which we wish to bound by Oη ( q).
Let us first express the quantities π i + (π ∨ )i in terms of powers of ψ as a first step towards
expressing the σi ’s as functions of the ai ’s.
Lemma 7.2. For any i ∈ {1, . . . , g}, there exist integers (αi,j )0≤j<i such that αi,j = O(q (i−j)/2 )
and
i−1
∨ i
X
i i
π + (π ) = ψ + αi,j ψ j .
j=0
Proof. The statement holds for i = 1 with α1,0 by the definition of ψ. For i = 2, we have
ψ 2 = π 2 + (π ∨ )2 + 2ππ ∨ , so that we have the result with α2,0 = −2q and α2,1 = 0.
In this proof, we set the convention αi,i = 1 to simplify our recurrence relations.
Let us now assume the lemma holds for any positive integer no greater than a certain i. We
therefore have
i−1
ψ i+1 = (π + π ∨ )ψ i = (π + π ∨ ) (π i + (π ∨ )i ) −
X
αi,j ψ j .
j=0
The first term is equal to π i+1 + (π ∨ )i+1 + q(π i−1 + (π ∨ )i−1 ) so that we can use the lemma once
again for i − 1 and get
i−1
ψ i+1 = π i+1 + (π ∨ )i+1 − αi,i−1 ψ i + qαi−1,0 +
X
(qαi−1,j − αi,j−1 )ψ j .
j=1
Let us now study the order of magnitude of the αi+1,j : from the recurrence hypothesis on both
√
i and i − 1, αi,i−1 = αi+1,i is in O( q), αi−1,0 is in O(q (i−1)/2 ) so that αi+1,0 is in O(q (i+1)/2 ),
and both qαi−1,j and αi,j−1 are in O(q (i+1−j)/2 ), which proves the result for any other αi+1,j .
By induction, the lemma is proven.
Note that our O-notation in the previous statement and proof can be a bit misleading as there
may not be an absolute constant bounding all the αi,j /q (i−j)/2 . However, from the recurrence
relation between the ai,j ’s, one sees that each αi,j is equal to q (i−j)/2 plus an error term that
is in Oη (q (i−j−1)/2 ) and at worst quadratic in g, hence the error term is negligible compared to
q (i−j)/2 .
Proposition 7.3. Let the ai ’s be the coefficients of ψ in the basis (1, η, . . . , η g−1 ) and σi be the
i-th coefficient of χπ , or half this coefficient if i = g. Then χπ is uniquely determined by the ai ’s
and there exists Cη > 0 depending only on g and η such that for any i ∈ {0, . . . , g − 1}, we have
√
|ai | ≤ Cη q.
102 Chapter 7. Counting points on hyperelliptic curves with explicit RM
Proof. Using Lemma 7.2 for any i ∈ {1, . . . , g} and setting αi,i = 1, we have
g
X i
X g
X g
X
(−1)g−i σg−i αi,j ψ j = ψj (−1)g−i αi,j σg−i = 0.
i=0 j=0 j=0 i=j
Let us define χψ (X) = X g + sg−1 X g−1 + · · · + s0 with si = gi=j (−1)g−i αi,j σg−i . Invoking
P
the Weil conjectures for the σg−i ’s and Lemma 7.2 for the αi,j , one concludes that each si
is in O(q (g−i)/2 ). Furthermore, the expressions of the si ’s in terms of the σi ’s form a linear
triangular system whose determinant equals 1, so that there is an efficiently computable one-to-
one correspondence between χψ and χπ .
Let us now make explicit the link between the coordinates ai of ψ = g−1 i
P
Pg−1 i=0 ai η and the
coefficients si of χψ . For instance, sg−1 = − Tr(ψ) = − i=0 ai Tr(η i ). To get the other relations,
let us now order the g conjugates of η (possibly in the Galois-closure of Q(η)), numbering them
Pg−1
from η1 to ηg , and proceed to the linear change of variables ψk = i=0 ai ηki for any k in
{1, . . . , g}. The matrix associated to this linear transformation is the Vandermonde matrix of
the conjugates ηk ’s. This matrix is invertible because η is separable so that the ηi are all distinct
reals.
Note that χψ is a degree-g monic polynomial vanishing on ψ, and it is therefore its char-
acteristic polynomial. Since the ψk are exactly the real roots (possibly in the Galois-closure of
Q(η)) of χψ , by Vieta’s formula they satisfy the g equations
where the Si ’s are the elementary symmetric polynomials in g variables. Thus, once the ai ’s are
known, the values for ψ and its conjugates are known and a unique value for each si is deduced.
Furthermore, the Fujiwara bounds from [51] imply that for any k ∈ {1, . . . , g} we have
|ψk | ≤ 2 max |sg−k |1/k .
0≤k≤g
√ √
We already know that |sg−k | = O( q k ), so we deduce that the |ψk | are in O( q). Then,
√
inverting the linear change of variable, we prove that the ai are also in Oη ( q) since the matrix
norm of the inverse of the Vandermonde matrix only depends on η.
Our algorithm is based on determining the ai ’s modulo ` for sufficiently many ` until they
are known without ambiguity and we can deduce χπ . While the Weil bounds on the σi ’s are
√
enough for our purpose, we have proven that the ai ’s are in Og ( q) as in the genus-3 case. The
next section details the process of recovering such modular information on the ai ’s.
input : q an odd prime power, and f ∈ Fq [X] a monic squarefree polynomial of degree
2g + 1 such that the curve Y 2 = f (X) has explicit RM by Z[η].
output: The characteristic polynomial χπ ∈ Z[T ] of the Frobenius endomorphism on
the Jacobian J of the curve.
w ← 1;
Define Cg as in Prop. 7.3;
√
while w ≤ 2 ∆Cg q + 1 do
Pick the next prime ` that satisfies conditions (C1) to (C4);
Compute the ideal decomposition ` Z[η] = p1 · · · pg , corresponding to the eigenvalues
λ1 , . . . , λg of η in J[`] ;
for i ← 1 to g do
Compute a small element αi of pi as in Lemma 7.4;
Compute a non-zero element Di of order ` in J[αi ] ;
Find the unique ki ∈ Z /` Z such that ki π(Di ) = π 2 (Di ) + qDi ;
end
Find the unique tuple (a0 , . . . , ag−1 ) in (Z /` Z)g such that g−1 j
P
j=0 aj λi = ki , for i in
{1, . . . , g} ;
w ← w · `;
end
Reconstruct (a0 , . . . , ag−1 ) using the Chinese Remainder Theorem ;
Deduce χπ from ψ.
Algorithm 9: Overview of our RM point-counting algorithm
Since ` is a prime and Di is of order exactly `, this is also the case for π(Di ). Finding ki can then
be seen as a discrete logarithm problem in the subgroup of order ` generated by π(Di ); hence
the solution is unique. Equating the two expressions for ψ, we get explicit relations between the
aj ’s modulo `:
g−1
aj λji ≡ ki mod `.
X
j=0
the elements of this kernel are solutions of a polynomial system that can be directly derived
from this expression of αi , using a modelling similar to that of Chapter 5. Likewise, we use the
geometric resolution algorithm to find the solutions of this system, perhaps in a finite extension
of the base field, from which divisors in J[αi ] can be constructed. Multiplying by the appropriate
cofactor, we can reach all the elements of Gi ; but we stop as soon as we get a non-trivial one.
We summarize the conditions that must be satisfied by the primes ` that we work with:
(C3) there must exist αi ∈ pi as in Lemma 7.4 below with norm non-divisible by `3 for i ∈
{1, . . . g};
The first 3 conditions eliminate only a finite number of `’s that depends only on η. The condition
(C3) implies that there is a unique subgroup Gi of order `2 in J[αi ].
Given a genus-g curve C with RM by Z[η], by Chebotarev’s density theorem, the proportion
of primes ` satisfying the last condition is at least 1/# Gal(Q(η)/ Q), which is bounded below by
1/(g!). To count points on C, we need to find L a set of primes satisfying all the above conditions
Q √
and such that `∈L ` > 2∆Cη q. By the prime number theorem, both the number and size of
the primes contained in L are in O((g!) log(Cg q)). In some particular cases, the proportion of
“nice” primes may be much larger: for instance when the RM field is the totally real subfield of
a cyclotomic field. In the field Q(ζn + ζn−1 ), a prime ` totally splits if and only if ` ≡ ±1 mod n,
and therefore condition (C4) is satisfied by a proportion of primes equal to 2/(n − 1) = 1/g.
Lemma 7.4. For any prime ` that splits completely in Z[η], each prime ideal p above ` contains
α = ig−1 i
i=0 αi η , where the |αi | are integers smaller than
P
a non-zero element α of the formh
∆1/g `1/g , where ∆ is the index OQ(η) : Z[η] .
Proof. The coefficients of the elements of the ideal p represented by polynomials in η form a
lattice L of dimension g. In Z[η], its volume is the norm of p, i.e. `. Thus, its actual volume
in Rg is `∆. Let us consider C = {x ∈ Rg | ||x||∞ ≤ ∆1/g `1/g }. The volume of the convex
C is 2g ∆`. Since g is the dimension of L and ∆` its volume, Minkowski’s theorem guarantees
the existence of a non-zero element v of L belonging to C. By definition, v = g−1 i
P
i=0 vi η is an
element of p whose coordinates vi ’s are integers of absolute values bounded by ∆1/g `1/g , which
concludes the proof.
Since we know it exists, given one of the ideals pi , we can find αi a small element of pi as
in Lemma 7.4 by exhaustive search in at most 2g ∆` operations in Z[η]. Note that there is an
extensive litterature on finding short vectors in a lattice of dimension d, motivated for instance
by cryptographic
√
applications. An example is the quantum algorithm of [39] which computes
a 2 e d)
O( -approximation of the shortest non-zero vector in time polynomial in d. Restricting
to classical algorithms, the best option in general is the BKZ algorithm [126] that computes a
e α) e 1−α )
2O(d -approximation in time 2O(d , for any α ∈ [0, 1]. In our case however, the existence of
a very short vector is already known and, more importantly, the factor 2g due to the dimension
is acceptable since it vanishes in the Oη -notation.
7.2. Modelling kernels of endomorphisms 105
• For any i, the u-coordinate of the divisor α(Pi − P∞ ) in Mumford form has degree g;
• For any i 6= j, the u-coordinates of the divisors α(Pi − P∞ ) and α(Pj − P∞ ) are coprime.
This implies that if an affine point P occurs in the support of a α(Pi − P∞ ) then neither P
nor −P appears in the support of another α(Pj − P∞ ).
106 Chapter 7. Counting points on hyperelliptic curves with explicit RM
to α(D) = 0 but let us first introduce some notation. For each point Pi = (xi , yi ) in the support
of D, we denote hui , vi i the Mumford form of α(Pi − P∞ ) and (aij , bij )1≤j≤g the coordinates of
the g points in its support counted with multiplicities, which means that for any i the g roots
of ui are exactly the aij , and that for any j, bij = vi (aij ).
Proposition 7.6. We can model the set of generic α-division elements as the solution set of
a bihomogeneous polynomial system consisting of O(g 2 ) equations in Fq [X1 , . . . , Xg , Y1 , . . . , Yny ]
such that ny = O(g 2 ) and the degrees in the Xi ’s and Yj ’s are respectively in Oη (`3/g ) and Oη (1).
Proof. Following the modelling of Section 5.3, we have α(D) = 0 if and only if the sum of the
divisors gi=1 α(Pi − P∞ ) is a principal divisor. The only pole is at infinity, so this is equivalent
P
to the existence of a non-zero function ϕ ∈ Fq (C) of the form P (X) + Y Q(X) with P and Q
two polynomials such that the g 2 points (aij , bij ) are the zeros of ϕ, with multiplicities. Since
we want ϕ to have g 2 affine points of intersection with the curve C (once again, counted with
multiplicities), the polynomial ResY (Y 2 − f, P + Y Q) = P 2 − f Q2 must have degree g 2 which
yields 2 deg(P ) ≤ g 2 and 2 deg(Q) ≤ g 2 − 2g − 1. Exactly one of those two bounds is even (it
depends on the parity of g), and for this particular bound, the inequality must be an equality,
otherwise the degree of the resultant would not be g 2 . Since the function ϕ is defined up to a
multiplicative constant, we can normalize it so that the polynomial P 2 + f Q2 is monic, which
is equivalent to enforce that either P or Q is monic depending on the parity of g.
For a fixed i ∈ [1, g], requiring the (aij , bij ) to be zeros of ϕ amounts to asking for the aij
to be roots of P (X) + Q(X)vi (X), with multiplicities. Since the aij are by definition the roots
of the ui , α(D) = 0 is equivalent to g congruence relations P + Qvi ≡ 0 mod ui . Thus, for any
α-generic divisor, α(D) = 0 is equivalent to the existence of P and Q satisfying the above g
congruence relations.
The variables are the coefficients of P and Q, as well as the xi and yi . With the degree
conditions and the normalization, we have g 2 − g variables coming from P and Q. Adding
the 2g variables xi and yi , we get a total of g 2 + g variables. Each one of the g congruence
relations amounts to g equations providing a total of g 2 conditions on the coefficients of P and
Q. The fact that the (xi , yi ) are points of the curve yields the g additional equations yi2 = f (xi ).
Finally, we have to enforce the α-genericity of the solutions, which can be done by requiring
that i dg (xi )eg (xi ) i<j Res(ui , uj ) 6= 0. Note that we do not extend Theorem 4.13 but instead
Q Q
add the non-vanishing condition for the denominator of the v-coordinate of α(D). Still, we get
a polynomial system with g 2 + g equations in g 2 + g variables, together with an inequality.
We now estimate the degrees to which the variables occur in the equations. Each congruence
relation is obtained by reducing P +Qvi , which is a polynomial of degree O(g 2 ) in X, by ui which
is of degree g. We can do it by repeatedly replacing X g by − j<g (dj (xi )/dg (xi ))X j , which we
P
will have to do at most O(g 2 ) times. Since the dj have degree in Oη (`3/g ) in xi , the fully reduced
polynomial will have coefficients that are fractions for which the degrees of the numerators and
of the denominators are at most Oη (`3/g ) in the xi variables. In these equations, the degree in
the yi variables and in the variables for the coefficients of P and Q is 1. The degrees in xi and
yi in the curve equations are 2g + 1 and 2 respectively.
It remains to study the degree of the inequality. Each resultant is the determinant of a 2g×2g
Sylvester matrix whose coefficients are the di , which have degrees bounded by Oη (`3/g ). Since
for any i there are exactly g resultants involving xi in the product, the degree of this inequality
in any xi is in Oη (`3/g ), and it does not involve the other variables. In order to be able to
use Proposition 5.3, we must model this inequality by an equation, which is done classically by
introducing a new variable T and by using the equation T · i dg (xi )eg (xi ) i<j Res(ui , uj ) = 1.
Q Q
7.2. Modelling kernels of endomorphisms 107
To conclude, we have a polynomial system with two blocks of variables: the g variables xi
on the one hand and the g 2 − g variables coming from the coefficients of P and Q, along with
the g variables yi on the other hand. The degree of the equations in the first block of variables
grows cubically in `1/g , while the degree in the other block of variables depends only on g (and
η).
seems very unlikely that the whole set J[α] lives in such a hypersurface, and if it happens, one
can discard the ` for which we fail to find an α-generic element. Although it seems even more
unlikely that this situation could happen for sufficiently many ` so as to threaten the validity
of our complexity bound, we are far from a proven statement and do not exclude it might be
possible to design a highly non-generic curve providing a counterexample.
Therefore, we follow the non-genericity analysis of Section 5.4 except that we consider ui
and vi defined as the Mumford form of α(Pi − P∞ ) instead of `(Pi − P∞ ). Let us briefly review
the non-generic situations that one can encounter, following Section 5.4.1 and keeping the same
numbering.
and look for a ϕ = P (X) + Y Q(X) vanishing at each point of each reduced divisor α(Pi − P∞ ).
This is similar to the Case 1 of Section 5.4.1.
Case 2: Modelling a kernel element with multiple points. It may happen that the
element we are looking for is D = w i=1 (Pi − P∞ ) but not all the Pi ’s are distinct. In that
P
Ps
case, we rewrite it as D = j=1 λj (Pj − P∞ ) such that the Pj ’s are distinct and look for a
ϕ = P (X) + Y Q(X) vanishing at each point of each reduced divisor λj α(Pj − P∞ ). Apart from
the modification of ui and vi , the modelling is identical to that of Chapter 5.
Case 4: Modelling a kernel element after reduction. Even if all the α(Pi − P∞ ) had
full weight, there still may be less than g 2 points in the union of their supports due to possible
cancellations of points appearing in the supports of several α(Pi − P∞ ) with different signs.
Exactly as in Section 5.4.1, if P appears within α(Pi − P∞ ) and α(Pj − P∞ ) with respective
multiplicities νi and νj of opposite signs, this is modelled by ensuring that the corresponding
ui , uj , and vi + vj share a common factor (X − ξ)ν where ν = max(|νi |, |νj |). In that case, we
look for ϕ(X, Y ) = (X − ξ)ν (Pe (X) + Y Q(X)),
e with Pe coprime to Q.e Once modified the values
of the ui and vi , nothing changes from Chapter 5.
and deg V < deg U , and then look for ϕ = P (X) + Y Q(X) such that P + QV ≡ 0 mod U . Once
again, nothing changes apart from the definition of the ui ’s and vi ’s.
Case 3: Low weight after applying α. We kept this case for the end because it is not
a straightforward extension of the Case 3 appearing in Section 5.4.1. Until now, we assumed
that all the Pi ’s in the support of D were such that α(Pi − P∞ ) had weight g, i.e. dg (xi ) 6= 0.
We now want to model the case where D = w i=1 (Pi − P∞ ) such that each α(Pi − P∞ ) has
P
weight wi . In Chapter 5, this was done using a result from [28] giving a necessary and sufficient
condition for `(Pi − P∞ ) to be of weight wi . When α is an endomorphism other than scalar
multiplication, no such result holds a priori. In what follows, we solve this issue by designing
non-generic α-division polynomials Γα,t and ∆α,t such that α ((x, y) − P∞ ) has weight w if and
only if ∆α,w (x) = 0 and Γα,w−1 (x) 6= 0.
Proposition 7.7. We can model the set of non-generic elements of J[α] as the solution set of
Oη (1) bihomogeneous polynomial systems each consisting of O(g 2 ) equations in Fq [X1 , . . . , Xg , Y1 ,
. . . , Yny ] such that ny = O(g 2 ) and the degrees in the Xi ’s and Yj ’s are respectively in Oη (`3/g )
and Oη (1).
Proof. We similarly encode each situation by a non-genericity tuple (w, λ, τ, ε, M ) in the sense
of Definition 5.8, and derive an associated polynomial system whose solution set corresponds to
elements D ∈ J[α] such that:
Pk
• the reduced divisor D of weight w has the form i=1 λi Pi with distinct Pi ’s,
• the k × s matrix M represents the points shared by the λi α(Pi − P∞ ) as in Section 5.4.2,
with s ≤ gk.
We can follow the analysis of Section 5.4.2 to describe more explicitly the equations and their
degrees / number of variables, and remark that the only part that does not generalize readily is
the definition of non-generic α-division polynomials, as in the Case 3 above. Let us first fix this
issue.
When the weight ti of λi α(Pi − P∞ ) is strictly smaller than g, the usual coordinate system
given by the Mumford form is no longer available, due to the vanishing of the denominator
eg (xi ). We define an adequate coordinate system to describe non-generic elements of weight t.
Let us consider the variety
We want to define polynomials ∆α,t and Γα,t such that a point is in Vα,w if and only if
∆α,w (x) = 0 and Γα,w−1 (x) 6= 0 iteratively. First, ∆α,g−1 = GCD(dg , eg ), so that the points
(x, y) of Vα,g−1 satisfy ∆α,g−1 (x, y) = 0. Assuming that for k < g we have already constructed a
squarefree polynomial ∆α,k vanishing on the abscissae of points in Vα,k , then one can compute
α ((x, y) − P∞ ) over Fp [x, y]/(∆α,k (x), y 2 − f (x)). By our recurrence hypothesis, the Mumford
form of the result is hu, vi, with u of degree k and v of degree k − 1. Let Γα,k−1 be the product of
LC(u) with the denominator of LC(v), then Vα,k is the set of points (x, y) such that ∆α,k (x) = 0
and Γα,k−1 (x) 6= 0. Furthermore, ∆α,k−1 = GCD(∆α,k , Γα,k−1 ) vanishes on the points of Vα,k−1 .
To avoid multiplicities, we replace ∆α,t (x) by the square-free polynomial whose roots are
exactly the roots of ∆α,t (x) that are not roots of Γα,t−1 (x) when it is necessary. Note that the
degrees of the ∆ and Γ are by construction bounded by deg ∆α,g−1 ≤ deg dg with deg dg itself
bounded by Oη (`1/g ). This way, we state an analogue of Definition 5.9 for non-generic α-division
polynomials:
Definition 7.8. The non-generic α-division polynomials uα,t and vα,t are the polynomials in X
with coefficients in Fp [x, y]/(∆α,t (x), y 2 − f (x)) such that
D E
α((x, y) − ∞) = uα,t (X), vα,t (X) ,
in weight-t Mumford representation: uα,t (X) is monic of degree t, v`,t (X) is of degree at most
t − 1 and they satisfy uα,t | v2α,t − f .
All the equations associated to a non-genericity tuple (w, λ, t, , M ) are merely identical to
those of Section 5.4.2 except that the di , ei and have different definitions and that ∆α,t replaces
˜ `,t so that Equation (Sys.3) now reads
∆
(
∆λi α,ti (xi ) = 0,
for all i in [1, k] such that ti < g. (Sys.3b)
Γλi α,ti −1 (xi ) 6= 0,
While turning the systems describing J[`] into systems describing J[α], we did not add any
variable, so that the study of Section 5.4.2 presented in Table 5.1 is still valid and we just recall
that the total number of variables is bounded by 4g 2 + g.
As for the number of equations and their respective degrees, the only change comes from the
fact that the coefficients of the ui and vi have degrees in the xi bounded by Oη (`3/g ) instead of
Oη (`3 ), and Table 5.2 becomes Table 7.1.
Table 7.1 shows that any system corresponding to a non-genericity tuple satisfies the degree
conditions of Proposition 7.7. As in the non-RM case, the number of such tuples is bounded by
3
g O(g ) and Proposition 7.7 is proved.
Table 7.1: Summary of the degrees of the equations in the polynomial system corresponding to
a normalized non-genericity tuple (w, λ, t, , M ).
Carlo algorithm which computes an Fqe -geometric resolution of the sub-variety of J[α] consisting
of α-generic α-torsion elements, where e = Oη (log `). The time and space complexities of this
algorithm are bounded by Oη (`D (log q)2+ε ) and it returns the correct result with probability at
least 5/6.
Proof. Let us consider the sub-variety S ⊂ J[α] consisting of α-generic elements, and I the
corresponding ideal. More precisely, we see I as the ideal of a sub-scheme of the scheme J[α],
itself subscheme of J[deg α], which is the kernel of a finite and étale map because deg α is a
small multiple of ` and is hence coprime to the characteristic p thanks to our assumptions on
the size of p in the statement of Theorem 7.1.
Therefore, I is 0-dimensional and radical. Since all the elements in S have the same weight g
we can use the Mumford coordinates hu(X), v(X)i with deg u = g and deg v < g − 1 as a
local system of coordinates to represent them. But the polynomial system that we have built
is with the (xi , yi ) coordinates, that is, it generates the ideal I unsym obtained by adjoining to
the equations defining I the 2g equations coming from u(X) = (X − xi ) and yi = v(xi ).
Q
Then we have deg I unsym = g! deg I. By the α-genericity condition, all the fibers in the variety
have exactly g! distinct points corresponding to permuting the (xi , yi ) which are all distinct.
Therefore the radicality of I implies the radicality of I unsym and we can apply a modified version
of Proposition 5.3 to our polynomial system.
Indeed, by Proposition 7.6 we now have a function h and a constant C such that dx ≤
h(g)`C/g instead of h(g)`C . This propagates in the proof of Proposition 5.3, and since the power
of ` only comes from the bound on dx , we can also replace ` by `1/g in the final result, so that we
can compute an Fqe -geometric resolution of S in time and space bounded by Oη (`D (log q)2+ε ),
with e = Oη (log `).
Following the same proof but invoking Proposition 7.7 instead of Proposition 7.6, the same
complexity bound holds for solving the polynomial system associated to any non-genericity tuple.
Even if a non-zero α-torsion element is only found after solving all the systems associated to
non-genericity tuples, the cost for computing ψ mod ` is only multiplied by a factor in Oη (1).
We have proven that there exists a constant c such that for any prime ` satisfying conditions
(C1) to (C4), computing χπ mod ` is achieved within Oη (`c ) field operations. Taking into account
7.3. Complexity analysis 111
the size of the largest ` to consider and the cost of field operations, the overall complexity of our
point-counting algorithm is in Oη ((log q)c+2 ). The bottleneck is computing geometric resolutions
of polynomial systems which is quadratic in their respective multihomogeneous Bézout bounds,
up to a factor in Oη (1). Still neglecting factors in Oη (1), the multihomogeneous Bézout bound
itself boils down to Oη (degg1 ) by Definition 2.44. As shown in Table 7.1, deg1 = Oη (`3/g ) so we
deduce that c = 6 and get an overall complexity bound in O e η (log8 q).
Note that our bound on deg1 is pessimistic because we used the proven cubic bound for the
degrees of Cantor’s division polynomials while we expect them to be actually quadratic. Under
this assumption, deg1 is reduced to Oη (`2/g ) and the overall complexity would therefore be in
Oe η (log6 q) for any g. Apart from the part depending on g, this conjectural result is identical to
what we proved for genus 3. In the next section, we push the analysis forward by investigating
the dependency on g.
Dependency on g of the largest ` Let us first come back to the constant Cg of Section 7.1.2.
We have seen that the only non-polynomial dependency on g came from the matrix norm when
inverting the linear change of variables ψk = g−1 i
P
i=0 ai ηk , which is described by the Vandermonde
matrix of the g conjugates of η, denoted by ηk for k ∈ {1, . . . , g}. Let B the inverse of this
matrix, then we have P j−1 η · · · η
1≤k1 <···<kg−j <g (−1) k1 kg−j
k1 ,...,kg−j 6=i
Bij = .
− ηi )
Q
ηi k6=i (ηk
Let E = maxk (|η1 |, . . . , |ηk |), e = 1/ mink (|η1 |, . . . , |ηk |), and D = maxi6=j |ηi − ηj |−1 , then we
can bound the absolute value of any entry of B very roughly either by ge(2ED)g or by ge if
2ED ≤ 1, and the matrix-norm of B is bounded by g times this previous bound. Note that the
factor ∆ is also a nuisance but it is bounded by the discriminant of Z[η]. This discriminant is
in turn bounded by maxi6=j (|ηi − ηj |)2g . Thus, the constant Cg can be bounded by g 2 cg , where
c has a polynomial dependency on η and its conjugates.
Q √
By the prime number theorem, the set L of primes such that `∈L ` > 2Cg q is such that
the number and size of primes in L is in O(g) e log q/ log log q. As we already mentioned, the
primes to consider must satisfy the conditions (C1) to (C4) and that may cause them to be
larger by a factor depending exponentially on g a priori. Since the complexity of computing
χπ mod ` is polynomial in `, this implies that the overall complexity depends exponentially on
g in general.
However, a curve in the family Cn,t introduced in Section 7.1.1 has RM by the real subfield
of Q(ζn ), for which we know that the proportion of split primes is 2/(n − 1) = 1/g. Therefore,
this first obstacle due to the size of primes to consider can be overcome provided that we further
strengthen the assumptions on the RM-curves we consider.
Finding small elements in lattices This time, the exhaustiven search is no longer
o sufficient
g
for our need because of the factor 2 in the size of the ball v | ||v||∞ ≤ ∆ `1/g 1/g . Unfortu-
nately, the current best known algorithms for finding short vectors in time subexponential in
112 Chapter 7. Counting points on hyperelliptic curves with explicit RM
the dimension of the lattice have a drawback that makes them unusable in our point-counting
algorithm. Indeed, although they run faster than the naive approach, they do not necessarily
output the shortest non-zero vector in the lattice, but an approximation that may be greater
by a factor which is also subexponential in the dimension. The size of the short vector plays a
prominent role in the complexity analysis of our point-counting algorithm as it gives a bound on
the degrees of the equations modelling J[α]. Even if we find an α whose coordinates are in g`1/g
instead of c`1/g , the factor g will cause a factor g g in the multihomogeneous Bézout bound, and
hence in the final complexity of solving the polynomial systems.
Although finding short generators of ideals in number fields is believed to be hard in general,
we may still expect to further restrict the RM curves we consider so as to fall in a case for which
the complexity of such task becomes affordable. Examples are given in [13], where a classical
algorithm is shown to compute short generators √ of principal
√ ideals in particular number fields
called multiquadratics, i.e. fields of the form Q( d1 , . . . , dn ). While we acknowledge that it
is quite speculative to hope for families of curves of arbitrary high genus with RM by a Z[η]
satisfying all the previous hypotheses, we do not linger on this because the next point is much
more of a concern anyway.
Solving polynomial systems Using the strategy of Section 7.2, the complexity is polynomial
2
in the multihomogeneous Bézout bound, itself including a combinatorial factor in g g . Indeed,
although the ideals of α-torsion have degree `2 independent of g, this is not true for the number
of variables involved in our modelling, which is at least g 2 in the generic case. Worse than that,
the size of the polynomial systems modelling the set of generic α-torsion elements is already
exponential in g. Indeed, following the proof of Lemma 2.50, one sees that the number of
nx +dx
monomials has a factor nx and our modelling is such that nx = g and dx ≥ g`2/g so that
nx +dx
nx ≥ (nx + dx )nx /nnx x is bounded below by g g .
Thus, there is no hope of turning our algorithm into something subexponential in g in its
current state. Possible workarounds could be looking for easier instances in which we could
model the α-torsion by even smaller polynomial systems, or cases for which there are simpler
ways of obtaining a generic α-torsion divisor than the one we used.
Conclusion
In this thesis, we focus on point-counting on hyperelliptic curves over finite fields using methods
derived from Schoof and Pila’s algorithms. We have studied the asymptotic complexity of this
task for curves of arbitrary genus defined over a sufficiently large field. In particular, the power
of log q in the complexity has been reduced from O(g 2 log g) to O(g) in Chapter 5. For families
of curves equipped with an explict RM, we have further reduced this power to a constant in
Chapter 7, and proved that our algorithm computes the zeta function of genus-g hyperelliptic
curves with explicit RM in time bounded by O e η (log8 q). Conjecturally, we actually expect this
6
complexity to be in O e η (log q).
113
114 Conclusion
Practical experiments
In practice, we expect our general methods to be no match for the tailor-made algorithms in
genus ≤ 3, not only because their complexities are lower, but also because the general approaches
hide constants that we expect to be much larger. However, a comparison based on practical
experiments in full generality is unrealistic in genus ≥ 3 because of the prohibitive complexities
of both the algorithms of Chapters 5 and 7.
For practical experiments in genus 3, we considered the easier case of curves with explicit real
multiplication, an approach that had previously been studied with benefit in genus 2. We were
able to successfully count points on a genus-3 curve defined over F264 −59 . This is comparable in
size with previous record computations due to Sutherland using generic group methods which
also take advantage of particularities of the input curves, although such peculiar curves are
more frequent than curves with explicit RM. In our practical experiments, we used a trivariate
elimination scheme except that we computed Gröbner bases instead of trivariate resultants.
The complexity estimate in O e η (log6 q) conjectured in Chapter 7 could give hope of pushing
practical experiments to higher genus, since the exponent of log q is independent of g. However,
considering the RM families we presented and the conditions on primes `, the smallest example
available in genus larger than 3 is the computation of the 23-torsion of a hyperelliptic curve
of genus 5. Even over a relatively small finite field, this is unrealistic because the systems to
solve would have 5 variables with “large” degrees (estimated to be at least 10) and at least 25
variables with degree 1.
Prospective
A natural question that applies to all of our contributions is the possibility of extending our
complexity bounds to non-hyperelliptic curves. Even if the Mumford representation allows for
a much more straightforward representation of elements and simpler conditions to express the
nullity of an element, this is not an absolute necessity. The most important result is that the
degree of the `-torsion ideal is still `2g in any Jacobian of a genus-g curve. Provided that we
can model this ideal by a polynomial system with a number of variables that depends only
on its dimension g and such that “only” O(g c ) of them have degrees actually depending on
`, then
the geometric
resolution algorithm yields a point-counting algorithm running in time
O(g c)
Og (log q) . Controlling the constant c and giving an explicit bound would already improve
the result of Adleman and Huang [3], but we expect that it should be possible to prove that
c = 1 as we did in the hyperelliptic case, at least for Jacobians of plane curves.
In Chapter 5, we perform a tedious analysis of how to handle non-generic elements in the
115
torsion subgroups. It is quite unsatisfactory that such amount of work is performed for cases
which are supposed not to happen, or with an incredibly low probability. Actually, while we
consider many cases, we do not even prove that they happen. Therefore, one could wonder
whether all those non-genericities are possible. In Chapter 7, non-genericities are even less likely
to become a nuisance since it is sufficient to have only one generic element in the kernel of our
endomorphisms. Even better, one could try to completely remove the non-genericity analysis
by proving for instance that given a curve, the proportion of primes ` for which non-genericity
occurs is finite or sufficiently small. Conversely, a skeptical reader could attempt to create
pathological curves such that avoiding all the “bad” primes ` would entail considering primes
sufficiently large to hamper our complexity result. Note that because of our bounds, this would
require finding a family of curves such that the largest required prime ` grows faster than any
power of log q.
The question of finding a classical point-counting algorithm running in time polynomial in
both g and log q being open, we wonder whether the approach of Chapter 7 has the potential
for providing a small yet non-trivial family of curves for which such an algorithm exists. The
first reason why the algorithm presented in Chapter 7 is exponential in g is that the multiho-
2
mogeneous Bézout bound has a combinatorial factor in O(g g ). Indeed, even though we manage
to decrease the degrees of the equations by splitting the `-torsion into a direct sum of kernels
of endomorphisms of degree `2 , our systems still have O(g 2 ) variables. We have reviewed the
other sources of factors exponential in g, and remarked that the polynomial systems appearing
in the modelling come both in number and size exponential in g. Therefore, our approach needs
further insight before turning into an algorithm running in time subexponential in g, even on a
particular subset of curves.
116 Conclusion
Bibliography
[1] Simon Abelard, Pierrick Gaudry, and Pierre-Jean Spaenlehauer. Improved complexity
bounds for counting points on hyperelliptic curves, 2017. To appear in Foundations of
Computational Mathematics, ArXiv preprint 1710.03448.
[2] Simon Abelard, Pierrick Gaudry, and Pierre-Jean Spaenlehauer. Counting points on
genus-3 hyperelliptic curves with explicit real multiplication, 2018. To appear in the
Proceedings of the ANTS-XIII Conference (Thirteenth Algorithmic Number Theory Sym-
posium), ArXiv preprint 1806.05834.
[3] Leonard M. Adleman and Ming-Deh Huang. Counting points on curves and Abelian
varieties over finite fields. Journal of Symbolic Computation, 32(3):171–189, 2001.
[4] Leonard M. Adleman and Ming-Deh A. Huang. Primality testing and Abelian varieties
over finite fields. Springer, 2006.
[5] François Apéry and Jean-Pierre Jouanolou. Élimination : le cas d’une variable. Hermann,
Collection Méthodes, 2006.
[6] A. Oliver L. Atkin and François Morain. Finding suitable curves for the elliptic curve
method of factorization. Mathematics of Computation, 60(201):399–405, 1993.
[7] A. Oliver L. Atkin and François Morain. Elliptic curves and primality proving. Mathe-
matics of Computation, 61(203):29–68, 1993.
[8] Sean Ballentine, Aurore Guillevic, Elisa Lorenzo García, Chloe Martindale, Maike
Massierer, Benjamin Smith, and Jaap Top. Isogenies for point counting on genus two
hyperelliptic curves with maximal real multiplication. In Algebraic Geometry for Coding
Theory and Cryptography, pages 63–94. Springer, 2017.
[9] Stéphane Ballet, Julia Pieltant, Matthieu Rambaud, and Jeroen Sijsling. On some bounds
for symmetric tensor rank of multiplication in finite fields. Contemporary Mathematics,
AMS, 686:93–121, 2017.
[10] Razvan Barbulescu, Joppe W. Bos, Cyril Bouvier, Thorsten Kleinjung, and Peter L. Mont-
gomery. Finding ECM-friendly curves through a study of Galois properties. In ANTS X,
volume 1 of The open book series, pages 63–86, 2012.
[11] Magali Bardet. Étude des systèmes algébriques surdéterminés. Applications aux codes
correcteurs et à la cryptographie. PhD thesis, Université Pierre et Marie Curie-Paris VI,
2004.
117
118 Bibliography
[12] Magali Bardet, Jean-Charles Faugère, and Bruno Salvy. On the complexity of the F5
Gröbner basis algorithm. Journal of Symbolic Computation, 70:49–70, 2015.
[13] Jens Bauch, Daniel J. Bernstein, Henry de Valence, Tanja Lange, and Christine Van Vre-
dendaal. Short generators without quantum computers: the case of multiquadratics. In
EUROCRYPT 2017, volume 10210 of LNCS, pages 27–59. Springer, 2017.
[14] Eberhard Becker, Teo Mora, Maria Grazia Marinari, and Carlo Traverso. The shape of
the shape lemma. In Proceedings of ISSAC 1994, pages 129–133. ACM, 1994.
[15] Elwyn R. Berlekamp. Factoring polynomials over large finite fields. Mathematics of Com-
putation, 24(111):713–735, 1970.
[16] Daniel Bernstein, Peter Birkner, Tanja Lange, and Christiane Peters. ECM using Edwards
curves. Mathematics of Computation, 82(282):1139–1179, 2013.
[17] Daniel J. Bernstein. Curve25519: new Diffie–Hellman speed records. In PKC 2006, volume
3958 of LNCS, pages 207–228. Springer, 2006.
[18] Daniel J. Bernstein, Chitchanok Chuengsatiansup, Tanja Lange, and Peter Schwabe. Kum-
mer strikes back: new DH speed records. In ASIACRYPT 2014, volume 8873 of LNCS,
pages 317–337. Springer, 2014.
[19] Christina Birkenhake and Herbert Lange. Complex Abelian varieties. Springer-Verlag,
2004.
[20] G. Bisson, R. Cosset, D. Robert, et al. AVIsogenies (abelian varieties and isogenies).
Magma package for explicit isogenies between abelian varieties, 2010.
[21] Alin Bostan, Frédéric Chyzak, Marc Giusti, Romain Lebreton, Grégoire Lecerf, Bruno
Salvy, and Éric Schost. Algorithmes efficaces en calcul formel. Published by the authors,
2017.
[22] Alin Bostan, Grégoire Lecerf, Bruno Salvy, Éric Schost, and Bernd Wiebelt. Complexity
issues in bivariate polynomial factorization. In Proceedings of ISSAC 2004, pages 42–49.
ACM, 2004.
[24] Richard P. Brent and Paul Zimmermann. Modern computer arithmetic. Cambridge Uni-
versity Press, 2010.
[25] Antonio Cafure and Guillermo Matera. Fast computation of a rational point of a variety
over a finite field. Mathematics of Computation, 75(256):2049–2085, 2006.
[26] Antonio Cafure and Guillermo Matera. An effective Bertini theorem and the number of
rational points of a normal complete intersection over a finite field. Acta Arithmetica,
130(1):19–35, 2007.
[28] David G. Cantor. On the analogue of the division polynomials for hyperelliptic curves.
Journal fur die reine und angewandte Mathematik, 447:91–146, 1994.
[29] Wouter Castryck, Jan Denef, and Frederik Vercauteren. Computing zeta functions of
nondegenerate curves. International Mathematics Research Papers, Vol. 2006, 2006.
[30] Wouter Castryck, Hendrik Hubrechts, and Frederik Vercauteren. Computing zeta func-
tions in families of Ca,b curves using deformation. In ANTS 2008, volume 5011 of LNCS,
pages 296–311. Springer, 2008.
[31] David Volfovich Chudnovsky and Gregory Volfovich Chudnovsky. Algebraic complexities
and algebraic curves over finite fields. Journal of Complexity, 4(4):285–316, 1988.
[32] Laurent Clozel, Michael Harris, and Richard Taylor. Automorphy for some `-adic lifts of
automorphic mod ` Galois representations. Publications mathématiques, 108(1):1, 2008.
[33] Henri Cohen. A course in computational algebraic number theory. Springer, 1993.
[34] Henri Cohen, Gerhard Frey, Roberto Avanzi, Christophe Doche, Tanja Lange, Kim
Nguyen, and Frederik Vercauteren. Handbook of elliptic and hyperelliptic curve cryp-
tography. CRC press, 2005.
[35] Stéphane Collart, Michael Kalkbrener, and Daniel Mall. Converting bases with the Gröb-
ner walk. Journal of Symbolic Computation, 24(3-4):465–469, 1997.
[36] Nicolas Courtois, Alexander Klimov, Jacques Patarin, and Adi Shamir. Efficient algo-
rithms for solving overdefined systems of multivariate polynomial equations. In EURO-
CRYPT 2000, volume 1807 of LNCS, pages 392–407. Springer, 2000.
[37] Jean-Marc Couveignes and Tony Ezome. Computing functions on Jacobians and their
quotients. LMS Journal of Computation and Mathematics, 18(1):555–577, 2015.
[38] David Cox, John Little, and Donal O’Shea. Ideals, varieties, and algorithms, volume 3.
Springer, 2007.
[39] Ronald Cramer, Léo Ducas, Chris Peikert, and Oded Regev. Recovering short generators
of principal ideals in cyclotomic rings. In EUROCRYPT 2016, volume 9666 of LNCS,
pages 559–585. Springer, 2016.
[40] Jean Della Dora, Claire Dicrescenzo, and Dominique Duval. About a new method for
computing in algebraic number fields. In European Conference on Computer Algebra,
pages 289–290. Springer, 1985.
[41] Jan Denef and Frederik Vercauteren. An extension of Kedlaya’s algorithm to hyperelliptic
curves in characteristic 2. Journal of Cryptology, 19(1):1–25, 2006.
[42] Noam D. Elkies. Elliptic and modular curves over finite fields and related computational
issues. In Computational Perspectives on Number Theory, pages 21–76. AMS/International
Press, 1998. Proceedings of a Conference in Honor of A.O.L. Atkin.
[44] Andreas Enge and Emmanuel Thomé. Computing class polynomials for abelian surfaces.
Experimental Mathematics, 23(2):129–145, 2014.
[45] Jean-Charles Faugère. A new efficient algorithm for computing Gröbner bases (F4). Jour-
nal of pure and applied algebra, 139(1-3):61–88, 1999.
[46] Jean-Charles Faugère. A new efficient algorithm for computing Gröbner bases without
reduction to zero (F5). Proceedings of ISSAC 2002, 2002.
[47] Jean-Charles Faugère, Patrizia Gianni, Daniel Lazard, and Teo Mora. Efficient compu-
tation of zero-dimensional Gröbner bases by change of ordering. Journal of Symbolic
Computation, 16(4):329–344, 1993.
[48] Jean-Charles Faugère, David Lubicz, and Damien Robert. Computing modular correspon-
dences for abelian varieties. Journal of Algebra, 343(1):248–277, 2011.
[49] Francesc Fité, Kiran S. Kedlaya, Víctor Rotger, and Andrew V. Sutherland. Sato–Tate
distributions and Galois endomorphism modules in genus 2. Compositio Mathematica,
148(5):1390–1442, 2012.
[50] Gerhard Frey and Michael Müller. Arithmetic of modular curves and applications. In
B. Heinrich Matzat, Gert-Martin Greuel, and Gerhard Hiss, editors, Algorithmic Algebra
and Number Theory, pages 11–48. Springer Verlag, 1999.
[51] Matsusaburô Fujiwara. Über die obere schranke des absoluten betrages der wurzeln einer
algebraischen gleichung. Tohoku Mathematical Journal, First Series, 10:167–171, 1916.
[52] Steven Galbraith and Raminder S. Ruprai. An improvement to the Gaudry-Schost algo-
rithm for multidimensional discrete logarithm problems. In IMA International Conference
on Cryptography and Coding, volume 5921 of LNCS, pages 368–382. Springer, 2009.
[53] Steven D. Galbraith and Pierrick Gaudry. Recent progress on the elliptic curve discrete
logarithm problem. Designs, Codes and Cryptography, 78(1):51–72, 2016.
[54] Joachim von zur Gathen and Jürgen Gerhard. Modern computer algebra. Cambridge
university press, 2013. Third edition.
[55] Pierrick Gaudry. Fast genus 2 arithmetic based on theta functions. Journal of Mathemat-
ical Cryptology JMC, 1(3):243–265, 2007.
[56] Pierrick Gaudry. Algorithmes de comptage de points d’une courbe définie sur un corps
fini, 2013.
[57] Pierrick Gaudry and Robert Harley. Counting points on hyperelliptic curves over finite
fields. In ANTS 2000, volume 1838 of LNCS, pages 313–332. Springer, 2000.
[58] Pierrick Gaudry, Florian Hess, and Nigel P. Smart. Constructive and destructive facets of
Weil descent on elliptic curves. Journal of Cryptology, 15(1):19–46, 2002.
[59] Pierrick Gaudry, David R. Kohel, and Benjamin A. Smith. Counting points on genus
2 curves with real multiplication. In ASIACRYPT 2011, volume 7073 of LNCS, pages
504–519. Springer, 2011.
121
[60] Pierrick Gaudry and Éric Schost. Construction of secure random curves of genus 2 over
prime fields. In EUROCRYPT 2004, volume 3027 of LNCS, pages 239–256. Springer,
2004.
[61] Pierrick Gaudry and Éric Schost. A low-memory parallel version of Matsuo, Chao and
Tsujii’s algorithm. In ANTS-VI, volume 3076 of LNCS, pages 208–222. Springer Verlag,
2004.
[62] Pierrick Gaudry and Éric Schost. Genus 2 point counting over prime fields. Journal of
Symbolic Computation, 47(4):368–400, 2012.
[63] Gerard van der Geer, Everett W. Howe, Kristin E. Lauter, and Christophe Ritzenthaler.
Tables of curves with many points, 2009.
[64] Marc Giusti, Grégoire Lecerf, and Bruno Salvy. A Gröbner free alternative for polynomial
system solving. Journal of complexity, 17(1):154–211, 2001.
[65] Shafi Goldwasser and Joe Kilian. Almost all primes can be quickly certified. In Proceedings
of the eighteenth annual ACM symposium on Theory of computing, pages 316–329. ACM,
1986.
[67] Michael Harris, Nick Shepherd-Barron, and Richard Taylor. A family of Calabi-Yau vari-
eties and potential automorphy. Annals of Mathematics, pages 779–813, 2010.
[69] David Harvey. Computing zeta functions of arithmetic schemes. Proceedings of the London
Mathematical Society, 111(6):1379–1401, 2015.
[70] David Harvey and Andrew V. Sutherland. Computing Hasse–Witt matrices of hyperel-
liptic curves in average polynomial time. LMS Journal of Computation and Mathematics,
17(A):257–273, 2014.
[71] David Harvey and Andrew V. Sutherland. Computing Hasse-Witt matrices of hyperelliptic
curves in average polynomial time II. Contemporary Mathematics, 663:127–148, 2016.
[72] Joos Heintz. Definability and fast quantifier elimination in algebraically closed fields.
Theoretical Computer Science, 24(3):239–277, 1983.
[73] Florian Hess. Computing Riemann–Roch spaces in algebraic function fields and related
topics. Journal of Symbolic Computation, 33(4):425–445, 2002.
[74] Alston S. Householder. The Padé table, the Frobenius identities, and the qd algorithm.
Linear Algebra and its applications, 4(2):161–174, 1971.
[75] Ming-Deh Huang and Doug Ierardi. Counting points on curves over finite fields. Journal
of Symbolic Computation, 25(1):1–21, 1998.
[95] Reynald Lercier and David Lubicz. A quasi quadratic time algorithm for hyperelliptic
curve point counting. The Ramanujan Journal, 12(3):399–423, 2006.
[96] David Lubicz and Damien Robert. Arithmetic on Abelian and Kummer varieties. Finite
Fields and Their Applications, 39:130–158, 2016.
[98] Chloe Martindale. Isogeny graphs, modular polynomials, and applications. PhD thesis,
PhD thesis, Universiteit Leiden, 2017. in preparation, 2018.
[99] Kazuto Matsuo, Jinhui Chao, and Shigeo Tsujii. An improved baby step giant step algo-
rithm for point counting of hyperelliptic curves over finite fields. In ANTS 2002, volume
2369 of LNCS, pages 461–474. Springer, 2002.
[100] Ernst W. Mayr and Albert R. Meyer. The complexity of the word problems for com-
mutative semigroups and polynomial ideals. Advances in mathematics, 46(3):305–329,
1982.
[102] Jean-François Mestre. Lettre adressée à Gaudry et Harley. Available on http://www. math.
jussieu. fr/˜ mestre, 2000.
[103] Enea Milio. Calcul de polynômes modulaires en dimension 2. PhD thesis, Université de
Bordeaux, 2015.
[104] Enea Milio. Computing isogenies between Jacobian of curves of genus 2 and 3. working
paper or preprint, September 2017.
[105] Victor S. Miller. Use of elliptic curves in cryptography. In CRYPTO 1985, volume 218 of
LNCS, pages 417–426. Springer, 1985.
[106] James S. Milne. Jacobian varieties. In Arithmetic geometry, pages 167–212. Springer,
1986.
[107] Shinji Miura. Algebraic geometric codes on certain plane curves. Electronics and Com-
munications in Japan (Part III: Fundamental Electronic Science), 76(12):1–13, 1993.
[108] Peter L. Montgomery. Speeding the Pollard and elliptic curve methods of factorization.
Mathematics of computation, 48(177):243–264, 1987.
[109] François Morain. Primality proving using elliptic curves: an update. In ANTS 1998,
volume 1423 of LNCS, pages 111–127. Springer, 1998.
[110] Alexander Morgan and Andrew Sommese. A homotopy for solving general polynomial
systems that respects m-homogeneous structures. Applied Mathematics and Computation,
24(2):101–113, 1987.
[111] David Mumford, Chidambaran Padmanabhan Ramanujam, and Jurij Ivanovič Manin.
Abelian varieties, volume 108. Oxford university press Oxford, 1974.
124 Bibliography
[112] Vassiliy Ilyich Nechaev. Complexity of a determinate algorithm for the discrete logarithm.
Mathematical Notes, 55(2):165–172, 1994.
[113] Committee on National Security Systems. Use of public standards for the se-
cure sharing of information among national security systems, advisory memorandum.
https://cryptome.org/2015/08/CNSS_Advisory_Memo_02-15.pdf, 2015.
[114] Jonathan Pila. Frobenius maps of Abelian varieties and finding roots of unity in finite
fields. Mathematics of Computation, 55(192):745–763, 1990.
[115] Jonathan Pila. Counting points on curves over families in polynomial time. arXiv preprint
math/0504570, 2005.
[116] Stephen Pohlig and Martin Hellman. An improved algorithm for computing logarithms
over GF(p) and its cryptographic significance (corresp.). IEEE Transactions on informa-
tion Theory, 24(1):106–110, 1978.
[117] Bjorn Poonen. Using zeta functions to factor polynomials over finite fields. arXiv preprint
arXiv:1710.00970, 2017.
[119] Joost Renes, Peter Schwabe, Benjamin Smith, and Lejla Batina. µKummer: Efficient
hyperelliptic signatures and key exchange on microcontrollers. In CHES 2016, volume
9813 of LNCS, pages 301–320. Springer, 2016.
[120] Joost Renes and Benjamin Smith. qDSA: Small and secure digital signatures with curve-
based Diffie–Hellman key pairs. In ASIACRYPT 2017, volume 10625 of LNCS, pages
273–302. Springer, 2017.
[121] Christophe Ritzenthaler. Point counting on genus 3 non hyperelliptic curves. In ANTS
2004, volume 3076 of LNCS, pages 379–394. Springer, 2004.
[122] Damien Robert. Fonctions thêta et applications à la cryptographie. PhD thesis, Université
Henri Poincaré-Nancy I, 2010.
[123] Mohab Safey El Din and Éric Schost. A nearly optimal algorithm for deciding connectivity
queries in smooth and bounded real algebraic sets. Journal of the ACM, 63(6):1– 48, 2017.
[124] Takakazu Satoh. The canonical lift of an ordinary elliptic curve over a finite field and its
point counting. Journal of the Ramanujan Mathematical Society, 15(4):247–270, 2000.
[125] Takakazu Satoh. On p-adic point counting algorithms for elliptic curves over finite fields.
In International Algorithmic Number Theory Symposium, volume 2369 of LNCS, pages
43–66. Springer, 2002.
[126] Claus-Peter Schnorr and Martin Euchner. Lattice basis reduction: Improved practical
algorithms and solving subset sum problems. Mathematical programming, 66(1-3):181–
199, 1994.
[127] René Schoof. Elliptic curves over finite fields and the computation of square roots mod p.
Mathematics of Computation, 44(170):483–494, 1985.
125
[128] René Schoof. Counting points on elliptic curves over finite fields. J. Théor. Nombres
Bordeaux, 7(1):219–254, 1995.
[129] Yih-Dar Shieh. Arithmetic aspects of point counting and Frobenius distributions. PhD
thesis, Aix-Marseille, 2015.
[131] Victor Shoup. Lower bounds for discrete logarithms and related problems. In EURO-
CRYPT 1997, volume 1233 of LNCS, pages 256–266. Springer, 1997.
[132] Andrew J. Sommese and Charles W. Wampler II. The numerical solution of systems of
polynomials arising in engineering and science. World Scientific, 2005.
[134] Andrew V. Sutherland. Order computations in generic groups. PhD thesis, Massachusetts
Institute of Technology, 2007.
[135] Andrew V. Sutherland. Accelerating the CM method. LMS Journal of Computation and
Mathematics, 15:172–204, 2012.
[136] Agnes Szanto. Multivariate subresultants using Jouanolou matrices. Journal of Pure and
Applied Algebra, 214(8):1347–1369, 2010.
[137] John Tate. Endomorphisms of abelian varieties over finite fields. Inventiones mathemati-
cae, 2(2):134–144, 1966.
[138] Walter Tautz, Jaap Top, and Alain Verberkmoes. Explicit hyperelliptic curves with real
multiplication and permutation polynomials. Canad. J. Math, 43(5):1055–1064, 1991.
[139] Richard Taylor. Automorphy for some `-adic lifts of automorphic mod ` Galois represen-
tations. II. Publications mathématiques, 108(1):183–239, 2008.
[140] Gérald Tenenbaum. Introduction to analytic and probabilistic number theory. Cambridge
university press, 1995.
[141] Akira Terui. Recursive polynomial remainder sequence and its subresultants. Journal of
Algebra, 320(2):633–659, 2008.
[142] Jan Tuitman. Counting points on curves using a map to P1 , II. Finite Fields and Their
Applications, 45:301–322, 2017.
[143] Gilles Villard. On computing the resultant of generic bivariate polynomials. In Proceedings
of ISSAC 2018. ACM, 2018.
[144] Paul van Wamelen. Proving that a genus 2 curve has complex multiplication. Mathematics
of Computation, 68(228):1663–1677, 1999.
[145] William C. Waterhouse and James S. Milne. Abelian varieties over finite fields. In Proc.
Sympos. Pure Math, volume 20, pages 53–64, 1971.
126 Bibliography
[146] Annegret Weng. Constructing hyperelliptic curves of genus 2 suitable for cryptography.
Mathematics of Computation, 72(241):435–458, 2003.
Les courbes algébriques font partie du paysage mathématique depuis plus de 2000 ans, depuis
l’Antiquité et les fondements de la Géométrie jusqu’à la preuve du dernier théorème de Fermat
dans les années 1990. De telles courbes sont souvent décrites comme le lieu des solutions d’un sys-
tèmes polynomial et modélisent de nombreuses situations, d’où leur vaste domaine d’application
y compris en dehors des Mathématiques. Dans cette thèse, nous nous concentrons sur les courbes
algébriques planes, c’est-à-dire des courbes données par une équation de la forme f (x, y) = 0,
avec f un polynome bivarié. Un point de la courbe correspond à une solution de son équation,
mais il faut s’accorder sur le sens à donner à la notion de solution. Les mathématiciens grecs de
l’Antiquité en savent quelque chose puisqu’ils ont dû faire face au fait que même des équations à
coefficients entiers peuvent avoir des solutions irrationnelles. Il nous faut donc préciser le corps
dans lequel vivent les coefficients du polynôme f , que nous appellerons le corps de base de la
courbe, et considérer les points de la courbe dans la clôture algébrique de ce corps. Rien ne
s’oppose toutefois à ce que certains d’entre eux appartiennent bien au corps de base, et nous
les qualifierons de rationnels. Bien que le corps des réels semble particulièrement naturel (sans
mauvais jeu de mots) pour étudier les corps et en particulier pour les tracer, les courbes définies
sur les corps finis sont également sources d’intérêt pour leurs multiples applications. Dans cette
thèse, nous considérons presque exclusivement des courbes définies sur un corps fini de carac-
téristique impaire, bien que nous profitons parfois de propriétés de certaines courbes qui sont
des réductions modulo un nombre premier de courbes définies sur Q.
Les courbes sur les corps finis ont historiquement trouvé leurs premières applications en
théorie des nombres, et plus particulièrement pour factoriser des entiers ou tester leur primalité.
En effet, l’algorithme ECM [93] est toujours compétitif par rapport aux algorithmes basé sur
le crible sur les corps de nombres (NFS) pour trouver des “petits” facteurs (de taille inférieure
à 83 bits). L’algorithme ECPP introduit par Goldwasser et Kilian, puis amélioré par Atkin
et Morain [65, 109] est encore aujourd’hui parmi les plus rapides pour générer des certificats
de primalité, il a même récemment été utilisé pour prouver la primalité d’un entier de 34987
bits [76]. Si son efficacité n’est plus à prouver, la complexité de cet algorithme reste cependant
heuristique. Toujours en utilisant des courbes algébriques, de genre 2 cette fois-ci, Adleman
et Huang [4] ont pu construire un algorithme de Las-Vegas pour prouver la primalité en temps
polynomial. Une approche basée sur des courbes encore plus générales est évoquée pour parvenir
à un algorithme de factorisation de polynômes sur des corps finis qui soit à la fois détermin-
iste et de complexité polynomiale. On peut également mentionner l’utilisation de techniques
d’interpolation sur des courbes algébriques par Chudnovsky et Chudnovsky [31] dans les années
1980 pour étudier la complexité du produit de deux polynômes sur des corps finis. Cette ap-
proche est toujours d’actualité et il existe une littérature abondante et récente [118, 9] visant à
construire les meilleures courbes possibles dans cette optique. En particulier, on recherche des
127
128 Résumé en Français
courbes avec autant de points rationnels que possible, par exemple les courbes regroupées dans
la base de donnée libre [63].
Il en va de même pour l’algorithme ECM dont on souhaite améliorer les performances en
choisissant des familles de courbes particulièrement adéquates, soit parce qu’elles ont plus de
chances d’avoir un nombre de points friable [6, 10], ou parce qu’elles permettent une arithmé-
tique plus rapide [108, 16]. Si la factorisation d’entiers intéresse fortement les cryptanalystes,
les courbes algébriques et notamment les courbes elliptiques ont également des applications con-
structives en cryptographie. En effet, le groupe des points rationnels d’une courbe elliptique sur
un corps fini est un parfait exemple de groupe dans lequel calculer des logarithmes discrets est
difficile. Contrairement à RSA et au logarithme discret dans le groupe multiplicatif des corps
finis, il n’existe pas pour le moment d’attaque sous-exponentielle, ce qui permet d’opter pour des
clés bien plus petites. Cela dit, même un algorithme exponentiel peut être efficace si le groupe
utilisé est de petite taille ou si son cardinal est très friable [116]. Compter le nombre de points
rationnels d’une courbe est donc une étape essentielle avant de décider ou non si elle respecte
l’exigence de sécurité que l’on se fixe.
À mesure que l’étude des courbes se développait, d’autres objets mathématiques associés
furent introduits, à l’image des nombreuses fonctions L et zeta qui occupent aujourd’hui une
place centrale dans la théorie des nombres moderne. Ainsi, on trouve plusieurs exemples
d’énoncés de théorie des nombres qui furent établis en prouvant des résultats de nature an-
alytique sur des fonctions complexes, comme par exemple la conjecture de Sato -Tate. Cette
conjecture concerne la distribution du nombre de points rationnels de la réduction modulo p
d’une courbe elliptique définie sur Q lorsque p varie, et fut prouvée autour de 2005 [67, 32, 139].
Des travaux sont en cours pour formuler des conjectures similaires dans des cas plus généraux,
notamment en genre 2 et 3 [49]. Pour ce faire, des algorithmes de comptage de points comme
celui d’Harvey [71] sont au coeur d’expériences numériques impliquant une puissance de calcul
considérable.
Chacune de ces applications a son propre contexte, de la nature des courbes utilisées à la
taille du corps de définition. Dans cette thèse, nous considérons exclusivement des courbes
hyperelliptiques données par un modèle imaginaire y 2 = f (x), avec f un polynôme unitaire sans
carré de degré impair. Le degré deg f = 2g + 1 détermine le genre g de la courbe associée, qui
est un paramètre important dans tout le manuscrit. Deux paramètres supplémentaires p et n
déterminent la caractéristique p et la taille q = pn du corps de base de la courbe. Dans tout le
manuscrit, nous utilisons la notation standard O(), la notation O() e lorsque nous omettons les
termes polylogarithmiques, et la notation Og quand nous omettons également tous les termes
dépendant uniquement de g (et indépendants de q). En utilisant des algorithmes rapides (voir
par exemple [24]), nous partons du principe que chaque opération dans le corps fini Fq a un coût
en O(log
e q).
L’algorithme de Schoof
Nous venons de voir plusieurs raisons pour lesquelles connaître le nombre de points rationnels
d’une courbe elliptique peut être capital. Pour ce faire, une approche est de construire des
courbes ayant un nombre de points spécifié à l’avance, par exemple avec la méthode CM de [6] qui
fut utilisée en cryptographie [86]. Une autre façon de procéder consiste à considérer des courbes
au hasard, compter leurs points rationnels et répéter tant que le résultat n’est pas satisfaisant.
Bien qu’il existe des approches élémentaires pour réaliser cette tâche, comme par exemple tester
toutes les paires (x, y) ∈ Fq pour vérifier si elles satisfont l’équation de la courbe, leur complexité
les rend inadaptées dans la plupart des cas. En 1985, Schoof propose le premier algorithme de
129
comptage de points dont la complexité est polynomiale en log q [127]. Bien qu’à cette époque
son algorithme ne soit pas considéré suffisamment efficace pour une utilisation pratique, il a
ouvert la voie à de nombreuses améliorations et généralisations aujourd’hui regroupées sous
le terme de méthodes `-adiques. Quelques années plus tard, Elkies et Atkin conçurent des
améliorations [128] qui en firent un algorithme utilisable et remarquablement efficace. Sous le
nom SEA (Schoof-Elkies-Atkin), cette variante de l’algorithme de Schoof permet aujourd’hui
de compter les points d’une courbe elliptique et de générer des courbes cryptographiques de
manière plus que satisfaisante.
L’idée de l’algorithme de Schoof est de calculer le nombre de points rationnels modulo des
nombres premiers ` jusqu’à ce que la valeur exacte puisse être déduite en appliquant le théorème
des restes chinois. En effet, les bornes de Weil impliquent que ce nombre se trouve dans un
√
intervalle de taille d4 qe et donc que le nombre et la taille du plus grand ` à considérer sont
tous les deux en O(log q). Pour obtenir l’information modulo `, Schoof fait agir l’endomorphisme
de Frobenius π : (x, y) 7→ (xq , y q ) sur la `-torsion, c’est-à-dire l’ensemble des points P tels que
`P est le point à l’infini, qui est l’élément neutre pour l’addition sur les points de la courbe. Pour
` premier différent de la caractéristique, la ` torsion est en fait un espace vectoriel isomorphe
à (Z /` Z)2 . L’action de l’endomorphisme de Frobenius est alors représentée par une matrice
2 × 2 dont la trace détermine le nombre de points rationnels modulo `. L’étape la plus coûteuse
dans cet algorithme est le calcul de π dans la `-torsion, qui coûte O(` e 2 log q) opérations dans
le corps de base. En prenant en compte le coût de telles opérations, la taille du plus grand `
et le nombre de premiers ` à considérer, la complexité totale de l’algorithme de Schoof est en
5
O(log
e q). Dans l’algorithme SEA, le gain de complexité est réalisé en remplaçant la `-torsion
par un sous groupe isomorphe à Z /` Z dans lequel chaque opération coûte O(` e log q) opérations
4
dans le corps de base, ce qui donne une complexité en O(log q) pour l’algorithme SEA.
e
Jacobiennes de courbes
Pour des applications telles que la construction de groupes cryptographiques, la notion qui
généralise une courbe elliptique n’est pas directement une courbe de genre plus grand, parce que
ses points rationnels ne forment pas nécessairement un groupe. Les jacobiennes de telles courbes
représentent un objet plus adapté car elles ont une structure de groupe (plus précisément de
variété abélienne). Il en va de même pour la `-torsion qui est celle de la jacobienne et non plus
de la courbe elle-même. Nous verrons qu’en genre plus grand que 2, la détermination de la
`-torsion surpasse l’application du Frobenius et devient l’étape dominante dans la complexité.
Cette étape repose de manière cruciale sur l’arithmétique de la jacobienne.
Bien qu’il existe des algorithmes permettant d’effectuer des additions dans des jacobiennes
de courbes non-hyperelliptiques, par exemple [73, 83], cette thèse se concentre sur le cas hy-
perelliptique parce que cela simplifie grandement l’arithmétique dans les jacobiennes associées,
et notamment la façon dont on parvient à décrire la `-torsion. Les éléments de jacobiennes de
courbes hyperelliptiques de genre g peuvent être représentés par leurs coordonnées de Mumford,
c’est-à-dire par une paire de polynômes de degrés respectifs bornés par g et g − 1. L’addition de
deux éléments sous cette forme est réalisée avec l’algorithme de Cantor [27], avec une complex-
ité en temps et en mémoire qui est quasi-linéaire en g log q. Via une exponentiation binaire, on
déduit de cet algorithme un moyen efficace de multiplier des éléments d’une jacobienne hyper-
elliptique par des scalaires.
130 Résumé en Français
Dans les années 1990, Pila [114] constate que les résultats théoriques sur lesquels repose l’algorithme
de Schoof sont valides bien au-delà des courbes elliptiques. Il étend ainsi l’algorithme de
Schoof au cas des variétés abéliennes et en particulier des (jacobiennes de) courbes algébriques.
L’algorithme de Pila ne se contente pas de renvoyer le nombre de points rationnels, mais le
polynôme caractéristique de l’endomorphisme de Frobenius ou, de manière équivalente, la fonc-
tion zeta locale de la courbe. Comme l’algorithme de Schoof, l’algorithme de Pila est polynomial
en log q mais il dépend en plus de paramètres comme le genre (la dimension) de la courbe, et d’une
manière exponentielle. Cet algorithme n’a pas été conçu pour être directement implémentable,
mais dans le cas particulier des courbes hyperelliptiques de genre 2, l’emploi de techniques issues
du calcul formel pour décrire les sous-groupes de torsion et l’action du Frobenius sur ces sous-
groupes a permis à Gaudry et Harley [57] de créer et d’implémenter un analogue de l’algorithme
de Schoof. Cet algorithme fut ensuite amélioré par Gaudry et Schost au point d’être suffisam-
ment efficace pour générer une jacobienne de courbe de genre 2 de taille cryptographique [60, 62].
Notons que comme en genre 1, il est toujours possible de créer des jacobiennes avec un nombre
de points fixé à l’avance via la méthode CM [146, 135, 44].
Au début des années 2000, d’autres méthodes également basées sur le calcul de l’action
(d’une approximation p-adique) du Frobenius ont été développées, d’abord par Satoh [125] dans
le cas elliptique. Cette méthode a ensuite été étendue dans un contexte bien plus général et
de nombreux algorithmes, regroupés sous le noms de méthodes p-adiques, ont vu le jour. Ces
différents algorithmes considèrent différents relèvements du Frobenius agissant sur différents es-
paces, comme par exemple celui de Kedlaya [80] basé sur la cohomologie de Monsky-Washnitzer
qui s’applique à des courbes hyperelliptiques de genre quelconque, et son analogue en carac-
téristique 2 par Denef et Vercauteren [41]. D’autres extensions à des courbes de plus en plus
générales ont ensuite été proposées [30, 29, 142] et font toujours l’objet d’une recherche active.
En caractéristique 2, une variante de l’agorithme de Satoh fut proposée indépendamment par
Mestre [102] qui propose une expression du Frobenius en termes de suite artihmético-géométrique
et qui représente aujourd’hui la méthode la plus rapide pour compter les points de courbes ellip-
tiques définies sur F2n . Toujours dans [102], Mestre propose une généralisation de sa méthode
en genre 2, et d’autres travaux l’ont ensuite étendue dans deux directions : soit en choisissant
un corps de (petite) caractéristique impaire [94], soit en considérant des courbes de genre plus
grand [121, 95].
Ces méthodes fournissent des algorithmes utilisables en pratique, et dont la complexité est
polynomiale en g et en n, mais exponentielle en log p, de sorte que les méthodes p-adiques et
`-adiques sont complémentaires lorsque l’un des deux paramètres g et p est petit. En revanche,
il n’existe pas d’algorithme classique de comptage de points dont la complexité est polynomiale
en ces deux paramètres. Notons toutefois que Kedlaya [81] a proposé un tel algorithme en
exploitant des primitives quantiques et que pour une courbe définie sur Q, Harvey [70] parvient
à compter les points de ses réductions modulo tous les nombres premiers p inférieurs à une
borne N en temps quasi-linéaire en N , ce qui veut dire que la complexité moyenne par p est
polynomiale en p. Bien que cela ne s’applique qu’à des réductions d’une même courbe sur Q,
ces algorithmes sont particulièrement adaptés pour formuler des généralisations de la conjecture
de Sato -Tate.
Dans cette thèse, lorsque nous parlons de compter les points d’une courbe ou de sa jacobienne,
nous parlons en réalité de résoudre le problème suivant.
131
Avec C(Fqi ) l’ensemble des points C dont les coordonnée sont dans Fqi .
Sous-groupes de torsion
Une étape clé dans les méthodes `-adiques est la détermination de l’action du Frobenius sur les
sous-groupes de `-torsion. Dans l’algorithme de Schoof, la `-torsion de la courbe est l’ensemble
des points dont l’abscisse annule des polynômes ψ` de degrés (`2 −1)/2 que l’on appelle polynômes
de `-division. Ainsi l’action du Frobenius π : (x, y) 7→ (xq , y q ) peut être calculée en répétant des
étapes d’exponentiation et de réduction par les équations définissant la `-torsion : y 2 = f (x) et
ψ` (x) = 0. Dans un contexte plus général, Pila appelle cette étape le calcul d’une représentation
de bas degré du Frobenius.
Pour les courbes elliptiques, les polynômes de division donnent une représentation simple et
manipulable de la `-torsion. Pour des courbes de genre supérieur, a priori, nous ne pouvons pas
calculer de représentation de bas degré du Frobenius comme dans l’algorithme de Schoof car
nous n’avons de telle description pour la `-torsion. Il faut donc calculer une telle représentation,
par exemple en calculant une base de Gröbner de l’idéal de torsion, avant de pouvoir réduire le
Frobenius.
Dans cette thèse, nous suivons l’approche de Gaudry-Harley-Schost [57, 60, 62] et com-
mençons par écrire l’équation `D = 0 dans la jacobienne. Pour ce faire, nous avons besoin
d’une description de la multiplication par ` en tant qu’application rationnelle. Pour P un point
d’une courbe hyperelliptique, il existe 2g + 2 polynômes décrivant les coordonnées de Mumford
du diviseur `(P − P∞ ). Ces polynômes ont été introduits par Cantor [28] et nommés d’après
lui. En écrivant un élément D de la jacobienne comme somme formelle de points, on peut ainsi
déduire une première description de la `-torsion en tant qu’ensemble des solutions du système
`D = 0.
Une fois ce système calculé, nous le résolvons afin d’avoir une représentation de la `-torsion
nous permettant de réduire le Frobenius. Cette étape est la plus coûteuse dans nos algorithmes,
à la fois en théorie et en pratique. Nous apportons ainsi un soin particulier à la façon dont nous
modélisons la `-torsion par des systèmes polynomiaux et aux techniques de résolution que nous
utilisons car elles ont un impact significatif sur les complexités et les temps de calcul de nos
algorithmes de comptage de points.
Contributions
Dans cette thèse, nous étudions les méthodes `-adiques dérivées des algorithmes de Schoof et Pila.
La complexité de tels algorithmes est au cœur de ce manuscrit, et notamment la dépendance en g
dans l’exposant de log q. La première contribution, publiée en tant que [1], propose un algorithme
de comptage de points sur les courbes hyperelliptiques en grande caractéristique dont on borne
la complexité par une puissance de log q qui croît linéairement en g. Ce résultat s’inscrit dans la
continuité des travaux d’Adleman et Huang [3] qui ont établi que cet exposant était polynomial en
g dans le cas général, et quasi-quadratique dans le cas hyperelliptique. L’état de l’art concernant
cet exposant est résumé dans la table 3. Pour atteindre une telle complexité, notre algorithme
n’est guère différent de celui de Pila, mais notre analyse de complexité fait intervenir une nouvelle
modélisation de la `-torsion par un système polynomial structuré, comme expliqué plus haut.
Cette structure est la clé de voûte de notre résultat, et l’on remarque d’ailleurs qu’en suivant
notre raisonnement sans l’exploiter, on retrouve un résultat similaire à celui d’Adleman et Huang
O(g 2 log g)
en O (log q) . Si l’idée est naturelle, son exécution nécessite de surmonter quelques
obstacles techniques et notamment de s’assurer que le système polynomial que l’on considère
vérifie bien des hypothèses de généricité sur lesquelles reposent les résultats de complexité pour
le calcul de résolution géométrique. Un autre obstacle est qu’en réalité notre modélisation fait
intervenir un grand nombre de systèmes polynômiaux pour capturer toute la `-torsion, y compris
133
Table 3: Complexité asymptotique pour calculer la fonction zeta locale d’une variété abélienne
de dimension g sur Fq
Un autre aspect que nous étudions concerne l’utilisation pratique d’algorithmes inspirés par
Schoof et Pila lorsque le genre est petit, ce qui va de pair avec la valeur exacte de l’exposant
de log q à genre fixé. Bien que l’algorithme de Pila ne soit pas adapté à une implémentation
directe, ce que Pila appelle une représentation réduite du Frobenius, c’est-à-dire la réduction
du Frobenius modulo l’idéal de `-torsion peut être calculé en pratique à l’aide de techniques
standard issues du calcul formel. En genre 2, c’est précisément ce qui a été réalisé et implé-
menté par Gaudry, Harley et Schost dans [57, 60, 62]. Si la taille des objets à manipuler est
sensiblement plus grande que dans le cas elliptique, cette approche est suffisamment efficace
pour permettre la construction d’une courbe cryptographique de genre 2 définie sur un corps
premier de taille 128 bits. Dans cette thèse, nous proposons une analyse heuristique concernant
la faisabilité d’une telle courbe sur un corps de taille 192 bits, qui nous paraît peu probable
en l’état actuel des choses. Les courbes à multiplication réelle (RM) explicite possèdent une
structure supplémentaire qui permet, en genre 2, de ramener l’exposant de log q de 8 à 5 [59],
atteignant ainsi une complexité semblable à l’algorithme de Schoof.
Une autre contribution de ce manuscrit s’intéresse ainsi aux courbes hyperelliptiques de genre
3 [2]. Cette fois, la taille de la `-torsion rend les expériences pratiquement impossibles dès lors
que ` dépasse 3. Cependant, pour des courbes munies d’une multiplication réelle explicite, les
travaux de [59] s’étendent, moyennant quelques subtilités supplémentaires, avec une complexité
6
asymptotique en O(loge q), donc inférieure à celle du cas général en genre 2. Comme on pouvait
s’y attendre avec une telle complexité, cet algorithme est utilisable en pratique, après quelques
modifications. En particulier, nous calculons la fonction zeta locale d’une courbe hyperelliptique
de genre 3 à multiplication réelle définie sur le corps premier F264 −59 , qui a donc une jacobienne
de 192 bits. Notre algorithme s’adapte aisément en un algorithme de comptage de points sur
des courbes sans multiplication réelle explicite, au prix d’une complexité bien plus grande en
14
O(log
e q), ce qui donne une réponse partielle aux interrogations sur la complexité de l’algorithme
de Schoof-Pila en genre 3. Comme en genre 2, l’étape la plus coûteuse est la résolution du système
polynomial décrivant la `-torsion. Ce système est trivarié mais l’élimination successive à base
de résultants est toujours suffisante pour atteindre une complexité quadratique en le degré de
l’idéal. En pratique, cependant, nous mettons le système sous forme triangulaire en calculant
une base de Gröbner avec les algorithme F4 [45] et FGLM [47]. Cette approche est bien plus
134 Résumé en Français
efficace en pratique, malgré des bornes de complexité théoriques bien plus difficiles à contrôler.
Table 4: Complexité asymptotique pour le calcul de fonctions zeta locales de courbes hyperel-
liptiques de genre ≤ 3
Abstract
Counting points on algebraic curves has drawn a lot of attention due to its many applications
from number theory and arithmetic geometry to cryptography and coding theory. In this thesis,
we focus on counting points on hyperelliptic curves over finite fields of large characteristic p. In
this setting, the most suitable algorithms are currently those of Schoof and Pila, because their
complexities are polynomial in log q. However, their dependency in the genus g of the curve is
exponential, and this is already painful even in genus 3.
Our contributions mainly consist of establishing new complexity bounds with a smaller
dependency in g of the exponent of log p. For hyperelliptic curves, previous work showed that
it was quasi-quadratic, and we reduced it to a linear dependency. Restricting to more special
families of hyperelliptic curves with explicit real multiplication (RM), we obtained a constant
bound for this exponent.
In genus 3, we proposed an algorithm based on those of Schoof and Gaudry-Harley-Schost
whose complexity is prohibitive in general, but turns out to be reasonable when the input curves
have explicit RM. In this more favorable case, we were able to count points on a hyperelliptic
curve defined over a 64-bit prime field.
135
136