Professional Documents
Culture Documents
Thomas Decru
June 2022
Aspects of elliptic and hyperelliptic curve
isogeny-based cryptography
Thomas DECRU
June 2022
© 2022 KU Leuven – Faculty of Engineering Science
Uitgegeven in eigen beheer, Thomas Decru, Kasteelpark Arenberg 10/2452, B-3001 Leuven (Belgium)
Alle rechten voorbehouden. Niets uit deze uitgave mag worden vermenigvuldigd en/of openbaar gemaakt worden
door middel van druk, fotokopie, microfilm, elektronisch of op welke andere wijze ook zonder voorafgaande
schriftelijke toestemming van de uitgever.
All rights reserved. No part of the publication may be reproduced in any form by print, photoprint, microfilm,
electronic or any other means without written permission from the publisher.
Preface
What a long strange trip it’s been! Starting out uni at age 25 isn’t exactly a
common occurrence around here, but I have not regretted my decision for one
second. I had the privilege of learning lots of intriguing things, meeting dozens
of interesting people and visiting amazing locations.
First of all I would like to thank my supervisors Fré and Wouter. They were
around whenever I needed them, but also gave me the freedom to pursue my
own interests. I would also like to thank my other co-authors Lorenz Panny
and Ben Smith, in alphabetical order, as is standard in our field.1 There were
numerous other cryptographers and mathematicians with whom I did not have
the honor of co-authoring a paper, but they nonetheless helped me reach where
I am today, so thank you to them as well.
Cosic is an amazing research group, something which should absolutely not be
taken for granted. People from all branches of cryptography are gathered, and
it’s nigh impossible to want to learn more about a particular subject without a
colleague being ready to teach you the ins and outs. COVID-19 has put a bit
of a damper on this the last two years (I really do miss the Friday lunches in
the party room), but hopefully things return to normal soon.
Outside of academia I would also like to thank my family and friends. In
particular my parents who always supported me, no matter how obscure my
life decisions seemed (“Professional poker player? Are you sure?”). My wife
Laurence, who can read me better than I will ever understand myself. And last
but certainly not least, my stepdaughter Mila, who can conjure a smile on my
face any day of the week, regardless of my mood.
Thank you. All of you.
1 And as Lorenz would have wanted, with an explanatory link as to why it is standard in
i
Abstract
iii
iv ABSTRACT
access to three parallel cores, this variant can hash a message at roughly three
times the speed as the original CGL hash function. Finally, we also generalize
the concept of radical isogenies to higher dimensions, which are then called
multiradical isogenies. This allows us to use efficient (3, 3)-isogenies in a new
variant of the CGL hash function, which outperforms our version based on
(2, 2)-isogenies by a factor of nine on a single core.
Beknopte samenvatting
v
vi BEKNOPTE SAMENVATTING
CGL Charles–Goren–Lauter. iii, iv, vi, 9, 16, 17, 26, 30, 34, 38, 60, 61
CSI-FiSh Commutative Supersingular Isogeny-based Fiat–Shamir. 9, 58
CSIDH Commutative Supersingular Isogeny Diffie–Hellman. iii, v, xiii, 9, 11,
13, 15, 31, 34, 39, 45, 57–59
CSURF CSIDH on the surface. xi, 59, 119
RSA Rivest–Shamir–Adleman. 7, 8, 12
vii
Contents
Abstract iii
Beknopte samenvatting v
Contents ix
List of Tables xv
Chapter 1: Introduction 3
1.1 The history of elliptic curve cryptography . . . . . . . . . . . . 4
1.2 Post-quantum cryptography . . . . . . . . . . . . . . . . . . . . 7
1.3 Strengths & weaknesses of isogeny-based cryptography . . . . . 10
1.4 Research problems and overview of the thesis . . . . . . . . . . 14
Chapter 2: Preliminaries 19
2.1 Mathematical background . . . . . . . . . . . . . . . . . . . . . 20
ix
x CONTENTS
Bibliography 63
CONTENTS xi
Part II Publications 73
xiii
List of Tables
xv
Part I
Isogeny-based cryptography
1
2
Chapter 1
Introduction
Victor S. Miller
Elliptic curves have been a well-studied area of mathematics since the nineteenth
century, with applications such as pseudo-random number generators and an
elliptic curve-based integer-factorization algorithm. Elliptic curves are also at
the basis of the majority of contemporary public key cryptographic protocols,
and we will take a closer look at the most important contributions in this area in
Section 1.1. With the recent rise of research into quantum computers however,
many of the traditional cryptographic protocols may become vulnerable to a
completely distinct set of attacks in the form of quantum algorithms. This will
be the topic of discussion in Section 1.2, where a new method of using elliptic
curves in cryptography will also be introduced, based on isogenies between
elliptic curves. These fairly recently developed cryptographic schemes come
with their own advantages and disadvantages, of which we will discuss the most
prominent ones in Section 1.3. We will end this chapter in Section 1.4 by posing
the two most significant research questions this thesis will address in the domain
of isogeny-based cryptography.
3
4 INTRODUCTION
In 1976, Diffie and Hellman published one of the most influential papers of
modern day cryptography [35]. This protocol has been labeled the Diffie-Hellman
key exchange and it works as follows.
Assume Alice and Bob are two parties who want to agree on some sort of secret,
but they only have access to a channel that may be insecure. First, they can
publicly agree on a finite cyclic group (G, ·) with generator g. Next, they both
generate a random integer, say a for Alice and b for Bob, where both integers
are at most the group order of G. They now separately calculate g a and g b and
pass these to one another over the possibly-insecure channel. Alice can now
compute (g b )a and Bob can compute (g a )b , which both equal g ab and can serve
as their shared secret. An illustrative diagram is shown below.
ga
g (g a )b = (g b )a
gb
Assuming the channel is insecure, an eavesdropper Eve will have access to at
least G, g, g a and g b , but also possibly extra information such as the order of
G. The question then boils down to: in which groups is this information not
sufficient for Eve to also compute the secret g ab ? In certain groups, knowledge
of both g and g a is enough to compute a, i.e. the equivalent of a (discrete)
logarithm computation in G. In certain groups such as the multiplicative group
of integers modulo a prime p, i.e. Z× p , this is not necessarily the case. But even
in this instance, a necessary – but not sufficient – condition is that p needs to
be large enough. Otherwise, Eve could just find the secret a by brute force
computing all possible powers of g until a match with g a is found. In 1985,
Koblitz and Miller independently suggested the use of elliptic curves in this
Diffie–Hellman key exchange [55, 60].
An elliptic curve E is a nonsingular projective curve of genus one over a certain
field K, together with a distinguished point on that curve defined over K. In
its most general setting, any such curve E is isomorphic to a curve defined
by an affine equation of the form y 2 + a1 xy + a3 y = x3 + a2 x2 + a4 x + a6 ,
THE HISTORY OF ELLIPTIC CURVE CRYPTOGRAPHY 5
y E y E
4 4
−2P
P
Q
2 −(P + Q) 2
P
x x
−4 −2 2 4 −4 −2 2 4
−2 −2
P +Q
2P
−4 −4
(a) Adding two generic points P and (b) Adding a generic point P to itself
Q on an elliptic curve E. on an elliptic curve E.
Figure 1.1: Illustration of the elliptic curve group law over the real field with
the chord-and-tangent method.
ECDH. It also suffices to be able to compute (k1 k2 )P from just P, k1 P, k2 P , without needing
to know k1 and k2 explicitly. This last problem is called the Computational Diffie–Hellman
problem.
POST-QUANTUM CRYPTOGRAPHY 7
curves were standardized through government channels, see for example the
Digital Signature Standard document of the National Institute of Standards
and Technology (NIST) from 2013 [64].
The main advantage of elliptic curve-based cryptographic protocols is that they
typically have significantly shorter keys than the alternative schemes. For 128
bits of classical security for example, NIST recommends a 256-bit elliptic curve
versus a 3072-bit RSA modulus [67]. To this day, elliptic curves in cryptography
are still used relentlessly in state-of-the-art technologies, such as for visiting
websites securely through TLS, or as a subprotocol for certain cryptocurrency
computations.
It is worth mentioning that not all elliptic curve cryptographic protocols
have the ECDLP as underlying hardness assumption. Schemes exist where,
through the Weil or Tate pairing on elliptic curves, the security is based on the
discrete logarithm problem in the multiplicative group of a finite field [12, 43].
Additionally, one can consider hyperelliptic curves of arbitrary genus, instead
of elliptic curves, and use similar schemes as the ECDH. A hyperelliptic curve
over a field with characteristic different from two is generically given by an
equation of the form y 2 = f (x), where f (x) is a monic squarefree polynomial
of degree 2g + 1 or 2g + 2, with g the wanted genus (e.g. an elliptic curve is a
hyperelliptic curve of genus one). One can embed the set of points on such a
curve into a group by considering the Jacobian of this curve, where at most g
affine points combined can represent a group element uniquely. This method is
a little more involved than the chord-and-tangent method of elliptic curves but
is nonetheless a well-understood construction (see Example 1 in Section 2.1.1).
Despite good research efforts, these hyperelliptic curves could typically not
compete with elliptic curves in terms of efficiency. Additionally, there was more
uncertainty in terms of security. A significant number of discrete logarithm
problems on Jacobians of hyperelliptic curves of genus three could for example
be translated by isogenies to discrete logarithm problems on abelian varieties
that are Jacobians of nonhyperelliptic curves, which are vulnerable to index
calculus attacks [87].
One of the first mentions of a quantum computer was published in 1980, where
Benioff suggested a theoretical quantum model of the Turing machine [4]. It
was not until 1998 that an actual quantum computer was built [27], although it
only really had 2 qubits (the quantum equivalents to classical bits). Nowadays,
several other quantum computer models have been designed, both in theory
8 INTRODUCTION
and in practice, with companies such as Google and IBM putting a lot of
research into them. In 2019, Google reported a demonstration of a successful
53-qubit quantum computer [46]. In 2020, IBM managed to create a 65-qubit
quantum computer [93], and followed up with the current record of 127 qubits
in 2021 with their Eagle processor [26]. Quantum computers operate under
a completely different set of assumptions and rules than classical computers,
and are susceptible to for example temperature changes and inaccuracies. A
common misconception is that a sufficiently large quantum computer would
be able to outperform any computation on a classical computer. Even though
this is not true, quantum computers are definitely capable of handling certain
specific tasks extremely efficiently.
Unfortunately, integer factorization and the ECDLP are two of those tasks. In
1994, Shor published a paper in which he described a quantum algorithm that
could solve both of these conjectured hard problems in polynomial time on a
quantum computer, an (almost) exponential improvement over the state-of-the-
art attacks by means of a classical computer [80]. Due to physical issues with
quantum computers involving stability and error rates, it is hard to predict
how many qubits it would take exactly to break the current RSA or ECDH
protocols. Physical qubits are prone to producing errors, so typically hundreds
or thousands of them are assembled together with an error-correcting code to
form one logical qubit. It’s even harder to predict when a quantum computer of
a given number of qubits – be it physical or logical – would exist, with skeptics
claiming that we’re not really close to anything groundbreaking in the near
future, if ever, and that an exponential scaling similar to Moore’s law will be
required to ever get anywhere [72, 50].
Despite this doubt in the possible future of quantum computers, the
cryptographic community has started working towards a set of protocols to
replace the ones that fall prey to any of the new quantum algorithms. In some
instances, this was simply digging up an old suggestion that was never popular
nor standardized due to performance issues, such as the McEliece cryptosystem
from 1978 [58]. For elliptic curve-based cryptography, the future looked rather
bleak since not only was a quantum computer able to solve the ECDLP, but also
its hyperelliptic variant as well as any elliptic curve pairing-based cryptographic
protocol.
Couveignes and Rostovtsev-Stolbunov independently discovered a way to use
maps between elliptic curves, called isogenies, to create a new cryptographic
protocol [31, 77]. Despite the mathematical revelation, the protocol never
attracted much attention due to the fact that it was nigh impossible to
find a set of curves with a particular number of points to make the scheme
anywhere near practical. In 2009, Charles, Goren and Lauter published a
paper describing hash functions from expander graphs, where an expander
POST-QUANTUM CRYPTOGRAPHY 9
In 2021, Craig Costello wrote a paper called “The Case for SIKE: A Decade
of the Supersingular Isogeny Problem”, in which he elaborated on ten reasons
why SIKE is a strong contender as a standard in a post-quantum cryptographic
world [30]. Even though his subject of discussion was clearly SIKE and the
underlying SIDH key exchange, most of the talking points can be generalized
to isogeny-based cryptography in general, especially the ones that make use
of the underlying hardness assumption of SIDH. We will elaborate on three of
the most noticeable strengths of isogeny-based cryptography, although I would
highly advise anyone interested to also read [30].
Strength 1. There are a limited number of known attack avenues for SIKE,
and quantum computer attacks are arguably no better than those on classical
computers.
Seven of the nine NIST’s Round 3 candidates for post-quantum public key
exchange standardization are lattice-based. The cryptanalysis for these schemes
is hard, in part due to the more difficult physical setting of quantum computers
(e.g. there needs to be nontrivial communication between a quantum and a
classical computer). The number of quantum algorithms that could attack SIKE
on the other hand is limited, and the attacks are easier to understand. Originally
it was proclaimed that Tani’s claw finding algorithm [91] was the biggest threat
to SIDH, which has time complexity O(p1/6 ) when working with elliptic curves
over the field Fp2 [51]. Later on, it was argued that the best quantum algorithms
against SIKE required more operations than originally assumed, in the order of
Õ(p1/4 ) [52, 53]. This implied that the original SIKE submission to NIST’s post-
quantum standardization process was too conservative, and adjustments with
regards to the security parameters have been submitted in the Round 3 version
of SIKE. It can even be argued that in a significant number of realistic parameter
settings, quantum algorithms are outperformed by classical algorithms, and in
the few cases where they are not, the difference is almost negligible [30, 53].
Strength 2. Elliptic curves have a rich history of being researched in a
cryptographic setting.
From a cryptographic point of view, few concepts have been studied as vigorously
as elliptic curves. This means we have a firm grasp on aspects pertaining to their
strengths and weaknesses. In particular, certain isogeny computations involve
STRENGTHS & WEAKNESSES OF ISOGENY-BASED CRYPTOGRAPHY 11
computing scalar multiplications (see Chapter 3), which have been intensely
studied in the context of side-channel analysis, hence it is already known how
to defend ourselves from this type of attacks properly. Additionally, it is also
the Round 3 candidate of the NIST post-quantum standardization process that
lends itself most naturally to a hybrid type of scheme. By that we mean that
it is not infeasible that public key cryptography will go through a transitory
period, where both classical and post-quantum key exchange would need to be
available before making the final transfer to fully post-quantum cryptographic
protocols. One can use a lot of optimized arithmetic and structure of elliptic
curves both in the classical as in the isogeny-based setting.
Strength 3. Isogeny-based cryptography has the most compact keys of post-
quantum cryptographic protocols.
Elliptic curve-based cryptography was lauded for its compact keys compared
to similar schemes, and isogeny-based cryptography is no different in that
regard. Most cryptographic schemes based on isogenies, including SIKE, have
very small key sizes. For a comparison with the other Round 3 candidates of
NIST’s post-quantum standardization process, see Table 1.1. Similarly, the
isogeny-based signature scheme SQISign is extremely compact, but was only
introduced after NIST’s initial call for submissions so for now it is not considered
for standardization.
Even though many things can be said in favor of isogeny-based cryptography,
it does come with some possible disadvantages as well. To counterbalance the
strengths, we will also discuss three weaknesses of isogeny-based cryptography.
Weakness 1. Unlike SIKE, there is no consensus about the security of CSIDH.
Due to the structure of the isogenies in the CSIDH setting, additional attacks are
possible that do not apply to SIDH or SIKE. This means the discussion about
the quantum security of CSIDH is still far from finished [9, 13, 69]. At this time,
this should not be deemed too big a weakness. Firstly, the scheme has only been
around for 4 years at the time of writing this thesis, which is still in its infancy
when it comes to security estimates and performance optimizations. Secondly,
this is not so different from many of the other post-quantum cryptographic
schemes, where an agreement about the security levels has not been reached
either. Finally, even though CSIDH is not part of the NIST standardization
process, there has been criticism about the terminology used in their call for
papers, because security from quantum computers is inherently more complex
than security from classical computers. As Daniel J. Bernstein says in his blog
post: “I see only two ways that submitters a year from now can possibly be
"confident that the specified security target is met or exceeded": (1) overkill; (2)
overconfidence. Many users will not be satisfied with overkill, and NIST should
12 INTRODUCTION
Table 1.1: A comparison of public key sizes for all the Round 3 candidates and
alternative candidates for NIST’s post-quantum standardization process. The
data is displayed in bytes and was obtained from the official submission files
for each scheme, directly from the NIST website [66]. Note that a lot of these
values come with nuance, for example key compression can reduce the public
key size at the cost of requiring more processing time (see Table 1.2 for timings).
The numbers are mostly meant as a rough order of magnitude for the public
key size for each scheme per security level.
weeks if not days. In terms of isogeny-based cryptography, SIDH has only been
around since 2011 and thus some people feel that not enough time has passed to
truly believe in its underlying hardness assumption. This is illustrated by the
fact that major breakthroughs in isogeny-based cryptography can still occur. In
2021 for example, an √algorithm was published to compute an isogeny of degree `
asymptotically in O( `) finite-field operations (see [6] or Section 3.3), whereas
previously the best algorithms could only do this in O(`). It is not unreasonable
to assume that a groundbreaking new attack on isogeny-based cryptography
is more likely to be discovered than a new highly-efficient integer-factorization
algorithm.
Another factor in the trust of the hardness assumptions is how accessible the
problem is. One could theoretically illustrate to children in elementary school
how integer factorization is significantly harder than integer multiplication.
The ECDLP would need to wait till the final years of high school or even
undergraduate level. Understanding isogeny-based cryptography on a basic
level already takes more effort, especially for a student majoring in computer
science instead of mathematics. In order to understand it on a high enough
level to join the discussion, one would need to understand more advanced
mathematical concepts such as quaternion algebras, Eichler orders, class groups,
etc. This keeps the pool of people who can weigh in on the matter - be it good
or bad for the future of isogeny-based cryptography - smaller than for example
lattice-based cryptography.
Not much can be actively done about these issues. One requires us to wait and
see, whereas for the other we can only hope that the isogeny-based cryptographic
community keeps growing and maturing.
Weakness 3. Isogeny-based cryptography is slower than other post-quantum
cryptographic protocols.
The main drawback of SIKE in NIST’s report for announcing its Round 3
candidates for standardization, was that it is an order of magnitude slower
than lattice- or code-based schemes of similar security. The same holds for
most other isogeny-based cryptographic schemes, including CSIDH. For a
concrete comparison of SIKE with the other Round 3 candidates for NIST’s
standardization process, see Table 1.2. Important to note is that - despite this
disadvantage - NIST still considered SIKE to be strong enough a contender
to label it an alternative candidate. As Costello argued in his plea in favor of
SIKE [30], speed is typically something that over time is the least problematic,
since arithmetic-specific hardware and new algorithms are discovered frequently
for most cryptographic protocols. For example, the well-established formulae by
Vélu to compute isogenies between elliptic curves have recently been improved
by an asymptotic square root factor in terms of computational complexity [6].
14 INTRODUCTION
Table 1.2: A comparison of the time it takes for all the Round 3 candidates
and alternative candidates for NIST’s post-quantum standardization process
to generate a key, encapsulate and decapsulate it. The data is displayed in
clock cycles and was obtained from the official submission files for each scheme,
directly from the NIST website [66]. Note that a lot of these values come with
nuance, for example key compression can reduce the public key size at the cost
of requiring more processing time (see Table 1.1 for public key sizes). The
numbers are mostly meant as a rough order of magnitude for the timings for
each scheme per security level.
With the previous sections in mind, we are now ready to state the two research
problems this thesis will address. Remark that even though some of the topics
will touch upon the security issues of isogeny-based cryptography, we will not
list improving security as a research problem on its own. The reason for this is
that there never was a focus on this aspect and - from a cryptanalysis point of
view - the contributions towards improving security are minimal.
Question 1: How can isogeny-based cryptography be sped up?
Given that one of the main drawbacks of isogeny-based cryptography is its slow
speed, the above question is probably the number one problem to tackle if we
wish to standardize isogeny-based cryptographic protocols. In Chapter 2 we
will give a brief outline of the mathematical and cryptographic background
needed to understand isogeny-based cryptography. In Chapter 3, the most
common state-of-the-art methods to compute isogenies between elliptic curves
are expanded upon.
As far as my own contributions towards this research question go, it is important
RESEARCH PROBLEMS AND OVERVIEW OF THE THESIS 15
1. Thomas Decru and Lorenz Panny and Frederik Vercauteren (2019). Faster
SeaSign Signatures Through Improved Rejection Sampling. In Post-
Quantum Cryptography - 10th International Conference, PQCrypto 2019,
16 INTRODUCTION
Chongqing, China, May 8-10, 2019 Revised Selected Papers (pp. 271–285).
Springer.
We speed up the SeaSign isogeny-based signature scheme by one or even
two orders of magnitude, depending on the parameter choices, at the
cost of only roughly doubling the signature size. The main idea is that
the signer is allowed to not answer certain queries if they would leak
information about the private key.
2. Wouter Castryck and Thomas Decru and Benjamin Smith (2020). Hash
functions from superspecial genus-2 curves using Richelot isogenies. J.
Math. Cryptol., 14(1), 268–292.
We fix the collisions in the genus-2 variant of the CGL hash function that
were discovered. In essence, by disallowing certain paths taken in the
isogeny-graph, we can guarantee that the concatenation of (2, 2)-isogenies
results in a (2k , 2k )-isogeny instead of a (4k1 , 2k2 , 2k3 )-isogeny, which was
the cause for the collisions.
3. Wouter Castryck and Thomas Decru (2020). CSIDH on the Surface. In
Post-Quantum Cryptography - 11th International Conference, PQCrypto
2020, Paris, France, April 15-17, 2020, Proceedings (pp. 111–129).
Springer.
We change the curves used in the CSIDH setting to the supersingular
elliptic curves on the surface, i.e. those with endomorphism ring Z[(1 +
√
−p)/2]. This allows the use of very fast 2-isogenies, speeding up the
entire protocol by about 5.68% on the lowest security level.
of the CGL hash function using radical (3, 3)-isogenies, which outperforms
the (2, 2)-isogeny variant asymptotically by a factor of 9.
Chapter 2
Preliminaries
David Mumford
19
20 PRELIMINARIES
In Subsection 2.1.1, abelian varieties are defined in their most general form.
Subsection 2.1.2 describes isogenies, together with some of their properties.
Finally, in Subsection 2.1.3, we take a closer look at superspecial abelian
varieties, which are the main building blocks of the majority of isogeny-based
cryptographic schemes. Good references for abelian varieties and isogenies
are [61] and [63]. For superspecial abelian varieties, we refer to [15].
The dimension of an abelian variety is the same as the dimension when considered
as an algebraic variety. The Picard group Pic(A) of an abelian variety A is
the group of Weil divisors up to algebraic equivalence. The group Pic0 (A) is
the subgroup of Weil divisors of Pic(A) which are algebraically equivalent to
zero. The group Pic0 (A) is called the dual abelian variety of A and denoted
A∨ . Let ta be the translation-by-a map, then for every divisor D ∈ Pic0 (A) the
following homomorphism is well-defined:
φD : A → A∨ , a 7→ ta (D) − D.
can define addition for divisors in a natural way and provePthat Div0 (C) is
a group. Let f ∈ K(C)∗ be a function and define div(f ) = P ∈C ordP (f )P ,
where ordP (f ) denotes the order of f at P . A divisor that can be written this
way is called a principal divisor and the set of all principal divisors of C, denoted
Princ(C), is a subgroup of Div0 (C). The Jacobian of C is denoted as Jac(C)
and is defined as the quotient group Div0 (C)/Princ(C). This Jacobian can be
given the structure of an abelian variety of dimension g over K.
Note that arithmetic in Jac(C) is typically not done with formal sums of points.
Pg0
A convenient method to write down a divisor D = ( i=0 Pi ) − g 0 ∞ in the
Jacobian of a hyperelliptic curve is by its Mumford representation. The Mumford
representation of D is a pair of univariate polynomials (u(x), v(x)) such that
Qg0
u(x) = i=0 (x − xi ) and Pi = (xi , v(xi )) ∈ C for all 0 ≤ i ≤ g 0 . Remark that
one can show that a divisor is K-rational iff the Mumford representation is
defined over the ground field, i.e. u, v ∈ K[x]. This conveniently removes the
need to possibly having to define K-rational divisors over extension fields.
All abelian varieties of dimension one are isomorphic to an elliptic curve. In
dimension two, abelian varieties over K are either the product of two elliptic
22 PRELIMINARIES
2.1.2 Isogenies
general construction of the dual isogeny between abelian varieties, one needs
to use the dual abelian varieties, see for example [38, §7]. The dual of the
multiplication-by-n isogeny [n] is simply [n] again. The dual of the Frobenius
endomorphism π is called the Verschiebung and is not necessarily inseparable.
Two abelian varieties are called isogenous if there exists an isogeny between
them, which is an equivalence relation due to the existence of the dual isogeny.
We are mostly interested in separable isogenies for which the kernel has a
specific structure. Define the K-rational N -torsion of an abelian variety A/K
as the subgroup A(K)[N ] = {D ∈ A(K) | N D = 0}, where N ≥ 2 is an integer.
Assuming gcd(char(K), N ) = 1, it can be shown that A(K)[N ] ∼ = (Z/N Z)2g .
We will denote A(K)[N ] as A[N ] and only specify the field over which the
N -torsion is considered if it is critical to the discussion.
The principal polarization on A induces a perfect bilinear and antisymmetric
pairing
∗
eN : A[N ] × A[N ] → µN ⊆ K
called the Weil pairing, where µN is the group of N th roots of unity. Fixing
a primitive N th root of unity ζN ∈ µN , this pairing can be turned into the
symplectic form
2.1.3 Superspeciality
In the case of genus one, i.e. A is an elliptic curve, the notions of very
special, supersingular and superspecial all coincide. For this reason, a common
characterization for a supersingular elliptic curve is that the curve has no
nontrivial p-torsion. In genus two, very special and supersingular are equivalent
(since strictly positive Newton slopes must necessarily be 1/2), but superspecial is
a stronger notion. One can wonder which of the generalizations of supersingular
elliptic curves would be most suitable when going to more general abelian
26 PRELIMINARIES
In 2009, Charles, Goren and Lauter constructed a hash function from expander
graphs [23], which will be the topic of Subsection 2.2.1. Two years later, Jao
and De Feo constructed a public key exchange from isogenies that built upon
these same expander graphs [51], and we will take a closer look at this set-up
in Subsection 2.2.2. Finally, in Subsection 2.2.3, we will discuss a different
isogeny-based public key exchange by Castryck, Lange, Martindale, Panny and
Renes [20].
235i+65 22i+60
236i+184 85i+33
244 269i+53
192i+11
8i+29
6i+154
194i+39 231i+238
42i+216
60i+101
240i+27
61
195
217i+4
83i+67
255i+126
37i+193
Figure 2.1: The graph G277,2 , where the defining polynomial of F2772 /F277 is
x2 − 3x + 5 with formal root i. The vertices are labeled with the j-invariants of
the elliptic curves. Remark that there is a loop, as well as a cycle of length two,
which can occur since 277 6≡ 1 mod 420.
p
The graph Gp,` is a connected graph with b 12 c + vertices, where ∈ {0, 1, 2}
depends on the equivalence class of p mod 12; in the case p ≡ 1 mod 12 we have
= 0. Given that every elliptic curve has ` + 1 distinct subgroups of order `,
there are ` + 1 isogenies in the edge set with domain any given supersingular
elliptic curve, making the graph Gp,` an (` + 1)-regular graph. Since Gp,` is
connected and (` + 1)-regular, the largest eigenvalue of its adjacency matrix will
be ` + 1. One can show that√ the second largest eigenvalue (in absolute value)
of this graph is at most 2 `, making Gp,` a Ramanujan graph. A Ramanujan
graph is an optimal type of expander graph, which are sparse graphs that still
exhibit strong connectivity properties. In particular, the diameter of Gp,` is
roughly log(p), and any set of final edges emanating from random walks of length
log(p) in the graph will be indistinguishable from the uniform distribution. A
small example of such graph can be seen in Figure 2.1, which visually illustrates
the strong connectivity.
Turning the graph Gp,` into a hash function can be done as follows for ` =
2. Fix a supersingular elliptic curve E0 from the vertex set as a starting
28 PRELIMINARIES
curve. Of the three 2-isogenies with domain E0 , discard one arbitrarily, but
deterministically. Assume the input of the hash function is an integer m, which
is then converted into bits. Label the two remaining 2-isogenies with domain
E0 deterministically such that they have an order (e.g. lexicographically with
regards to the construction of Fp2 /Fp ). If the least significant bit of m is zero,
we walk along the edge of the first 2-isogeny, and if it is one, we walk along the
edge of the second 2-isogeny. We have now processed the first bit of m and have
arrived at a new elliptic curve E1 . We continue this process until all bits of m
have been processed, keeping in mind to no longer discard one of the outgoing
2-isogenies at random, but to always discard the dual isogeny relative to the
isogeny corresponding to the edge we just walked along. This ensures that we
do not easily backtrack during the walk in our graph, as to avoid collisions in
our hash function. After all bits have been processed, we end up at an elliptic
curve Edlog2 ke and take its j-invariant as output, which is always defined over
Fp2 . Alternatively, note that the output set of j-invariants of supersingular
p
elliptic curves is sparse in Fp2 since there are only b 12 c of them. Hence, one
can use a well-chosen linear congruential function (i.e. a discontinuous piecewise
linear equation) to map them into Fp and only have log(p) output bits.
We will discuss methods to easily compute `-isogenies in Chapter 3. For ` = 2,
the arithmetic is fairly simple and boils down to a square root computation in
Fp2 with a handful of extra arithmetic operations, see Example 5. If one wants
to use a different `, it suffices to change the message m into a base-` number
and proceed accordingly. Note that significant improvements with regards to
speeding up the walk in the graph Gp,` have been made. In [37] for example,
they use supersingular elliptic curves with rational 2r -torsion, allowing batches
of r bits of the message to be processed simultaneously.
The starting curve E0 is public information, so in order to find a preimage of
an output j ∈ Fp2 of the hash function, one would need to find a 2r -isogeny
ϕ : E0 → E(j), where E(j) is an elliptic curve with j-invariant j. Assuming p
is large enough, this is considered a hard problem. In order to find a collision in
the hash function, one would need to find two distinct isogenies ϕ1 : E → E(j)
and ϕ2 : E → E(j) of respective degrees 2r1 and 2r2 . Here, distinct means
that there are no isomorphisms ι1 , ι2 such that ϕ1 = ϕ2 ◦ ι1 or ϕ1 = ι2 ◦ ϕ2 .
Alternatively, one can consider ϕˆ2 ◦ ϕ1 and notice that this problem is equivalent
to finding a nontrivial endomorphism of E0 with a cyclic kernel. Both of these
are considered to be hard problems again, assuming the endomorphism ring of
E0 is not known and p is large enough.
Generalizing the above construction to abelian varieties of dimension at least
two is subtle. Charles, Goren and Lauter have constructed Ramanujan graphs
from isogenies between superspecial abelian varieties in [22], but identifying
and computing the isogenies is computationally complex. Typically, (N, . . . , N )-
CRYPTOGRAPHIC BACKGROUND 29
isogenies are easier to compute than general isogenies, but constructing a graph
with these edges comes with its own issues. One of the concerns is that such
graphs contain a lot of small cycles, see for example [41]. Another problem is
that defining the edge set, vertex set and undirectedness is not a clear-cut matter,
and can result in graphs that are not expander graphs, regardless of possible
small cycles [40]. Recent work by Aikawa, Tanaka and Yamauchi however,
has shown one can define all these notions in such a way that the graphs are
expander graphs, albeit not Ramanujan [1]. Additionally, the computational
complexity of isogenies in higher dimensions is high, even more so when taking
into account that the domain and codomain may be a different type of abelian
variety.
We can use the graphs Gp,` from Subsection 2.2.1 to create an isogeny-based
public key exchange called Supersingular Isogeny Diffie–Hellman. Fix two small
distinct primes `A and `B , and a large prime p such that p = `eAA `eBB ± 1 and
`eAA ≈ `eBB . Fix a supersingular elliptic curve E0 as starting curve, together
with a basis of the `eAA - and `eBB -torsion of E0 . Supersingular elliptic curves
over Fp2 can be chosen to have (p ± 1)2 rational points, depending on whether
you work on a curve or its twist, so assuming we choose appropriately, we have
|E0 (Fp2 )| = (`eAA `eBB )2 . This ensures the torsion we want is rational, and given
that it is free of rank two, we can write E0 [`eAA ] = hPA , QA i and E0 [`eBB ] =
hPB , QB i for certain PA , QA , PB , QB ∈ E0 (Fp2 ). The public information can
thus be summarized as
(p = `eAA `eBB ± 1, E0 , PA , QA , PB , QB ).
Assume Alice and Bob want to exchange a key through a public channel
with these parameters. Alice chooses a random integer kA ∈ {0, . . . , `eAA − 1},
computes the cyclic `eAA -isogeny ϕA : E0 → EA with kernel hPA + kA QA i, as
well as ϕA (PB ) and ϕA (QB ). Mutatis mutandis, Bob chooses a random integer
kB ∈ {0, . . . , `eBB − 1}, computes the cyclic `eBB -isogeny ϕB : E0 → EB with
kernel hPB + kB QB i, as well as ϕB (PA ) and ϕB (QA ). Alice sends the triple
(EA , ϕA (PB ), ϕA (QB )) to Bob, and Bob sends the triple (EB , ϕB (PA ), ϕB (QA ))
to Alice. Alice now computes the cyclic `eAA -isogeny %A : EB → EAB with
kernel hϕB (PA ) + kA ϕB (QA )i, while Bob computes the cyclic `eBB -isogeny %B :
EA → EBA with kernel hϕA (PB ) + kB ϕA (QB )i. Both Alice and Bob have now
computed a noncyclic isogeny with domain E0 and kernel hPA + kA QA , PB +
kB QB i, such that EAB ∼ = EBA . With this last piece of information in mind,
Alice and Bob now have a shared private secret key by simply computing the
30 PRELIMINARIES
j-invariant of EAB . See the commutative diagram below for an overview of the
construction.
EA
ϕA %B
E0 EAB ∼
= EBA
ϕB %A
EB
Alice and Bob can only make the above diagram commute by also transferring
the images of their partner’s public torsion points. Indeed, PB + kB QB is not
even a point on the curve EA that Alice sends to Bob, nor does kB have any
particular meaning since there is no way to generate `eBB -torsion generators
PB0 , Q0B of EA that are exactly the images of PB and QB under ϕA .
The underlying hardness assumption of SIDH is that, given the public
parameters (p = `eAA `eBB ± 1, E0 , PA , QA , PB , QB ), as well as EA , EB and
even ϕA (PB ), ϕA (QB ), ϕB (PA ), ϕB (QA ), it is computationally infeasible to
find j(EAB ). In 2016, an adaptive attack was discovered such that Alice and
Bob should not use static keys without a key encapsulation [44], which gave
rise to SIKE [2]. In 2017, Petit showed that `eAA ≈ `eBB must necessarily hold
or the protocol can be attacked by using the images of torsion points [70].
Apart from this, very little progress has been made at tackling the underlying
hardness assumption. If anything, the originally proposed SIKE parameters for
the NIST post-quantum standardization process were deemed too conservative
and adjusted to become more efficient whilst still keeping the required levels
of security. In June 2021, Microsoft launched two SIKE challenges with even
smaller parameters with bounties of $5,000 and $50,000. At the time of writing
this thesis, only the easiest of the two has been solved [59].
Generalizing the above construction to abelian varieties of dimension greater
than one runs into similar issues as was the case in the generalization of the CGL
hash function from Subsection 2.2.1. In particular, a big hurdle in this instance
is the computational complexity of many of the involved formulae. Even in the
simplest of cases, i.e. using (2, 2)- and (3, 3)-isogenies on abelian varieties of
dimension two, a current state-of-the-art implementation takes approximately
five minutes for a key exchange [41].
CRYPTOGRAPHIC BACKGROUND 31
As mentioned earlier, CSIDH does not really resemble the construction of SIDH,
despite its name. In particular it does not make use of the graph Gp,` from
Subsection 2.2.1, but still uses isogenies between supersingular elliptic curves.
One of the main differences is that we will work over a prime field Fp instead of
its quadratic extension Fp2 . We will begin by constructing a new graph Hp .
Fix a prime p > 3 of cryptographic size of the form p = 4 · `1 · `2 · . . . · `k · f − 1,
where the `i are distinct small odd primes and f is a cofactor such that p
is prime. Consider a supersingular elliptic curve E0 over Fp . Its Frobenius
√
endomorphism π then satisfies π ◦ π = [−p], such that Z[ −p] can be seen as a
subring of the Fp -rational endomorphisms of E0 . Since p ≡ 3 mod 4, this leaves
√ √
us with two options for Endp (E0 ), namely Z[ −p] or Z[(1 + −p)/2]. In the
former case, E0 is said to be on the floor, whereas in the latter case, E0 is said
to be on the surface. The terminology stems from the volcano-like structure
of the 2-isogeny graph of supersingular elliptic curves over Fp , see [34]. The
vertex set V of our graph Hp consists of all supersingular elliptic curves over
√
Fp that are on the floor, i.e. they all have endomorphism ring Z[ −p]. The
edge set E of Hp then consists of all Fp -rational `i -isogenies between any two
elements of V , with 1 ≤ i ≤ k. An illustrative example of such graph is shown
in Figure 2.2.
Even though a graph constructed this way is also an expander graph, it is
immediately clear that the behavior of the graph Hp is wildly different from the
behavior of Gp,` . Notably, the edges corresponding to Fp -rational `i -isogenies
seem to form cycles on the vertex set V of Hp . This can be explained as follows.
√ √
Let Cl(Z[ −p]) be the ideal-class group of Z[ −p], and [a] the class of an
√ √
invertible ideal a ⊆ Z[ −p]. Identify Z[ −p] with the endomorphism ring of
√
E0 through the isomorphism mapping π to −p. Define a subgroup E0 [a] ⊆ E0
as follows: \
E0 [a] = {P ∈ E0 | φ(P ) = ∞}.
φ∈a
√
It can be shown that Cl(Z[ −p]) acts freely and transitively on the set of
√
supersingular elliptic curves with endomorphism ring Z[ −p], when the action
of [a] is given by mapping E0 to aE0 := E0 /E0 [a], see for example [78]. In
the language of Couveignes, this can be used as a hard homogeneous space for
cryptographic purposes [31].
The tricky part about this set-up is that - ideally - we want to sample elements
√
from Cl(Z[ −p]) uniformly at random to work in this hard homogeneous space.
Note that even if this could be done, computing the class group action of a
uniformly random [a] on an elliptic curve can be difficult if [a] is given as an ideal
32 PRELIMINARIES
of large prime norm. Assuming the Riemann hypothesis, every such ideal class
[a], however, can be written as a product of ideal classes of small prime norm. In
√
our setting, it can be shown that `i splits in Z[ −p] for all 1 ≤ i ≤ k. Moreover,
for each `i in this setting the ideal (`i ) splits as (`i , π − 1)(`i , π + 1) =: li l¯i ,
where π is the Frobenius endomorphism. Heuristically, it can be shown that
every ideal class [a] can be written as
where ei are integers for all 1 ≤ i ≤ k, and where for each negative exponent
ei one should interpret [li ]ei as [l¯i ]|e1 | . Heuristically, it can also be shown
that “enough” elements of this form with small ei are indistinguishable from
√
uniformly random elements from Cl(Z[ −p]), see [20]. More precisely, we know
√ √
that Cl(Z[ −p]) has approximately p elements, so we can choose a maximum
Qk √
value mi for each integer ei such that −mi ≤ ei ≤ mi and i=1 (2mi + 1) ≈ p.
Since every supersingular elliptic curve in this setting has p + 1 Fp -rational
points, there is an Fp -rational `i -torsion point for all 1 ≤ i ≤ k, and hence the
action of [li ] can be computed rather easily. For the conjugate ideal classes [l¯i ]
we need to find an Fp -rational `i -torsion point on the quadratic twist of the
curve, but a good choice of elliptic curve form makes this part trivial. This
implies we can effectively store and do computations with a set of class group
elements that is indistinguishable from the full class group. For a concrete
CONCLUSION 33
p = 4 · |3 · 5 · 7 · 11
{z · . . . · 373} ·587 − 1.
73 first primes
In this instance, we have 74 small odd primes, so by taking |ei | ≤ 5 for all
1 ≤ i ≤ 74 we see that ei can take 11 distinct integer values such that
√
p = 2255.334... ≈ 2255.997... = 1174 .
Turning this hard homogeneous space into a public key exchange can be done
as follows. Alice samples a random integer vector a of length k, with the ith
entry corresponding to ei in the above setting, where −mi ≤ ei ≤ mi for some
predetermined maximum value mi . This integer vector represents an ideal class
[a] in the class group. Similarly, Bob samples a vector b corresponding to an
ideal class [b] in the class group. Alice now computes the action of [a] on the
public starting curve E0 , while Bob computes the action of [b]. Alice and Bob
now exchange the keys aE0 and bE0 . They can now both compute abE0 , which
is equal to baE0 due to the commutativity of the class group. See below for a
schematic overview of the key exchange.
aE0
[a] [b]
E0 abE0 = baE0
[b] [a]
bE0
No research has been done to generalize this construction to abelian varieties of
higher dimension. Assuming no conceptual obstacles, computing Fp -rational
(`, `)-isogenies for primes ` > 3 over fields of cryptographic size involves highly
nontrivial arithmetic which - for now - would render the scheme completely
impractical as we will see in Section 4.5.
2.3 Conclusion
defined in their most general form, of which cyclic `-isogenies between elliptic
curves are the simplest example. Extra attention was given to several types
of exceptional abelian varieties. Superspecial abelian varieties are most fitting
to use in cryptographic protocols, since they have an easy-to-predict number
of points and they can all be defined over Fp2 . Superspecial elliptic curves
are typically referred to as supersingular elliptic curves, which in general is a
different notion, but equivalent in the case of elliptic curves.
Despite there being numerous isogeny-based cryptographic protocols, their
general framework typically falls into one of the two categories which we
discussed. The CGL hash function and SIDH for example work with a graph
where the vertices are Fp2 -isomorphism classes of supersingular elliptic curves,
and the edges are all `-isogenies for a fixed small prime `. CSIDH on the other
hand, works in a graph over Fp where the vertices are Fp -isomorphism classes
of supersingular elliptic curves, and the edges are all Fp -rational `i -isogenies for
many fixed small primes `i . Both of these graphs are expander graphs, which
are sparse graphs with high connectivity.
Chapter 3
Serge Lang
In this chapter we will delve into the arithmetic involved in isogeny computations
between elliptic curves. Our main focus will be on separable cyclic isogenies
over finite fields of characteristic different from two and three, but we will
specify where needed. Section 3.1 will elaborate on what form the rational
map of an isogeny has, as well as some commonly-used polynomials related to
isogeny computations. In particular, these polynomials can be used in many
algebraic software packages to compute isogenies. In Section 3.2 we will discuss
a classical result by Vélu to compute isogenies. On input of an elliptic curve
in long Weierstraß form and a point generating the kernel of a cyclic isogeny,
Vélu’s formulae can compute both the codomain curve as well as the image of
any point under the isogeny. Finally, we finish this chapter by expanding upon
a recent breakthrough in isogeny computations in Section 3.3, where Vélu’s
formulae have gained an asymptotic square root factor speed-up in terms of the
number of Fq -operations.
35
36 ISOGENIES BETWEEN ELLIPTIC CURVES
where
ψ0 = 0,
ψ1 = 1,
ψ2 = 2y + a1 x + a3 ,
ψ3 = 3x4 + b2 x3 + 3b4 x2 + 3b6 x + b8 ,
ψ4
= 2x6 + b2 x5 + 5b4 x4 + 10b6 x3 + 10b8 x2 + (b2 b8 − b4 b6 )x + (b4 b8 − b26 ),
ψ2
3 3
ψ2N +1 = ψN +2 ψN − ψN −1 ψN +1 if N ≥ 2,
ψN 2 2
ψ2N = ψN +2 ψN −1 − ψN −2 ψN +1 if N ≥ 3,
ψ2
2
φN = xψN − ψN +1 ψN −1 ,
1 2
ωN = ψ2N − ψN (a1 φN + a3 ψN ) ,
2ψN
b2 = a21 + 4a2 ,
b4 = 2a4 + a1 a3 ,
b6 = a23 + 4a6 ,
b8 = a21 a6 + 4a2 a6 − a1 a3 a4 + a2 a23 − a24 .
In certain cases, we may not be interested in the exact map nor the kernel
subgroup of an isogeny. In the CGL hash function from Subsection 2.2.1 for
example, we are interested in all elliptic curves Ei that are `-isogenous to a
given elliptic curve E for a fixed small prime `. More specifically, we are only
interested in the curves up to isomorphism, thus from the j-invariant j(E) we
want to find the j-invariants j(Ei ).
KERNEL, DIVISION AND MODULAR POLYNOMIALS 39
The proof of the existence and construction of the classical `th modular
polynomial was historically done by the modular j-function over the complex
field. For some more recent results regarding the computation of these
polynomials, we refer to [39].
The `th modular polynomial is a symmetric polynomial in two variables, i.e.
Φ` (X, Y ) = Φ` (Y, X), with degree ` + 1 in both variables. The coefficients of
these polynomials scale up with ` and storing them runs up the memory usage
rather quickly; the constant term for ` = 17 for example is already a 705-bit
integer. There are methods to efficiently compute the `th modular polynomial
modulo some prime p, either globally (i.e. as bivariate polynomial) or locally
(i.e. as univariate polynomial where one of the other variables is replaced by
a known j-invariant already) [21]. More recent work by Sutherland regarding
these polynomials can be found in [89], where he managed to evaluate the `th
modular polynomial for ` = 100, 019.
Example 9. Let E/F29 : y 2 = x3 + 2x + 5 be the elliptic curve of Example 7.
The 3rd modular polynomial in global form over Z[X, Y ] is given by
Φ3 (X, Y ) = X 4 − X 3 Y 3 − X 3 Y 2 − X 3 Y + 12X 3 − X 2 Y 3 − 9X 2 Y 2 − 8X 2 Y −
10X 2 − XY 3 − 8XY 2 + 8XY + 6X + Y 4 + 12Y 3 − 10Y 2 + 6Y.
There are other useful ways in which this modular polynomial can be used.
In the CSIDH setting from Section 2.2.3 for example, every elliptic curve E
is `-isogenous to exactly two other elliptic curves over the prime field Fp for
any odd prime `. Hence the local polynomial Φ` (j(E), Y ) will have exactly
40 ISOGENIES BETWEEN ELLIPTIC CURVES
where G2 contains the order-2 points of G, and G1 is such that for every P ∈ G1
it holds that −P ∈ G01 . Write S = G1 ∪ G2 and for Q ∈ S define
x
gQ = 3x(Q)2 + 2a2 x(Q) + a4 − a1 y(Q),
y
gQ = −2y(Q) − a1 x(Q) − a3 ,
(
x
y 2 gQ if 2Q = ∞,
uQ = (gQ ) , vQ = x y
2gQ − a1 gQ else,
X X
v= vQ , w = (uQ + x(Q)vQ ),
Q∈S Q∈S
A1 = a1 , A2 = a2 , A3 = a3 ,
A4 = a4 − 5v, A6 = a6 − (a21 + 4a2 )v − 7w.
Then the separable isogeny ϕ with domain E and kernel G has codomain E 0 =
E/G which - up to isomorphism - can be given by the long Weierstraß equation
E 0 /K : y 2 + A1 xy + A3 y = x3 + A2 x2 + A4 x + A6 .
These formulae are extensively used in the CSIDH protocol, where further
optimizations such as projective coordinates are used [20].
√
3.3 élu’s square-root formulae
at no point during the computation does one need to compute a square root. Depending on
how the notion of “formulae” is defined, this can also be considered an evaluation scheme
applicable to a wide range of formulae, and not a collection of actual formulae.
√
ÉLU’S SQUARE-ROOT FORMULAE 43
√
choice of Õ( `) elements from {Q, 2Q, . . . , (` − 1)Q} allows us to evaluate the
expression by means of a resultant computation.
Keeping the notation from before, consider the set
S = {1, 3, 5, . . . , ` − 1},
which covers exactly all choices of k such that we need the x-coordinate of
kQ to√evaluate Vélu-style formulae such as those from Theorem 5. Define
b = b ` + 1/2c and b0 = b(` + 1)/4bc (unless b = 0, in which case b0 = 0).
Furthermore, define the sets
I = {2b(2i + 1) | 0 ≤ i < b0 }, J = {2j + 1 | 0 ≤ j < b}.
The pair (I, J) is called an index system of S in [6]. This means that I + J
and I − J are both contained in S, and that the maps I × J → S defined by
(i, j) 7→ i + j and (i, j) 7→ i − j are both injective and have disjoint images.
Writing I ± J for the union of I + J and I − J, we see that
S = (I ± J) ∪ K,
where K = {4bb0 + 1, 4bb0 + 3, . . . , ` − 2, `}. Note that |I| √
≤ b + 2, |J| = b and
|K| ≤ 2b − 1; in particular, all three of these sets have O( `) elements.
Recall that we are working on an elliptic curve E in Montgomery form, typically
over a finite field, i.e. E/Fq : y 2 = x3 + Ax2 + x. For an equation of this form,
define the biquadratic polynomials over Fq [x1 , x2 ] as follows:
F0 (x1 , x2 ) = (x1 − x2 )2 ,
F1 (x1 , x2 ) = −2((x1 x2 + 1)(x1 + x2 ) + 2Ax1 x2 ),
F2 (x1 , x2 ) = (x1 x2 − 1)2 .
These polynomials are defined as satisfying the relation
F1 (x(P ), x(Q)) F2 (x(P ), x(Q))
(x − x(P + Q))(x − x(P − Q)) = x2 + x+
F0 (x(P ), x(Q)) F0 (x(P ), x(Q))
for all P, Q ∈ E such that ∞ ∈ / {P, Q, P + Q, P − Q}.2 With these functions
and the partition S = {1, 3, . . . , ` − 1} = (I ± J) ∪ K, we will now show how we
can evaluate the function
Y
hS (x) = (x − x(sQ))
s∈S
√
in x = α in Õ( `) Fq -operations, where ` is the order of Q ∈ E and x(∞) is
defined as 0.
2 Note that these functions also play a vital role in the efficient arithmetic of the scalar
multiplication on elliptic curves in Montgomery form by means of the Montgomery ladder [8].
44 ISOGENIES BETWEEN ELLIPTIC CURVES
Then
Resz (hI (z), EJ (z)) · hK (α)
hS (α) = ,
Resz (hI (z), DJ (z))
√
which can be computed in Õ( `) Fq -operations.
Proof. For a proof of the correctness of this theorem, see [6, Theorem 4.11]. For
the complexity, note that both DJ (z) and EJ (z) can be computed in Õ(|J|)
Fq -operations. The expressions hI (z) and hK (α) can be done in respectively
Õ(|I|) and Õ(|K|) Fq -operations. The two resultants in the final expression can
be computed in Õ(max(|I|, |J|)) Fq -operations (through for example continued
fractions [88]).
To wrap things up, we still need to link the function evaluation hS (α) to
Theorem 5, where we would like to find the evaluation
Y αx(iQ) − 1
f (α) = α .
α − x(iQ)
0<i<`
α` · hS (1/α)2
f (α) = ,
hS (α)2
in the CSIDH setting, we can use the twisted Edwards formulae from [62] and
see that ` 8
1+d A−2 hS (1)
A0 = 2 , d= .
1−d A+2 hS (−1)
Both of these approaches take another two applications of evaluating the function
hS (x).
Many isogeny-based cryptographic protocols rely on computing isogenies of
relatively large degree. CSIDH for example requires isogenies of prime degree up
to 587 in their lowest security setting [20], whereas B-SIDH’s most noteworthy
example requires isogenies of prime degree up to 7901 [29]. Even though the
evaluations in this section have an asymptotic square-root factor improvement in
terms of Fq -operations, in practice it is still necessary to find the exact threshold
at which they overtake the classical evaluation in terms of efficiency. In [6] it
was argued that their Magma implementation showed improved performance
as soon as ` ≥ 113, whereas their FLINT implementation did so as soon as
` ≥ 150. Some further arithmetic optimization pushed this boundary to roughly
` ≥ 89, see [3].
3.4 Conclusion
Anonymous undergraduate
student
47
48 (N, N )-ISOGENIES BETWEEN TWO-DIMENSIONAL ABELIAN VARIETIES
The easiest type of (N, N )-isogenies can be obtained by taking the product of
two N -isogenies between elliptic curves. Let ϕ1 : E1 → E10 and ϕ2 : E2 → E20
be degree-N isogenies between elliptic curves. Then
Φ : E1 × E2 → E10 × E20
(P, Q) 7→ (ϕ1 (P ), ϕ2 (Q))
A similar statement with more subtlety applies when N is not a prime [54,
Theorem 2.6]. Unfortunately, calculating the isogeny Φ – or even just the
codomain E1 × E2 – has no known explicit construction. In general, since
we work with elliptic curves, the rigidity lemma 1 holds and any isogeny
1 In essence, the rigidity lemma says that if ϕ : X × Y → Z is a morphism between algebraic
varieties, with X complete, and for some y ∈ Y we have that the fibre X × {y} is mapped to
a point on Z, then ϕ factors through the projection X × Y → Y . For more information and a
proof of this statement, see for example [61, Theorem 2.1].
SPLIT JACOBIANS AND GLUEING OF ELLIPTIC CURVES 49
Let E1 , E2 be elliptic curves and C a genus-2 curve. The curve C and its Jacobian
Jac(C) are said to split if there exists an isogeny ϕ : Jac(C) → E1 × E2 . Vice
versa, if there exists an isogeny % : E1 × E2 → Jac(C) then we say that the
elliptic curves E1 and E2 are glued together. Due to the existence of the dual
isogeny, these concepts can also be seen as duals and knowledge of how to glue
elliptic curves together can give us insight in how split Jacobians arise. In the
context of (N, N )-isogenies (and corresponding (N, N )-subgroups), we will say
that Jac(C) is (N, N )-split and that E1 and E2 are glued along their N -torsion.
Remark that in the latter case, the (N, N )-subgroup of the kernel of the isogeny
is necessarily nondiagonal (as explained in Section 4.1). The goal is not to go
into detail about fields of definition, but it is worth mentioning that a Jacobian
of a curve C/K that splits need not necessarily have the respective elliptic
curves defined over K.
Given the domain of either of these two options, as well as the corresponding
(N, N )-subgroup which is the kernel of the associated split or glued (N, N )-
isogeny, there is no known general method of computing the codomain or the
morphisms defining the isogeny. However, given a morphism f : C → E1 of
degree N , it must hold that Jac(C) is (N, N )-split. The curve E2 such that
there is an (N, N )-isogeny ϕ : Jac(C) → E1 × E2 is not necessarily unique, but
under certain conditions, a canonical choice can be made [56].
The cases of (2, 2)- and (3, 3)-split Jacobians have been completely parametrized
however. Hence in such situations in practice, it suffices to find an isomorphism
between the given data and the parameter families from the following two
theorems.
Theorem 8. Let E1 /K : y 2 = (x − α1 )(x − α2 )(x − α3 ) and E2 : y 2 =
(x − β1 )(x − β2 )(x − β3 ) be elliptic curves over a field K of characteristic
different from two. Write ∆α for the discriminant of (x − α1 )(x − α2 )(x − α3 )
50 (N, N )-ISOGENIES BETWEEN TWO-DIMENSIONAL ABELIAN VARIETIES
{(∞, ∞), ((α1 , 0), (β1 , 0)), ((α2 , 0), (β2 , 0)), ((α3 , 0), (β3 , 0))}
ϕ1 : C → E1
(x, y) 7→ (s1 /x2 + s2 , (∆β /A3 )(y/x3 )),
ϕ2 : C → E2
(x, y) 7→ (t1 x2 + t2 , (∆α /B 3 )y),
where
s1 = −(B/A)(a2 /a1 ),
1 α1 (α3 − α2 )2 α2 (α1 − α3 )2 α3 (α2 − α1 )2
s2 = + + ,
a1 β3 − β 2 β1 − β3 β2 − β1
t1 = −(A/B)(b2 /b1 ),
1 β1 (β3 − β2 )2 β2 (β1 − β3 )2 β3 (β2 − β1 )2
t2 = + + .
b1 α3 − α2 α1 − α3 α2 − α1
Define
f (x) = (x3 + 3ax + 2b)(2dx3 + 3cx2 + 1),
f1 (x) = x3 + 12(2a2 d − bc)x2 + 12(16ad2 + 3c2 )∆1 x + 512∆21 d3 ,
f2 (x) = x3 + 12(2bc2 − ad)x2 + 12(16b2 c + 3a2 )∆2 x + 512∆22 b3 ,
−2dx + c x2 (ax − 2b)
u1 (x) = 12∆1 3 , u2 (x) = 12∆2 ,
x + 3ax + 2b 2dx3 + 3cx2 + 1
3 2 3
16dx − 12cx − 1 x + 12ax − 16b
v1 (x) = ∆1 3 2
, v2 (x) = ∆2 .
(x + 3ax + 2b) (2dx3 + 3cx2 + 1)2
Let E1 : y 2 = f1 (x) and E2 : y 2 = f2 (x) be elliptic curves, and C : y 2 = f (x) a
genus-2 curve. Then there exists a (3, 3)-isogeny Φ : Jac(C) → E1 × E2 defined
by the morphisms
ϕ1 : C → E1
(x, y) 7→ (u1 (x), yv1 (x)),
ϕ2 : C → E2
(x, y) 7→ (u2 (x), yv2 (x)).
Note that the parametrization from Theorem 9 is the most general possible
form and includes all exceptional cases. The study of (3, 3)-split Jacobians goes
back to the nineteenth century however, and has appeared in several other (less
general) forms throughout history [79, 47, 48, 56].
It may come across as a little surprising that Theorem 8 involves more complex
formulae than Theorem 9. This is due to the fact that in the (2, 2)-isogeny case,
we assume that the (2, 2)-kernel is generated by rational divisors on E1 × E2 ,
whereas in the (3, 3)-isogeny case, merely the isogeny itself is assumed to be
rational. In the latter case, kernel generators in their most general form would
need to be defined over a field extension of degree eight2 , which would result
in a general parametrization with extremely extensive expressions. In practice,
one can find generic N -torsion elements for small N by the generalization of
the division polynomials of Section 3.1 to hyperelliptic curves of genus two, see
for example [19]. Alternatively, over a finite field Fq , if one knows the size eq
of the maximal cyclic subgroup of the Jacobian over Fq , one can try to find
e
N -torsion elements by computing Nq D for random divisors D.
2 To see why this is true over a finite field, consider an F -rational (3, 3)-subgroup generated
q
by hD1 , D2 i, which must necessarily be mapped to itself by Frobenius. The matrix of
Frobenius acting on hD1 , D2 i is thus an invertible 2 × 2-matrix with elements in F3 . The
order of an element of GL2 (F3 ) is at most eight, hence applying Frobenius eight times results
in the identity, or, alternatively, all elements must be defined over Fq8 .
52 (N, N )-ISOGENIES BETWEEN TWO-DIMENSIONAL ABELIAN VARIETIES
Furthermore, define
g1,3 g1,2 g1,1
δ = det g2,3 g2,2 g2,1
g3,3 g3,2 g3,1
and
G = {0, [(α1 , 0) − (α2 , 0)], [(α3 , 0) − (α4 , 0)], [(α5 , 0) − (α6 , 0)]} ⊆ Jac(C)[2].
where
4.4 (3,3)-isogenies
In 2014, Bruin, Flynn and Testa found a general parametrization for a genus-
2 curve C/K (with charK ∈ / {2, 3}) such that hT1 , T2 i ⊆ Jac(C)[3] is a
(3, 3)-subgroup, with T1 and T2 both K-rational divisors [18]. In accordance
to [18, Lemma 3] and the discussion preceding [18, Theorem 6], the general
parametrization comes with the following caveats. Assume we have a curve C 0 /K
with (3, 3)-subgroup hT10 , T20 i ⊆ Jac(C 0 )[3] and we want to find an isomorphism
to a corresponding tuple of parameters. This will fail exactly if T10 or T20 share an
affine point in their support with the same x-coordinate, or if T10 or T20 have only
a single affine point in their support. In Mumford representation, this translates
to the first polynomials either having a nontrivial greatest common divisor,
respectively the first polynomial being linear instead of quadratic. However,
it can be shown that in the (3, 3)-subgroup hT10 , T20 i one can always pick two
generators that do not run into these issues; e.g. if T10 is of the form P10 − ∞ for
some P10 ∈ C 0 , then one can simply try a different pair of generators, such as for
example hT10 + T20 , T20 i, and at least one of these choices will be parameterizable.
Additionally, Bruin, Flynn and Testa also gave the parametrization of the curve
whose Jacobian is equal to Jac(C)/hT1 , T2 i. All of this is condensed in the
following theorem.
H1 = x2 + rx + t,
λ1 = 4s,
G1 = (s − st − 1)x3 + 3s(r − t)x2 + 3sr(r − t)x − st2 + sr3 + t,
H2 = x2 + x + r,
λ2 = 4st,
G2 = (s − st + 1)x3 + 3s(r − t)x2 + 3sr(r − t)x − st2 + sr3 − t.
54 (N, N )-ISOGENIES BETWEEN TWO-DIMENSIONAL ABELIAN VARIETIES
λ̃4 = 4∆st,
H̃4 = (r − 1)(rs − st − 1)x2 + (r3 s − 2r2 s + rst + r − st2 + st − t)x
− (r2 − t)(rs − st − 1),
∆ = r6 s2 − 6r4 s2 t − 3r4 s + 2r3 s2 t2 + 2r3 s2 t + 3r3 st + r3 s + r3
+ 9r2 s2 t2 + 6r2 st − 6rs2 t3 − 6rs2 t2 − 9rst2 − 3rst − 3rt + s2 t4
+ 2s2 t3 + s2 t2 + 2st3 + 3st2 + t2 + t.
The role of ∆ is the same as δ from Theorem 10, i.e. ∆ is zero iff the
codomain of the (3, 3)-isogeny is a product of elliptic curves, which we have
fully parametrized in Theorem 9 already. Remark that [18, Theorem 6] also
gives explicit expressions for the divisors T1 ± T2 if one is interested in those.
The discriminant of Crst contains seven distinct nonconstant factors in Q[r, s, t],
which – together with ∆ 6= 0 – guarantee that C̃rst is also well-defined as a genus-
2 curve as soon as Crst is well-defined. If furthermore r − 1, r2 − t, rs − st − 1 are
all nonzero, then C̃rst can be put into the form Cr0 s0 t0 again for new parameters
r0 , s0 , t0 , where now hT10 , T20 i determines the kernel of the dual isogeny. If either
of those three expressions would happen to be zero, a new choice of basis for
the (3, 3)-subgroup that determines the kernel of the dual isogeny can always
be made to still provide a parametrization of the curve C̃rst (in the sense of the
discussion preceding Theorem 11).
The rational map defining the (3, 3)-isogeny in Theorem 11 can be found online
at [17]. The map is defined over the Kummer surface K, i.e. K = Jac(C)/[±1],
and the equations take a couple of hundred kilobytes when stored as a Horner
scheme in a txt-file. They are used in the genus-2 variant of SIDH in [41].
An alternative way of computing a (3, 3)-isogeny with a more geometric-flavored
approach can be found in [85], where Smith continues upon the work of Dolgachev
and Lehavi [36]. In particular, he gives a practical implementation of their
algorithm to compute (only) the codomain of a (3, 3)-isogeny between Jacobians
of genus-2 curves over finite fields. Finally, one can also compute a (3, 3)-isogeny
by means of specializing Section 4.5 at ` = 3.
(`, `)-ISOGENIES FROM THETA FUNCTIONS 55
Apart from this theoretical result, the authors also managed to implement a
working version of their construction in Magma [14], which is called AVIsogenies
and can be found on their website [11]. The package is still being updated, and
recently relaxed the condition that ` need no longer be prime for example. As
3 A level two theta structure of a Jacobian Jac(C) can be identified with its Kummer
surface K = Jac(C)/[±1].
56 (N, N )-ISOGENIES BETWEEN TWO-DIMENSIONAL ABELIAN VARIETIES
4.6 Conclusion
Alan Turing
The advent of a sufficiently large quantum computer may render all public
key cryptography as we know it obsolete. Possible contenders to replace
the overwhelmingly-used elliptic-curve-based cryptographic protocols are the
isogeny-based schemes, which are conjectured to be resistant to all currently-
known quantum attacks. In Chapter 2 we gave the necessary mathematical and
cryptographic background to lay the foundation of understanding isogeny-based
cryptography, where we did not restrict ourselves to the elliptic-curve case but
generalized to higher-dimensional abelian varieties. In Chapter 3 we provided
the most relevant notions and techniques that are used to compute isogenies
between elliptic curves in practice, whereas in Chapter 4, the same was done for
the most well-understood isogenies between two-dimensional abelian varieties.
We will now return to the two main research questions this thesis addresses.
Question 1: How can isogeny-based cryptography be sped up?
SeaSign 2.0. Shortly after the publication of the CSIDH public key exchange
protocol in 2018, De Feo and Galbraith used the setting to transform it into
a signature scheme called SeaSign [32]. Their construction makes use of Fiat–
57
58 CONCLUDING REMARKS AND SUMMARY OF CONTRIBUTIONS
option: supersingular elliptic curves on the surface, i.e. those with endomorphism
√
ring Z[(1 + −p)/2]. The benefit of this set of curves is that they allow the use
of horizontal 2-isogenies, whereas CSIDH could strictly work with odd-degree
isogenies. The drawback to this set of curves is that they are no longer one-
to-one with Montgomery forms, instead, they are two-to-one. Hence for key
verification, an extra (fast) step is required to transform them to the floor again.
Alternatively, a slightly different representation of curves can be used, i.e. curves
of the form E : y 2 = x3 + Ax2 − x. The downside to this type of curves is that
the analogon to the Montgomery ladder is ever-so-slightly less efficient, and is
outperformed by the regular Montgomery ladder by one multiplication in each
step. In either case, the 2-isogenies are computed wildly differently from any
Vélu-style formulae, and in essence boil down to a square root computation over
a prime field, which allows the CSURF setting to make use of a long chain of
2-isogenies prior to computing the odd-degree isogenies. The resulting protocol
is almost 6% more efficient than the original CSIDH instantiation, although
this effect is reduced if one is interested in a constant-time implementation, see
for example [24]. It is still an open question how much exactly can be gained
with a fully-practical version of CSURF compared to CSIDH when taking into
account specific hardware and software optimizations.
Radical isogenies. In Chapter 9 we elaborate on this completely different
type of isogeny computation that occurred in the 2-isogenies from CSURF. We
show1 that horizontal `-isogenies for any odd ` in the CSIDH or CSURF setting
can be computed by means of a simple `th root extraction combined with
some arithmetic, which we named radical isogenies. Given how the sampling
of `-torsion points is a reasonable bottleneck in CSIDH, it seems we can speed
up the computations by avoiding this altogether and use radical isogenies
instead. Unfortunately, the additional arithmetic involving these formulae
grows quickly, and the formulae for primes ` ≥ 17 seem to be too voluminous to
evaluate compared to the classical way in which CSIDH computes its isogenies.
Nonetheless, an improvement of 19% in terms of speed compared to CSIDH was
found. Similarly as in the CSURF setting, a constant-time implementation of
these formulae would require more overhead and would likely lead to a smaller
speed-up [25]. It is still an open question how far radical isogenies can be
pushed in terms of performance, e.g. the “naked” formulae for ` ≥ 17 can
be immense, but it is not known what the most efficient way of evaluating
them is. Ideally, optimizing the arithmetic of both radical isogenies and Vélu’s
square-root formulae from Section 3.3 to cover the gap for ` ∈ {17, 19, . . . , 83}
could push the classical Vélu-style formulae out of CSIDH altogether.
1 Technically, the main result is merely conjectured. However, we do not see any reason as
to why our result would all of a sudden not work when we reduce to a finite field which does not
share its characteristic with the prime `. Additionally, all formulae from our implementation
were proven by means of an algebraic software package.
60 CONCLUDING REMARKS AND SUMMARY OF CONTRIBUTIONS
hash function using (3, 3)-isogenies, which is faster than the genus-2 CGL hash
function using (2, 2)-isogenies from Chapter 7 by a factor of nine. Our discovery
still left multiple questions unanswered however, such as the conjectural nature
of some of our mathematical results. Additionally, the (3, 3)-isogenies could
still be optimized in terms of arithmetic, whereas other parameterizable higher-
dimensional abelian varieties could still benefit from having our results applied
to them.
Bibliography
[1] Aikawa, Y., Tanaka, R., and Yamauchi, T. Expander graphs from
superspecial abelian varieties. arXiv preprint arXiv:2201.04293 (2022).
[2] Azarderakhsh, R., Campagna, M., Costello, C., De Feo, L., Hess,
B., Jalali, A., Jao, D., Koziel, B., LaMacchia, B., Longa, P.,
et al. Supersingular isogeny key encapsulation. Submission to the NIST
Post-Quantum Standardization project 152 (2017), 154–155.
[3] Banegas, G., Bernstein, D. J., Campos, F., Chou, T., Lange, T.,
Meyer, M., Smith, B., and Sotáková, J. CTIDH: faster constant-
time CSIDH. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2021, 4 (2021),
351–387.
[4] Benioff, P. The computer as a physical system: A microscopic quantum
mechanical Hamiltonian model of computers as represented by Turing
machines. Journal of statistical physics 22, 5 (1980), 563–591.
63
64 BIBLIOGRAPHY
[15] Brock, B. W. Superspecial curves of genera two and three. PhD thesis,
Princeton University, 1993.
BIBLIOGRAPHY 65
[17] Bruin, N., Flynn, E. V., and Testa, D. Genus 2 Jacobians with
(3,3) level structure. http://www.cecm.sfu.ca/~nbruin/c3xc3/ visited
on 2022-03-01.
[18] Bruin, N., Flynn, E. V., and Testa, D. Descent via (3,3)-isogeny on
jacobians of genus 2 curves. Acta Arithmetica 165, 3 (2014), 201–223.
[19] Cantor, D. G. On the analogue of the division polynomials for
hyperelliptic curves. Journal für die reine und angewandte Mathematik
447 (1994), 91–146.
[20] Castryck, W., Lange, T., Martindale, C., Panny, L., and
Renes, J. CSIDH: an efficient post-quantum commutative group action.
In Advances in Cryptology - ASIACRYPT 2018 - 24th International
Conference on the Theory and Application of Cryptology and Information
Security, Brisbane, QLD, Australia, December 2-6, 2018, Proceedings, Part
III (2018), T. Peyrin and S. D. Galbraith, Eds., vol. 11274 of Lecture Notes
in Computer Science, Springer, pp. 395–427.
[26] Chow, J., Dial, O., and Gambetta, J. IBM quantum breaks
the 100-qubit processor barrier. IBM Research Blog, available in
https://research.ibm.com/blog/127-qubit-quantum-process-or-eagle (2021).
66 BIBLIOGRAPHY
[30] Costello, C. The case for SIKE: A decade of the supersingular isogeny
problem. IACR Cryptol. ePrint Arch. (2021), 543.
[31] Couveignes, J. M. Hard homogeneous spaces. IACR Cryptol. ePrint
Arch. (2006), 291.
[32] De Feo, L., and Galbraith, S. D. SeaSign: Compact isogeny signatures
from class group actions. In Advances in Cryptology - EUROCRYPT 2019
- 38th Annual International Conference on the Theory and Applications
of Cryptographic Techniques, Darmstadt, Germany, May 19-23, 2019,
Proceedings, Part III (2019), Y. Ishai and V. Rijmen, Eds., vol. 11478 of
Lecture Notes in Computer Science, Springer, pp. 759–789.
[33] De Feo, L., Kohel, D., Leroux, A., Petit, C., and Wesolowski, B.
SQISign: Compact post-quantum signatures from quaternions and isogenies.
In Advances in Cryptology - ASIACRYPT 2020 - 26th International
Conference on the Theory and Application of Cryptology and Information
Security, Daejeon, South Korea, December 7-11, 2020, Proceedings, Part
I (2020), S. Moriai and H. Wang, Eds., vol. 12491 of Lecture Notes in
Computer Science, Springer, pp. 64–93.
[34] Delfs, C., and Galbraith, S. D. Computing isogenies between
supersingular elliptic curves over Fp . Des. Codes Cryptogr. 78, 2 (2016),
425–440.
[35] Diffie, W., and Hellman, M. E. New directions in cryptography. IEEE
Trans. Inf. Theory 22, 6 (1976), 644–654.
[36] Dolgachev, I., and Lehavi, D. On isogenous principally polarized
abelian surfaces. Curves and abelian varieties 465 (2008), 51–69.
BIBLIOGRAPHY 67
[38] Edixhoven, B., Van der Geer, G., and Moonen, B. Abelian varieties.
Preprint (2012), 331. Available at https://www.math.ru.nl/~bmoonen/
research.html#bookabvar.
[39] Enge, A. Computing modular polynomials in quasi-linear time.
Mathematics of Computation 78, 267 (2009), 1809–1824.
[40] Florit, E., and Smith, B. Automorphisms and isogeny graphs of abelian
varieties, with applications to the superspecial richelot isogeny graph. CoRR
abs/2101.00919 (2021).
[41] Flynn, E. V., and Ti, Y. B. Genus two isogeny cryptography. In
Post-Quantum Cryptography - 10th International Conference, PQCrypto
2019, Chongqing, China, May 8-10, 2019 Revised Selected Papers (2019),
J. Ding and R. Steinwandt, Eds., vol. 11505 of Lecture Notes in Computer
Science, Springer, pp. 286–306.
[42] Galbraith, S. D. Mathematics of Public Key Cryptography. Cambridge
University Press, 2012.
[43] Galbraith, S. D., Harrison, K., and Soldera, D. Implementing the
Tate pairing. In Algorithmic Number Theory, 5th International Symposium,
ANTS-V, Sydney, Australia, July 7-12, 2002, Proceedings (2002), C. Fieker
and D. R. Kohel, Eds., vol. 2369 of Lecture Notes in Computer Science,
Springer, pp. 324–337.
[44] Galbraith, S. D., Petit, C., Shani, B., and Ti, Y. B. On the
security of supersingular isogeny cryptosystems. In Advances in Cryptology
- ASIACRYPT 2016 - 22nd International Conference on the Theory and
Application of Cryptology and Information Security, Hanoi, Vietnam,
December 4-8, 2016, Proceedings, Part I (2016), J. H. Cheon and T. Takagi,
Eds., vol. 10031 of Lecture Notes in Computer Science, pp. 63–91.
[45] Galbraith, S. D., and Smart, N. P. A cryptographic application
of Weil descent. In Cryptography and Coding, 7th IMA International
Conference, Cirencester, UK, December 20-22, 1999, Proceedings (1999),
M. Walker, Ed., vol. 1746 of Lecture Notes in Computer Science, Springer,
pp. 191–200.
[46] Gibney, E. Hello quantum world! Google publishes landmark quantum
supremacy claim. Nature 574, 7779 (2019), 461–463.
68 BIBLIOGRAPHY
[72] Preskill, J. Quantum Computing in the NISQ era and beyond. Quantum
2 (Aug. 2018), 79.
[73] Pries, R. Current results on Newton polygons of curves. arXiv preprint
arXiv:1806.04654 (2018). To appear as Chapter 6 of Open problems in
Arithmetic Algebraic Geometry.
[92] Vélu, J. Isogénies entre courbes elliptiques. CR Acad. Sci. Paris, Séries
A 273 (1971), 305–347.
72 BIBLIOGRAPHY
Publications
73
74
Chapter 6
SeaSign 2.0
Vladimir Arnold
Publication data
Thomas Decru and Lorenz Panny and Frederik Vercauteren (2019). Faster
SeaSign Signatures Through Improved Rejection Sampling. In Post-Quantum
Cryptography - 10th International Conference, PQCrypto 2019, Chongqing,
China, May 8-10, 2019 Revised Selected Papers (pp. 271–285). Springer.
Own contribution
75
Faster SeaSign signatures
through improved rejection sampling
1 Introduction
2 Preliminaries
Keys. Alice’s private key is a list a = (a(1) , ..., a(S−1) ) of S −1 vectors sampled
uniformly random from [−B; B]n ⊆ Zn .
For i ∈ {1, ..., S − 1}, write Ei := [a(i) ]E0 , that is, the result of applying
the group element represented by a(i) ∈ Zn ; then Alice’s public key is the list
[a]E0 := (E1 , ..., ES−1 ) of her secret vectors applied to the starting element E0 .
This situation is summarized in Figure 1.
2
Note this representation matches the assumptions in Section 1.1.
3
Technically there is no reason for δ to be an integer: it is sufficient that δ ∈ 1
B
· Z,
but we will assume δ ∈ Z throughout for simplicity.
E1
[a(1) ]
E0 [a(2) ] E2
...
[a(S−1) ] ...
ES−1
E [r]
E1
[b]
[a(1) ]
E0 [a(2) ] E2
...
[a(S−1) ] ...
ES−1
Since an attacker (who cannot break the underlying isogeny problems) has a
1/S chance of winning, this identification scheme provides log2 S bits of security.
In order to amplify the security level, Alice typically computes t ≥ 1 independent
vectors b1 , ..., bt instead of just one. The verifier responds with t challenges
c1 , ..., ct ∈ {0, ..., S − 1}. Alice then computes ri = bi − a(ci ) for all 1 ≤ i ≤ t and
reveals them if all of them are in [−δB; δB]n ; else she rejects the challenge. In
order to not have to reject too often, δ must be rather large; more specifically, δ
was chosen as nt in [4] to achieve a success probability of roughly 1/e.
As mentioned in the introduction, [4] gives three SeaSign constructions. The
original idea is the scheme above with S = 2, i.e., the public key is a single public
element. This results in a large t and therefore a very large signature. The second
scheme lets the number of private keys S range from 2 up to 216 , which results
in smaller, faster signatures at the expense of larger public-key sizes.4 The final
scheme reduced the size of the public key again by using a Merkle tree, at the
cost of increasing the signature size. We will not elaborate on all those variants
in detail.
To turn this identification scheme into a non-interactive signature proto-
col, the standard Fiat–Shamir transformation can be applied [5]. In essence,
Alice obtains the challenges c1 , ..., ct herself by hashing the ephemeral public
elements [b1 ]E0 , ..., [bt ]E0 together with her message. Alice then sends her sig-
nature ([b1 ]E0 , ..., [bt ]E0 ; r1 , ..., rt ) to Bob, who can recompute the challenges
c1 , ..., ct to verify that indeed [ri ]Eci = [bi ]E0 for all i ∈ {1, ..., t}.
Variant F Variant T
Alice samples a vector b uniformly random from the set ...
n
Y
I= −δB + mj ; δB + Mj ⊆ Zn ,
j=1
n
I = −(δ + 1)B; (δ + 1)B ⊆ Zn . where
(1) (S−1)
mj = min{0, aj , ..., aj };
(1) (S−1)
Mj = max{0, aj , ..., aj }.
She then computes E = [b]E0 and commits to E. On challenge c ∈ {0, ..., S−1},
she computes r = b − a(c) (where a(0) is defined as 0).
If c = 0 or r ∈ [−δB; δB]n , ... If r ∈ [−δB; δB]n , ...
... then she reveals r; else she rejects the challenge. Bob verifies that [r]Ec = E.
Proof. This is trivial in Variant F in the event c = 0. For the other cases, note
that I is constructed such that r = b − a(c) is uniformly distributed on a set
containing ∆ := [−δB; δB]n , no matter what a(c) is. Therefore, the distribution
of r conditioned on the event r ∈ ∆ is uniform on ∆ independently of a(c) . t u
where exactly u of the ri equal 7. (If less than t challenges could be answered,
Alice aborts and retries the whole signing process with new values of bi .)
Verification. This again is standard: Bob first checks that at most u of the
t + u values ri are 7. He then recomputes the challenges c1 , ..., ct+u by hashing
the message m together with the ephemeral elements [bi ]E0 and verifies that
[ri ]Eci = [bi ]E0 for all i ∈ {1, ..., t + u} with ri 6= 7.
Remark 2. The signatures can be shortened further: Sending those [bi ]E0 with
ri 6= 7 is wasteful. It is enough to send the hash H of all ephemeral elements
[bi ]E0 instead, since Bob can extract ci from H, recompute [bi ]E0 as [ri ]Eci ,
and verify in the end that the hash H was indeed correct.
Remark 3. As mentioned earlier, one can reduce the public-key size by using a
Merkle tree, but this does not significantly alter the computation time for any
part of the protocol. Given that the main focus of our adjustments to SeaSign
is speeding it up, we will therefore not investigate this avenue any further.
Security. The proof for the security for this scheme is completely analogous to
the original SeaSign scheme. This follows from Lemma 1 and the fact that there
are always a fixed number u of 7 per signature in random positions. Instead of
reproducing the proof here, we refer the reader to [4].
6
This is why the tuples are processed in a random order: Proceeding sequentially and
rejecting the remaining tail still leaks, since the number of 7 at the end would be
correlated to the rejection probability.
4 Analysis and results
δ · (t + u)/q ,
where q is the probability of a full signing attempt being successful (i.e., at most
u rejections 7). This optimization problem depends on two random variables:
– The number Z of challenges that an attacker can successfully answer even
though he cannot break the underlying isogeny problems.
– The number A of challenges that Alice can answer without leaking, i.e., the
number of non-rejected challenges.
Since the t + u challenges are independent, both Z and A are binomially dis-
tributed with count t + u. Let Tk,α denote the tail cumulative distribution func-
tion of Bink,α , i.e.,
Xk
k i
Tk,α (x) = α (1 − α)k−i ,
i=x
i
δ · (t + u)/q(t, u, δ) ,
7
Other optimizations could look at the sum of signing and verification time, or even
take into account key generation time, but we will not delve into those options.
where
q(t, u, δ) = Pr[A ≥ t] = Tt+u,σ(δ) (t)
is the probability of a full signing attempt being successful. The function σ
depends on the variant (F or T ). In case of Variant F we have
n
1 S−1 2δB + 1
σ(δ) = + .
S S 2(δ + 1)B + 1
For Variant T , the function depends on the private keys in use. With fixed
(1) (S−1)
private keys a(1) , ..., a(S−1) and the notation mj = min{0, aj , ..., aj } and
(1) (S−1)
Mj = max{0, aj , ..., aj } as before, the formula becomes
n
Y 2δB + 1
σ(δ) = .
j=1
2δB + 1 − mj + Mj
For our analysis we work with the expected probability over all possible keys.
Our results for the optimization problem can be found in Table 1. The
sage [14] code that computes these values can be found in Appendix A; it takes
about twelve minutes on a single core. We are quite confident that the values
in Table 1 are optimal, but cannot strictly claim so since we have not proven
that the conditions used in the script to terminate the search capture all optimal
values, although this seems reasonable to assume.
There are two major differences in the way we present our data compared
to [4]. First of all, we list the expected signing time instead of a single signing
attempt, which represents the real cost more accurately. Second, we express the
time in equivalents of “normal” CSIDH operations instead of in wall-clock time,
which makes the results independent of a concrete choice of CSIDH implemen-
tation and eases comparison with other work.
Unsurprisingly, the biggest speed-up can be seen for the basic SeaSign scheme
(i.e., S = 2), since that is where the largest δ could be found. The expected
signing time is reduced by a factor of 65, whereas verification is sped up by
a factor of roughly 31, at the cost of doubling the signature size. As predicted,
Variant F outperforms Variant T from a certain point onward, which apparently
is for S ≥ 24 . The case S = 216 gains a factor of 4.4 in the expected signing time
and 6.0 in verification time. Note though that it only has 2.7% faster signing
and 21% faster verification than the case S = 215 (which uses public keys half
as big), which further emphasizes the importance of choosing the right trade-
offs. Perhaps unsurprisingly, taking u = umax (t) often gives the best (expected)
signing times, although this is not always the case: for instance, for S = 216 we
have umax (10) = 29, but u = 22 with a bigger δ yields (slightly) better results.
Table 1. Parameters for our improved SeaSign variants, optimizing for signing time.
All of these choices provide ≥ 128 bits of security (of course assuming that the un-
derlying isogeny problems are hard). Gray lines with variant “—” refer to the original
parameter selection methodology suggested in [4]. The signature sizes make use of the
observation in Remark 2. The “CSIDHs” columns express the computational load in
terms of equivalents of a “normal” CSIDH operation, i.e., with exponents in [−B; B]n ,
making use of the assumption that the cost is linear in the 1-norm of the input vector.
Using current implementations [9,1], computing one “CSIDH”-512 takes approximately
40 ms of wall-clock time on a standard processor. Finally, the rightmost column shows
the speed-up in signing and verification times compared to the original SeaSign scheme.
secbits = 128
pbits = 512
csidhn, csidhB = 74, 5
isz = lambda d: 2*d*csidhB+1 # interval size
sigsize = lambda S, t, u, delta, var = ’O’: ceil(1/8 * (0
+ ceil(min(t+u, u*log(t+u,2), t*log(t+u,2))) # indices of rejections
+ ceil(log(S,2)*(t+u)) # hash of ephemeral public keys
+ pbits*u # rejected ephemeral public keys
+ t*ceil(log(isz(delta+(var==’F’))**csidhn,2)))) # revealed secret keys
pksize = lambda t, S: ceil(1/8 * (S-1)*pbits)
@cached_function
def joint_minmax_cdf(n, x, y, a, b):
# Pr that min and max of n independent uniformly random
# integers in [a;b] satisfy min <= x and max <= y.
if x < a or y < a: return 0
if y > b: y = b
return RR((y-a+1)/(b-a+1))**n - (RR((y-x)/(b-a+1))**n if x < y else 0)
@cached_function
def joint_minmax(n, x, y, a, b):
# Pr that min and max of n independent uniformly random
# integers in [a;b] satisfy min = x and max = y.
F = lambda xx, yy: joint_minmax_cdf(n, xx, yy, a, b)
return F(x,y) - F(x-1,y) - F(x,y-1) + F(x-1,y-1)
@cached_function
def max_u(t, S): # largest possible u for given S,t
u, F = 1, lambda u: Bin(t+u, 1/S, t)
while F(u) <= 2**-secbits: u *= 2
lo, hi = u//2, u+1
while hi - lo > 1:
m = (lo+hi+1)//2
if F(m) <= 2**-secbits: lo = m
else: hi = m
return lo
def prob_sign(t, u, sigma):
return Bin(t+u, sigma, t)
t = ceil(secbits/log(S,2)) - 1
last_umax = -1
no_progress_inner = True
@cached_function
def f(x): return exp_csidhs_sign(t, u, x, S, prob)
if variant == ’O’:
delta = csidhn * t
else:
_, delta = find_local_minimum(f, 1, 2**24, tol=1)
delta = min((floor(delta), ceil(delta)), key = f)
last_umax = umax
90 SEASIGN 2.0
Chapter 7
Superspecial (2,2)-hash
functions
Publication data
Wouter Castryck and Thomas Decru and Benjamin Smith (2020). Hash
functions from superspecial genus-2 curves using Richelot isogenies. J. Math.
Cryptol., 14(1), 268–292.
Own contribution
91
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES
USING RICHELOT ISOGENIES
1. Introduction
After a cautious start with Couveignes’ unpublished note [10] from 1997 and
Stolbunov’s master thesis [32] from 2004, the area of isogeny-based cryptography
took a more visible turn in 2006 when Charles, Goren and Lauter [8] showed how
to construct collision-resistant hash functions from deterministic walks in isogeny
graphs of supersingular elliptic curves over finite fields. Five years later Jao and De
Feo applied similar ideas to the design of a key exchange protocol [23, 12] now known
as SIDH, after which isogenies became a very active topic of cryptographic research,
largely due to their promise of leading to quantum resistant hard problems. Some of
the recent constructions include non-interactive key exchange [13, 6], signatures [11,
15, 2] and verifiable delay functions [14]. In January 2019 SIKE [1], which is an
incarnation of SIDH, was chosen as one of the seventeen second-round contenders
to become a NIST standard for post-quantum key establishment.1
While almost all of the ongoing research in isogeny-based cryptography is de-
voted to elliptic curves, there is a general awareness that many proposals should
generalize to principally polarized abelian varieties (e.g., jacobians) of arbitrary
dimension. This particularly applies to the supersingular isogeny walks on which
SIDH and Charles, Goren and Lauter’s hash function are based. In fact, in a
follow-up paper [7, §6.2] the latter authors already hint at the possibility of a
higher-dimensional analogue of their hash function. In 2018, Takashima [33, §4.2]
made the concrete proposal of using jacobians of supersingular genus-2 curves and
1
See https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions.
1
2 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
their 15 outgoing (2, 2)-isogenies, which can be evaluated efficiently through Rich-
elot’s formulas. By disallowing backtracking he uses this to process one base-14
digit for each isogeny evaluation. Moreover he provides specific starting curves,
such as y 2 = x5 + 1 over Fp with p ≡ 4 mod 5, which allow for all computations to
be done over Fp2 , as was shown by himself and Yoshida about a decade ago [34].
Unfortunately Takashima’s hash function is not collision-resistant due to the inher-
ent presence of small cycles in the resulting isogeny graph, as was pointed out very
recently by Flynn and Ti [18], who then proceeded with studying a genus-2 variant
of SIDH.
The contributions of this paper are as follows. First, in Section 2 we argue that
the full supersingular isogeny graph is the wrong arena for higher-dimensional ana-
logues of Charles, Goren and Lauter’s hash function, and promote the use of super-
special subgraphs. In doing so we give a natural explanation for why Takashima and
Yoshida’s starting curve indeed allows for all subsequent arithmetic to be carried
out in Fp2 . Second, some first properties of the (2, 2)-isogeny graph of superspe-
cial principally polarized abelian surfaces are gathered and proved in Section 4 and
Appendix A. Third and foremost, we repair Takashima’s hash function by showing
that an extremely simple restriction (which still allows us to process one base-8
digit, i.e., 3 bits per isogeny) both prevents the Flynn–Ti attack and simplifies the
reasoning on security; we also show that with high probability, the starting curve
y 2 = (x2 − 1)(x2 − 2x)(x − 1/2) over Fp with p ≡ 5 mod 6 naturally avoids running
into products of elliptic curves, which as we will see are technical nuisances. The
details can be found in Section 6 and Section 7. In Sections 8 and 9 we report on
an implementation in Magma and compare its performance with the elliptic curve
case of Charles, Goren and Lauter.
2For an arbitrary abelian variety A, being superspecial means that Frobenius acts as the zero
map on H 1 (A, OA ). If A is the jacobian of a curve then this amounts to the Hasse–Witt matrix
being zero.
3We refer the reader, e.g., to Howe’s paper [19] for examples of jacobians that become isomor-
phic when the polarization is dropped.
4 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
genus-2 curves do not exist. In general it seems unknown how to write down the
equation of a random superspecial genus-2 curve.
Note that superspecial p.p. abelian varieties were also considered in Charles,
Goren and Lauter’s follow-up paper [7], albeit in a more theoretical context and
using different edge and vertex sets for the associated graphs.
3. Further preliminaries
3.1. Hyperelliptic curves of genus 2. Let K be a field of characteristic p > 5. A
(hyperelliptic) curve of genus 2 over K is an algebraic curve defined by an equation
of the form y 2 = f (x), where f (x) ∈ K[x] is a squarefree polynomial of degree 5
or 6. Up to K-isomorphism, any genus-2 curve has a representation with a monic
polynomial of degree 6 and we will mostly work with these representations since it
eases up the notation quite a bit. All formulas provided still work with a degree
5 polynomial if one sees the missing linear factor as 0 · x + 1. A genus-2 curve is
completely determined (up to K-isomorphism) by weighted projective invariants
called Igusa invariants. Since we only work over odd-characteristic fields, we opt to
characterize them with the absolute Igusa variants defined in [5]. For our discussion
it suffices to know that these invariants consist of an ordered triple (j1 , j2 , j3 ) ∈ K 3 .
3.2. Richelot isogenies. A Richelot isogeny is a (2, 2)-isogeny between jacobians
of genus-2 curves, i.e. the kernel of the isogeny is a group isomorphic to Z/2Z⊕Z/2Z
that is maximal isotropic with regards to the 2-Weil pairing. Richelot isogenies
split multiplication-by-2, in the sense that each Richelot isogeny φ : JC → JC 0 has
a unique dual Richelot isogeny φ̂ : JC 0 → JC , and φ̂ ◦ φ = [2]JC . We recall here
some of the facts about Richelot isogenies that are relevant to our construction; for
a more in-depth discussion and a proof of Proposition 1, we refer to [31, Chapter 8].
Q6
The 2-torsion of the jacobian of the genus-2 curve C : y 2 = f (x) = i=1 (x−αi ) is
{0}∪{[(αi , 0)−(αj , 0)] : i < j}, where the square brackets denote linear equivalence
classes of divisors. A subgroup of the 2-torsion being maximal isotropic with regards
to the 2-Weil pairing in this context simply means that the group contains exactly
3 non-trivial elements and that all αi , 1 ≤ i ≤ 6, occur exactly once in all the
representations combined. Hence the Richelot isogenies can be represented by sets
of quadratic factors of f (x) that are pairwise coprime. More precisely, we define:
Definition 1. A quadratic splitting of a squarefree degree 6 (resp. degree 5) poly-
nomial f (x) ∈ K[x] is an unordered triple {G1 , G2 , G3 } ⊂ K[x] of quadratic (resp.
two quadratic and one linear) polynomials such that G1 G2 G3 = f (x), considered
modulo the equivalence
×
{G1 , G2 , G3 } ∼ {βG1 , γG2 , (βγ)−1 G3 } for all β, γ ∈ K .
Returning to the above setting, let us write
2
G1 = g1,3 x + g1,2 x + g1,1 = (x − α1 )(x − α2 ),
G2 = g2,3 x2 + g2,2 x + g2,1 = (x − α3 )(x − α4 ),
G3 = g3,3 x2 + g3,2 x + g3,1 = (x − α5 )(x − α6 ),
where we incorporate the leading coefficients gi,3 for the sake of generality (e.g., to
cope with the degree 5 case where one of the gi,3 ’s becomes zero). Then one sees
that the (2, 2)-isogeny with kernel {0, [(α1 , 0) − (α2 , 0)], [(α3 , 0) − (α4 , 0)], [(α5 , 0) −
(α6 , 0)]} can be identified by the quadratic splitting {G1 , G2 , G3 } of f (x).
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES 5
There are 15 possible ways of organizing the roots αi into distinct quadratic
splittings. It is possible that the resulting quadratics are only defined over an
extension of the field over which our curve C is defined, in which case both the
corresponding (2, 2)-isogeny and its codomain also might be defined over this field
extension. Nevertheless, if the splitting is fixed by Frobenius as a set, then the
isogeny and codomain are defined over the ground field. As mentioned in Section 2,
in the case of superspecial p.p. abelian surfaces, all domains, kernels, (2, 2)-isogenies
and associated codomains are defined over Fp2 up to isomorphism.
Proposition 1. Let C : y 2 = G1 (x) · G2 (x) · G3 (x) be a genus-2 curve, with
{G1 , G2 , G3 } the quadratic splitting associated with a maximal 2-Weil isotropic
subgroup S ⊂ JC [2], and let φ : JC → A ∼ = JC /S be the quotient (2, 2)-isogeny.
Following the notation above, let
g1,3 g1,2 g1,1
δ := det g2,3 g2,2 g2,1 .
g3,3 g3,2 g3,1
(1) If δ 6= 0, then A is isomorphic to the jacobian of the genus-2 curve
C 0 : y 2 = δ −1 H1 (x) · H2 (x) · H3 (x)
where
H1 := G02 G3 − G2 G03 , H2 := G03 G1 − G3 G01 , H3 := G01 G2 − G1 G02 ,
where G0iis the derivative of Gi with respect to x. Moreover, {H1 , H2 , H3 }
is a quadratic splitting corresponding to the dual isogeny φ̂ : JC 0 → JC .
(2) If δ = 0, then A is isomorphic to a product of elliptic curves E1 × E2 . The
vanishing of the determinant δ implies that there exist s1 and s2 in Fp2
such that
Gi = ai,1 (x − s1 )2 + ai,2 (x − s2 )2
for some ai,1 and ai,2 in Fp2 for i = 1, 2, 3. The elliptic curves forming the
product isomorphic to A can be defined by the equations
3
Y 3
Y
E1 : y 2 = (ai,1 x + ai,2 ) , E2 : y 2 = (ai,1 + ai,2 x) ,
i=1 i=1
Just as in the case of jacobians of genus-2 curves, there are 15 outgoing (2, 2)-
isogenies with domain E1 × E2 . Of these, 9 correspond to an isogeny that is the
product of 2-isogenies on the respective elliptic curves, such that the image of this
6 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
with OE1 and OE2 are the neutral elements of E1 and E2 , respectively, σ is a
permutation of {1, 2, 3}, and Pi = (αi , 0), Qi = (βi , 0).4 As long as κ is not the
restriction of the graph of an isomorphism E1 → E2 , the image of the isogeny
determined by κ is the jacobian of a genus-2 curve which can be constructed as
follows. Define ∆α and ∆β as the discriminants of the monic cubic polynomials
Q3 Q3
i=1 (x − αi ) and i=1 (x − βi ) respectively, and
The three factors on the right hand side constitute a quadratic splitting for the
dual isogeny back to E1 × E2 ; note in particular that these factors are multiples of
each other so that the corresponding value of δ is indeed 0.
The final case to consider is when we want to construct an isogeny with domain
an abelian surface of the form E1 × E2 , with E1 ∼
= E2 , and of which the kernel κ is
the restriction of the graph of an isomorphism α : E1 → E2 . The codomain is then
the same as the domain and the (2, 2)-isogeny is given by
φ : E1 × E2 → E1 × E2
(P, Q) 7→ (P + α̂(Q), −Q + α(P )),
4Note that there are other subgroups of E × E isomorphic to Z/2Z ⊕ Z/2Z, such as
1 2
{(OE1 , OE2 ), (P1 , OE2 ), (P2 , OE2 ), (P3 , OE2 )}, but they are not maximal isotropic with regards
to the 2-Weil pairing so are not the kernel of a (2,2)-isogeny.
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES 7
A02
where φ and φ0 are (2, 2)-isogenies and ι is an isomorphism of superspecial p.p.
abelian surfaces. Since the isomorphism class of an outgoing isogeny is uniquely
determined by its kernel, this simply means that we have an outgoing edge for each
(2, 2)-subgroup of A1 , i.e., each subgroup that is isomorphic to Z/2Z ⊕ Z/2Z and
maximal isotropic with regards to the 2-Weil pairing.
By construction, Gp is a 15-regular (multi)graph, since both types of superspecial
p.p. abelian surfaces have 15 different outgoing (2, 2)-isogenies. One might simplify
the situation by combining parallel edges to turn Gp into a simple directed graph,
but for our application we will need to distinguish between all 15 outgoing edges.
In any case, for large p the number of parallel edges is expected to be negligible
relative to the size of the graph (for very small p, where there are few superspecial
p.p. abelian surfaces, the opposite holds—as we will see in §5).
Since every p.p. abelian surface is isomorphic (as a polarized abelian variety) to
either the jacobian of a genus-2 curve or a product of elliptic curves, the vertices of
Gp fall into two classes:
V (Gp ) = Ep t Jp ,
where Ep is the set of isomorphism classes corresponding to products of supersingu-
lar elliptic curves, and Jp is the set of isomorphism classes of superspecial genus-2
jacobians. Proposition 2 gives us the cardinalities of these subsets.
Proposition 2. Let Gp , Ep , and Jp be defined as above.
• If p = 2 or 3, then #Jp = 0 and #Ep = 1.
• If p = 5, then #Jp = 1 and #Ep = 1.
• If p > 5, then
p3 + 24p2 + 141p − 346
#Jp = + δp
2880
5Every (2, 2)-isogeny φ : A → A has a unique dual (2, 2)-isogeny φ̂ : A → A , so one might
1 2 2 1
think that we could easily treat Gp as an undirected graph. Unfortunately, this may fail if A1
has automorphisms different from ±1. Indeed, in that case it is possible that two non-isomorphic
(2, 2)-isogenies φ : A1 → A2 and ψ : A1 → A2 are obtained from each other by pre-composition
with such an automorphism, so that their duals are obtained from one another by post-composition
with this automorphism (more precisely if φ = ψ ◦ α then φ̂ = α−1 ◦ ψ̂). So these duals have
the same kernel, hence they are isomorphic. In the elliptic curve case, this technicality can be
combated by choosing p ≡ 1 mod 12, since then the automorphisms of all curves are always ±1.
In the case of superspecial genus-2 curves, however, no such convenient restriction exists: there
are jacobians with a different number of automorphisms for any prime p [22].
8 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
and
1 p−1 p−1
#Ep = + p + p + 1 ,
2 12 12
881
where δp ∈ [0, 720 ] depends only on p mod 120 and p ∈ 0, 76 depends only
on p mod 12.
Proof. The values for #Jp appear in [3, Theorem 3.10(b)] or [22, Theorem 3.3].
The formulas for #Ep follow from the fact that up to Fp -isomorphism, the number
of supersingular elliptic curves over Fp is (p − 1)/12 + p , where p ∈ 0, 76 depends
only on p mod 12 (see for example [30, Section V, Theorem 4.1(c)]).
Proposition 2 implies that Gp is a finite graph, although this could already be
derived from the fact that every isomorphism class of superspecial p.p. abelian
surfaces has a representative defined over Fp2 . Asymptotically, we have
#Gp ∼ p3 /2880 , #Ep ∼ p2 /288 , #Jp ∼ p3 /2880 .
In particular, the proportion of superspecial p.p. abelian surfaces that are the prod-
uct of two supersingular elliptic curves is O(1/p) relative to the total size of the
graph: for p large, the number of vertices in Gp that are not in Jp is negligible.
Informally, when p is large, one could see Ep as the “boundary” of the graph Gp ,
and Jp as the “interior”. A first reason is the size argument we just made. A second
reason is the connectivity of the 2 types of superspecial p.p. abelian surfaces that
we briefly touched on in the preliminaries. Indeed, every product of elliptic curves
has at least 9 out of 15 (2, 2)-isogenies that have a codomain that is a product of
elliptic curves as well, hence this part of our graph is very well connected while only
making up a fraction of our graph. Vice versa there is also no jacobian of a genus-2
curve that could be “hiding” in between the products of elliptic curves, which we
can make precise with the following theorem.
Theorem 1. With the notation above:
(1) Suppose p 6= 5. If J is a vertex in Jp ⊂ Gp , then (counting multiplicity) at
most 6 of the 15 edges out of J are to vertices in Ep .
(2) If E is a vertex in Ep ⊂ Gp , then (counting multiplicity) at most 6 of the
15 edges out of E are to vertices in Jp .
Proof. Part (2) of this theorem was mentioned in the preliminaries; it follows from
the fact that 9 out of 15 (2, 2)-isogenies are simply a product of 2-isogenies from
the elliptic factors. A proof of a more general formula can be found in [25]. For a
proof of Part (1) using Gröbner bases, see Appendix A.6
A simple counting argument then tells us that for sufficiently large p, the chance
of a vertex in Jp having a neighbour in Ep in our graph Gp is negligible. Intuitively
this makes sense, since the δ in Proposition 1 is the determinant of a seemingly
random 3 × 3 matrix for large p, and will therefore almost surely be nonzero.
We now state a pair of conjectures inspired by analogous theorems for the elliptic
supersingular 2-isogeny graph.
Conjecture 1. The graph Gp is connected.
6In recent work revisiting an online version of the current paper, Katsura and Takashima
strengthen Theorem 1 by giving more precise counts, along with a more conceptual proof of
Part (1); see [26].
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES 9
Conjecture 1 is the most natural from a mathematical point of view, but we will
need something stronger for a more efficient implementation of a collision-free hash
function. We mainly state it due to the analogy with the elliptic curve case.
Conjecture 2. The subgraph of Gp supported on Jp is connected.
Conjecture 2 (which is identical to Conjecture 1 in the elliptic case) is more rele-
vant to our discussion. It implies that Ep not only makes no significant contribution
to the size of Gp as p → ∞, but it is also not essential for connectivity. (Thus, again,
we consider Ep to be the “boundary” of Gp .) Conjecture 2 implies Conjecture 1, since
every vertex in Ep has at least 4 outgoing edges into Jp for p > 3 (as mentioned in
the preliminaries). Similarly, Conjecture 2 follows from Conjecture 3 in Section 6,
for which we have verified correctness up to and including p equal 1013.
As a final note, one may wonder if all non-superspecial supersingular p.p. abelian
surfaces also form a similar connected component (which is necessarily infinite).7
Since we will not use these abelian surfaces, we will not explore that thought further.
JC2
1 4
4 6
5 JC1 3 2 JC3 9
1 2
6 2
E×E
10
Figure 1. The graph G13 . The vertices JCi , i ∈ {1, 2, 3}, corre-
spond to jacobians of genus-2 curves, whereas the vertex E × E
corresponds to a product of elliptic curves. The numbers indicate
the multiplicities of the edges.
Proof. The quadratic splitting {H1 , H2 , H3 } corresponds to the subgroup of JC1 [2]
which is the kernel of the dual φ̂1 , and also the image φ1 (JC0 [2]). The good exten-
sions of φ1 are those whose kernel intersects trivially with φ1 (JC0 [2]); they therefore
correspond to the quadratic splittings with no quadratics proportional to any of the
Hi . The list of 8 splittings above follows from direct calculation.
For i = 1, 2, 3 we will write {αi , αi0 } for the roots of Gi , Pi = (−ai,2 /ai,1 , 0) for the
Weierstraß points of E1 , Qi = (−ai,1 /ai,2 , 0) for the Weierstraß points of E2 , and
OE1 and OE2 for the neutral element of respectively E1 and E2 .
Proposition 4. With the notation above, the good extensions of φ1 are the (2, 2)-
isogenies with kernel one of the 6 combinations
{(OE1 , OE2 ), (Pi , OE2 ), (OE1 , Qj ), (Pi , Qj )},
for i 6= j in {1, 2, 3}, or one of
{(OE1 , OE2 ), (P1 , Q2 ), (P2 , Q3 ), (P3 , Q1 )},
{(OE1 , OE2 ), (P1 , Q3 ), (P2 , Q1 ), (P3 , Q2 )}.
Proof. The proof of the formulas in [31, Proposition 8.3.1] shows that, for {i, j, k} =
{1, 2, 3}, the 2-torsion elements [(αi , 0)−(αj , 0)], [(αi , 0)−(αj0 , 0)], [(αi0 , 0)−(αj , 0)],
[(αi0 , 0) − (αj0 , 0)] get mapped to (Pk , Qk ) in E1 × E2 . So the good extensions of φ1
are the isogenies whose kernels intersect
φ1 (JC0 [2]) = {(OE1 , OE2 ), (P1 , Q1 ), (P2 , Q2 ), (P3 , Q3 )}
trivially, which are exactly the ones listed.
Note that in the previous proposition, the 6 good extensions of the first type
always have a product of elliptic curves as codomain. The other 2 will typically be
to a jacobian of a genus-2 curve, unless E1 ∼ = E2 and the given kernel is contained
in the graph of an isomorphism θ : E1 → E2 , i.e. the kernel can be written as
{(OE1 , OE2 ), (P1 , θ(P1 )), (P2 , θ(P2 )), (P3 , θ(P3 ))}.
6.3. Extensions of isogenies from Ep to Jp . Recall from the preliminaries that
every (2, 2)-isogeny φ1 : E1 × E2 → JC1 , with
3
Y 3
Y
E1 : y 2 = (x − αi ) and E2 : y 2 = (x − βi ) ,
i=1 i=1
always has as codomain the jacobian of a genus-2 curve C1 that can be defined by
an equation of the form
(1) y 2 = − A(α2 − α1 )(α1 − α3 )x2 + B(β2 − β1 )(β1 − β3 )
· A(α3 − α2 )(α2 − α1 )x2 + B(β3 − β2 )(β2 − β1 )
2
· A(α1 − α3 )(α3 − α2 )x + B(β1 − β3 )(β3 − β2 ) ,
up to permutation of the roots βi , for well-defined nonzero constants A and B that
depend on αi and βi . We will denote the quadratic factors on the right hand side
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES 13
6.5. Connectedness.
Conjecture 3. For every two vertices A and A0 in Jp ⊂ Gp , there exists a path
φ0 φ1 φk−1
A = A0 −→ A1 −→ · · · −−−→ Ak = A0
of k edges, for some k ≥ 0, such that all of the Ai are in Jp and each φi , i 6= 0, is
a good extension of φi−1 . (The composed isogeny is then a (2k , 2k )-isogeny.)
Conjecture 3 is our strongest conjecture. It differs from Conjecture 2 in that at
each step in a path, the number of choices is reduced from all 15 isogenies to the
8 good isogenies. Conjecture 3 is easy to verify for small p using the formulas for
Richelot isogenies and the exact formula from Theorem 2. We verified this part of
the conjecture for p ≤ 1013 using Magma, but from then onward the computations
become slow since we work with graphs of several hundred thousands of vertices
already. Nonetheless, this is a first indication that Conjecture 3 might hold.
to the previous step. We now repeat the process for the remainder of the message,
where each block of 3 bits corresponds to one choice of edge that takes us to a new
vertex in the graph. Once the entire message has been processed we output the
absolute Igusa invariants of the genus-2 curve corresponding to the final vertex.
Remark 2. We chose to abort the hashing as soon as a product of elliptic curves is
encountered in order not to get lost in technical details that apply with probability
O(1/p) and which detract us from the main construction. Note that 1/p is only
slightly larger than the probability of breaking the hash function using Pollard-ρ.
Nevertheless this is a nuisance, but as discussed in Section 7.2 below, there are
several tracks for getting around this.
7.1. Avoiding trivial cycles. A hash function should be collision-resistant, so we
need to at least avoid trivial cycles in our graph. In the elliptic curve case, this is
simply done by disallowing the edge associated to the dual isogeny from where we
just came. Similarly, we must avoid using dual isogenies when walking in Gp , to
avoid extremely easy cycles:
φ1
A0 A1
φ̂1
A01
φ01 φ02
φ1 φ2
A0 A1 A2
φ00
1 φ00
2
A001
7.2. Products of elliptic curves. For our hash function, the vertices correspond-
ing to products of elliptic curves are a nuisance for the following reasons.
• There is no clear candidate invariant that is similar to the ordered triple in
case of the genus-2 absolute Igusa invariants. So ideally, we would prefer
not to end the hash function in a vertex like this.
16 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
• The formulas involving products of elliptic curves are a lot more involved
than the Richelot isogenies, and their simplicity was one of the main reasons
for the restriction to (2, 2)-isogenies.
In the way we presented our hash function, we simply use Richelot isogenies only
and let our hash function break down whenever we pass a vertex corresponding to
a product of elliptic curves. Given that this only occurs with probability O(1/p),
this only happens with negligible probability for cryptographic values of p.
An alternative way of dealing with this is as follows. Assume we try to process
a step in our hash function that corresponds to a (2, 2)-isogeny between a jacobian
of a genus-2 curve and a product of elliptic curves. Then (in the same step) we
immediately choose one edge corresponding to a (2, 2)-isogeny from the product
of elliptic curves back to a jacobian of a genus-2 curve. This has to be done in
a deterministic way and we should avoid the dual and bad extensions since they
would result in small cycles in Gp . Unfortunately Proposition 4 tells us that we can
only find 2 good extensions that possibly have the jacobian of a genus-2 curve as
codomain. In the case of E × E, with E having j-invariant 0 or 1728, these kernels
may both be to a product of elliptic curves again. Solving this issue can be done
by either choosing p ≡ 1 mod 12 (such that elliptic curves with j-invariant 0 and
1728 never occur), or by (deterministically) using the results from Proposition 6 to
add an extra step in this specific case.
A third option is to keep working with all the formulas for products of elliptic
curves as well. This means we should find a way to merge the absolute Igusa
invariants and (unordered) pairs of j-invariants into one output type, which is only
an issue when ending in a product of elliptic curves.
7.3. Initial choices. As mentioned earlier, there is no known way to generate the
equation of a random superspecial genus-2 curve that is defined over Fp2 . Some
specific examples such as y 2 = x5 − x with p ≡ 5 or 7 mod 8 are listed in [22]. Un-
fortunately, the examples that are easiest to represent all have some (2, 2)-isogenies
with codomain the product of 2 supersingular elliptic curves. This seems to imply
that we cannot avoid having to deal with vertices corresponding to products of
elliptic curves.
However, another initial choice to make is whether we start by picking one of
15 possible edges or already restrict ourselves to 8, since this is needed for every
subsequent step anyway. We will take only 8 which means we need to choose an
initial quadratic splitting instead of just an initial curve.9 Fortunately this solves
our problem of finding an appropriate starting curve in a way. Consider C0 , the
genus-2 curve given by y 2 = x(x − 1)(x + 1)(x − 2)(x − 1/2) defined over Fp
with p > 5. Then C0 is superspecial if and only if p ≡ 5 mod 6 [22]. Now the
vertex corresponding to the jacobian of C0 has 4 neighbours that are products of
supersingular
2 elliptic curves. However, if we take the initial quadratic splitting
x − 1, x2 − 2x, x − 12 , then the 8 allowed outgoing (2, 2)-isogenies all have the
jacobian of a superspecial genus-2 curve as codomain. The only restriction this puts
on our hash function is that we need to work with a prime p such that p ≡ 5 mod 6,
but this is easy to enforce.
9We remark that in this case, Conjecture 3 is no longer strong enough to prove that we can
reach all vertices in Gp , since it relies on having all 15 initial (2, 2)-isogenies present. However,
there is no clear reason to assume that only allowing 8 out of 15 possible edges for our initial
choice all of a sudden would disallow us to reach certain vertices.
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES 17
An issue that arises with this curve C0 however, is that its jacobian has many au-
tomorphisms and hence has multiple outgoing isogenies with the same codomain.10
More precisely, starting from the given splitting of C0 , the 8 good extensions only
have 3 distinct codomains up to isomorphism, one of which even occurs with mul-
tiplicity 5, which leads to trivial cycles in our graph. An easy way to fix this is
to simply take a (relatively short) deterministic path to another curve C00 prior to
starting to hash our input, or equivalently, pad the input with some zeroes from the
right. For other possible starting curves, this padding can be used to additionally
avoid products of elliptic curves. Of course, once such a path to C00 has been com-
puted, this curve can be hard-coded as the new starting curve, so that no padding
is needed when hashing subsequent inputs.
7.4. Security. The security of our hash function depends on the hardness of finding
isogenies between certain p.p. abelian surfaces. A lot of the choices discussed in the
previous subsections make slight alterations to the underlying mathematical hard
problems. We will formulate them in a general form to keep them succinct since
we do not think any of the changes would impact the hardness of the problems.
In essence they are the genus-1 counterparts of the hard problems from the elliptic
curve hash function in [8].
Problem 1. Given two superspecial genus-2 curves C1 and C2 defined over Fp2 ,
find a (2k , 2k )-isogeny between their jacobians.
Problem 2. Given any superspecial genus-2 curve C1 defined over Fp2 , find
(1) a curve C2 and a (2k , 2k )-isogeny JC1 → JC2 ,
0 0
(2) a curve C20 and a (2k , 2k )-isogeny JC1 → JC20 ,
such that C2 and C20 are Fp -isomorphic. Here, it is allowed that k = k 0 but in this
case the kernels should be different.
They are related to our hash function in the following way.
• Preimage resistance: Finding a preimage in our hash function implies a
solution to Problem 1 with C1 = C00 as follows. Let C2 be a representative
of the isomorphism class of the output of the hash function. A preimage for
that output corresponds to a path of length k in our graph, or equivalently,
a (2k , 2k )-isogeny between the jacobians of C00 and C2 .
• Collision resistance: Finding a collision in our hash function implies a
solution to Problem 1 with C1 = C00 as follows. A collision in our hash
function corresponds to two distinct paths in our graph with the same
ending vertex. Equivalently this amounts to a pair of isogenies
φ : JC00 → JC2 and φ0 : JC00 → JC20
0 0
of type (2k , 2k ) resp (2k , 2k ) such that C2 ∼
= C20 , and with different kernels.
To our knowledge, there are no known ways to find isogenies of the said kinds
between jacobians of (superspecial) genus-2 curves which perform better than the
10Remark that in the elliptic curve case the same thing happens with for example y 2 = x3 + x
with p ≡ 3 mod 4. The SIKE protocol has a similar issue with its starting curve and solves it by
simply forbidding one possible outgoing isogeny.
18 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
generic attacks.11 In the classical case the best known such attack is Pollard ρ,
which can find a collision or preimage in time complexity the square root of the
number of possibilities times the amount of time that one step computation takes.
In our case we have a graph of size O(p3 ) and one step is simply a polynomial
computation with some constants, which we can perform in time complexity log p.
Hence a Pollard ρ attack could find a solution to Problem 1 or Problem 2 in time
Õ(p3/2 ).
With quantum computers in mind, the best known attack is a claw-finding algo-
rithm to find a collision or preimage in the graph Gp . Grover search would yield a
square-root attack in O(p3/2 ). The algorithm of [35] would yield an attack with time
complexity the third root of the size of the graph we work over; this would imply
a solution to Problem 1 or Problem 2 in time Õ(p). However, Jaques and Schanck
have shown that the data structures required by this algorithm adds significantly
to its complexity, to the point where it does not in fact beat square-root algorithms
(which have much lower quantum memory requirements) [24]; this suggests that
Õ(p3/2 ) is (currently) the correct complexity estimate for our problems.
field extension of a finite field of characteristic roughly 2λ/3 bits in case of classical
security. This means our output has bit length 4λ, even though the number of
possible hash values is only 2λ bits.12 It may be possible to compress this but we
leave this discussion for future research, too.
We implemented our genus-2 CGL hash function algorithm in Magma (version
2.32-2) and ran it on an Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz with 128
GB memory. For every prime size we averaged the speed over 1000 random inputs
of 100 bits. A summary of our timed results can be found in the following table.
p ≈ 286 p ≈ 2128 p ≈ 2171 p ≈ 2256
bits of classical and quantum security 128 192 256 384
time per bit processed 5.01ms 6.52ms 9.33ms 15.70ms
output bits 516 768 1026 1536
12In the elliptic curve case something completely analogous occurs: only about p/12 elements
from Fp2 are j-invariants corresponding to supersingular elliptic curves.
20 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
(2) The square roots, along with the Hi , can be computed completely indepen-
dently. The algorithm therefore lends itself well to three-way parallelization,
as well as to vectorization techniques on suitable computer architectures.
From this point of view, our proposal is a conjecturally secure version of an
ill-constructed hash function that we could call 3CGL, where the message m is
split up in 3 chunks m1 , m2 , m3 . Each of these mi is then hashed using Charles,
Goren and Lauter’s hash function into a supersingular j-invariant ji , resulting in a
combined hash value (j1 , j2 , j3 ) ∈ Fp2 . Note that, here too, the number of possible
outcomes is O(p3 ). However, the security of 3CGL clearly reduces to the problem
of finding collisions or pre-images for one of the chunks, which Pollard ρ can do in
time Õ(p1/2 ), compared to Õ(p3/2 ) in our case.
While this convinces us that genus-2 hash functions deserve their place in the
arena of isogeny-based cryptography, more research is needed to have a better
assessment of their security and performance. One potentially interesting track
is to adapt Doliskani, Pereira and Barreto’s recent speed-up to Charles, Goren
and Lauter’s hash function from [16], which has the appearance of an orthogonal
improvement that may also apply to genus 2. From a security point of view, it
would be interesting to understand to what extent the discussion from [27, 17],
transferring the elliptic curve analogs of Problems 1 and 2 to questions about orders
in non-commutative algebras and raising some concerns about using special starting
curves, carries over to genus 2.
References
[1] Reza Azarderakhsh, Brian Koziel, Matt Campagna, Brian LaMacchia, Craig Costello, Patrick
Longa, Luca De Feo, Michael Naehrig, Basil Hess, Joost Renes, Amir Jalali, Vladimir
Soukharev, David Jao, and David Urbanik. Supersingular isogeny key encapsulation. http:
//sike.org, 2017.
[2] Ward Beullens, Thorsten Kleinjung, and Frederik Vercauteren. CSI-FiSh: Efficient isogeny
based signatures through class group computations. In Steven D. Galbraith and Shiho Moriai,
editors, Advances in Cryptology – ASIACRYPT 2019, pages 227–247, Cham, 2019. Springer
International Publishing.
[3] Bradley W Brock. Superspecial curves of genera two and three. PhD thesis, Princeton Uni-
versity, 1994.
[4] Nils Bruin and Kevin Doerksen. The arithmetic of genus two curves with (4, 4)-split Jaco-
bians. Canadian Journal of Mathematics, 63(5):992–1024, 2011.
[5] Gabriel Cardona and Jordi Quer. Field of moduli and field of definition for curves of genus 2.
In Computational aspects of algebraic curves, pages 71–83. World Scientific, 2005.
[6] Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny, and Joost Renes. CSIDH:
An efficient post-quantum commutative group action. In Thomas Peyrin and Steven Gal-
braith, editors, Advances in Cryptology – ASIACRYPT 2018, Part III, pages 395–427.
Springer International Publishing, 2018.
[7] Denis X. Charles, Eyal Z. Goren, and Kristin E. Lauter. Families of Ramanujan graphs and
quaternion algebras. Groups and symmetries: from Neolithic Scots to John McKay, 47:53–63,
2009.
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES 21
[8] Denis X. Charles, Kristin E. Lauter, and Eyal Z. Goren. Cryptographic hash functions from
expander graphs. Journal of Cryptology, 22(1):93–113, 2009.
[9] Craig Costello and Benjamin Smith. The supersingular isogeny problem in genus 2 and be-
yond. In Jintai Ding and Jean-Pierre Tillich, editors, PQCrypto 2020. Springer International
Publishing, 2020.
[10] Jean-Marc Couveignes. Hard homogeneous spaces. Cryptology ePrint Archive, Report
2006/291, 2006.
[11] Luca De Feo and Steven D. Galbraith. SeaSign: Compact isogeny signatures from class group
actions. In Yuval Ishai and Vincent Rijmen, editors, Advances in Cryptology – EUROCRYPT
2019, pages 759–789. Springer International Publishing, 2019.
[12] Luca De Feo, David Jao, and Jérôme Plût. Towards quantum-resistant cryptosystems from su-
persingular elliptic curve isogenies. Journal of Mathematical Cryptology, 8(3):209–247, 2014.
[13] Luca De Feo, Jean Kieffer, and Benjamin Smith. Towards practical key exchange from ordi-
nary isogeny graphs. In Thomas Peyrin and Steven Galbraith, editors, Advances in Cryptology
– ASIACRYPT 2018, Part III, pages 365–394. Springer International Publishing, 2018.
[14] Luca De Feo, Simon Masson, Christophe Petit, and Antonio Sanso. Verifiable delay func-
tions from supersingular isogenies and pairings. In Steven D. Galbraith and Shiho Moriai,
editors, Advances in Cryptology – ASIACRYPT 2019, pages 248–277, Cham, 2019. Springer
International Publishing.
[15] Thomas Decru, Lorenz Panny, and Frederik Vercauteren. Faster SeaSign signatures through
improved rejection sampling. In Jintai Ding and Rainer Steinwandt, editors, Post-Quantum
Cryptography, pages 271–285. Springer International Publishing, 2019.
[16] Javad Doliskani, Geovandro C. Pereira, and Paulo S. Barreto. Faster cryptographic hash
function from supersingular isogeny graphs. Cryptology ePrint Archive, Report 2017/1202,
2017.
[17] Kirsten Eisenträger, Sean Hallgren, Kristin Lauter, Travis Morrison, and Christophe Petit.
Supersingular isogeny graphs and endomorphism rings: reductions and solutions. In Jes-
per Buus Nielsen and Vincent Rijmen, editors, Advances in cryptology—EUROCRYPT 2018.
Part III, pages 329–368. Springer International Publishing, 2018.
[18] E. V. Flynn and Yan Bo Ti. Genus two isogeny cryptography. In Jintai Ding and Rainer Stein-
wandt, editors, Post-Quantum Cryptography, pages 286–306. Springer International Publish-
ing, 2019.
[19] Everett W. Howe. Constructing distinct curves with isomorphic Jacobians. J. Number Theory,
56:381–390, 1996.
[20] Everett W. Howe, Franck Leprévost, and Bjorn Poonen. Large torsion subgroups of split
Jacobians of curves of genus two or three. In Forum Mathematicum, volume 12.3, pages
315–364. Berlin; New York: De Gruyter, c1989-, 2000.
[21] Tomoyoshi Ibukiyama and Toshiyuki Katsura. On the field of definition of superspecial po-
larized abelian varieties and type numbers. Compositio Mathematica, 91(1):37–46, 1994.
[22] Tomoyoshi Ibukiyama, Toshiyuki Katsura, and Frans Oort. Supersingular curves of genus
two and class numbers. Compositio Mathematica, 57(2):127–152, 1986.
[23] David Jao and Luca De Feo. Towards quantum-resistant cryptosystems from supersingular
elliptic curve isogenies. In International Workshop on Post-Quantum Cryptography, pages
19–34. Springer, 2011.
[24] Samuel Jaques and John M. Schanck. Quantum cryptanalysis in the RAM model: Claw-
finding attacks on SIKE. In Alexandra Boldyreva and Daniele Micciancio, editors, Advances
in Cryptology – CRYPTO 2019, pages 32–61, Cham, 2019. Springer International Publishing.
[25] Ernst Kani. The number of curves of genus two with elliptic differentials. Journal für die
reine und angewandte Mathematik, 485:93–122, 1997.
[26] Toshiyuki Katsura and Katsuyuki Takashima. Counting superspecial Richelot isogenies and
its cryptographic application. Cornell University arXiv, Report 2003.00633, 2020.
[27] David Kohel, Kristin Lauter, Christophe Petit, and Jean-Pierre Tignol. On the quaternion
`-isogeny path problem. LMS J. Comput. Math., 17(suppl. A):418–432, 2014.
[28] Ke-Zheng Li and Frans Oort. Moduli of supersingular abelian varieties, volume 1680 of Lecture
Notes in Mathematics. Springer-Verlag, Berlin, 1998.
[29] Arnold K. Pizer. Ramanujan graphs and Hecke operators. Bull. Am. Math. Soc., 23(1), 1990.
[30] Joseph H Silverman. The arithmetic of elliptic curves, volume 106. Springer Science & Busi-
ness Media, 2009.
22 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
[31] Benjamin Smith. Explicit endomorphisms and correspondences. PhD thesis, University of
Sydney, 2005.
[32] Anton Stolbunov. Public-key encryption based on cycles of isogenous elliptic curves. Master’s
thesis, Saint-Petersburg State Polytechnical University, 2004. In Russian.
[33] Katsuyuki Takashima. Efficient algorithms for isogeny sequences and their cryptographic
applications. In T. Takagi et al., editor, Mathematical Modelling for Next-Generation Cryp-
tography. Mathematics for Industry, volume 29, pages 97–114, Singapore, 2018. Springer.
[34] Katsuyuki Takashima and Reo Yoshida. An algorithm for computing a sequence of Richelot
isogenies. Bull. Korean Math. Soc, 46(4):789–802, 2009.
[35] Seiichiro Tani. Claw finding algorithms using quantum walk. Theoretical Computer Science,
410(50):5285–5297, 2009.
Due to the formulas for Richelot isogenies, the number of (2, 2)-isogenies with
codomain a product of elliptic curves is determined by how many among the 15
different equations of the form
1 ασ(1) + ασ(2) ασ(1) ασ(2)
(2) det 1 ασ(3) + ασ(4) ασ(3) ασ(4) = 0 ,
1 ασ(5) + ασ(6) ασ(5) ασ(6)
where σ is a permutation of {1, 2, 3, 4, 5, 6}, can be simultaneously satisfied.
To show that no more than 6 can occur we work with Gröbner bases. The permu-
tations of Equation (2) determine, up to sign, 15 different polynomials f1 , . . . , f15
in F[α1 , . . . , α6 ], where F is the prime subfield of K. We pick a subset of 7 of these
equations and form the Q ideal I ⊂ F[α1 , . . . , α6 ] generated by them, together with
the polynomial ρ = i,j (αi − αj ) − 1. Now we determine a Gröbner basis G for
I. If G = {1} then the variety defined by I is empty and hence those 7 equations
we chose can not be satisfied simultaneously, under the assumption that all αi are
different. If we repeat this process for all possible subsets of 7 equations and find
G = {1} in all cases, then we are done. There are 15 7 = 6435 possible ways of
selecting such a subset, but this is not a problem for Magma.13
When running the algorithm we choose F = Q, for which we indeed find G =
{1} in each of the cases. This only shows that there are no solutions if K is of
characteristic 0, while we typically want to work over a fields of prime characteristic.
If the Gröbner basis G equals {1} however, we can write 1 as linear combination of
that particular choice of polynomials fi , say for example 1 = h1 f1 +. . .+h7 f7 +h8 ρ.
If we then multiply both sides of the equations by the lowest common multiple m
of the denominators of the coefficients of the hi , then we obtain an equation with
13Remark that by using the symmetry in the variables, it is possible to reduce the number of
case distinctions needed, but we see no need to optimize this since it is a one time computation.
HASH FUNCTIONS FROM SUPERSPECIAL GENUS-2 CURVES 23
disc := Q ! 1;
for sub in Subsets(S,2) do
subseq := SetToSequence(sub);
disc *:= Q.subseq[1] - Q.subseq[2];
end for;
groebnerboolean := true;
badprimes := {};
for j in Subsets(I,7) do
J := {disc-1};
J join:= j;
if GroebnerBasis(Ideal(J)) ne [1] then groebnerboolean := false; end if;
J := IdealWithFixedBasis(SetToSequence(J));
c := Coordinates(J, Q ! 1);
for coord in c do
for coeff in Coefficients(coord) do
badprimes join:= SequenceToSet(PrimeDivisors(Denominator(coeff)));
end for;
end for;
end for;
print groebnerboolean; badprimes;
The following example shows why Theorem 1 is not true for p = 5, and also
provides an example to show that the bound of 6 is sharp.
Example 1. Let C be the genus-2 curve given by y 2 = x5 − x over Fp (which is
superspecial when p ≡ 5 mod 8), and let i ∈ Fp2 be a square root of −1. Of the
fifteen quadrating splittings of x5 − x, the six splittings
{x, x2 − (i + 1)x + i, x2 + (i + 1)x + i} , {x, x2 + (i − 1)x − i, x2 − (i − 1)x − i}
{x − 1, x2 + 1, x2 + x} , {x + 1, x2 + 1, x2 − x} ,
{x − i, x2 − 1, x2 + ix} , {x + i, x2 − 1, x2 − ix}
all have δ = 0, so they are always singular. The quadratic splitting {x, x2 +1, x2 −1}
has δ = ±2 (the sign of δ may change with the order of the factors), and so is never
singular. There are eight splittings remaining. The four splittings
{x − 1, x2 − ix, x2 + (i + 1)x + i} , {x − i, x2 + x, x2 + (i − 1)x − i} ,
2 2
{x + 1, x + ix, x − (i + 1)x + i} , {x + i, x2 − x, x2 − (i − 1)x − i}
all have δ = ±(3i + 1), while their “conjugates”, the four splittings
{x − 1, x2 + ix, x2 − (i − 1)x − i} , {x + i, x2 + x, x2 − (i + 1)x + i} ,
2 2
{x + 1, x − ix, x + (i − 1)x − i} , {x − i, x2 − x, x2 + (i + 1)x + i}
have δ = ±(3i − 1).
Now, when p = 5, we may take i = 2 or i = 3. If i = 2 then 3i − 1 = 0, so
the last set of four become singular (and the penultimate set of four have δ = ±2),
while if i = 3 then 3i + 1 = 0, so the penultimate set of four become singular (and
then the last set of four have δ = ±2). In either case, for p = 5 we have exactly four
additional singular splittings, making ten in total; and we cannot have i = 2 or 3
in any other characteristic, so if p 6= 5 then there are only six singular splittings.
function fac(pol)
r := [ rt[1] : rt in Factorization(pol)];
if #r eq 1 then Append(~r,1); end if;
return r;
end function;
p := prime(lambda);
R<x> := PolynomialRing(GF(p^2));
factors := [x-1, x+1, x, x-2, x-1/2, 1];
message := message*2^30;
mbase8 := IntegerToSequence(message, 8); // base-8 digits of message
for i := 1 to #mbase8 do
split := splits[mbase8[i]+1];
G1 := &*[ factors[j] : j in split[1]];
G2 := &*[ factors[j] : j in split[2]];
G3 := &*[ factors[j] : j in split[3]];
h1 := Derivative(G2)*G3 - G2*Derivative(G3); r1 := fac(h1);
h2 := Derivative(G3)*G1 - G3*Derivative(G1); r2 := fac(h2);
if Rank(Matrix([ [Coefficient(h1,j) : j in [0..2]],
[Coefficient(h2,j) : j in [0..2]] ])) eq 1 then
// isogeny codomain is a product of elliptic curves
print "No hash for this value possible."; return;
end if;
h3 := Derivative(G1)*G2 - G1*Derivative(G2); r3 := fac(h3);
factors := r1 cat r2 cat r3;
end for;
return G2Invariants(HyperellipticCurve(&*factors));
end function;
M/ ker(F) ∼
= H 1 (A, OA )
26 WOUTER CASTRYCK, THOMAS DECRU, AND BENJAMIN SMITH
as vector spaces equipped with Frobenius. Thus the rank of Frobenius acting on
H 1 (A, OA ) is given by
dimFp ( (im(F) + ker(F)) / ker(F)) = dimFp (im(F) / im(F) ∩ ker(F) )
= g − dimFp (im(F) ∩ ker(F))
where g = dim(A) = dimFp (im(F)). The quantity dimFp (im(F) ∩ ker(F)) is in
fact known as the a-number of A.
Now the group scheme A[p] admits the decomposition
A[p] = A[p]loc,ét ⊕ A[p]loc,loc ⊕ A[p]ét,loc
which corresponds to a decomposition of Dieudonné modules
M = Mloc,ét ⊕ Mloc,loc ⊕ Mét,loc
and it holds that im(F)∩ker(F) is zero on the summands Mloc,ét and Mét,loc , where
F is zero resp. bijective. But if ϕ : A → B is a separable isogeny then ker(ϕ) is an
étale group scheme, yielding an isomorphism
∼ B[p]loc,loc .
A[p]loc,loc =
It follows that the a-numbers of A and B are the same, and as a consequence
that the rank of Frobenius on H 1 (A, OA ) is equal to the rank of Frobenius on
H 1 (B, OB ), as wanted.
CSURF
Publication data
Wouter Castryck and Thomas Decru (2020). CSIDH on the Surface. In Post-
Quantum Cryptography - 11th International Conference, PQCrypto 2020, Paris,
France, April 15-17, 2020, Proceedings (pp. 111–129). Springer.
Own contribution
My main contributions are some of the mathematical results such as the proof
of Proposition 2, the algorithmic and implementational part, as well as writing
several sections of the article.
119
CSIDH on the surface
1 Introduction
Contributions
The main contributions of this paper are as follows.
(a) One of our main observations is that for p ≡ 7 mod 8, a very similar state-
ment applies to the surface, consisting of Fp -isomorphism classes of elliptic
√
curves with endomorphism ring Z[(1 + −p)/2]. Concretely, we show that
this set can be identified with
Sp− = { A ∈ Fp | y 2 = x3 + Ax2 − x is supersingular }, (1)
which again contains 0 as a convenient instance of s0 . The tweaked Mont-
gomery form y 2 = x3 + Ax2 − x does not seem to have been studied before.
From the viewpoint of efficient arithmetic, it is equivalent with the standard
Montgomery form: we will show that the required adaptations to the Mont-
gomery ladder and to Vélu’s isogeny formulae (in the version of Renes [19])
just amount to a few sign flips, with the exception of 2-isogenies, which re-
quire a separate treatment. Therefore, the protocols built from the action of
√
C`(Z[(1 + −p)/2]) on Sp− are near-copies of√those built from CSIDH.1
(b) If p ≡ 7 mod 8 then the prime 2 splits in Q( −p), which allows for the use
of horizontal 2-isogenies. We show that computing 2-isogenies is an order
of magnitude faster than computing `-isogenies for odd `. The cost of a
2-isogeny is dominated by a single exponentiation over Fp , leading to a
noticeable speed-up (e.g., our CSURF-512 protocol below performs about
5.68% faster than CSIDH-512). We stress that this improvement is totally
orthogonal to all previous speed-ups, constant-time measures (see e.g. [9,15])
and cryptographic applications (see e.g. [7,4,11]) that have appeared in the
literature so far.
1
Moreover, if p ≡ 3 mod 4 then x3 + Ax2 − x is automatically square-free, allowing
for a marginally simpler key validation. But this deserves a footnote, at most.
2
We note along the way that, by working on the surface, we naturally get rid
√
of the factor Z3 that is present in C`(Z[ −p]) when p ≡ 3 mod 8. Because of
the interplay between floor and surface, this factor does not give extra security
(see Remark 2). Furthermore, it provides a possible hindrance for isogeny-based
threshold schemes: when using more than two parties one must map the prob-
√
lem into C`(Z[ −p])3 , which comes at a small cost if the group structure is
unknown [12].
Apart from these benefits, given the limited pool of hard homogeneous spaces
available, having the complete supersingular picture at our disposal adds freedom
to the parameter selection and leads to a better understanding of the interplay
between floor and surface. This being said, primes p ≡ 1 mod 4 are omitted from
our discussion, the main reason being Lemma 1 below: for such p, supersingular
elliptic curves over Fp never admit a model of the form y 2 = x3 + Ax2 ± x. This
complicates comparison with [7]. It is possible that other elliptic curve models
can fill this gap, but we leave that for future research.
Acknowledgments
Consider a prime number p > 3 and a supersingular elliptic curve E/Fp . Its
√
Frobenius endomorphism πE satisfies πE ◦ πE = −p, hence Z[ −p] can be
viewed as a subring of the ring Endp (E) of Fp -rational endomorphisms of E. If
√
p ≡ 1 mod 4 then this leaves us with one option for Endp (E), namely Z[ −p]
itself. If p ≡ 3 mod 4, which is our main case of interest, then we are left with
√ √
two options for Endp (E), namely Z[ −p] and Z[(1 + −p)/2].
For each such option O, we let E``p (O) denote the set of Fp -isomorphism
classes of elliptic curves E/Fp for which Endp (E) ∼ = O. If p ≡ 3 mod 4 then
√ √
E``p (Z[ −p]) is called the floor, whereas E``p (Z[(1 + −p)/2]) is called the
surface; this terminology stems from the structure of the 2-isogeny graph of
supersingular elliptic curves over Fp , see Delfs–Galbraith [13].
Remark 1. If p ≡ 3 mod 4 then it is easy to decide whether a given supersingular
elliptic curve E/Fp is located on the floor or on the surface: in the former case
|E(Fp )[2]| = 2 while in the latter case |E(Fp )[2]| = 4. If p ≡ 3 mod 8 then
the 3 outgoing 2-isogenies from a curve on the surface all go down, that is,
3
the codomain curves all live on the floor. If p ≡ 7 mod 8 then only one of the
codomain curves is located on the floor.
−
Recall that Sp− denotes the set of all coefficients A ∈ Fp such that EA : y2 =
x3 + Ax2 − x is a supersingular elliptic curve. The elements of Sp− will be called
Montgomery− coefficients and the corresponding elliptic curves Montgomery−
curves. As we will see below, such curves are always located on the surface.
Mutatis mutandis, the set Sp+ contains the Montgomery+ coefficients a ∈ Fp \
{±2} such that the Montgomery+ curve Ea+ : y 2 = x3 + ax2 + x is supersingular.
If p ≡ 3 mod 8 then such curves are necessarily located on the floor. However,
+
this is not true if p ≡ 7 mod 8, in which case we will occasionally write Sp,O to
denote the subset of Sp+ corresponding to curves with endomorphism ring O.
To every E ∈ E``p (O) and every a ⊆ O we can associate the subgroup
\
E[a] = { P ∈ E | φ(P ) = ∞ } ⊆ E,
φ∈a
is a well-defined free and transitive group action. Here we assume (0, 0) ∈ / Ea+ [a].
+ √
The assumption (0, 0) ∈ / Ea [a] is not a restriction since C`(Z[ −p]) is generated
by ideals of odd norm, and by design CSIDH acts by such ideals only.2
Our main theoretical tool is the following variant of Theorem 2, on which
our CSURF-512 protocol from Section 6 relies:
2 √
It has been pointed out, e.g. in [17,8], that allowing for the action of (4, −p − 1)
could lead to a minor improvement. See also Remark 2.
4
Theorem 3. If p ≡ 3 mod 4 then the maps
√
C`(Z[ −p]) × Sp− → Sp− if p ≡ 3 mod 8,
ρ− : √
C`(Z[(1 + −p)/2]) × Sp− → Sp− if p ≡ 7 mod 8
sending ([a], A) to
X Y
1
[a] ? A := A − 3 x(P ) + · x(P )
−
x(P ) −
P ∈EA [a] P ∈EA [a]
P 6=∞ P 6=∞
are well-defined free and transitive group actions. Here, we assume that the ideal
a representing [a] has odd norm.
We again note that the class group is generated by ideals of odd norm. However,
√
if p ≡ 7 mod 8 then C`(Z[(1 + −p)/2]) also admits invertible ideals of norm 2,
which can be used to speed up the evaluation of ρ− significantly. These require
a separate treatment, which is outlined in Section 4.
Apart from a striking analogy with Theorem 2, the reader might notice that
Theorem 3 is in seeming conflict with Theorem 1 when p ≡ 3 mod 8. Indeed,
− √
since the curves EA always have endomorphism ring Z[(1 + −p)/2], it seems
that ρ− is acting by the wrong class group! However, in Section 3 we will see that
every curve on the surface has three representants in Sp− , and at the same time
√ √
|C`(Z[ −p])| = 3|C`(Z[(1 + −p)/2]|. It turns out that, somewhat surprisingly,
Vélu’s formulas consistently link both factors 3 to each other.
We note that Theorem 2 can be extended to cover p ≡ 7 mod 8 as well, by
√
merely adding a subscript Z[ −p] to Sp+ . But for such p there is also a surface
version of Theorem 2, which is more subtle and will be discussed in Section 5.
5
−
Proposition 1. Let EA : y 2 = x3 + Ax2 − x be an elliptic curve over a field K
−
of characteristic different from two, with P, Q ∈ EA (K).
(x(P )2 + 1)2
x(2P ) = .
4(x(P )3 + Ax(P )2 − x(P ))
where
Y xxT + 1
f (x) = x .
x − xT
T ∈G\{∞}
Writing
Y X 1
π= xT , σ= xT + ,
xT
T ∈G\{∞} T ∈G\{∞}
− φ −
EA EB
φ1 φ3
φ2
Ea+ Eb+
6
where φ2 : Ea+ → Eb+ is the isogeny from [19, Prop. 1], and the elliptic curves
are given by the Montgomery+ forms Ea+ : y 2 = x3 + ax2 + x and Eb+ : y 2 =
x3 + bx2 + x.
The isogenies φ1 and φ3 are in fact isomorphisms (over an extension field)
given by
−
φ1 : EA → Ea+
(x, y) 7→ (−ix, θy)
and
−
φ3 : Eb+ → EB
(x, y) 7→ (ix, −iθy).
It is easy to verify that a = −iA and B = ib. The rest of the proof is just a
straightforward calculation. With the formulas from [19] we can compute the
coefficient b as π̃(a − 3σ̃) = (−i)` π(A − 3σ) where
Y Y
π̃ = xT = −ixT = (−i)`−1 π,
T ∈φ1 (G)\{∞} T ∈G\{∞}
X X
1 1
σ̃ = xT − = −ixT + = −iσ.
xT ixT
T ∈φ1 (G)\{∞} T ∈G\{∞}
Similarly if we define
Y
xxT − 1
f˜ = x ,
x − xT
T ∈φ1 (G)\{∞}
2
then with c˜0 = π̃ = (−i)`−1 π, we have
(φ2 ◦ φ1 )(x, y) = f˜(−ix), c˜0 θy f˜0 (−ix)
Y
−ixxT − 1
= −ix , c˜0 θy f˜0 (−ix)
−ix − xT
T ∈φ1 (G)\{∞}
Y
−xxT − 1 ˜
= −ix , c˜0 θy f (−ix)
0
−ix + ixT
T ∈G\{∞}
= −i` f (x), c˜0 θy f˜0 (−ix)
= −i` f (x), c˜0 θy(−i)`−1 f 0 (x) .
If we assume ` ≡ 1 mod 4 then (−i)`−1 = 1 such that c˜0 is just a square root
of π. Composing this with φ3 (x, y) = (ix, −iθy) we get that
7
as well as B = π(A − 3σ). In this case we let c0 = c˜0 .
If ` ≡ 3 mod 4 then c˜0 2 = −π and the isogeny may not be defined over K.
Post-composing it with the isomorphism τ : (x, y) 7→ (−x, iy) fixes this if needed.
In this case we find
φ(x, y) = (f (x), −ic˜0 yf 0 (x)),
and again B = π(A − 3σ). Defining c0 = −ic˜0 finishes the proof.
As usual, it is better to use projective coordinates to avoid costly field inver-
sions, i.e., to represent the x-coordinate of a projective point P = (X : Y : Z)
as x(P ) = X/Z; the required adaptations are straightforward.
Proof. Let P be a point doubling to (0, 0); note that, necessarily, both coordi-
nates are non-zero. The tangent line at P has slope
3x(P )2 + 2Ax(P ) − 1
.
2y(P )
But, since the line should pass through (0, 0), a simpler expression for this slope
is y(P )/x(P ). Equating both expressions leads to x(P )2 + 1 = 0. Now:
– If p ≡ 1 mod 4 then we conclude x(P ) = ±i ∈ Fp and hence y(P )2 = −A∓2i.
If both expressions on the right-hand side are non-squares then their product
A2 + 4 is a square, but then x3 + Ax2 − x factors completely over Fp . We
−
conclude that in any case 4 | |EA (Fp )| = p + 1, which is a contradiction.
– If p ≡ 3 mod 4 then this shows that such a point P cannot be Fp -rational.
But then EA −
(Fp )[2∞ ] ∼
= Z/(2e ) × Z/(2) for some e ≥ 1, since |EA −
(Fp )| =
p + 1 ≡ 0 mod 4. Thus there are 3 outgoing Fp -rational 2-isogenies, hence in
view of [13, Thm. 2.7] our curve must be located on the surface.
The conclusion p ≡ 3 mod 4 also applies to supersingular Montgomery+ curves,
since it is known [2] that these always carry an Fp -rational point of order 4.
So, from now on, let us assume that p ≡ 3 mod 4. Then the above lemma
settles the ‘if’ part of Proposition 4 below, which can be viewed as the surface
version of the following statement:
Proposition 3. Let p > 3 be a prime number such that p ≡ 3 mod 4 and let
√
E be a supersingular elliptic curve over Fp . If Endp (E) ∼
= Z[ −p] then there
exists a coefficient a ∈ Fp \ {±2} for which E is Fp -isomorphic to the curve
Ea+ : y 2 = x3 + ax2 + x. Furthermore,
8
– this coefficient is always unique,
– if p ≡ 3 mod 8 then the converse implication holds as well.
Proof. If p ≡ 3 mod 8 then this is [7, Prop. 8]. If p ≡ 7 mod 8 then the relevant
part of the proof of [7, Prop. 8] still applies.
Proposition 4. Let p > 3 be a prime number such that p ≡ 3 mod 4 and let E
√
be a supersingular elliptic curve over Fp . Then Endp (E) ∼ = Z[(1 + −p)/2] if
and only if there exists a coefficient A ∈ Fp for which E is Fp -isomorphic to the
−
curve EA : y 2 = x3 + Ax2 − x. Furthermore,
– if p ≡ 3 mod 8 then there exist exactly three such coefficients,
– if p ≡ 7 mod 8 then this coefficient is unique.
We will prove this proposition by means of the following convenient tool,
connecting floor and surface:
Lemma 2. Let p > 3 be a prime number such that p ≡ 3 mod 4. Then
p
+ √
τ : Sp,Z[ −p]
→ Sp− : a 7→ −2a/ 4 − a2
is a well-defined bijection.
Proof. For a, b ∈ Fp with a2 − 4b 6= 0 let us write Ea,b for the elliptic curve
y 2 = x3 + ax2 + bx, which admits the well-known 2-isogeny
(
y(P )2 b
Ea,b → E−2a,a2 −4b : P 7→ x(P )2 , y(P )(1 − x(P )2 ) if P 6= (0, 0), ∞ (2)
∞ if P ∈ {(0, 0), ∞}.
+ √
If a ∈ Sp,Z[ −p]
then we find that Ea+ = Ea,1 is 2-isogenous to the curve
9
Proof of Proposition 4. By Proposition 3 each Fp -isomorphism class of elliptic
curves on the floor is represented by a unique Montgomery+ curve. Since such
curves have a unique Fp -rational point of order 2, the proof of Lemma 2 shows
√
that Fp -rational 2-isogenies give a 1-to-1 correspondence between E``p (Z[ −p])
and Sp− . But on the level of Fp -isomorphism classes, by [13, Thm. 2.7] this cor-
respondence is 3-to-1 if p ≡ 3 mod 8 and 1-to-1 if p ≡ 7 mod 8.
If p ≡ 7 mod 8 then Proposition 3 leaves open whether or not there exist
a ∈ Sp+ such that Ea+ is located on the surface. To answer this, we rely on the
following lemma.
√
Lemma 3. If p ≡ 7 mod 8 then every E ∈ E``p (Z[(1 + −p)/2]) comes with
three distinguished points of order 2:
– P − , the x-coordinates of whose halves are not defined over Fp ,
– P1+ , whose halves are not defined over Fp , but their x-coordinates are,
– P2+ , whose halves are defined over Fp .
Proof. From the structure of E(Fp )[2∞ ] one sees that there is indeed a unique
point P2+ of order 2 whose halves are Fp -rational. If we position P2+ at (0, 0) we
find a model y 2 = x3 + ax2 + bx, where necessarily b is a square, as can be seen
by mimicking the proof of Lemma 1. When translating the other points of order
2 to the origin we get√similar equations, of which the coefficients at x become
δ(δ ± a)/2 with δ = a2 − 4b. The product of these coefficients equals −bδ 2 ,
hence we conclude that one coefficient is a non-square and one coefficient is a
square. So, again as in the proof of Lemma 1, we see that the former translated
point equals P − , while the latter translated point equals P1+ .
√
Corollary 1. If p ≡ 7 mod 8 then each E ∈ E``p (Z[(1 + −p)/2]) admits ex-
actly 2 coefficients a ∈ Fp \ {±2} for which E is Fp -isomorphic to the curve
Ea+ : y 2 = x3 + ax2 + x.
Proof. By Proposition 4, such curves admit a unique Montgomery− model. Note
that, for this model, P − is positioned at (0, 0). The two Montgomery+ models
are obtained by translating P1+ or P2+ to (0, 0) and scaling down the resulting
b-coefficient (which is a square) to 1, by means of a coordinate change.
Table 1 summarizes how and with what frequency Montgomery± curves show
up as representatives of Fp -isomorphism classes of supersingular elliptic curves.
Figures 1 and 2 give an accompanying visual representation.
10
Sp−
h √ i
1+ −p
E``p (Z 2
)
√
E``p (Z[ −p])
Sp+
Fig. 1. The supersingular isogeny graph over Fp with p ≡ 3 mod 8. The black dots
represent supersingular elliptic curves up to Fp -isomorphism. The yellow lines represent
the 2-isogenies, which are necessarily between the surface and the floor.
The purple lines represent the `-isogenies for some fixed ` such that (`, π − 1) generates
√
C`(Z[ −p]). This implies that the `-isogenies on the floor create one big cycle which
we need to depict as spiraling around three times. Indeed, the action of (`, π − 1) on the
surface should result in the same Fp -isomorphism class as first computing a vertical
2-isogeny taking us to the floor, then performing the action of (`, π − 1), and finally
computing a vertical 2-isogeny back to the surface.
The red dots and lines represent the Montgomery+ coefficients, which are 1-to-1 with
the isomorphism classes on the floor. This correspondence forms the basis for the
original CSIDH setting described in [7].
The blue dots and lines represent the Montgomery− coefficients, which are 3-to-1 with
the isomorphism classes on the surface.
11
+
|Sp,O | : |E``p (O)| |Sp− | : |E``p (O)|
h √ i
1+ −p
O=Z 0 (3 : 1)
p ≡ 3 mod 8 2
√
O = Z[ −p] (1 : 1) 0
h √ i
O = Z 1+ 2 −p (2 : 1) (1 : 1)
p ≡ 7 mod 8
√
O = Z[ −p] (1 : 1) 0
p ≡ 1 mod 4 0 0
Sp−
S+ h √ i
p,Z 1+ 2 −p
h √ i
1+ −p
E``p (Z 2
)
√
E``p (Z[ −p])
+
Sp,Z √
[ −p]
Fig. 2. The supersingular isogeny graph over Fp with p ≡ 7 mod 8. The black dots
represent supersingular elliptic curves up to Fp -isomorphism. The yellow lines represent
√
the 2-isogenies, where we assumed that (2, ( −p − 1)/2) generates the class group.
The red dots and lines represent the Montgomery+ coefficients, which are 2-to-1 with
the isomorphism classes on the surface and 1-to-1 with the isomorphism classes on the
floor.
The blue dots and lines represent the Montgomery− coefficients, which are 1-to-1 with
the isomorphism classes on the surface.
Unlike in Figure 2, no `-isogenies for odd ` are depicted here since it is more natural
to draw the cycle of 2-isogenies on the surface.
12
Lemma 4 (Addendum to Lemma 3). Assume p ≡ 7 mod 8 and consider √ an
√
elliptic curve E : y 2 = x3 + ax2 + bx ∈ E``p (Z[(1 + −p)/2]). Let δ = a2 − 4b
and T1 = ((−a + δ)/2, 0), T2 = ((−a − δ)/2, 0). Then:
1. if (0, 0) = P − then T1 = P2+ and T1 = P1+ ,
2. if (0, 0) = P1+ then T1 = P2+ and T2 = P − ,
3. if (0, 0) = P2+ then T1 = P − and T2 = P1+ .
Proof. The change of coordinates x ← x + (−a + δ)/2 yields
−a + δ −a + 3δ 2 δ(−a + δ)
y2 = x x + (x + δ) = x3 + x + x (4)
2 2 2
and positions T1 at the origin. As in the proof of Lemma 1 we see that T1 = P1+
or T1 = P2+ if and only if the coefficient δ(−a + δ)/2 is a square, i.e., if and only
if −a + δ is a square.
In particular, for case 2 it suffices to show that −a + δ is a square. To this
end, note that the 2-isogeny from the proof of Lemma 2 takes our input curve
E : y 2 = x3 + ax2 + bx to y 2 = x3 − 2ax2 + δ 2 x, while mapping P2+ to (0, 0).
But then an Fp -rational half of P2+ is pmapped to an Fp -rational half of (0, 0),
which is necessarily of the form (±δ, 2δ 2 (−a ± δ)). We conclude that at least
one of −a + δ or −a − δ is a square, but then both elements are squares since
their product equals the square 4b.
Similarly, for case 3 it suffices to prove that −a + δ is not a square. We can
consider the same 2-isogeny, which now maps P1+ to (0, 0). Using that any point
Q ∈ E(Fp2 \ Fp ) doubling to P1+ satisfies πE (Q) = −Q, which is different from
both Q and Q + (0, 0), we conclude that the image of P1+ cannot be Fp -halvable.
From this the desired conclusion follows.
Finally, to settle case 1, consider the curve (4), whose point (0, 0) is either
P1+ or P2+ . Also note that the first non-trivial factor in (4) corresponds to P − .
But using the identity
2 2
−a + 3δ δ(−a + δ) a+δ
−4 = ,
2 2 2
we can rewrite (4) as
! !
− −a+3δ + a+δ
− −a+3δ − a+δ
y2 = x x − 2 2
x− 2 2
.
2 2
Using 2 and the fact that (a + δ)/2 is a square, we see that if (0, 0) = P1+ , then
the first non-trivial factor of (4) would instead correspond to P2+ . We conclude
that (0, 0) = P2+ , from which the lemma follows.
This will be combined with the following fact:
√
Lemma 5. Assume that p ≡ 7 mod 8 and let E ∈ E``p (Z[(1 + −p)/2]). Then
√ √
−p − 1 −p + 1
E 2, = hP2+ i and E 2, = hP1+ i.
2 2
13
Proof. As in the proof of Lemma 2 one checks that P − takes us down to the floor,
so it suffices to prove the first equality. Let Q ∈ E(Fp ) be such that 2Q = P2+
and let φ denote the endomorphism πE2−1 , then φ(P2+ ) = φ(2Q) = 2φ(Q) =
πE (Q) − Q = ∞, from which the statement follows.
√
Algorithm 1 Computing the action of (2, ( −p − 1)/2)e on A ∈ Sp− , with
p ≡ 7 mod 8
1: if e = 0 then return A
2: else
3: A ← sign(e)
√· A
A−3 2 +4
4: A←2 √A
A+ A2 +4
5: for i from 2 to e √
do
6: A ← 2(3 + √ A( A2 − 4 − A))
A+3 A2 −4
7: A ← r √ √
2 A2 −4 A+ A2 −4
8: return sign(e) · A
Sketch of the proof of Algorithm 1. Note that quadratic twisting swaps the roles
of P1+ and P2+ , so with Lemma 5 in mind, we can simply flip the sign of A at
the start and the end of the algorithm and focus on P2+ . Line 4 constitutes
a translation x ← x + (−a + δ)/2, which by Lemma 4 positions T1 = P2+
at the origin, followed by the 2-isogeny from (2) and a rescaling to obtain a
Montgomery+ curve.
Line 6 is immediate from [19, Proposition 2], where it should be noted that,
due to our choice of canonical square root, x(P2+ ) is always a square so that we
do not need to consider possible twists. Line 7 is just a translation followed by
a rescaling to put everything back in Montgomery− form.
14
Proof of Theorem 3. If p ≡ 7 mod 8 then this follows immediately from Theo-
rem 1, along with Proposition 2 and the fact that each Fp -isomorphism class on
the surface is represented by exactly one Montgomery− curve.
If p ≡ 3 mod 8 then consider the bijection τ from Lemma 2, and let ρ+ be
the group action from Theorem 2. We then define
√
C`(Z[ −p]) × Sp− → Sp− : ([a], A) 7→ τ (ρ+ ([a], τ −1 (A))),
which is clearly a well-defined free and transitive group action, simply because τ
is a bijection. So it suffices to show that this matches with ρ− . For this, consider
√
a Montgomery− coefficient A and an invertible ideal a ⊆ Z[ −p] having odd
− −
norm, along with the subgroup of EA spanned by EA [a] and (0, 0). We quotient
out this subgroup in the following two ways:
−
– We first quotient out by EA [a], using the formulas from Proposition 2, yield-
−
ing a Montgomery− curve EB . Let us abusingly denote the corresponding
−
isogeny by ρ , and note that it maps (0, 0) to (0, 0). So we can continue
by applying the 2-isogeny from (2), in order to arrive at the Montgomery+
curve Eτ+−1 (B) on the floor.
– Conversely, we apply the 2-isogeny from (2), taking us to the Montgomery+
−
curve Eτ+−1 (A) . Note that this maps EA [a] to Eτ+−1 (A) [a], which we quotient
out in turn, by means of the formulas from [19, Prop. 1]. By the same abuse
of notation, we denote the latter isogeny by ρ+ . Because every curve on the
floor is represented by a unique Montgomery+ coefficient, this necessarily
takes us to Eτ+−1 (B) .
− ρ− −
EA EB
θA θB
ρ+
Eτ+−1 (A) Eτ+−1 (B)
with θA and θB denoting the above 2-isogenies, where our reasoning in fact
shows that [±1] ◦ θB ◦ ρ− = ρ+ ◦ θA . This implies that [±2] ◦ ρ− = θ̂B ◦ ρ+ ◦ θA .
−
Multiplication by ±2 does not change the curve EB , so we are done.
Remark 2. Here are two examples of how the surface can help in understanding
the floor. We assume p ≡ 3 mod 8.
√
– Let a, a0 ∈ Sp+ be given and let [a] ∈ C`(Z[ −p]) be an unknown ideal class
such that a0 = [a] ? a (action by ρ+ on the floor). By the foregoing proof this
is equivalent with τ (a0 ) = [a] ? τ (a) (action by ρ− on the surface), which on
the level of Fp -isomorphism classes implies that
Eτ−(a0 ) ∼
= [ã] ? Eτ−(a) ,
15
√
where ã is the ideal of Z[(1 + −p)/2] generated by a. Clearly, in order
to find [a] it suffices to find [ã], and then simply try the 3 corresponding
√
possibilities for a. This confirms that the factor 3 in |C`(Z[ −p])| offers
little extra security to CSIDH. √ √
– If we want a fast evaluation of the action of [(4, −p − 1)] ∈ C`(Z[ −p]) on
+
Sp , this can be done by composing two 2-isogenies, thereby passing through
the surface using τ and τ −1 . We leave it as an exercise to verify that this
√
leads to the simple formula [(4, −p − 1)] ? a = 2(a − 6)/(a + 2), which was
first derived in [17, §4.2].
and
+ +
Sp,Z[(1+√
−p)/2],2
= { a ∈ Sp,Z[(1+√
−p)/2]
| (0, 0) ∈ 2Ea+ (Fp ) },
√
and both sets are in a 1-to-1 correspondence with E``p (Z[(1 + −p)/2]).
Since the instantiated versions of Vélu’s formulae map (0, 0) to (0, 0), in
√
the statement of Theorem 2 we are equally allowed to replace Z[ −p] with
√ +
Z[(1 + −p)/2] and Sp+ with Sp,Z[(1+ √
−p)/2],i
, for any choice of i = 1, 2.
Remark 3. The latter setting again allows for horizontal 2-isogenies, therefore
it should give rise to very similar timings as those reported upon in Section 6.
One minor drawback is that Alice and Bob should agree on the value of i and
validate each other’s public keys as such; moreover 0 can no longer be used as a
starting coefficient.
16
described by the same formulae. Using that the quadratic twisting map Ea+ 7→
+
E−a jumps back and forth between the two orbits, along with the fact that
[a] ? E t ∼
= ([a]−1 ? E)t (see e.g. [8, Lem. 5]), the two orbits can be glued together
√
into a single orbit under an action by the dihedral group Dih C`(Z[(1+ −p)/2]).
6 Implementation
We assume that the reader is familiar with how CSIDH is being set up in prac-
tice [7]. In this section we use Theorem 3 and Algorithm 1 to design a variant of
CSIDH acting on Sp− rather than Sp+ . Recall from [7] that CSIDH-512 uses the
prime
p = 4 · (3 · . . . · 373) · 587 − 1 ≈ 2510.668 ,
| {z }
73 first odd primes
and then samples exponents from the range [−5; 5]74 to represent an element in
the class group and let it act on 0 ∈ Sp+ , for a conjectured 128 bits of classical
security. Concretely, the exponent vector (e1 , . . . , e74 ) in this case represents
√ √
the class group element (3, −p − 1)e1 · · · (587, −p − 1)e74 . For the sake of
comparison, we propose CSURF-512 which works over Fp where
p = 23 · 3 · (3 · . . . · 389) − 1 ≈ 2512.880 .
| {z }
74 consecutive primes,
skip 347 and 359
This prime will speed up the computation of a class group action in multiple
ways. First of all, the largest isogeny we need to compute is of degree 389 instead
of 587. Secondly, p+1 carries an extra factor 3 that can help with sampling points
of order 3 to compute 3-isogenies. Indeed, finding an `-torsion point typically
amounts to sampling a random point P and multiplying it by (p+1)/`, which has
a 1/` chance of failure (i. e. we end up in ∞). For CSURF-512 we can multiply
a random point P by both (p + 1)/9 and (p + 1)/3 to try and find a point of
order 3, improving our chance of failure to only 1/9.
The biggest speed-up however stems from the fact that p ≡ 7 mod 8, so we
now have 2 as a 75th prime to use. Furthermore 2-isogenies are very fast due
to their simple and explicit formulae, see Algorithm 1, so we can sample the
exponent for 2 from a much larger interval. In practice we evaluate these 2-
isogenies first, without pushing through points, and then proceed with the other
primes as in CSIDH.
We implemented both CSIDH-512 and CSURF-512 in Magma [6] to compare
their performance. With the exception of 2-isogenies, both implementations are
totally similar, making use of the (projective) Montgomery ladder, the pushing
through of points, etc., the only differences being the sign switches discussed in
Section 3.1. However, we did not implement any of the constant-time measures
since these are orthogonal to the speed-up we described. Based on experiments,
a near-optimal set to sample exponent vectors from seems to be
17
which results in 275 · 928 · 1146 ≈ 2255.995 distinct secret vectors. As in CSIDH-
512, we heuristically expect that these vectors represent the elements in the
class group quasi-uniformly, by mimicking the reasoning from [7, §7.1]. Note
that for 3-, 5- and 7-isogenies we sample from a smaller interval, since the ease of
computing the isogeny is outweighed by the high failure probability of finding the
needed torsion points. Sampling from this specific set of exponent vectors gives
CSURF-512 a speed-up of about 5.68% compared to CSIDH-512; this estimate
is based on an experiment generating 25 000 public keys in both settings. Our
source code can be found at https://github.com/TDecru/CSURF.
As a final remark, we note that the advantage of working on the surface
is expected to diminish when the underlying prime p becomes larger, since the
relative contribution of 2-isogenies will decrease. This is especially relevant given
the ongoing discussion about the conjectured quantum security of the protocol,
see for example [5,18,3]. However, if p ≡ 7 mod 8 then the surface will always
outperform the floor to some extent. This means that setting up these larger
instantiations of the CSIDH protocol should preferably be done on the surface,
in any case.
References
1. Berre Baelen. Post-quantum key-exchange: Using group actions from supersingular
elliptic curve isogenies. Master’s thesis, KU Leuven, 2019.
2. Daniel J Bernstein and Tanja Lange. Montgomery curves and the Montgomery lad-
der. In Topics in computational number theory inspired by Peter L. Montgomery,
pages 82–115. Cambridge University Press, 2017.
3. Daniel J. Bernstein, Tanja Lange, Chloe Martindale, and Lorenz Panny. Quantum
circuits for the CSIDH: optimizing quantum evaluation of isogenies. In Advances
in cryptology—EUROCRYPT 2019. Part II, volume 11477 of Lecture Notes in
Comput. Sci., pages 759–789. 2019.
4. Ward Beullens, Thorsten Kleinjung, and Frederik Vercauteren. CSI-FiSh: Efficient
isogeny based signatures through class group computations. In Steven Galbraith
and Shiho Moriai, editors, Advances in Cryptology – ASIACRYPT 2019, Part I,
pages 227–247, 2019.
5. Xavier Bonnetain and André Schrottenloher. Submerging CSIDH. IACR Cryptol-
ogy ePrint Archive, page 537, 2018.
6. Wieb Bosma, John Cannon, and Catherine Playoust. The Magma algebra system.
I. The user language. J. Symbolic Comput., 24(3-4):235–265, 1997. Computational
algebra and number theory (London, 1993).
7. Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny, and Joost Renes.
CSIDH: An efficient post-quantum commutative group action. In Thomas Peyrin
and Steven Galbraith, editors, Advances in Cryptology – ASIACRYPT 2018, Part
III, pages 395–427, 2018.
8. Wouter Castryck, Lorenz Panny, and Frederik Vercauteren. Rational isogenies from
irrational endomorphisms. IACR Cryptology ePrint Archive, 2019:1202, 2019.
9. Daniel Cervantes-Vázquez, Mathilde Chenu, Jesús-Javier Chi-Domı́nguez, Luca
De Feo, Francisco Rodrı́guez-Henrı́quez, and Benjamin Smith. Stronger and faster
side-channel protections for CSIDH. In International Conference on Cryptology
and Information Security in Latin America, pages 173–193, 2019.
18
10. Jean-Marc Couveignes. Hard homogeneous spaces. IACR Cryptology ePrint
Archive, 2006:291, 2006.
11. Luca De Feo, Simon Masson, Christophe Petit, and Antonio Sanso. Verifiable
delay functions from supersingular isogenies and pairings. IACR Cryptology ePrint
Archive, 2019:166, 2019.
12. Luca De Feo and Michael Meyer. Threshold schemes from isogeny assumptions.
IACR Cryptology ePrint Archive, 2019:1288, 2019.
13. Christina Delfs and Steven D Galbraith. Computing isogenies between supersin-
gular elliptic curves over Fp . Designs, Codes and Cryptography, 78(2):425–440,
2016.
14. Xuejan Fan, Song Tian, Bao Li, and Xiu Xu. CSIDH on other form of elliptic
curves. IACR Cryptology ePrint Archive, 2019:1417, 2019.
15. Aaron Hutchinson, Jason LeGrow, Brian Koziel, and Reza Azarderakhsh. Further
optimizations of CSIDH: A systematic approach to efficient strategies, permuta-
tions, and bound vectors. IACR Cryptology ePrint Archive, 2019:1121, 2019.
16. Greg Kuperberg. Another subexponential-time quantum algorithm for the dihedral
hidden subgroup problem. In 8th Conference on the Theory of Quantum Compu-
tation, Communication and Cryptography, volume 22 of LIPIcs. Leibniz Int. Proc.
Inform., pages 20–34, 2013.
17. Hiroshi Onuki and Tsuyoshi Takagi. On collisions related to an ideal class of order
3 in CSIDH. IACR Cryptology ePrint Archive, 2019:1209, 2019.
18. Chris Peikert. He gives C-sieves on the CSIDH. IACR Cryptology ePrint Archive,
2019:725, 2019.
19. Joost Renes. Computing isogenies between Montgomery curves using the action of
(0, 0). In International Conference on Post-Quantum Cryptography, pages 229–247.
Springer, 2018.
20. Alexander Rostovtsev and Anton Stolbunov. Public-key cryptosystem based on
isogenies. IACR Cryptology ePrint Archive, 2006:145, 2006.
21. René Schoof. Nonsingular plane cubic curves over finite fields. J. Combin. Theory
Ser. A, 46(2):183–211, 1987.
22. Peter W Shor. Polynomial-time algorithms for prime factorization and discrete
logarithms on a quantum computer. SIAM review, 41(2):303–332, 1999.
23. Anton Stolbunov. Public-key encryption based on cycles of isogenous elliptic
curves. Master’s thesis, Saint-Petersburg State Polytechnical University, 2004. In
Russian.
24. Anton Stolbunov. Cryptographic Schemes Based on Isogenies. PhD thesis, Norwe-
gian University of Science and Technology, 2011.
19
Chapter 9
Radical isogenies
Martin Eichler
Publication data
Wouter Castryck and Thomas Decru and Frederik Vercauteren (2020). Radical
Isogenies. In Advances in Cryptology - ASIACRYPT 2020 - 26th International
Conference on the Theory and Application of Cryptology and Information
Security, Daejeon, South Korea, December 7-11, 2020, Proceedings, Part II (pp.
493–519). Springer.
Own contribution
My main contributions are the experimental results that introduced the concept
of radical isogenies, the implementation in Magma of the improved CSIDH, and
writing certain parts of the article.
139
Radical Isogenies
1 Introduction
Isogeny-based cryptography is one of the more promising candidates for post-
quantum cryptography and although it is slower than lattice-based cryptography,
it has the advantage of smaller key and ciphertext sizes. Isogeny-based protocols
can be broadly categorized into two families: SIDH and CRS/CSIDH.
SIDH is a key agreement protocol introduced by Jao and De Feo in 2011 [16].
This protocol is based on random walks in isogeny graphs of supersingular elliptic
curves E over Fp2 , and is reminiscent of the CGL hash function due to Charles,
Goren and Lauter from 2009 [10]. The prime p is chosen such that the torsion
∗
This work was supported in part by the Research Council KU Leuven grants
C14/18/067 and STG/17/019, by CyberSecurity Research Flanders with reference
number VR20192203, and by the Research Foundation Flanders (FWO) through the
WOG Coding Theory and Cryptography.
subgroups E[2n ] and E[3m ] are defined over Fp2 , for large exponents n, m. The
random walks then correspond to choosing a random point P in E[2n ] or E[3m ]
and constructing the isogeny with kernel hP i, as a composition of isogenies of
degree 2 respectively 3.
CRS/CSIDH [8] takes a different approach and computes an action of the
ideal-class group cl(O) of some order O in an imaginary quadratic field on the set
E``p (O, t) of elliptic curves over a prime field Fp with Fp -rational endomorphism
ring O and trace of Frobenius t. The idea of using this class group action in
cryptography was independently proposed by Couveignes [13] and Rostovtsev-
Stolbunov [22] for ordinary elliptic curves. In [8] this idea was ported to the
supersingular case, resulting in a speed-up of several orders of magnitude. The
computation of the class group action boils down to computing chains of `-
isogenies for many small primes `, e.g., for CSIDH-512, ` ranges from 3 to 587.
This is in stark contrast with SIDH where only 2- and 3-isogenies are used.
In the CSIDH setting, computing an `-isogeny ϕ from an elliptic curve E/Fp
consists of two steps: first, a generator P of the kernel of ϕ is computed, i.e. an
Fp -rational point of order `, and secondly, given P , an equation for the isogenous
curve E/hP i is determined.
The most basic approach to solve the first step is to generate a random
point Q ∈ E(Fp ) and to multiply this by the cofactor #E(Fp )/`. Generating
a random point is essentially a square root computation at a cost of about
1.5 log p multiplications in Fp , and the multiplication by the cofactor can be
done using the Montgomery ladder [2] and takes roughly 11 log p multiplications
in Fp . Generating a point of order ` is thus a costly operation, even further
exacerbated by the fact that multiplication by the cofactor results in the point
at infinity OE with probability 1/`, which is non-negligible for small `. Note that
this also makes the algorithm non-deterministic, negatively affecting constant
time implementations. The cost of generating `-torsion points from scratch can
be mitigated somewhat by considering a chain of `i -isogenies for many different
primes `i . Instead of sampling
Qk an `i -torsion point for every `i -isogeny separately,
it is cheaper to sample an i=1 `i -torsion point and push it through the isogeny
to create a chain of isogenies of respective degrees `1 , `2 , . . . , `k , multiplying this
point with a cofactor that gets smaller in each iteration.
The second step is typically carried out using some form of Vélu’s formu-
lae [28], which compute the coefficients of E/hP i from the coefficients of E and
the coordinates of the scalar multiples of P . Vélu’s formulae can also be used
to compute the image ϕ(Q) of any point Q under the isogeny. The original im-
plementation of CSIDH uses these formulae on elliptic curves in Montgomery
form [8, 21], and requires O(`) arithmetic operations in Fp per `-isogeny. Since
then many optimizations to CSIDH have been proposed, such as:
– using different forms of elliptic curves, e.g. twisted Edwards curves [18, 19]
and Hessian curves [6]; √
– adapting Vélu’s formulae to only require O(e `) operations in Fp [1] instead
of O(`);
– changing CSIDH into CSURF to allow the use of very efficient 2-isogenies [7],
2
– lowering the number of `-isogenies that has to be computed for each ` [20, 11].
Contributions
We then compute the curve E 0 = E/hP i using Vélu’s formulae. The point P 0 on
E 0 can be constructed as a pre-image of P under the dual isogeny ϕ̂ : E 0 → E,
which guarantees that the composition of ϕ with E 0 → E 0 /hP 0 i is cyclic of order
√
N 2 . Our central observation is that P 0 is defined over K(b, c, N ρ ) for some
ρ ∈ K(b, c) and we prove that one can take ρ = tN (P, −P ) where tN denotes the
Tate pairing. Indeed, since ϕ̂(P 0 ) = P and using the compatibility of the Tate
pairing with isogenies, we have
3
p
which shows that the field of definition of P 0 must contain N tN (P, −P ), and
we show that this is also sufficient.
The fact that we only require one N th root explains the name “radical iso-
genies”. By rewriting (E 0 , P 0 ) again in Tate normal form with coefficients b0 and
c0 , we are ready for another iteration. The formulae we derive in fact express b0
√
and c0 directly as elements of K(b, c, N ρ ).
By specializing to finite fields Fq with gcd(q − 1, N ) = 1, we immediately
√
obtain that the radical N ρ is again defined over Fq , since N th powering is a
field automorphism in this case. We implemented our formulae and considered
two application scenarios: firstly, we show that using our formulae, chains of N -
isogenies can be computed much faster than using the state-of-the-art methods:
for N = 3, 5, 7 the best previous approach was to use modular polynomials and
we obtain speed-ups of factors 9, 18 and 27. For N = 11, 13, the best previous
approach was to generate N -torsion points in combination with Vélu’s formu-
lae and our radical isogenies outperform this by factors 12 and 5 respectively.
Secondly, we implemented a version of CSIDH using radical isogenies for all
primes ≤ 13 and obtain a speedup of 19% over the state of the art implementa-
tion [1].
Paper organization
Acknowledgments
We are very grateful to Karl Rubin and Alice Silverberg who provided insights
on how an earlier approach to proving Theorem 5 using the theory of modular
curves was related to known results. We are also much indebted to Shahed Sharif
whose remarks pointed us in the direction of the more direct approach using Tate
pairings presented below. We finally thank Marc Houben for pointing out a typo,
and several other attendants of the online “Workshop on the Mathematics of
Post-Quantum Crypto”, held during June 6–8, 2020, for further helpful feedback.
2 Background
4
2.1 Isogenies and Vélu’s formulae
E : y 2 + a1 xy + a3 y = x3 + a2 x2 + a4 x + a6
A1 = a1 , A2 = a2 , A3 = a3 ,
A4 = a4 − 5v, A6 = a6 − (a21 + 4a2 )v − 7w.
Then the separable isogeny ϕ with domain E and kernel C has codomain E 0 =
E/C with Weierstrass equation
E 0 : y 2 + A1 xy + A3 y = x3 + A2 x2 + A4 x + A6 (2)
5
2.2 Division polynomials
Let E/K be defined by y 2 +a1 xy+a3 y = x3 +a2 x2 +a4 x+a6 , and let b2 = a21 +4a2 ,
b4 = 2a4 + a1 a3 , b6 = a23 + 4a6 , b8 = a21 a6 + 4a2 a6 − a1 a3 a4 + a2 a23 − a24 . For all
integers N ≥ 0, the N -division polynomial is given by
Y
ΨE,0 = 0, ΨE,1 = 1, ΨE,2 = 2y +a1 x+a3 , ΨE,N = t· (x−x(Q)),
Q∈(E[N ]\E[2])/±
ΨE,N
ψE,N = .
lcmd|N,d6=N {ΨE,d }
For all primes `, we have that ΨE,` = ψE,` . Note that for N > 2, the reduced
N -division polynomial of an elliptic curve E is a univariate polynomial in x.
The multiplication by N -map can be expressed explicitly using division poly-
nomials as follows [23, Exercise 3.6]:
φE,N (P ) ωE,N (P )
[N ]P = 2
, 3
, (3)
ΨE,N (P ) ΨE,N (P )
2 1
with φE,N = xΨE,N −ΨE,N +1 ΨE,N −1 and ωE,N = 2ΨE,N (ΨE,2N −ΨE,N (a1 φE,N +
2
a3 ΨE,N )).
6
Lemma 2. Let E be an elliptic curve over K and let P ∈ E(K) be a point of
order N ≥ 4, then (E, P ) is isomorphic to a unique pair of the form
with b, c ∈ K and
2P = (b, bc), 3P = (c, b − c), −P = (0, b), −2P = (b, 0), −3P = (c, c2 ) .
Higher multiples can be computed using (3). Using these multiples, for each
N ≥ 4 one can write down an irreducible polynomial FN (b, c) ∈ Z[b, c] whose
vanishing, along with the non-vanishing of ∆(b, c) and of Fm (b, c) for 4 ≤ m < N ,
expresses that P has exact order N . For instance, for N = 4 we find the equation
F4 (b, c) = c = 0, by imposing that 3P = −P . Similarly, for N = 5 we find
F5 (b, c) = c − b = 0 and for N = 6 we find F6 (b, c) = c2 + c − b = 0. Further
examples can be found in Table 1 below. Alternatively, the polynomial FN (b, c)
can be recovered as a factor of the constant term of the N -division polynomial
of the curve (4), when considered over the rational function field Q(b, c). This is
the approach taken in [25, §2], to which we refer for more details.
Remark 3. Up to birational equivalence, FN (b, c) is a defining polynomial for
the modular curve X1 (N ). See again [25] for more background.
which can be computed as follows. Consider a Miller function fN,P1 , i.e., a func-
tion on E with divisor N (P1 ) − N (OE ). Let D be a K-rational divisor on E
that is linearly equivalent with (P2 ) − (OE ) and whose support is disjoint from
{P1 , OE }. Then tN (P1 , P2 ) = fN,P1 (D). If P1 6= P2 and the Miller function is
normalized, i.e., the leading coefficient of its expansion around OE with respect
to the uniformizer x/y equals 1 (we are assuming that E is in Weierstrass form),
then one can simply compute tN (P1 , P2 ) as fN,P1 (P2 ).
For certain instances of K, the Tate pairing is known to be non-degenerate,
meaning that for each P1 ∈ E(K)[N ] \ {OE } there exists a P2 ∈ E(K)/N E(K)
such that tN (P1 , P2 ) 6= 1, and vice versa. Most notably, this is true if K = Fq
is a finite field containing a primitive N th root of unity ζN [15], i.e., for which
N | q − 1.
7
Another important feature is that the Tate pairing is compatible with iso-
genies, in the following sense: if ϕ : E → E 0 is an isogeny over K then the rule
tN (ϕ(P1 ), P20 ) = tN (P1 , ϕ̂(P20 )) applies. In particular we have
for all P1 ∈ E(K)[N ] and P2 ∈ E(K)/N E(K). For a proof of this compatibility
we refer to [4, Thm. IX.9], which assumes ζN ∈ K, but this condition can be
discarded (it is not used in the proof).
i
is only well-defined up to multiplication by ζN for some i ∈ {0, 1, . . . , N − 1}.
√
Apart from this subtlety, we note that the field K( N ρ ) does not change if we
multiply ρ with the N th power of an element of K ∗ , or if we raise ρ to some
power that is coprime with N .
2.6 CSIDH
We briefly review the CSIDH key agreement protocol, which is our main applic-
ation of radical isogenies. Let Fp be a large finite field with p = c`1 `2 · · · `r − 1,
where the `i are small distinct primes and where c is some small cofactor. Alice
√ √
and Bob agree on an order O ⊂ Q( −p) containing Z[ −p], and they con-
sider the set E``p (O) = E``p (O, 0) of elliptic curves E/Fp whose endomorphism
ring EndFp E is isomorphic to O. Such curves are necessarily supersingular, and
without loss of generality it can be assumed that the isomorphism EndFp E ∼ =O
√
identifies the Frobenius endomorphism πp on E with −p.
8
To any E ∈ E``p (O) and any invertible ideal a ⊂ O one can, using the above
isomorphism, associate the finite subgroup
\
E[a] = ker α ⊂ E.
α∈a
It turns out that the isogenous curve E/E[a] is again contained in E``p (O) and
that it depends on the class [a] of a only; furthermore, this defines a free and
transitive action of the ideal-class group cl(O) on E``p (O). The key agreement
then works as follows: Alice and Bob agree on a starting curve E ∈ E``p (O),
then both sample a secret ideal-class [a] resp. [b], compute the isogenous curves
E/E[a] resp. E/E[b], and exchange the outcomes. Both parties can now compute
E/E[ab] by acting with their own secret ideal-class on the other party’s curve.
In order for this to be practical, Alice and Bob should sample a, b as products
√
of ideals of the form (`i , −p − 1)ei , whose action corresponds to a chain of
|ei | easy-to-compute `i -isogenies; this is also true if ei < 0, in which case one
√
considers the equivalent ideal (`i , −p + 1)|ei | . The prime `i = 2 requires special
treatment: it should be skipped unless p ≡ 7 mod 8 and O is the maximal order,
√ √
in which case one considers (2, ( −p − 1)/2) resp. (2, ( −p + 1)/2) instead of
√ √
the principal ideals (2, −p − 1), (2, −p + 1).
9
The points corresponding to λ = 1 will be called P -distinguished; they can be
viewed as a set of canonical generators for these subgroups.
Define
ρ := fN,P (−P ) (6)
where the Miller function fN,P on E is assumed to be normalized, so that ρ
is just tN (P, −P ) when considered modulo N th powers in QN (b, c)∗ . The main
result of this section is:
Proof. The fibre ϕ̂−1 {λP } decomposes as a union of orbits under the action
of the absolute Galois group of QN (b, c), together containing N elements. One
of these orbits contains P 0 . Its number of elements equals the degree of the
corresponding closed point, which in turn equals the degree of the extension
QN (b, c) ⊂ QN (b, c)(P 0 ). In particular, this extension has degree at most N . On
√
the other hand, by Lemma 6 below, the extension QN (b, c) ⊂ QN (b, c)( N ρ ) is
of degree precisely N . Therefore, it suffices to prove that QN (b, c)(P ) contains
0
an N th root of ρ.
To this end we consider α := fN,P 0 (−P 0 ) ∈ QN (b, c)(P 0 ), where the Miller
function fN,P 0 is again assumed normalized, and we let µ be such that λ2 µ ≡
1 mod N . Modulo N th powers in QN (b, c)(P 0 )∗ we have
10
specialization at b, c ∈ Fp (this follows, for instance, from Miller’s algorithm),
we find that
tN (P , [−N/m]P ) = tN (P , −P )N/m = 1,
in turn implying that tN (Q, [−N/m]P ) = 1 for all Q ∈ E(Fp )[N ]. This contra-
dicts the non-degeneracy of the Tate pairing over Fp (which contains all N th
roots of unity by our choice of p). Indeed, [−N/m]P is a non-trivial element of
E(Fp )/N E(Fp ).
As for (ii): if 4 | N then p ≡ 1 mod 8, from which it follows that −1 and
4 are 4th powers in Fp , in particular the same holds for −4. As above, if ρ ∈
−4QN (b, c)4 then we can conclude that
tN (P , [−N/4]P ) = tN (P , −P )N/4 = 1,
again contradicting the non-degeneracy of the Tate pairing.
0
An immediate consequence of Theorem 5 is that for each point P = (x00 , y00 )
satisfying (5) there exist concrete algebraic formulae
√ √
x00 (b, c, N ρ ), y00 (b, c, N ρ ) (7)
for its coordinates: these are the radical isogeny formulae we are after. Note that,
in order to find these formulae explicitly, it suffices to consider the cases where P 0
is P -distinguished, i.e., where λ = 1. Indeed, all other cases are then dealt with by
feeding these formulae to the multiplication-by-λ map from (3). Experimentally,
it seems that the P -distinguished case yields the simplest formulae.
Remark 2. Our choice of radicand ρ = fN,P (−P ) is somewhat arbitrary: any
representant of tN (P, µP ) for any µ ∈ (Z/N )∗ would have worked equally well,
with the same proofs. This reflects the fact that scaling ρ by N th powers, or
raising ρ to an exponent that is coprime with N , results in the same simple
radical extension.
Given the coordinates of a P -distinguished point P 0 , all other P -distinguished
√
points are found by varying the choice of N ρ :
Lemma 7. Let λ ∈ (Z/N )∗ and consider formulae of the form (7) expressing
the coordinates of a point P 0 such that ϕ̂(P 0 ) = λP . Then, by varying the choice
√ i
of the N th root N ρ , i.e., by scaling it with ζN for i = 0, 1, . . . , N − 1, these
formulae compute the coordinates of all points P 0 for which ϕ̂(P 0 ) = λP .
Proof. From the proof of Theorem 5 it follows that ϕ̂−1 {λP } consists of a single
Galois orbit, which implies our claim.
For the applications we have in mind, we want to interpret the formulae (7)
in some concrete field K, with the indeterminates b, c replaced by concrete ele-
ments b, c ∈ K. It follows from general principles in algebraic geometry that
these specialized formulae continue to produce the coordinates of a point P 0
defining a cyclic N 2 -isogeny, with the possible exception of finitely many field
characteristics p > 0 and finitely many (b, c) ∈ K 2 . Loosely based on good
reduction arguments from the theory of modular curves, we actually believe:
11
Conjecture 1. The formulae (7) are compatible with specialization to all fields
K satisfying char K - N and to all elements b, c ∈ K satisfying FN (b, c) = 0,
∆(b, c) 6= 0 and Fm (b, c) 6= 0 for all 4 ≤ m < N (in other words, to all b, c for
which y 2 + (1 − c)xy − bx = x3 − bx2 is an elliptic curve on which P = (0, 0) has
exact order N ).
It is easy to confirm this conjecture for small values of N , by explicitly
factoring the N -division polynomial of E 0 : this is the approach followed in the
next section, leading to explicit expressions for the formulae (7). In particular,
the above conjecture does not affect any of our conclusions in Sections 5 and 6,
which are based on radical N -isogenies for these small values of N only. But
from a purely mathematical point of view, we leave the validity of Conjecture 1
as an interesting open question.
We conclude by recalling that by rewriting (E 0 , P 0 ) in Tate normal form, one
obtains a curve equation
y 2 + (1 − c0 )xy − b0 x = x3 − b0 x2
where now
√ √
b0 (b, c, N ρ ), c0 (b, c, N ρ ) (8)
√
are certain algebraic expressions in b, c, N ρ . The formulae (8) can be applied
iteratively, effectively allowing to compute a cyclic N k -isogeny for arbitrary k
without needing to explicitly generate points of order N in each step.
The dual isogeny corresponds to quotienting out (0, 0) on E 0 , so any other point
of order 2 on E 0 is a suitable instance of P 0 ; note that it is automatically P -
√
distinguished. If we define ρ = a4 and α = ρ, then these points are of the
form
P 0 = (a2 + 2α, 0) ,
12
and by translating P 0 to (0, 0), we find the isomorphic model E 0 : y 2 = x3 +
a02 x2 + a04 x, where
a02 = 6α + a2 and a04 = 4a2 α + 8a4 . (9)
We are now ready to repeat the whole process, since we can divide out by (0, 0)
again.
Remark 3. We cannot use f2,P (−P ) as an instance of ρ in this case, since
P = −P . Nevertheless, the reader can check that ρ = a4 is a representant
of t2 (P, −P ).
13
The first linear factor corresponds to the x-coordinate of a generator of the
dual isogeny. The second linear factor corresponds to the x-coordinate of a 4-
torsion point Q such that 2Q is in the kernel of the dual isogeny. Any root
of the quartic factor is the x-coordinate of a P -distinguished point P 0 . Letting
√
ρ = f4,P (−P ) = −b and writing α = 4 ρ, one can verify that
E 0 : y 2 + xy − b0 y = x3 − b0 x2 , (10)
with
α(4α2 + 1)
b0 = −
(2α + 1)4
where the quadratic polynomial factor is the kernel polynomial of the dual
isogeny. The roots of the first quintic factor are the x-coordinates of the P -
distinguished points. Those of the second quintic factor are the x-coordinates
of the points P 0 for which ϕ̂(P 0 ) = 2P (i.e., the doubles of the P -distinguished
√
points). Concretely, letting ρ = f5,P (−P ) = b and writing α = 5 ρ, the first
quintic factor admits the root
14
(with all other roots obtained by scaling α with powers of ζ5 ) and then one can
check that
E 0 : y 2 + (1 − b0 )xy − b0 y = x3 − b0 x2 ,
where
α4 + 3α3 + 4α2 + 2α + 1
b0 = α
α4 − 2α3 + 4α2 − 3α + 1
and again we can repeat.
6 4
x00 = α5 + α4 + 3α3 + 2α2 − (3c − 1)α − 2c2 − 3c
c+1 c+1
is such a root; all other roots are found by scaling α with some power of ζ6 . One
then verifies that
3c + 9 5 2c + 6 4
y00 = α + α −(12c−3)α3 −(17c−1)α2 −(15c2 +19c)α−c3 −18c2 −16c
c+1 c+1
is the y-coordinate of the corresponding P -distinguished point P 0 . When writing
(E 0 , P 0 ) in Tate normal form, we find
15
with
1
c0 = (729c3 + 243c2 + 243c − 39)α5 − (108c2 + 216c − 20)α4
(c + 1)(9c + 1)3
− (729c4 + 729c3 + 81c2 − 165c + 10)α3 + (108c3 − 36c2 − 140c + 4)α2
+ (729c5 + 1215c4 + 486c3 + 114c2 + 113c − 1)α − 108c4 − 36c3 − 4c2 − 76c .
In this section we use our iterable radical isogeny formulae of the form (8) to
compute chains of N -isogenies between elliptic curves over finite fields Fq with
char Fq - N ; the application to CSIDH is given in Section 6. Here we just con-
centrate on the computation of long chains of N -isogenies for some fixed N ≥ 2,
and address the following two issues. Firstly, the radicand ρ might not admit an
N th root over Fq : in the worst case, this could mean that at every iteration we
need to replace the base field with a degree N extension. Secondly, over Fq there
√
are N choices for N ρ , hence the question arises which root to take if we want
to navigate the N -isogeny graph in a controlled way. We discuss three special
cases given by gcd(q − 1, N ) = 1, gcd(q − 1, N ) = N and gcd(q − 1, N ) = 2.
16
N Polynomial relation FN (b, c) = 0 Radicand ρ = fN,P (−P )
4 c=0 −b
5 c−b=0 b
6 c2 + c − b = 0 −b2 /c
7 c3 + cb − b2 = 0 b3 /c2
2 2 2 3
8 c b − c + 3cb − 2b = 0 −b /(b − c)
9 c5 + c4 − c3 b + c3 − 3c2 b + 3cb2 − b3 = 0 b3 c2 /(b − c)2
c5 + c4 b + 3c3 b − 3c2 b2
10 −b3 c/(c2 + c − b)
+ c2 b − 2cb2 + b3 = 0
c7 b + 3c6 b − c6 − 3c5 b2 + 6c5 b − 9c4 b2
11 b3 (b − c)2 /(c2 + c − b)2
+ 4c3 b3 + c3 b2 − 3c2 b3 + 3cb4 − b5 = 0
c6 + c4 b + c4 − 5c3 b − c2 b3
12 −b4 (b − c)/(b2 − bc − c3 )
+ 10c2 b2 − 9cb3 + 3b4 = 0
c10 − c9 b2 − 6c8 b2 + 6c8 b + 5c7 b3 − 21c7 b2
+ 3c7 b + 24c6 b3 − 13c6 b2 + c6 b − 9c5 b4
13 b5 (c2 + c − b)2 /(b2 − bc − c3 )2
+ 21c5 b3 − 6c5 b2 − 15c4 b4 + 15c4 b3 + 4c3 b5
− 20c3 b4 + 15c2 b5 − 6cb6 + b7 = 0
Table 1: Relations FN (b, c) = 0 and radicands ρ for small N ≥ 4
B 2 + (A3 + A2 + 1)B
13 1 − AB 1− AB
B+1
−r5 B(sA)3
−A2 − A = 0
Table 2: Modular equations and radicands for low degree isogenies. The paramet-
ers r and s are optimised representations of curves with a prescribed N -torsion
point from [26]. The transformations b = rs(r − 1) and c = s(r − 1) can be
used to obtain the Tate normal form E : y 2 + (1 − c)xy − by = x3 − bx2 , where
P = (0, 0) is a point of order N expressed by the modular equation.
17
5.1 The case gcd(q − 1, N ) = 1
where the last equality follows from gcd(q − 1, N ) = 1 along with the fact that
P = (0, 0) is an Fq -rational point of order N . These properties also imply that
(i) generating an Fq -rational N -torsion point and applying (some form of)
Vélu’s formulae; the main cost in this approach is the generation of the
N -torsion point, which consists of generating a random point and multiply-
ing by the cofactor #E(Fq )/N , taking roughly 11 log q multiplications in Fq ;
furthermore this procedure has to be repeated with probability 1/N , which
is non-negligible for small N ,
(ii) finding an Fq -rational root of ΦN (x, j(E)), with ΦN the classical modular
polynomial of level N ; this roughly amounts to computing xq modulo the
polynomial ΦN (x, j(E)), whose degree is at least N + 1, so we estimate this
cost as 1.5(N + 1)2 log q multiplications in Fq .
18
However, for growing N it becomes unfair to measure the cost of a radical
isogeny by merely an exponentiation in Fq : the algebraic expressions for b0 and c0
√
in terms of b, c, N ρ become increasingly complicated, and the cost of evaluating
these expressions quickly overtakes the cost of the exponentiation as shown in
Table 3. We also remark that the majority of the multiplications are with small
constants coming from the explicit formulae as illustrated in Section 4. The size
of these constants also grows with N , e.g. for N = 13 the constants have a size
of up to 14 bits.
19
Sampling Isogenous Image Modular Radical
N -torsion curve Vélu of a point polynomial isogeny
3-isogeny 50,449,710 38,513 18,860 9,939,840 1,071,612
4-isogeny? 63,693,051 45,093 45,004 29,628,400 1,101,677
5-isogeny 41,519,930 140,968 33,453 19,943,602 1,086,011
7-isogeny 39,049,435 247,526 47,734 34,049,452 1,192,454
9-isogeny 47,994,892 319,695 70,899 76,299,055 1,304,341
11-isogeny 36,755,529 448,043 75,995 76,435,364 3,161,470
13-isogeny 36,252,253 548,833 90,168 147,552,105 3,626,544
Table 4: Clock cycles (using Magma v2.32-2 on an Intel(R) Xeon(R) CPU E5-
2630 v2 @ 2.60GHz with 128 GB memory) for an individual step in a horizontal
N -isogeny chain, basic Vélu approach vs. (unique) root of the modular polyno-
mial vs. radical isogenies averaged over a chain of 10 000 N -isogenies over the
finite field Fp , where p is the CSURF-512 prime from [7]. The probability of
failure to sample an N -torsion point for composite N is larger than 1/N , and
the degree of the modular polynomial scales faster for composite numbers, which
explain the results for N = 4, 9 for the first two methods. ? The clock cycles
for 4-isogenies for the first two methods are obtained from random 4-isogenies
instead of exclusively horizontal ones. Every curve has three 4-isogenous elliptic
curves and identifying the correct one would require an additional square-check
(see Section 5.3).
hash function and in SIDH, but since these rely exclusively on 2 and 3 isogenies
which are already heavily optimized, we do not expect any real improvement for
these applications. On these curves we have πq = [−p], from which it follows
that E[N ] ⊂ E(Fq ). Let P ∈ E be any point of order N , then we claim that
ρ = fN,P (−P ) ∈ F∗q is an N th power, i.e. tN (P, −P ) = 1.
To see this, note that the codomain of ϕ : E → E 0 = E/hP i again sat-
isfies |E 0 (Fq )| = (p + 1)2 and therefore E 0 [N ] ⊂ E 0 (Fq ). In particular, any
P -distinguished point P 0 takes coordinates in Fq and we conclude
tN (P, −P ) = tN (ϕ̂(P 0 ), −ϕ̂(P 0 )) = tN (P 0 , −P 0 )N = 1 .
The argument of course repeats, so in this case one can keep applying our radical
isogeny formulae, choosing an N th root of ρ at each iteration, without ever
leaving Fq . A performance comparison with the modular polynomial method (ii)
from the previous section can be found in Table 5.
20
Modular Radical
polynomial isogeny
3-isogeny 397,463,526 7,376,366
4-isogeny 705,256,757 29,128,205
5-isogeny 1,020,128,985 8,988,513
7-isogeny 1,889,168,090 8,973,325
9-isogeny 2,795,301,745 24,966,750
11-isogeny 3,827,699,588 12,707,001
13-isogeny 5,533,476,662 14,563,945
Table 5: Clock cycles (using Magma v2.32-2 on an Intel(R) Xeon(R) CPU E5-
2630 v2 @ 2.60GHz with 128 GB memory) for an individual step in an N -isogeny
chain, roots of the modular polynomial vs. radical isogenies averaged over a chain
of 1 000 N -isogenies over finite fields Fp2 . The prime p = 2512 + was chosen
per N -isogeny such that p ≡ −1 mod N and such that p ≡ 3 mod 4, so that we
could start from E : y 2 = x3 + x; concretely, for N = 3, 4, 5, 7, 9, 11, 13 we took
= 727, 75, 2743, 7471, 1147, 29607, 1147 respectively.
For N = 2, it was observed in [7] that this distinction allows for a controlled
navigation of the 2-isogeny graph of supersingular elliptic curves E over a finite
prime field Fp with p ≡ 7 mod 8. Concretely, such curves come in two types:
√
curves on ‘the floor’ have endomorphism ring Z[ −p] and admit a unique Fp -
rational point of order 2, while curves on ‘the surface’ have endomorphism ring
√
Z[(1 + −p)/2] and have three distinguished Fp -rational points of order 2:
(see Figure 1). Quotienting out P − takes us from the surface to the floor, while
quotienting out P1+ and P2+ amounts to traveling along the surface, using the
√
horizontal isogenies corresponding to the respective ideals (2, ( −p + 1)/2),
√ √
(2, ( −p − 1)/2) of Z[(1 + −p)/2], see [7, Lem. 5].
Lemma 9. If the curve point pair (E, P1+ ) resp. (E, P2+ ) is in the form (E, P )
with
E : y 2 = x3 + a2 x2 + a4 x, P = (0, 0), a2 , a4 ∈ Fq
as in Section 4, then ρ = a4 is a square. Applying the iterative formulae (9)
√ √
corresponds to the repeated action of [(2, ( −p + 1)/2)] resp. [(2, ( −p − 1)/2)]
√ µ µ
if one consistently computes ρ as −ρ resp. ρ .
Proof. The fact that ρ = a4 is a square follows from the proof of [7, Lem. 3].
From [7, Lem. 4] it follows that selecting −ρµ resp. ρµ corresponds to selecting
P10+ resp. P20+ on E 0 , which implies the lemma. Note that the other square root
of ρ corresponds to P 0− in both cases, taking us to the floor.
21
h √ i
1+ −p
P1+ P2+ 0+
P10+ P2
Z 2
E 0
E
P− P 0−
√
Z[ −p]
that ρ is a square.
Unfortunately, it seems harder to generalize the second observation, but
based on experiments we conjecture the following statement for N = 4, in which
case we can take µ = (p + 1)/8:
Conjecture 2. Assume that N = 4 and that (E, P ) is in Tate normal form
22
ϕ : E → E 0 = E/hP i is cyclic and horizontal, it necessarily corresponds to the
√
action of [(2, ( −p − 1)/2)]2 . Therefore, the main open problem in proving the
conjecture is the last claim. So far, we did not succeed in giving a proof, nor did
we manage to generalize its statement to larger values of N .
6 Speeding up CSIDH
Recall from Section 2.6 that the core operation in CSIDH is computing a com-
position of many horizontal isogenies, which for odd `i correspond to ideals of
√ √
the form (`i , −p + 1) or (`i , −p + 1). The exact composition that needs to
be computed can be specified as an exponent vector [e1 , . . . , er ], where each
ei ∈ [−Bi , Bi ] indicates how many horizontal isogenies of degree `i have to be
computed. In practice often Bi = B for all i, where B is some fixed small value
such that (2B + 1)r > 22λ , with λ the (classical) security parameter. Since com-
√
puting the action of (`i , −p + 1) can be reduced to computing the action of
√
(`i , −p − 1) at virtually no cost using quadratic twisting [9, Lemma 5], for sim-
plicity we will assume that ei ≥ 0 for all i. The basic approach for computing the
√
action of (`i , −p − 1) is through Vélu’s formulae, which require us to generate
an Fp -rational `i -torsion point as an expensive intermediate step.
In CSIDH this problem is (partly) remedied by chaining Qisogenies of distinct
r
degrees, i.e. computing a horizontal isogeny of degree N = i=1 `δi i where δi = 1
if ei > 0 and zero otherwise. Without loss of generality we will assume that all
δi = 1. Instead of generating an `i -torsion point in every step, one first generates
a point Q of order (possibly dividing) N and then pushes Q through the isogeny
Qk
chain. Denote with Qk = ϕk (Q) with ϕk the isogeny of degree Nk = i=1 `i ,
then if Q had order N at the start, Qk will have order Mk = N/Nk . To generate
a point of order `k+1 it therefore suffices to compute [Mk /`k+1 ]Qk , which is
much cheaper than a full scalar multiplication, certainly for larger k. Note that
in practice the original point Q does not necessarily have full order N , so this
procedure might skip a few `i . This method therefore amortizes the cost of one
full scalar multiplication (to generate the initial Q) over the different primes `i ,
and only requires a multiplication by [Mk /`k+1 ] in step k. Table 4 shows that
pushing a point through an isogeny is a rather cheap operation, and the main
costs are still the generation of the initial Q’s and the scalar multiplications by
[Mk /`k+1 ]. Table 4 also shows that when discarding torsion point computations,
computing a radical isogeny of degree `i is slower than a simple application of
Vélu’s formulae.
For the above approach, it is clear that the number of initial Q’s that need to
be generated is (at least) maxi Bi , so it typically does not make sense to sample
the exponent vectors from a very skew box, i.e. to take B1 Br , even though
computing an isogeny of degree `1 is much cheaper than computing an isogeny
of degree `r . However, using radical isogenies it does make sense to really skew
the box since for every prime `i one only needs to generate one Q. Moreover,
√
the radicals N ρ can be computed at the cost of a single Fp -exponentiation in
23
view of Lemma 8, and radical isogenies allow for an easy treatment of the case
`i = 2, as discussed in Section 5.3.
Implementation
To illustrate this approach, we implemented a variant of CSIDH that also uses
radical isogenies to compute the class group action. Our implementation uses
Magma v.2.25-2 [5] and is available at https://github.com/KULeuven-COSIC/
Radical-Isogenies and builds upon the code from [1]. Concretely, for 128 bits
of classical security, consider the field Fp , with p the CSURF-512 prime from [7],
i.e.
p = 23 · 3 · (3 · . . . · 389) − 1 ≈ 2512 .
| {z }
74 consecutive primes,
skip 347 and 359
In the implementation of [1], the authors used Bi = 5 for all i, however using
radical isogenies we propose the skew box
I = [−202; 202] × [−170; 170] × [−95; 95] × [−91; 91] × [−33; 33]×
[−29; 29] × [−6; 6]20 × [−5; 5]14 × [−4; 4]10 × [−3; 3]10 × [−2; 2]8 × [−1; 1]7 .
24
Computing the Montgomery representation of an elliptic curve is essentially
finding a two-torsion point, which in practice means finding a solution to a
cubic equation. If a cubic equation has three solutions, the explicit formulae to
compute any single one of them require going through a quadratic field extension,
even if all solutions are defined over the ground field.2 An elliptic curve on the
floor however, only has one nontrivial two-torsion point. In this case, the cubic
equation has exactly one solution over Fp , and the formula to find it does not
require field extensions.
We then compute a horizontal 3e2 -isogeny as follows. We first sample a 9-
torsion point and swap to the Tate normal form by translating this point to
(0, 0). Next, we calculate a 9be2 /2c−1 -isogeny iteratively. We perform one last
9-isogeny using Vélu’s formulae on the Tate normal form with kernel generator
(0, 0), before swapping back to the Montgomery form of this curve. The reason
for this choice is that one more iteration of the formulae would be more expensive,
since we already know the final 9-torsion point and hence can simply use Vélu’s
formulae. If e2 is odd, we will compute this final 3-isogeny together with the
`-isogenies for ` ≥ 17.
The `ei -isogenies for `ei = 5e3 , 7e4 , 11e5 , 13e6 are then iteratively computed
in a similar manner. We first compute an `-torsion point on a Montgomery curve
to swap to the Tate normal form. Next, we iterate the formulae for `-isogenies
ei − 1 times, and the final `-isogeny is computed using Vélu’s formulae, at which
point we go back to the Montgomery representation of the curve. The only
noteworthy exception is that if ei = 1, we use the original computation of the
CSIDH class group action. The reason for this is that swapping to a Tate normal
form requires sampling an `-torsion point, which means it is more efficient to
perform this action together with the `-isogenies for ` ≥ 17.
The rest of the `-isogenies for ` ≥ 17 are performed as in [8], where optim-
izations such as those of [1] can be applied. At the end, we perform one final
vertical isogeny to the surface to obtain a public key in Sp− .
We set the bound to swap to the new formulae of [1] at ` > 113, since this is
the threshold where they start outperforming the formulae of [21] in Magma. The
box I from which the exponent vectors are sampled was obtained heuristically
over a large sample and is near optimal. Over a sample size of 100 000 class
group actions each, our variant of CSIDH results in a speed-up of 19% over the
one from [1]. We do note that this comparison is with respect to the CSIDH-512
parameter version, since the Magma code from [1] based on the CSURF-512
parameters did not seem to work. Since the CSIDH-512 parameters do not allow
horizontal 2-isogenies, a small part of our speed-up can be ascribed to the work
of [7].
2
This is known as the casus irreducibilis, proven by Pierre Wantzel in the first half of
the 19th century.
25
7 Conclusion and open problems
Starting from a curve E with an N -torsion point P we have proved the existence
of explicit formulae for the isogenous curve E 0 = E/hP i and the coordinates of a
point P 0 on E 0 of order N , such that the composition of E → E 0 = E/hP i with
E 0 → E 0 /hP 0 i is cyclic of degree N 2 . This property implies that the formulae
can be used repeatedly to compute chains of N -isogenies without generating
N -torsion points in each step of the chain. Furthermore, the formulae, which we
have described explicitly for N ≤ 13, only involve basic arithmetic operations,
except for the extraction of an N th root. We have implemented these formulae
and used them in two main applications: computing a chain consisting solely of
N -isogenies, where we obtained a speed-up ranging from a factor 29 for N = 7
to a factor 5 for N = 13, and an improved implementation of CSIDH which is
19% faster than the state of the art implementation.
Open problems The following problems remain open and are interesting future
work:
– Prove Conjecture 1, stating that our formulae have good reduction wherever
there is no obvious obstruction.
– Devise a more efficient method for explicitly finding the radical isogeny for-
mulae to avoid our current approach of factoring N -division polynomials as
in Section 4, which is a major bottleneck.
– Optimize our formulae, e.g. is it indeed true that the P -distinguished case
yields the most compact expressions? Using the relations αN = ρ(b, c) and
FN (b, c) = 0, using different instances of ρ, or using different parametriza-
tions of X1 (N ) as in Table 2 or [26], can we rewrite our formulae such that
they become more efficient?
– Prove Conjecture 2 on radical isogenies of degree N = 4 between supersin-
gular elliptic curves over Fp with p ≡ 7 mod 8, and generalize it to larger
even values of N .
– Measure the impact of our work on constant-time implementations of CSIDH
and on the quantum circuits discussed in [3].
References
[1] Daniel J Bernstein, Luca De Feo, Antonin Leroux, and Benjamin Smith. Faster
computation of isogenies of large prime degree. In ANTS-XIV, volume 4 of Open
Book Series, pages 39–55. Mathematical Sciences Publishers, 2020.
[2] Daniel J Bernstein and Tanja Lange. Montgomery curves and the Montgomery
ladder. IACR Cryptology ePrint Archive, 2017:293, 2017. https://ia.cr/2017/
293.
[3] Daniel J. Bernstein, Tanja Lange, Chloe Martindale, and Lorenz Panny. Quantum
circuits for the CSIDH: Optimizing quantum evaluation of isogenies. In Eurocrypt
2019 (2), volume 11477 of Lecture Notes in Computer Science, pages 409–441.
Springer, 2019.
26
[4] Ian F. Blake, Gadiel Seroussi, and Nigel P. Smart, editors. Advances in elliptic
curve cryptography, volume 317 of London Mathematical Society Lecture Note
Series. Cambridge University Press, Cambridge, 2005.
[5] Wieb Bosma, John Cannon, and Catherine Playoust. The Magma algebra system.
I. The user language. Journal of Symbolic Computation, 24(3-4):235–265, 1997.
[6] Fouazou Lontouo Perez Broon, Thinh Dang, Emmanuel Fouotsa, and Dustin
Moody. Isogenies on twisted Hessian curves. Journal of Mathematical Cryptology,
15:345–358, 2021.
[7] Wouter Castryck and Thomas Decru. CSIDH on the surface. In PQCrypto 2020,
volume 12100 of Lecture Notes in Computer Science, pages 111–129, 2020.
[8] Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny, and Joost
Renes. CSIDH: An efficient post-quantum commutative group action. In Asia-
crypt 2018 (3), volume 11274 of Lecture Notes in Computer Science, pages 395–
427. Springer, 2018.
[9] Wouter Castryck, Lorenz Panny, and Frederik Vercauteren. Rational isogenies
from irrational endomorphisms. In EUROCRYPT (2), volume 12106 of Lecture
Notes in Computer Science, pages 523–548. Springer, 2020. https://ia.cr/2019/
1202.
[10] Denis X Charles, Kristin E Lauter, and Eyal Z Goren. Cryptographic hash func-
tions from expander graphs. Journal of Cryptology, 22(1):93–113, 2009.
[11] Jesús-Javier Chi-Domı́nguez and Francisco Rodrı́guez-Henrı́quez. Optimal
strategies for CSIDH. Advances in Mathematics of Communications, 2020.
[12] Keith Conrad. Simple radical extensions. Expository paper. https://kconrad.
math.uconn.edu/blurbs/galoistheory/simpleradical.pdf.
[13] Jean-Marc Couveignes. Hard homogeneous spaces. IACR Cryptology ePrint
Archive, 2006:291, 2006. https://ia.cr/2006/291.
[14] Luca De Feo, Jean Kieffer, and Benjamin Smith. Towards practical key exchange
from ordinary isogeny graphs. In ASIACRYPT (3), volume 11274 of Lecture Notes
in Computer Science, pages 365–394. Springer, 2018. https://ia.cr/2018/485.
[15] Florian Hess. A note on the Tate pairing of curves over finite fields. Archiv der
Mathematik, 82:28–32, 2004.
[16] David Jao and Luca De Feo. Towards quantum-resistant cryptosystems from
supersingular elliptic curve isogenies. In PQCrypto 2011, volume 7071 of Lecture
Notes in Computer Science, pages 19–34, 2011.
[17] Serge Lang. Algebra, volume 211 of Graduate Texts in Mathematics. Springer-
Verlag, New York, third edition, 2002.
[18] Michael Meyer and Steffen Reith. A faster way to the CSIDH. In Indocrypt 2018,
volume 11356 of Lecture Notes in Computer Science, pages 137–152. Springer,
2018.
[19] Tomoki Moriya, Hiroshi Onuki, and Tsuyoshi Takagi. How to construct CSIDH
on Edwards curves. In CT-RSA 2020, volume 12006 of Lecture Notes in Computer
Science, pages 512–537. Springer, 2020.
[20] Kohei Nakagawa, Hiroshi Onuki, Atsushi Takayasu, and Tsuyoshi Takagi. l1 -
norm ball for CSIDH: Optimal strategy for choosing the secret key space. IACR
Cryptology ePrint Archive, 2020:181, 2020. https://ia.cr/2020/181.
[21] Joost Renes. Computing isogenies between Montgomery curves using the action
of (0,0). In PQCrypto 2018, volume 10786 of Lecture Notes in Computer Science,
pages 229–247. Springer, 2018.
[22] Alexander Rostovtsev and Anton Stolbunov. Public-key cryptosystem based on
isogenies. IACR Cryptology ePrint Archive, 2006:145, 2006. https://ia.cr/
2006/145.pdf.
27
[23] Joseph H Silverman. The arithmetic of elliptic curves, volume 106 of Graduate
Texts in Mathematics. Springer, second edition, 2009.
[24] The Stacks project authors. The stacks project. https://stacks.math.
columbia.edu, 2020.
[25] Marco Streng. Generators of the group of modular units for Γ1 (N ) over the
rationals. Cornell University, arXiv:1503.08127v2, 2019. https://arxiv.org/
abs/1503.08127v2.
[26] Andrew Sutherland. Constructing elliptic curves over finite fields with prescribed
torsion. Mathematics of Computation, 81(278):1131–1147, 2012.
[27] Michael A. Tsfasman and Serge G. Vlăduţ. Algebraic-geometric codes, volume 58
of Mathematics and its Applications (Soviet Series). Kluwer Academic Publishers
Group, Dordrecht, 1991. Translated from the Russian by the authors.
[28] Jacques Vélu. Isogénies entre courbes elliptiques. Comptes-Rendus de l’Académie
des Sciences, Série I, 273:238–241, 1971.
[29] William C. Waterhouse. Abelian varieties over finite fields. Annales scientifiques
de l’École Normale Supérieure, 2:521–560, 1969.
28
168 RADICAL ISOGENIES
Chapter 10
Daniel Kleitman
Publication data
Own contribution
My main contributions are working out several examples on paper or with help
from Magma (such as the products of elliptic curves, the radical (3, 3)-isogenies
and the radical (5, 5)-isogenies), the implementation of the (3, 3)-hash function,
as well as writing several sections of the paper.
169
Multiradical isogenies
1 Introduction
In a previous joint work with Vercauteren [10], we introduced the concept of
radical isogenies between elliptic curves, which in low degree allow for a very fast
computation of isogeny chains over finite fields, e.g., of the type used in Charles,
Goren and Lauter’s hash function [12] and in the Couveignes–Rostovtsev–Stolbu-
nov key exchange protocol [14, 42] and its descendant CSIDH [11].
The central observation was that for any integer N ≥ 2 there exist explicit
formulae which, upon input of an elliptic curve E — say given in long Weierstrass
form — over a perfect field K with char K - N and a point P ∈ E of order
N , produce the coordinates of an order-N point P 0 ∈ E 0 = E/hP i such that
the isogeny ϕ0 : E 0 → E 0 /hP 0 i cyclically extends ϕ : E → E/hP i. This, of
course, assumes that we have a defining equation for E 0 at hand, such as the
one provided by Vélu [45]. Moreover, the formulae can be chosen to enjoy the
following properties.
(1) Radicality. The formulae are algebraic expressions in the coefficients of
√
E, the coordinates of P and a radical N r1 , where r1 is itself an algebraic
expression in these coefficients and coordinates.
√
(2) Completeness. By varying the N th root chosen, i.e., by scaling N r1 with
powers of a primitive N th root of unity ζN ∈ K, we obtain generators for all
N subgroups G0 ⊆ E 0 of order N which are such that E 0 → E 0 /G0 cyclically
extends ϕ.
1
See Section 2.2 for a definition.
2
(3) Good reduction. If the family S is defined over Z[1/M ] for some multiple
M of N , then so are our formulae, i.e., they work over any perfect field K
with char K - M .
Formulae of the above kind will be called multiradical isogeny formulae. We refer
to Section 3 for a more extensive discussion of Conjecture 1, where we will provide
a group-theoretic heuristic argument in favor of the existence of multiradical
isogeny formulae. However, we stress that each of the above subclaims remains
conjectural. We will also discuss an addendum to Conjecture 1, namely that one
can always take the radicands r1 , . . . , rg(g+1)/2 to be representants of the Tate
pairings tN (Ps,i , Ps,j ), 1 ≤ i ≤ j ≤ g, in the sense of Frey and Rück [24], as soon
as these are well-defined.
Further support comes from concrete examples of multiradical isogeny for-
mulae, which are discussed in Section 4 and Section 5. For arbitrary N and
in arbitrary dimension g, we discuss fully split (N, . . . , N )-isogenies from g-fold
products of elliptic curves. Other examples focus on Jacobians of genus-2 curves,
where we discuss non-split (2, 2)-isogenies (also known as Richelot isogenies) and
non-split (3, 3)-isogenies as described by Bruin, Flynn and Testa [5]. We also
study the multiradical nature of certain (5, 5)-isogenies that were described by
Flynn [21].
Remark 1. Our eventual goal is the computation of (N k , . . . , N k )-isogenies, for
arbitrary k ≥ 2, achieved by an iterated application of our formulae. However,
it is possible, and unavoidable in general, that the isogenous p.p. abelian variety
A0s marked with Ps,1 0 0
, . . . , Ps,g does not belong to our family. For instance, if S
parametrizes Jacobians of genus-2 curves, we may run into a product of elliptic
curves. In such cases, one needs to resort to different sets of multiradical isogeny
formulae in order to cover the entire isogeny chain.
We illustrate the use of multiradical isogenies in Section 6, by constructing a
Charles–Goren–Lauter style hash function from (3, 3)-isogenies between super-
special p.p. abelian surfaces over a large quadratic finite field Fp2 , similar to the
(2, 2)-construction from our joint work with Smith [9]. In short, each message
determines a walk in the isogeny graph (which is of size about p3 /2880), and the
hash of the message is the end point of that walk. One should make sure that
every two consecutive isogenies compose to a (9, 9)-isogeny, to avoid the trivial
collisions described in [22, §2.3]. This is automatically taken care of when using
multiradical isogeny formulae.
In the Richelot hash function from [9], a (2, 2)-isogeny costs about 3 square
root computations, with very little overhead, and can be used to process 3 bits
of the message. In our case, the cost of a (3, 3)-isogeny is dominated by the ex-
traction of 3 cube roots, and now it can be used to process 3 trits (i.e., base-3
digits) of the message. Moreover, if p 6≡ ±1 mod 9 then p2 6≡ 1 mod 9 and com-
puting cube roots in Fp2 is faster than computing square roots (see Section 6.4).
Altogether, this leads to an expected speed-up by a factor 9, roughly. However, a
noticeable difference with [9] is that chaining multiradical (3, 3)-isogenies comes
with some non-negligible overhead; our current implementation even involves
3
three small Gröbner basis computations. Despite this overhead, the (3, 3)-hash
function outperforms the Richelot hash function as soon as the field character-
istic p is of cryptographic size (i.e., 86 bits or more). The asymptotic speed-up
factor ≈ 9 becomes visible when p is about 21024 .
Two conventions. For any integer N ≥ 2 we denote the ring (or the addit-
ive group) of integers modulo N by ZN ; we thereby follow computer science
customs.2 Also, throughout this paper, we always identify a variety over a per-
fect field K with its set of K-points equipped with the natural Gal(K/K)-action.
2 Background
We discuss some of the material needed for what follows, but we stress that this
is not a complete overview. Our main goal is to fix notation and highlight some
statements that may be known to specialists but that we did not manage to
pinpoint in the existing literature, such as Lemma 2, Example 3 and Lemma 4.
For general background on abelian varieties and isogenies we refer to [34, 35].
4
Thus A[N ] admits a symplectic basis, i.e., a ZN -basis P1 , . . . , Pg , Q1 , . . . , Qg
satisfying hPi , Pj iN = hQi , Qj iN = 0 and hPi , Qj iN = δij for all i, j ∈ {1, . . . , g}.
This allows us to view A[N ] as Z2g N equipped with the standard symplectic pairing
0 Ig
h·, ·i : Z2g 2g T
N × ZN : (v, w) 7→ v Ωw, Ω= .
−Ig 0
Changing between symplectic bases is done using matrices from the symplectic
group Sp2g (ZN ) = { M ∈ GL2g (ZN ) | M T ΩM = Ω }.
Note that the notion of a symplectic basis of A[N ] depends on the choice of
ζN . If a basis is symplectic with respect to some choice of ζN , then we call it
a generalized symplectic basis. The matrices of base change between generalized
symplectic bases are now taken from the larger group
GSp2g (ZN ) = { M ∈ GL2g (ZN ) | M T ΩM = d(M )Ω for a d(M ) ∈ Z∗N }, (1)
which is known as the generalized symplectic group (its elements are often re-
ferred to as symplectic similitudes). An N -level structure on A is an isomorphism
α : A[N ] → Z2gN such that
5
Lemma 2. Consider Z2g N together with the standard symplectic pairing h·, ·i. Its
number of (N, . . . , N )-subgroups is given by
Y Yg
1
N g(g+1)/2 1+ i .
i=1
`
primes
`|N
Proof. For the second count, consider generators P1 , . . . , Pg of the given sub-
group G and extend to a symplectic basis P1 , . . . , Pg , Q1 , . . . , Qg . The free rank-g
submodules that intersect G trivially each admit a unique basis of the form
for certain aij ∈ ZN and, conversely, every such basis generates a rank-g submod-
ule intersecting G trivially. One checks that the maximal isotropy assumption
∀i, j : hPi0 , Pj0 i = 0 translates into g2 linear conditions on the aij ’s. These con-
ditions can be used to express the aij ’s with i > j in terms of the other aij ’s.
Thus we are left with g 2 − g2 = g(g + 1)/2 degrees of freedom, as wanted.
As for the first count, we start with the case where N = ` is a prime num-
ber. The symplectic group Sp2g (F` ) acts transitively on the set of (`, . . . , `)-
subgroups, and our goal is to compute the size of the unique orbit. This can be
done via the orbit-stabilizer theorem, which indeed yields
g
Y g
Y
1
(`i + 1) = `g(g+1)/2 1+
i=1 i=1
`i
as detailed in [27, §1]. Next, to settle the case N = `n for n > 1, it suffices to
see that the reduction-mod-` map3
6
2.3 The Tate pairing on (products of ) Jacobians
We discuss the Tate pairing on Jacobians, in the sense of Frey and Rück [24, 28],
and its natural extension to products of Jacobians. Let C/K be a curve of genus
g ≥ 1 and let N ≥ 2 be such that char K - N . The Tate pairing is a map
where Pic0K (C) denotes the group of K-rational degree-zero divisors on C modulo
divisors of functions in K(C)∗ , and is defined as follows. Let D1 ∈ Pic0K (C)[N ]
be represented by a divisor D1 and let D2 ∈ Pic0K (C)/N Pic0K (C) be repres-
ented by a divisor D2 with support disjoint from that of D1 . Take a function
fN,D1 ∈ K(C)∗ whose divisor is N D1 . We then let
on abelian varieties A/K that arise as products of Jacobians of such curves: this
is simply obtained by taking the product of the Tate pairings of the respective
components.
over a perfect field K of odd characteristic, where the Gi ’s are quadratic poly-
nomials over K whose product is square-free. Each Gi defines an element Di ∈
Pic0K (C), namely the class of
Di = (αi1 , 0) + (αi2 , 0) − ∞1 − ∞2 ,
7
with αi1 , αi2 ∈ K the two roots of Gi and with ∞1 , ∞2 ∈ C(K) the two points at
infinity. An analysis of L(∞1 +∞2 ) shows that Di is non-principal, so from 2Di =
div(Gi ) we conclude that the Di ’s have order 2. Let us compute t2 (D1 , D2 ).
Replace D1 by the equivalent divisor
for some arbitrary c ∈ K that is not a root of G2 . Then we can take f2,D10 =
G1 /(x − c)2 so that
Gal(L(ζN )/K) = G1 o G2 ,
8
where the action is given by τ` ◦σ1i1 ◦· · ·◦σrir ◦τ`−1 = σ1i1 ` ◦· · ·◦σrir ` . Of course, this
example generalizes to (the Galois closures of) arbitrary multiradical extensions,
as long as char K - N and [L : K] = N r .
Lemma 4 gives a converse statement:
where the first factor is isomorphic to ZrN , say generated by σ1 , . . . , σr , and where
the semi-direct product is according to the rule
Proof. First assume that r = 1 and write σ instead of σ1 . The restricted maps
σ i |L : L → L(ζN ) are pairwise distinct. Indeed, if i, i0 ∈ {0, 1, . . . , N − 1} are
0
such that σ i |L = σ i |L , then
0
σ i−i ∈ Gal(L(ζN )/K(ζN )) ∩ Gal(L(ζN )/L) = {id},
which can only be true if i = i0 . From [41, Lem. 0CKL] it follows that these
restricted maps are linearly independent over L(ζN ). In particular there exists
some β ∈ L such that
N
X −1
i i
α := ζN σ (β)
i=0
is non-zero. From
X X X
i`
τ` (α) = ζN (τ` ◦ σ i )(β) = i`
ζN (σ i` ◦ τ` )(β) = i` i`
ζN σ (β) = α
i i i
it follows that α ∈ L. Now observe that α was constructed in such a way that
−i
σ i (α) = ζN α for i = 0, 1, . . . , N − 1, which has two crucial consequences. On
the one hand, it implies that Gal(L(ζN )/L) is the exact group of automorphisms
fixing K(α), or in other words L = K(α). On the other hand, it implies that
σ(αN ) = σ(α)N = (ζN α)N = αN , so that αN is fixed by the entire Galois group,
i.e., αN ∈ K as wanted.
The general case reduces to the case r = 1, as follows. Each element of our
Galois group Gal(L(ζN )/K) can be written as
σ1i1 ◦ · · · ◦ σrir ◦ τ`
9
obtained by imposing ij = 0 and ` = 1. Defining Lj = L(ζN )Gj , it is easy to
check that L(ζN )Hj = Lj (ζN ) and that the chain of inclusions K ⊆ Lj ⊆ Lj (ζN )
satisfies the hypotheses of the lemma for r = 1. From the first part of our proof,
we conclude that there exists an αj ∈ Lj such that Lj = K(αj ) and αjN ∈ K ∗ .
But from ∩j Gj = Gal(L(ζ)/L) one sees that L is the compositum of the Lj ’s,
from which the lemma follows. t
u
In [12], Charles, Goren and Lauter introduced a hash function based on isogenies
between supersingular elliptic curves. This construction was generalized to work
for Richelot isogenies between superspecial p.p. abelian surfaces in [9], by fixing
an earlier proposal due to Takashima [44], shown to admit trivial collisions by
Flynn and Ti [22]. We give a rough outline of the general construction.
Fix distinct primes p and `, a dimension g, and let Gp,`,g be the directed
multigraph with vertex set V and edge set E, which are constructed as follows.
V consists of all superspecial p.p. abelian varieties over Fp of dimension g up
to isomorphism, which can always be defined over Fp2 [2, Thm. 2.13A]. The
edges emanating from a vertex v ∈ V are the (`, . . . , `)-isogenies with domain
v, one for each (`, . . . , `)-subgroup of v. One can prove that the graph Gp,`,g
is connected [31, Thm. 43], and in the case of supersingular elliptic curves, the
graph is a Ramanujan graph [12]. Unfortunately, this is no longer the case for
dimension g > 1 [31, §10.1], but those graphs seem to exhibit strong expansion
properties nonetheless; see [20] for anQempiric analysis of the case ` = g = 2.
g
From Lemma 2 we see that Gp,`,g is a i=1 (`i + 1)-regular multigraph. One can
try and turn this graph into an undirected graph by considering dual isogenies,
but due to p.p. abelian varieties possibly having non-trivial automorphisms, the
multiplicities of the edges and their duals may not coincide. For a more in-depth
discussion regarding this phenomenon, we refer to [9, §4].
To build a hash function from this graph, we must first fix a superspecial
p.p. abelian variety and will begin a walk in the graph starting from this ver-
tex. From this initial vertex, we label all outgoing edges in some way (e.g., in
lexicographical order with respect to a fixed choice of representation of Fp2 ).
Qg
Out of these i=1 (`i + 1) edges, we only consider the first κ = `g(g+1)/2 and
we walk along the edge that corresponds to the least significant digit of m when
expressed in base κ.4 We have now arrived at a new p.p. abelian variety and
want to avoid any possible backtracking while walking in the graph, so for our
4
There is no real reason why one cannot consider all edges in this first step. Restricting
to only κ choices however streamlines the algorithm.
10
next edge, we should not consider all possible outgoing edges. For elliptic curves,
it suffices to discard the edges corresponding to the dual isogenies [12], but for
g > 1 we must discard all options that have a kernel which intersects the kernel
of the dual isogeny non-trivially [9]. In general, again in view of Lemma 2, this
leaves us with κ possible edges to consider, which correspond to good extensions
of the isogeny corresponding to the first edge we chose. Once again, we label the
κ outgoing edges in some deterministic way and will walk along the one that
corresponds to the second least significant digit of m in base κ. We continue this
until all the digits of the message have been processed. The output of the hash
function is then an invariant of the final p.p. abelian variety we encounter. In
the case of elliptic curves, one can choose the j-invariant for example.
where Symg (ZN ) denotes the set of symmetric g × g matrices with entries in
ZN . Another (overcomplicated) way of arriving at a set with the same moduli
interpretation is by instead letting n = N 2 and considering the group
Γ1,N = M ∈ GSp2g (ZN 2 ) M mod N ∈ HN .
11
whose associated moduli set parametrizes p.p. abelian varieties together with
marked generators Q1 , . . . , Qg of an (N 2 , . . . , N 2 )-subgroup, considered modulo
the following equivalence relation: two such sets of marked generators Q1 , . . . , Qg
and R1 , . . . , Rg are identified if and only if Ri − Qi ∈ hN Q1 , . . . , N Qg i for
i = 1, . . . , g. Note that the points Pi := N Qi do not depend on the chosen
representants Qi , and neither do the cosets Pi0 of Qi modulo hP1 , . . . , Pg i.
0
Said differently, the set Ag (Γ1,N ) parametrizes g-dimensional p.p. abelian
varieties A together with marked generators P1 , . . . , Pg of some (N, . . . , N )-
subgroup G ⊆ A, as well as with marked generators P10 , . . . , Pg0 of an (N, . . . , N )-
subgroup G0 ⊆ A/G which are such that the chain of quotient maps
ϕ ϕ0
A → A0 = A/G → A0 /G0
Remark 5. In the above moduli interpretation, the marked generators Pi0 have
the additional property that
where ϕ̂ : A0 → A is the dual of ϕ. This feature was not explicitly asked for in
the introduction. However, every subgroup G0 ⊆ A0 for which A0 → A0 /G0 is a
good extension of ϕ admits a unique ZN -basis satisfying (4); we call this basis
distinguished. It suffices to concentrate on such bases. Indeed, once we have found
formulae for these distinguished generators, formulae for other sets of generators
can be found by performing a base change, using arithmetic on A0 ,5 and this
should not affect features like multiradicality, completeness and good reduction.
Moreover, it seems reasonable to expect that the formulae for the distinguished
generators will stand out in terms of simplicity (although we did not investigate
this in detail).
0
The multiradical nature of the fibers of Ag (Γ1,N ) → Ag (Γ1,N ) is hinted at by
the following lemma, which invokes the notation d(M ) from (1), in combination
with Lemma 4. Recall that the normal core CoreG (H) of a subgroup H in a
group G is the largest subgroup of H that is normal in G. For use below we
remark that, under the Galois correspondence, this notion corresponds to the
Galois closure of a separable field extension.
In order to state the lemma, we fix any bijection
12
and for all j = 1, . . . , g(g + 1)/2 and 0 ≤ ` < N , gcd(N, `) = 1 we define the
elements
Ig 0 I 0
σj = , τ` = g
N Sk(j) Ig 0 `Ig
of Γ1,N , where S(k1 ,k2 ) denotes the symmetric g×g matrix having a 1 at positions
(k1 , k2 ) and (k2 , k1 ) and 0’s elsewhere.
0
Lemma 6. The group Γ1,N has index N g(g+1)/2 in Γ1,N . Its normal core can
be computed as
0 0
CoreΓ1,N (Γ1,N ) = { M ∈ Γ1,N | d(M ) ≡ 1 mod N }
0 0
which has index ϕ(N ) in Γ1,N . Every element of Γ1,N / Core(Γ1,N ) admits a
unique representant of the form
i
σ1i1 · · · σg(g+1)/2
g(g+1)/2
· τ` (5)
i
{ σjj | 1 ≤ j ≤ g(g + 1)/2, 0 ≤ ij < N } o { τ` | 0 ≤ ` < N, gcd(N, `) = 1 }
∼ g(g+1)/2
= ZN o Z∗N ,
Proof. It is not hard to check that all matrices M ∈ Γ1,N have symmetric lower-
left g × g blocks, i.e., these blocks belong to N Symg (ZN 2 ). A count shows that
the resulting map
Γ1,N → N Symg (ZN 2 )
is uniform (i.e., every element in the codomain has the same number of preim-
0
ages), implying that [Γ1,N : Γ1,N ] = N g(g+1)/2 . As for the normal core, con-
0
jugating Γ1,N with suitable matrices (e.g., one can use the matrices σj ) reveals
that
0 0
CoreΓ1,N (Γ1,N ) ⊆ { M ∈ Γ1,N | d(M ) ≡ 1 mod N }
and since the right-hand side is a normal subgroup of Γ1,N , equality must hold.
Finally, we have
0 0
[Γ1,N : CoreΓ1,N (Γ1,N )] = ϕ(N )
0
because d defines a morphism Γ1,N → Z∗N which is surjective, as can be seen by
evaluating it at the τ` ’s.
0
Now assume that some element of Γ1,N / CoreΓ1,N (Γ1,N ) admits two distinct
decompositions
i i0 i0
σ1i1 · · · σg(g+1)/2
g(g+1)/2 g(g+1)/2
· τ` = σ11 · · · σg(g+1)/2 · τ`0 .
13
Applying d shows that ` ≡ `0 mod N , hence we can assume ` = `0 = 1. We then
find
i −i0 ig(g+1)/2 −i0 I 0
σ11 1 · · · σg(g+1)/2 g(g+1)/2 = Pg(g+1)/2 g . (6)
N j=1 (ij − i0j )Sk(j) Ig
0
But this is contained in Γ1,N only if ij ≡ i0j mod N for all j. In particular, the
expansion (5) is unique. Elements of the form (4) are a full set of representants
0
of Γ1,N / CoreΓ1,N (Γ1,N ) because there are ϕ(N )N g(g+1)/2 such expansions.
The statement about the semi-direct product is easy to check using (6). t u
We now give more details on how Lemma 6 supports the existence of mul-
tiradical isogeny formulae, although we stress that the discussion below is partly
heuristic. A major ingredient is that the sets Ag (H) are representable by al-
gebraic varieties over Q.6 Indeed, results by Artin and Faltings–Chai show that
the corresponding moduli spaces exist as schemes over Z[1/N ], see [19, §I.4];
it then follows from Geometric Invariant Theory that these spaces are quasi-
projective [36, Thm. 7.9]. Consequently, the chain
0
Ag ({id}) → Ag (Γ1,N ) → Ag (Γ1,N ) → Ag (GSp2g (ZN 2 ))
where the outer extension is Galois, with Galois group GSp2g (ZN 2 ), and where
Q(Ag (Γ1,N )), resp. Q(Ag (Γ1,N
0 0
)), are the subfields fixed by Γ1,N , resp. Γ1,N . This
extrapolates upon well-known statements from the elliptic curve case, which can
be found in [15, 37, 39], for instance. The middle inclusion has Galois closure
0
Q(Ag ({id}))CoreΓ1,N (Γ1,N )
14
3.2 Conjectured existence of multiradical isogeny formulae
As we have discussed in the introduction, it only makes sense to talk about
multiradical isogeny formulae at the level of concrete families that come equipped
with formulae of Vélu, Richelot, . . . type for the codomain p.p. abelian varieties.
Let us therefore repeat, in more detail, our main surmise from Conjecture 1.
For integers r, g ≥ 1, N ≥ 2, we consider a smooth family of g-dimensional p.p.
abelian varieties As equipped with marked points Ps,1 , . . . , Ps,g that generate an
(N, . . . , N )-subgroup Gs ⊆ As , where the parameter s = (s1 , . . . , sr ) ranges over
some quasi-affine subset S ⊆ Ar . We assume that we have algebraic formulae
at our disposal, explicitly describing A0s = As /Gs in terms of the si . Then we
believe that there always exist accompanying multiradical formulae, producing
0 0
a set of generators Ps,1 , . . . , Ps,g of an (N, . . . , N )-subgroup G0s ⊆ A0s which is
such that the extension
ϕ ϕ0
As −→ A0s = As /Gs −→ A0s /G0s
is good. Moreover, we believe that the formulae can be chosen such that they
are complete, and such that they work over any perfect field over which the
parametrization by S makes sense.
The radicands ri appearing in these formulae should be related to the func-
tions ρi from the previous section, as follows. As before, assume we are working
over Q. By the universal property of moduli spaces, we have a natural morphism
σ : S → Ag (Γ1,N ), sending s to the isomorphism class of (As , Ps,1 , . . . , Ps,g ). This
allows us to pull back the functions ρi ∈ Q(Ag (Γ1,N )) to Q(S); here we assume
that the image of S is not included in the polar locus of ρi . These pull-backs
should be our ri ’s. Explicitly,
Remark 7. Our formulae should make sense at every point of S, therefore the
functions r1 , . . . , rg(g+1)/2 should be free of poles. In view of the completeness,
they should also be free of zeroes.
may not be of degree N g(g+1)/2 . Indeed, when pulled back along σ, several of the
radicands ρi may become interrelated. In such cases it is tempting to compress
the formulae into versions that use fewer radicals, but then the completeness
15
property gets lost. For instance, in the example in Section 4.3 below, as many
as g(g − 1)/2 radicands collapse to√the constant 1; nevertheless one should allow
the corresponding occurrences of N 1 to range independently over the set of N th
roots of unity if one wants to find all N g(g+1)/2 good extensions.
This is motivated, again, by our examples below, and by the following observa-
tion. For each 1 ≤ i ≤ j ≤ g, choose a representant ri,j of tN (Ps,i , Ps,j ). Let
Q(S)(G0s ) denote the field obtained from Q(S) by adjoining the coordinates of
0 0 0
Ps,1 , . . . , Ps,g . As discussed in Remark 5, we can assume that ϕ̂(Ps,i ) = Ps,i for
all i. This implies that
0 0 0 0
ri,j = tN (ϕ̂(Ps,i ), ϕ̂(Ps,j )) = tN (Ps,i , Ps,j )N
4 Examples
16
4.1 Elliptic curves
Consider the family of elliptic curves E with a marked point P ∈ E of order N .
For N ≥ 4 this family is conveniently parametrized by the Tate normal form:8
and P has exact order N ; we refer to [43] for how to obtain a concrete equation
for S, which is a model of the modular curve Y1 (N ) and which is naturally
defined over Z[1/N ]. The existence of radical and complete isogeny formulae
was discussed in [10], where it was argued that one can take r1 = fN,P (−P ),
with fN,P the function on E with divisor N (P ) − N (∞), normalized such that
its expansion at ∞ with respect to the uniformizer x/y has leading coefficient 1.
As mentioned there, r1 is a representant of tN (P, −P ) = tN (P, P )−1 , so in order
to enforce property (4), one should instead work with r−11 . This does not cause
any issues because r1 has no zeroes or poles on S; see also Remark 7.
For the sake of example, let us revisit the√case N = 5, where we have r1 = b
and S = { (b, c) ∈ A2 | b = c, b 6= 0, (11 ± 5 5)/2 }. Vélu’s formulae yield the
following defining equation for E 0 = E/hP i:
17
equipped with the divisor classes D1 , D2 from Example 3. Here ∆ is cut out by
the discriminant of G1 (x)G2 (x)G3 (x). The parametrization works over Z[1/2].
We claim that we can take r1 = resx (G2 , G3 ), r2 = resx (G1 , G3 ) and r3 =
resx (G1 , G2 ). By Example 3 we know that
t2 (D1 , D1 ) ≡ r2 r3
t2 (D1 , D2 ) ≡ r3
t2 (D2 , D2 ) ≡ r1 r2
modulo squares, so the validity of property (4) is not affected by our choice of
√ √ √
radicands. Indeed, formulae in terms of r1 , r2 , r3 can easily be rewritten
√ √ √
into formulae in terms of r2 r3 , r3 , r1 r2 , and vice versa.
To proceed, we slightly shrink S by removing the zero locus of the determin-
ant δ = |si,j |1≤i,j≤3 . This guarantees that the p.p. abelian surface JC /hD1 , D2 i is
again a Jacobian. More precisely, Richelot’s formulae show that it is isomorphic
to JC 0 with
C 0 : δy 2 = H1 (x) · H2 (x) · H3 (x),
where H1 := G02 G3 − G2 G03 , H2 := G03 G1 − G3 G01 and H3 := G01 G2 − G1 G02 .
The reader can verify that disc(Hi ) = 4ri , so the two zeroes of Hi are algebraic
√
expressions in ri and in the sij ’s, and they are obtained from one another
by choosing the other square root of ri ; denote these two zeroes by α±i . Then
according to [9, Prop. 2] the classes of
Remark 9. One could also try and study the complementary case, namely the
restriction S0 of S to the zero locus of δ. In this case JC /hD1 , D2 i geomet-
rically splits as a product of two elliptic curves. Concrete equations for these
elliptic curves can be found in [40, p. 119]. The reader can check that they are
defined over the field obtained by adding a square root of discz (discx (G2 + zG3 ))
which, interestingly, turns out to be 16r1 . However, for a genuine verification
of Conjecture 1, one would need a model of JC /hD1 , D2 i over Q(S0 ) rather
√
than Q(S0 )( r1 ). This model concerns the Weil restriction to Q(S0 ) of an el-
√
liptic curve defined over Q(S0 )( r1 ), which is not easy to describe explicitly; see
also [4].
18
following kind: each Di is a g-tuple with ∞Ej at entry j, except when j = i
where we then have a point Pi ∈ Ei of order N . Assuming N ≥ 4, such marked
products are naturally parametrized by S g ⊆ A2g , with S the modular curve
Y1 (N ) from Section 4.1. Note that the corresponding (N, . . . , N )-isogenies split
completely, i.e., they are of the form
Φ : E1 × . . . × Eg → E10 × . . . × Eg0 ,
Lemma 10. Let E be an elliptic curve over a perfect field K with char K - N
and let P ∈ E(K) be a point of order N . Let φ : E → E 0 = E/hP i be the
corresponding quotient isogeny, where E 0 is given by Vélu’s formulae. Let P 0 be
a generator of the dual isogeny. Then there exist polynomials F, G, H ∈ K[z]
such that
k
[F (ζN k
) : G(ζN k
) : H(ζN )] = kP 0
for all 0 ≤ k ≤ N − 1.
Proof. The Weil pairing gives a group isomorphism between ker φ̂ and µN that
is compatible with the action of Gal(K/K). In particular P 0 has coordinates in
K(ζN ). Define F (z) to be the classical Lagrange polynomial that interpolates
the x-coordinates of kP 0 for 0 ≤ k ≤ N − 1. More precisely,
N
X −1 Y m
z − ζN
F (z) = x(kP 0 )`k (z), with `k (z) = k − ζm
.
k=0
ζ
0≤m≤N −1 N N
m6=k
Then it suffices to show that for any σ ∈ Gal(K(ζN )/K) it holds that F (z) =
F σ (z). Note that σ : ζN 7→ ζN
a
for some a coprime to N . One verifies that
Y am
z − ζN Y m
z − ζN
`σk (z) = ak − ζ am
= ak − ζ m
= `ak (z).
ζ
0≤m≤N −1 N N ζ
0≤m≤N −1 N N
m6=k m6=ak
19
Furthermore, we can assume that the x-coordinates of the points of ker φ̂ within
the same Galois orbit were chosen compatibly, i.e. σ(x(kP 0 )) = x(σ(kP 0 )) for
all σ ∈ Gal(K(ζN )/K) and for all 0 ≤ k ≤ N − 1. Then because of the afore-
mentioned isomorphism we must have σ(x(kP 0 )) = x(akP 0 ), such that indeed
F (z) = F σ (z) as wanted. An analogous argument applies to the polynomials G
and H. t
u
√
0 N
We also know that, for each i = 1, . . . , g, there exists a formula Qi ( ri )
producing a point Q0i that extends Pi0 to a basis of Ei0 [N ]. Furthermore, we know
√ k
that by scaling N ri with ζN for 0 ≤ k ≤ N − 1, we cycle through all elements
Q0i + kPi0 .
We are ready to give multiradical and complete formulae that produce g-
tuples D10 , . . . , Dg0 ∈ E10 × · · · × Eg0 generating the kernel of a good extension Ψ
of Φ. Fix √ √ √
D10 = (Q01 ( N r1 ), P20 ( 1 ), . . . , Pg0 ( 1 )),
N N
where we fixed the first coordinate at ∞E10 in order to avoid repetitions in the
subgroups generated by D10 and D20 . This results in g − 1 degrees of freedom.
Continuing this inductively, we end up with
√
Dg0 = (∞E10 , . . . , ∞Eg−1
0 , Q0g ( N rg ))
Pg
with only 1 degree of freedom left. In total, we have j=1 j = g(g + 1)/2 degrees
of freedom as wanted, and running through all √ possible interpretations of the
radicals (including the g(g − 1)/2 occurrences of N 1 ) provides the kernels of all
possible good extensions.
20
p 2ζ 3 −6ζ 2 −4ζ −2
where T1 , T2 ∈ JC [5]. Writing γ2 = 2(1/γ1 − 1) = 5 55 5 ∈ Q(ζ5 ),
the genus-2 curve associated with the isogenous abelian surface obtained by
quotienting out hT1 , T2 i can be written as
where hTe1 , Te2 i is the kernel of the dual isogeny (in particular, Te1 , Te2 ∈ JCe [5]). In
order to extend hTe1 , Te2 i to a basis for the 5-torsion of the Jacobian of C, e with
conjectured property (4) in mind we compute the following Tate pairings:
21
A similar computation can be done for the other coefficients of the Mumford
coordinates, which allows us to define
α24 − (ζ5 + 1)2 α23 − (ζ54 + 1)α22 + (ζ53 − 2ζ5 − 2)α2
Te3 = x2 + 100 3 2
+ 1 x+
γ1 ζ5 (ζ5 + 1)
10α24 − 2(ζ5 − 1)2 α23 − 2(7ζ53 + 11ζ52 + 7ζ5 )α22 + 10(ζ53 − 2ζ5 − 2)α2
500 3 2
+1 ,
γ1 ζ5 (ζ5 + 1)
100 (7ζ52 − ζ5 + 7)α24 − (2ζ53 + 5ζ52 + 2ζ5 )α23 + (7ζ53 + 5ζ5 + 5)α22 −
(6ζ53 + 7ζ52 + 7ζ5 + 6)α2 − 7 x + 5000 − (3ζ52 + 3ζ5 + 3)α24 −
!
(2ζ53 − ζ52 + 2ζ5 )α23 + (ζ53 − ζ5 − 1)α22 + (6ζ53 + 3ζ52 + 3ζ5 + 6)α2 − 5 ,
√
where α2 = 5 r2 . One can easily verify that Te3 ∈ JCe [5] \ hTe1 , Te2 i. The expression
for a fourth element Te4 that completes a basis for Jac(C)[5]e is too voluminous
to reproduce here, but can be found online in our repository at https://gith
ub.com/KULeuven-COSIC/Multiradical-Isogenies. From this basis, the 125
maximal isotropic (5, 5)-subgroups that determine a kernel which intersects the
kernel of the dual isogeny trivially can easily be computed.
δ1 = t,
δ2 = s,
δ3 = st + 1,
δ4 = r3 − 3rt + t2 + t,
δ5 = r3 s − 3rst + st2 + st + t,
δ6 = r3 s2 − 3rs2 t − 3rs + s2 t2 + s2 t + 2st + s + 1,
δ7 = r3 s2 t + r3 s − 3rs2 t2 − 3rst + s2 t3 + s2 t2 + 2st2 + t,
∆ = r6 s2 − 6r4 s2 t − 3r4 s + 2r3 s2 t2 + 2r3 s2 t + 3r3 st + r3 s + r3
+ 9r2 s2 t2 + 6r2 st − 6rs2 t3 − 6rs2 t2 − 9rst2 − 3rst − 3rt + s2 t4
+ 2s2 t3 + s2 t2 + 2st3 + 3st2 + t2 + t
10
Note that [5] define δ1 = s and δ2 = t, so some care is needed when comparing our
formulae with the ones from this reference.
22
and also of r − 1, r2 − t and rs − st − 1 (we don’t give a name to these last three
polynomials since their role is less essential, see Remark 12 below). Following
Bruin, Flynn and Testa [5], to r, s, t we then attach the genus-2 curve Crst : y 2 =
Frst (x), where
Frst (x) = G1 (x)2 + λ1 H1 (x)3 = G2 (x)2 + λ2 H2 (x)3
and
H1 (x) = x2 + rx + t,
λ1 = 4s,
G1 (x) = (s − st − 1)x3 + 3s(r − t)x2 + 3sr(r − t)x − st2 + sr3 + t,
H2 (x) = x2 + x + r,
λ2 = 4st,
G2 (x) = (s − st + 1)x3 + 3s(r − t)x2 + 3sr(r − t)x − st2 + sr3 − t.
One can calculate that disc(Frst ) = −212 36 δ13 δ23 δ3 δ43 δ5 δ63 δ73 6= 0, so Crst is a
genus-2 curve. We write Jrst for the Jacobian of Crst .
Proposition 11. For i = 1, 2, write Ti ∈ Jrst (K) for the divisor class of
(Hi , Gi ) := (αi1 , Gi (αi1 )) + (αi2 , Gi (αi2 )) − ∞1 − ∞2 ,
where αi1 , αi2 ∈ K denote the zeroes of Hi (x). Then hT1 , T2 i is a maximal
isotropic subgroup of Jrst , and the quotient Jrst /hT1 , T2 i is isomorphic over K
(−3)
to the Jacobian Jr0 s0 t0 of the genus-2 curve
(−3)
Cr0 s0 t0 : −3y 2 = Fr0 s0 t0 (x)
where (r0 , s0 , t0 ) = ψ0 (r, s, t) :=
−s(r − 1)(r2 − t)(δ5 − r) (rs − st − 1)3 δ42 s2 (r − 1)3 (r2 − t)3
2
, 3
, 3 2 .
(rs − st − 1) δ4 st(r − 1) ∆ (rs − st − 1) δ4
Writing Fr0 ,s0 ,t0 (x) = G01 (x)2 + λ01 H10 (x)3 = G02 (x)2 + λ02 H20 (x)3 as above, the
kernel of the dual isogeny is generated by the corresponding points Ti0 , by which
we mean the divisor classes of
√ √ √
0
(Hi0 , G0i / −3) = (αi1 , G0i (αi1
0 0
)/ −3) + (αi2 , G0i (αi2
0
)/ −3) − ∞1 − ∞2 ,
0 0
with αi1 , αi2 ∈ K the zeroes of Hi0 (x), for i = 1, 2.
Proof. This follows from [5, Thm. 6 & Lem. 10]. t
u
We call (Hi , Gi ) the Mumford coordinates of Ti , because of the clear analogy with
the Mumford coordinates in the case of hyperelliptic curves with an imaginary
Weierstrass model, i.e., with a unique place at infinity.11
11
For an even better analogy, one should reduce the degree of the second component
by writing (Hi , Gi mod Hi ).
23
All sufficiently general triples (C, T1 , T2 ) with C a genus-2 curve and T1 , T2
generating a (3, 3)-subgroup of JC are reached by the above parametrization.
One exception is where the effective parts of (the natural representants of) the
divisor classes corresponding to the generators T1 , T2 have non-disjoint supports.
This is how one should understand the role of r − 1, r2 − t, rs − st − 1: if any one
of these expressions is zero, then one can still consider Crst , T1 , T2 as above,12
but the formulae of [5] will produce generators of the kernel of the dual isogeny
that have non-disjoint supports.
Remark 12. While for certain curves the parametrization misses certain pairs
T1 , T2 generating a (3, 3)-subgroup, every (3, 3)-subgroup is reached. Indeed, by
[5, Lem. 3] in combination with the paragraph preceding [5, Thm. 6], at least
one choice of basis with generators from {T1 , T2 , T1 + T2 , T1 − T2 } will be in
sufficiently general form.
Proposition 13. Let C be a genus-2 curve over a perfect field K with char K -
6, and J the Jacobian of C. If J is (3, 3)-isogenous to a product of elliptic curves
E1 × E2 , then there exist elements a, b, c, d, t ∈ K with
12ac + 16bd = 1, ∆1 = a3 + b2 6= 0, ∆2 = c3 + d2 6= 0, t 6= 0,
24
The corresponding morphisms ϕi : Cabcdt → Ei,abcdt are given by
−2dx + c 16dx3 − 12cx2 − 1
ϕ1 (x, y) 7→ 12∆1 3 , y∆1 3 ,
x + 3ax + 2b (x + 3ax + 2b)2
2 3
x (ax − 2b) x + 12ax − 16b
ϕ2 (x, y) 7→ 12∆2 3 2
, y∆2 3 2 2
.
2dx + 3cx + 1 (2dx + 3cx + 1)
The second situation where the codomain of a (3, 3)-isogeny with domain E1 ×E2
is again a product of elliptic curves, is the relatively rare occurrence when there
exists a 2-isogeny θ : E1 → E2 . In this case, the isogeny is the endomorphism
φ : E1 × E2 → E1 × E2
(P, Q) 7→ (P + θ̂(Q), −Q + θ(P )),
with kernel the graph of the 2-isogeny θ|E1 [3] , see for example [23, §1].
In all other scenarios, (E1 × E2 )/hT1 , T2 i is the Jacobian of a genus-2 curve,
where the kernel is the graph of an anti-isometry with respect to the 3-Weil
pairing (see for example [16, Prop. 5.6] or [32, Thm. 3]). By this we mean that
25
there exists an isomorphism ψ : E1 [3] → E2 [3] such that e3 (ψ(P ), ψ(Q)) =
e3 (P, Q)−1 for all P, Q ∈ E1 [3]. The formulae in this case are simply the dual
isogenies of the split Jacobians in Proposition 13.
Of the 40 (3, 3)-isogenies with domain E1 × E2 , generically there are 16 with
codomain a product of elliptic curves, and 24 with codomain the Jacobian of
a genus-2 curve. The only exception to this is by means of an aforementioned
2-isogeny θ : E1 → E2 .
In view of the conjectured property (4), let us compute the relevant Tate pair-
ings. The reader might want to compare the following lemma with the Weil
pairing computation from [5, Lem. 4].
Lemma 15. Let
C : y 2 = G21 + λ1 H13 = G22 + λ2 H23
be a genus-2 curve over K with G1 , G2 , H1 , H2 ∈ K[x] and H1 , H2 quadratic,
and consider the corresponding points T1 = (H1 , G1 ), T2 = (H2 , G2 ) ∈ JC [3].
Then t3 (T1 , T2 ) ≡ resx (G1 − G2 , H2 )/λ1 .
Proof. Write α11 , α12 , resp., α21 , α22 , for the roots of H1 (x), resp., H2 (x). It is
easy to check that G1 (x) − y has divisor 3(H1 , G1 ); however, in order to move
away from infinity, as we did in Example 3, we instead work with (G1 (x)−y)/(x−
c)3 for some c ∈ K that is different from α21 , α22 . Evaluating this function in
(H2 , G2 ) yields
(G1 (α21 ) − G2 (α21 )(G1 (α22 ) − G2 (α22 ))
t3 (T1 , T2 ) ≡ − ≡ resx (G1 − G2 , H2 )/λ1
(α21 − c)3 (α22 − c)3 λ1 lc(H1 )3
modulo (K ∗ )3 . t
u
Applying this to our instances of T1 , T2 , one checks that resx (G1 −G2 , H2 )/λ1
equals δ4 /δ2 . As for the other pairings: Bruin, Flynn and Testa have also provided
an explicit Mumford representation (H3 , G3 ) for T3 := T1 + T2 , see [5, Thm. 6],
and the analogous computations yield t3 (T1 , T3 ) ≡ δ72 and t3 (T3 , T2 ) ≡ δ1 δ62 .
From these outcomes it follows that
26
which does not affect the validity of property (4). Indeed, formulae in terms
√ √ √ √
of
p
3
r1 , 3 r2 , p
3
r3 can easily
p be rewritten into p formulae in terms of 3 r1 r2 =
3
√
t3 (T1 , T1 ), 3 1/r2 = 3 t3 (T1 , T2 ), 3 r2 r3 = 3 t3 (T2 , T2 ), and vice versa.
The good extensions of (8) are characterized by the fact that their kernel
intersects the kernel hT10 , T20 i of the dual isogeny trivially. In order to find such
kernels, we are first and foremost interested in extending T10 , T20 to a basis of the
3-torsion. To this end, we try to find all b1 , . . . , b7 such that
where the fk (b4 ) are polynomials of degree 18, and the βi are the (necessarily
rational) solutions corresponding to {iT10 + jT20 : 0 ≤ i, j ≤ 2} \ {0}. These βi
appear in pairs, which on the level of divisors coincides with the correspondence
between D and −D, and for the same reason one can see that the polynomials
fk ought to be even. We will write fk0 (b4 ) for the polynomial obtained by halving
the exponents of the monomials of fk (b4 ).
13
Performing a straightforward Gröbner basis computation in Q[r, s, t, b1 , . . . , b7 ] will
quickly result in memory issues. Instead, one can first transform Fr0 s0 t0 to the more
generic form x6 + ax4 + bx3 + cx2 + dx + e to suppress the high degrees of r0 , s0 , t0 .
Next, one can compute the Gröbner basis over Fp [a, b, c, d, e, b1 , . . . , b7 ] for many p,
then lift the solution to Q[a, b, c, d, e, b1 , . . . , b7 ] with the Chinese remainder theorem.
27
One can verify that the polynomials fk0 (b4 ) ∈ Q(r, s, t)[b4 ] all have Galois
group (Z3 × Z3 ) o Z∗3 , but the action of Z∗3 originates from a cubic root of unity,
√
and their Galois groups over Q(r, s, t, ζ3 ) are thus Z3 × Z3 . Writing α1 = 3 r1 ,
√ √
α2 = 3 r2 , α3 = 3 r3 , it turns out that they split completely when extending
the field Q(r, s, t, ζ3 ) with {α1 , α2 }, {α1 , α3 }, {α2 , α3 } or {α1 α2 , α1 α3 }. All roots
of one specific fk0 (b4 ) can be obtained from a single given root, by scaling the
cubic roots with powers of ζ3 . On the level of divisors, these associated roots
correspond to adding a linear combination of T10 and T20 . More precisely, if xk
denotes a root of fk0 (b4 ), we can make the following identification:
(−3)
for any T30 , T40 that extend hT10 , T20 i to a basis of Jr0 s0 t0 [3]. This correspondence can
be seen from the fact that all fk0 (b4 ) split over different fields, yet T10 and T20 are ra-
tional over the ground field. Furthermore, for any fixed choice of i, j, k ∈ {0, 1, 2},
any two distinct divisors from this correspondence coinciding with the choice
of ζ3i α1 , ζ3j α2 , ζ3k α3 generate a (3, 3)-subgroup that intersects hT10 , T20 i trivially.
Hence, to find the 27 (up to sign) distinct b4 that correspond to a (3, 3)-subgroup
which is the kernel of a good extension relative to the original isogeny, it suffices
to scale the radicands with cubic roots of unity.
In the appendix, we have included two expressions for b4 which we believe
are the easiest amongst the b4 in terms of arithmetic. Alternatively, the formulae
can also be extracted from the code of our hash function from Section 6, which
can be found in our online repository at https://github.com/KULeuven-CO
SIC/Multiradical-Isogenies. One can derive closed algebraic expressions
for bi in function of b4 for i ∈ {1, 2, 3, 5, 6, 7}. However, in practice, it is more
efficient to only partially do this for the easier expressions, and the remainder
by means of a small Gröbner basis computation. Finding the 27 distinct pairs of
tuples (b1 , . . . , b7 ) corresponding to good extensions is done by simply scaling the
radicands in the expressions of the b4 with cubic roots of unity before computing
the rest of the bi .
√
Remark 16. Observe that our formulae involve a factor −3 (called twist), but
this factor disappears when considering the corresponding Mumford coordinates.
Iterated application. Using this new (3, 3)-subgroup hT30 , T40 i as kernel for a
new isogeny is easiest if we first transform Cr0 s0 t0 into an isomorphic curve CRST ,
where T30 and T40 have now taken the role of the T1 and T2 from Section 5.1 again.
This isomorphism allows us to only need to perform the rational transformation
ψ0 (R, S, T ) from Proposition 11 to compute the next isogenous curve. To find
this isomorphism, one can use the construction of [5] that has been implemented
28
in Magma in [22]. This construction makes use of somewhat expensive field
extensions though, and in practice, a Gröbner basis computation is more efficient.
We can use the (3, 3)-isogenies from the previous section to construct a hash
function similar to the hash function from [9]. We start by describing a general
outline, then present a more in-depth discussion regarding choices that must be
made.
For a large prime p, we denote the (directed multi-)graph Gp,3,2 from Section 2.5
as Gp and recall its construction. The vertices are all the Fp2 -isomorphism classes
of superspecial p.p. abelian surfaces, which can always be defined over Fp2 . In
practice we assume p ≡ 2 mod 3 and work with representants A/Fp2 on which
Frobenius acts as multiplication with −p; see [2]. A consequence of this choice is
that A[3] ⊆ A(Fp2 ); indeed, on 3-torsion points Frobenius acts as multiplication
by −p ≡ 1 mod 3. The edges are all possible (3, 3)-isogenies between these p.p.
abelian surfaces (in the sense of Section 2.5), where multiplicities need to be
taken into account. Given that only the superspecial surfaces are considered,
the graph Gp is a directed 40-regular finite multigraph. In order to hash a given
message in this graph, we first choose an arbitrary — yet fixed — starting vertex.
Next, we order the 40 outgoing edges from this vertex according to some fixed
order (e.g., lexicographic), and choose the first 27 to continue with. The message
that needs to be hashed is then converted into a base-3 number, of which the
digits are called trits. We choose to walk along the edge that corresponds to
the three least significant trits of the message towards the next vertex. At this
vertex, we consider the 27 outgoing edges that correspond to (3, 3)-isogenies
whose kernel intersect the kernel of the dual of the previous isogeny trivially.
Now we follow the edge that corresponds to the next three trits of the message.
By excluding the other 13 (3, 3)-isogenies, we avoid trivial cycles in our path by
not (partially or fully) backtracking. This process is repeated until the entire
message has been hashed. As output, an invariant of the resulting p.p. abelian
surface is then returned.
Given that we will have to compute cubic roots in the computations, p should
ideally be chosen such that the valuation of p2 − 1 at 3 is 1 in order to speed
up the computations. In combination with our assumption p ≡ 2 mod 3, this
means we want p ≡ 2, 5 mod 9. Of course, we want p large enough to provide
ample security. The graph Gp was proven to be connected, see for example [31,
Thm. 43]. Even though the graph is not Ramanujan, in the (2, 2)-case it still
exhibits strong expander properties so we assume this to be the case for (3, 3)-
isogenies as well. The set of edges of the graph is of size O(p3 ), of which the
majority consists of p.p. abelian surfaces corresponding to Jacobians of genus-2
curves, and only O(p2 ) corresponding to products of elliptic curves.
29
√
Remark 17. Since p2 ≡ 1 mod 3 we have −3 ∈ Fp2 . Consequently, we can
ignore the twisting factor −3 from Proposition 11 and identify Jrst /hT1 , T2 i √
with
Jr0 s0 t0 . This comes at the (negligible) expense of carrying an extra factor −3
in our multiradical isogeny formulae (called twist in our code); see Remark 16.
30
take one more step in the graph without processing information, to a vertex
corresponding to the Jacobian of a genus-2 curve again. Alternatively, if one
only wants an output of the same length as there is entropy, one needs to choose
a function to reduce both the absolute Igusa invariants as well as the pair of
j-invariants to something of size 3 log p.
6.4 Implementation
We implemented our (3, 3)-hash function in Magma (version 2.26-1) and ran it
on an Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz with 128 GB of memory.
For every prime size considered we averaged the computation times over 100
random inputs of 1000 bits. A summary of our timed results can be found in
the following table, where we included the timings of the (2, 2)-hash function
from [9] for comparison. The security claims in the table are the same as in [9,
§7.4] and to the best of our knowledge, no advancements have been made in
that area. In particular, the best known classical attack is based on the general
Pollard-ρ attack, whereas the best known quantum attack is based on Grover’s
claw-finding algorithm.
To understand why the (3, 3)-hash function scales much better than the (2, 2)-
hash function, we take a look at the decomposition of the computation cost in
the following table.
31
Furthermore, the valuation of p2 − 1 at N determines the complexity of
finding an N th root of an element in Fp2 , see for instance [17, Thm. 1]. One can
choose p such that 9 - p2 − 1 but at the very least we always have 8 | p2 − 1,
which means cubic roots can be computed significantly faster than square roots.
In practice, Magma can compute cubic roots over Fp2 faster than square roots
with a factor of about 2.7 for large enough p.
Additionally, for every three computed roots, the (3, 3)-hash function can
process 3 trits, whereas the (2, 2)-hash function can only process 3 bits. Asymp-
totically we can thus expect the (3, 3)-hash function to outperform the (2, 2)-hash
function by a total factor of 2.7 · (3/2)3 ≈ 9. For Fp2 with p = 21024 + 643 for
example, we see that (2, 2)-hashing a 100-bit message takes about 20.4 seconds,
whereas (3, 3)-hashing a 100-bit message takes about 2.26 seconds.
References
[1] Iurie Boreico. My favorite problem – linear independence of radicals. In The
Harvard College Mathematics Review, volume 2, pages 87–92. 2008.
[2] Bradley W. Brock. Superspecial curves of genera two and three. PhD thesis,
Princeton University, 1993.
[3] Reinier Bröker, Everett W. Howe, Kristin E. Lauter, and Peter Stevenhagen.
Genus-2 curves and Jacobians with a given number of points. LMS Journal of
Computation and Mathematics, 18(1):170–197, 2015.
[4] Nils Bruin and Kevin Doerksen. The arithmetic of genus two curves with (4, 4)-
split Jacobians. Canadian Journal of Mathematics, 63(5):992–1021, 2011.
[5] Nils Bruin, E. Victor Flynn, and Damiano Testa. Descent via (3, 3)-isogeny on
Jacobians of genus 2 curves. Acta Arithmetica, 165(3):201–223, 2014.
[6] Peter Bruin. The Tate pairing for abelian varieties over finite fields. Journal de
Théorie des Nombres de Bordeaux, 23(2):323–328, 2011.
[7] Frank Calegari, Shiva Chidambaram, and David P. Roberts. Abelian surfaces with
fixed 3-torsion. In Proceedings of ANTS-XIV, volume 4 of Open Book Series, pages
91–108. Mathematical Sciences Publishers, 2020.
[8] David G. Cantor. On the analogue of the division polynomials for hyperelliptic
curves. Journal für die reine und angewandte Mathematik, 447(1994):91–146,
1994.
[9] Wouter Castryck, Thomas Decru, and Benjamin Smith. Hash functions from
superspecial genus-2 curves using Richelot isogenies. Journal of Mathematical
Cryptology, 14(1):268–292, 2020.
[10] Wouter Castryck, Thomas Decru, and Frederik Vercauteren. Radical isogenies. In
Proceedings of Asiacrypt 2020 Part II, volume 12492 of Lecture Notes in Computer
Science, pages 493–519. Springer, 2020.
[11] Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny, and Joost
Renes. CSIDH: An efficient post-quantum commutative group action. In Pro-
ceedings of Asiacrypt 2018 Part III, volume 11274 of Lecture Notes in Computer
Science, pages 395–427. Springer, 2018.
[12] Denis X. Charles, Kristin E. Lauter, and Eyal Z. Goren. Cryptographic hash
functions from expander graphs. Journal of Cryptology, 22(1):93–113, 2009.
[13] Daniel Coray and Constantin Manoil. On large Picard groups and the Hasse
principle for curves and K3 surfaces. Acta Arithmetica, 76:165–189, 1996.
32
[14] Jean-Marc Couveignes. Hard homogeneous spaces. Cryptology ePrint Archive,
available at https://eprint.iacr.org/2006/291, 2006.
[15] Pierre Deligne and Michael Rapoport. Les schémas de modules de courbes ellipt-
iques. In Modular functions of one variable, II (Proceedings of the International
Summer School, University of Antwerp, 1972), volume 349 of Lecture Notes in
Mathematics, pages 143–316. Springer, 1973.
[16] Martin Djukanović. Families of (3, 3)-split jacobians. Cornell University arXiv,
available at https://arxiv.org/abs/1811.10075, 2018.
[17] Javad Doliskani and Éric Schost. Taking roots over high extensions of finite fields.
Mathematics of Computation, 83(285):435–446, 2014.
[18] Kirsten Eisenträger, Sean Hallgren, Kristin Lauter, Travis Morrison, and Chris-
tophe Petit. Supersingular isogeny graphs and endomorphism rings: reductions
and solutions. In Proceedings of Eurocrypt 2018, volume 10822 of Lecture Notes
in Computer Science, pages 329–368. Springer, 2018.
[19] Gerd Faltings and Ching-Li Chai. Degeneration of Abelian Varieties, volume 22
of Ergebnisse der Mathematik und ihrer Grenzgebiete 3. Folge. Springer, 1990.
[20] Enric Florit and Benjamin Smith. Automorphisms and isogeny graphs of abelian
varieties, with applications to the superspecial Richelot isogeny graph. Cornell
University arXiv, available at https://arxiv.org/abs/2101.00919, 2020.
[21] E. Victor Flynn. Descent via (5, 5)-isogeny on Jacobians of genus 2 curves. Journal
of Number Theory, 153:270–282, 2015.
[22] E. Victor Flynn and Yan Bo Ti. Genus two isogeny cryptography. In Proceedings
of PQCrypto 2019, volume 11505 of Lecture Notes in Computer Science, pages
286–306. Springer, 2019.
[23] Gerhard Frey and Ernst Kani. Curves of genus 2 covering elliptic curves and
an arithmetical application. In Proceedings of Arithmetic Algebraic Geometry,
volume 89 of Progress in Mathematics, pages 153–176. Springer, 1991.
[24] Gerhard Frey and Hans-Georg Rück. A remark concerning m-divisibility and the
discrete logarithm in the divisor class group of curves. Mathematics of Computa-
tion, 62(206):865–874, 1994.
[25] Steven D. Galbraith, Sachar Paulus, and Nigel P. Smart. Arithmetic on superel-
liptic curves. Mathematics of Computation, 71(237):393–405, 2002. (The cited the-
orem refers to a preliminary version of this paper, published as Hewlett-Packard
Labs technical report HPL-98-179, available at https://www.hpl.hp.com/techr
eports/98/HPL-98-179.pdf).
[26] Pierrick Gaudry and Éric Schost. Modular equations for hyperelliptic curves.
Mathematics of Computation, 74(249):429–454, 2005.
[27] Genevieve Hanlon. Counting points in Sp(2n, Fq )/maximal parabolic subgroup.
Course notes available at http://www-math.mit.edu/~dav/symplectic parabol
ic.pdf, 2005.
[28] Florian Hess. A note on the Tate pairing of curves over finite fields. Archiv der
Mathematik, 82:28–32, 2004.
[29] Tomoyoshi Ibukiyama, Toshiyuki Katsura, and Frans Oort. Supersingular curves
of genus two and class numbers. Compositio Mathematica, 57(2):127–152, 1986.
[30] Sorina Ionica. Pairing-based methods for Jacobians of genus 2 curves with max-
imal endomorphism ring. Journal of Number Theory, 133(11):3755–3770, 2013.
[31] Bruce W. Jordan and Yevgeni Zaytman. Isogeny graphs of superspecial abelian
varieties and Brandt matrices. Cornell University arXiv, available at https:
//arxiv.org/abs/2005.09031, 2021.
[32] Ernst Kani. The number of curves of genus two with elliptic differentials. Journal
für die reine und angewandte Mathematik, 485:93–122, 1997.
33
[33] Robert M. Kuhn. Curves of genus 2 with split Jacobian. Transactions of the
American Mathematical Society, 307(1):41–49, 1988.
[34] James S. Milne. Abelian varieties. In Arithmetic geometry (Storrs, Conneticut,
1984), pages 103–150. Springer, New York, 1986.
[35] David Mumford. Abelian varieties, volume 5 of Tata Institute of Fundamental
Research Studies in Mathematics. 2008. With appendices by C. P. Ramanujam
and Yuri Manin, Corrected reprint of the second (1974) edition.
[36] David Mumford, John Fogarty, and Frances Kirwan. Geometric invariant theory,
volume 34 of Ergebnisse der Mathematik und ihrer Grenzgebiete 2. Folge. Springer,
1994. Third enlarged edition.
[37] David E. Rohrlich. Modular curves, Hecke correspondence, and L-functions. In
Modular forms and Fermat’s last theorem, pages 41–100. Springer, 1997.
[38] Tony Shaska. Genus 2 fields with degree 3 elliptic subfields. Forum Mathematicum,
16:263–280, 2004.
[39] Samir Siksek. Explicit arithmetic of modular curves. Summer school notes, avail-
able at https://homepages.warwick.ac.uk/staff/S.Siksek/teaching/modcur
ves/lecturenotes.pdf, 2019.
[40] Benjamin Smith. Explicit endomorphisms and correspondences. PhD thesis, Uni-
versity of Sydney, 2005.
[41] The Stacks project authors. The Stacks project. Available at https://stacks.m
ath.columbia.edu, 2021.
[42] Anton Stolbunov. Public-key encryption based on cycles of isogenous elliptic
curves. Master’s thesis, Saint-Petersburg State Polytechnical University, 2004. In
Russian.
[43] Marco Streng. Generators of the group of modular units for Γ1 (N ) over the
rationals. Cornell University arXiv, available at https://arxiv.org/abs/1503.0
8127v2, 2015.
[44] Katsuyuki Takashima. Efficient algorithms for isogeny sequences and their cryp-
tographic applications. In T. Takagi et al., editor, Mathematical Modelling for
Next-Generation Cryptography. Mathematics for Industry, volume 29, pages 97–
114, Singapore, 2018. Springer.
[45] Jacques Vélu. Isogénies entre courbes elliptiques. Comptes-Rendus de l’Académie
des Sciences, Série I, 273:238–241, 1971.
The following is the Magma code that accompanies Section 5.2. The formulae
can be extracted as part of the hash function code found in our online repository
at https://github.com/KULeuven-COSIC/Multiradical-Isogenies, but we
deem the formulae important enough to be displayed in the appendix as well.
The variables r,s,t in the code represent the domain of the (3, 3)-isogeny,
whereas R,S,T represent the codomain.14 The variables a,b,c represent cubic
roots of factors of the Tate pairings. The variables b4ab and b4bc represent
solutions for b4 in (9). Note that we work with b4 instead of b5 since in practice
14
Remark that we want the codomain curve to have small integer parameters, so in
the code these are defined first, after which we use the dual isogeny to compute the
more elaborate rational parameters of the domain curve.
34
we want to be able to distinguish between a divisor and its opposite. From
these two solutions for b4 , we compute a Gröbner basis to find solutions for the
other coefficients bi . Note that the formulae are general, but Magma struggles
to work over a degree-54 extension of a function field in 3 variables. Hence,
to make the code work standalone, we opted to work with a concrete example
where (R, S, T ) = (2, 5, −3). To verify the formulae in general, one works over
Q(R, S, T ) and adjoin only the cubic roots a,b, for example. Then, one checks
that one of the degree-18
Q3 Q3factors from the minimal polynomial of b4 coincides
with the product i=1 j=1 (x2 − b4 (ζ3i a, ζ3j b)), where the product ranges over
all possible cubic roots a,b.
clear;
Q := Rationals();
R := 2; S := 5; T := -3;
Qx<x> := PolynomialRing(Q);
Q<twist> := ext<Q | x^2 + 3>;
Qx<x> := PolynomialRing(Q);
D1 := T;
D2 := S;
D3 := S*T + 1;
D4 := R^3 - 3*R*T + T^2 + T;
D5 := R^3*S - 3*R*S*T + S*T^2 + S*T + T;
D8 := R^2 - T;
D9 := R - 1;
D10 := R*S - S*T - 1;
D11 := S*T - S + 1;
DELTA := R^6*S^2 - 6*R^4*S^2*T - 3*R^4*S + 2*R^3*S^2*T^2 + 2*R^3*S^2*T
+ 3*R^3*S*T + R^3*S + R^3 + 9*R^2*S^2*T^2 + 6*R^2*S*T
- 6*R*S^2*T^3 - 6*R*S^2*T^2 - 9*R*S*T^2 - 3*R*S*T - 3*R*T + S^2*T^4
+ 2*S^2*T^3 + S^2*T^2 + 2*S*T^3 + 3*S*T^2 + T^2 + T;
r := -D2*D9*D8*(D5-R)/(D10^2*D4);
s := D10^3*D4^2/(D1*D2*D9^3*DELTA);
t := D2^2*D9^3*D8^3/(D10^3*D4^2);
d1 := t;
d2 := s;
d4 := r^3 - 3*r*t + t^2 + t;
d6 := r^3*s^2 - 3*r*s^2*t - 3*r*s + s^2*t^2 + s^2*t + 2*s*t + s + 1;
d7 := r^3*s^2*t + r^3*s - 3*r*s^2*t^2 - 3*r*s*t + s^2*t^3 + s^2*t^2 + 2*s*t^2 + t;
35
cofab9 *:= 2*S*T+1;
36
+ (cofbc7 + cofbc8*c + cofbc9*c^2)*b^2);
Qbi<b1,b2,b3,b5,b6,b7> := PolynomialRing(Q,6);
Qx<x> := PolynomialRing(Qbi);
H1 := x^2 + R*x + T;
lambda1 := 4*S;
G1 := (S - S*T - 1)*x^3 + 3*S*(R - T)*x^2 + 3*S*R*(R - T)*x - S*T^2 + S*R^3 + T;
F := G1^2 + lambda1*H1^3;
bis := [];
for b4 in [b4ab,b4bc] do
Fbi := (b4*x^3 + b3*x^2 + b2*x + b1)^2 + b7*(x^2 + b6*x + b5)^3;
I := {Eltseq(F)[i] - Eltseq(Fbi)[i] : i in [1..7]};
GB := GroebnerBasis(I);
roots := [Roots(UnivariatePolynomial(GB[i]))[1][1] : i in [1..6]];
bi := roots[1..3] cat [b4] cat roots[4..6];
Append(~bis, bi);
end for;
C := HyperellipticCurve(F);
J := Jacobian(C);
for bi in bis do
T := J ! [Qx ! (bi[5..6] cat [1]), Qx ! bi[1..4]];
assert 3*T eq J ! 0;
end for;
37
Curriculum vitae
Thomas Decru was a professional poker player for half a decade after finishing
high school. He obtained his BSc in mathematics from KU Leuven in 2016, and
his MSc in mathematics from KU Leuven in 2018. His master thesis research was
done under supervision of Professor Bart Preneel, Professor Fréderik Vercauteren
and Doctor Wouter Castryck. He joined the Cosic research group at KU Leuven
in pursuit of a PhD regarding the same topic as his master thesis. During his
PhD, he also successfully passed the majority of the courses required to obtain
his MSc in educational studies in science and technology.
207
FACULTY OF ENGINEERING SCIENCE
DEPARTMENT OF ELECTRICAL ENGINEERING
COSIC, RESEARCH GROUP AT IMEC AND KU LEUVEN
Kasteelpark Arenberg 10/2452
B-3001 Leuven
thomas.decru@esat.kuleuven.be