11institutetext: Department of Mathematics, University of Florida, Gainsville, Florida, USA
11email: jeremybooher@ufl.edu
22institutetext: Department of Computer Science, University of Bristol, Bristol, UK
22email: ross.bowden@bristol.ac.uk
33institutetext: Department of Computer and Software, McMaster University, Hamilton, Canada
33email: jake.doliskani@mcmaster.ca
44institutetext: LASEC, EPFL, Lausanne, Switzerland
44email: tako.fouotsa@epfl.ch
55institutetext: Department of Mathematics, The University of Auckland, Auckland, New Zealand
55email: s.galbraith@auckland.ac.nz,lukas.zobernig@gmail.com
66institutetext: Ruhr-Universität Bochum, Bochum, Germany
66email: sabrina.kunzweiler@ruhr-uni-bochum.de
77institutetext: Department of Computer Science, ETH Zurich, Switzerland
77email: research@simon-philipp.com
88institutetext: Laboratoire d’Informatique,
Université libre de Bruxelles, Bruxelles, Belgium
88email: christophe.f.petit@gmail.com
99institutetext: Inria and Laboratoire d’Informatique (LIX), CNRS, École polytechnique, Institut Polytechnique de Paris, Palaiseau, France
99email: smith@lix.polytechnique.fr
1010institutetext: Department of Mathematics, University of Colorado Boulder, Boulder, Colorado, USA
1010email: kstange@math.colorado.edu
1111institutetext: DSO, Singapore
1111email: yanbo.ti@gmail.com
1212institutetext: Department of Mathematics and Statistics, University of Vermont, Burlington, Vermont, USA
1212email: christelle.vincent@uvm.edu
1313institutetext: School of Mathematics and Statistics, University of Canterbury, Christchurch, New Zealand
1313email: felipe.voloch@canterbury.ac.nz
1414institutetext: University of Birmingham, Birmingham, UK
1414email: c.weitkaemper@pgr.bham.ac.uk

Failing to hash into supersingular isogeny graphs

Jeremy Booher 11    Ross Bowden 22    Javad Doliskani 33    Tako Boris Fouotsa 44    Steven D. Galbraith 55    Sabrina Kunzweiler 66    Simon-Philipp Merz 77    Christophe Petit 881313    Benjamin Smith 99    Katherine E. Stange 1010    Yan Bo Ti 1111    Christelle Vincent 1212    José Felipe Voloch 1313    Charlotte Weitkämper 1414    Lukas Zobernig 55
Abstract

An important open problem in supersingular isogeny-based cryptography is to produce, without a trusted authority, concrete examples of “hard supersingular curves” that is, equations for supersingular curves for which computing the endomorphism ring is as difficult as it is for random supersingular curves. A related open problem is to produce a hash function to the vertices of the supersingular \ellroman_ℓ-isogeny graph which does not reveal the endomorphism ring, or a path to a curve of known endomorphism ring. Such a hash function would open up interesting cryptographic applications. In this paper, we document a number of (thus far) failed attempts to solve this problem, in the hope that we may spur further research, and shed light on the challenges and obstacles to this endeavour. The mathematical approaches contained in this article include: (i) iterative root-finding for the supersingular polynomial; (ii) gcd’s of specialized modular polynomials; (iii) using division polynomials to create small systems of equations; (iv) taking random walks in the isogeny graph of abelian surfaces, and applying Kummer surfaces; and (v) using quantum random walks. Keywords: isogeny-based cryptography, hashing, elliptic curves.

00footnotetext: Date of this document: 2024-05-08.

1 Introduction

Supersingular curves (and isogenies between them) have become a hot topic in cryptography over the last ten years or so. Fortunately the theory of complex multiplication provides efficient algorithms to generate a supersingular elliptic curve over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, even for the astronomically large p𝑝pitalic_p that are used for cryptographic applications (see Bröker [1]). It is also known how to uniformly sample a supersingular elliptic curve over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT: generate one curve E0subscript𝐸0E_{0}italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT using Bröker’s method and then take a sufficiently long random walk in the supersingular isogeny graph to get a curve E𝐸Eitalic_E.

There are several flavors of isogeny-based cryptography. One of the earliest proposals was the cryptographic hash function based on isogenies, by Charles, Goren and Lauter [2]. Another early proposal was to obtain a group action of the ideal class group on a set of elliptic curves. This was first proposed by Couveignes [3] and re-discovered by Rostovtsev and Stolbunov [4]. Class group actions were made practical with the CSIDH scheme by Castryck, Lange, Martindale, Panny and Renes [5]. Various digital signature schemes have been proposed [6, 7, 8, 9, 10, 11]. But the most studied isogeny-based cryptosystem of all is the key exchange protocol SIDH, by Jao and De Feo [12]. Public keys in the SIDH protocol include not only elliptic curves but also certain auxiliary points on these curves. The SIDH protocol has been a highly active area of research for over 10 years, but very recently major advances in cryptanalysis by Castryck and Decru [13], Maino and Martindale [14] and Robert [15] completely break SIDH, by exploiting the auxiliary points. It remains to be seen whether some variant of SIDH can be secure and practical. Note that the other areas of isogeny-based cryptography, such as CSIDH and the signature schemes, do not use auxiliary points and so are not affected by the attack. This paper was written before SIDH was broken, and we will refer to some results and papers that may not be relevant anymore. Nevertheless, the general problems considered in this paper are still relevant for isogeny cryptography and remain worthy of study.

One of the main computational problems in isogeny-based cryptography is to compute an isogeny between two given supersingular elliptic curves over the same finite field 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. This problem is called the supersingular isogeny problem or the path finding problem in the supersingular isogeny graph. It is believed to be hard, even for quantum computers. A related problem is the supersingular endomorphism ring problem: Given a supersingular elliptic curve E𝐸Eitalic_E over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, compute its endomorphism ring End(E)End𝐸\operatorname{End}(E)roman_End ( italic_E ) (or even just one non-trivial endomorphism of E𝐸Eitalic_E). The supersingular endomorphism ring problem and the supersingular isogeny problem are related [16, 17, 18].

The algorithm using complex multiplication sketched in the first paragraph for generating a uniformly distributed supersingular curve has the side-effect that the person who generated the curve also knows a path from E0subscript𝐸0E_{0}italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to E𝐸Eitalic_E. In certain cryptographic applications this approach is not acceptable as it allows a user to insert a trapdoor or in some other way violate the desired security. There are a number of papers that have already mentioned this problem [19, 20, 21, 22, 23]. Currently the only solution known is to involve some “trusted party” to generate a random curve and then “forget” any resulting secret information. See [24] for trusted-setup solutions. There is great interest in finding better ways to solve this problem that do not require trusting a single party. Among other applications, it would circumvent the trusted setup in an isogeny-based verifiable delay function [22], in delay encryption [25] and in an SIDH-based oblivious pseudorandom function [26]. For the latter, the necessity of the trusted setup was pointed out by [27]. Before SIDH was broken, using a starting curve that is generated uniformly at random would prevent torsion point attacks [28, 29, 30].

Applications of hashing to hard supersingular curves might include hash-and-sign signatures, oblivious pseudorandom functions [26] and password-authenticated key exchange [31].

There are (at least) three general problems that are of interest for isogeny-based cryptography:

  1. 1.

    Given a prime p𝑝pitalic_p, to compute a supersingular curve E𝐸Eitalic_E over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT without revealing anything about the endomorphism ring or providing any information to help solve the isogeny problem (for isogenies from E𝐸Eitalic_E to some other supersingular curve over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT). This is the problem of demonstrating a hard curve [19].

  2. 2.

    Given a prime p𝑝pitalic_p, to generate uniformly random supersingular curves E𝐸Eitalic_E over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT without revealing anything about the endomorphism ring or providing any information to help solve the isogeny problem to other supersingular curves over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT.

  3. 3.

    Defining a hash function to the entire supersingular graph. To produce a hash function taking arbitrary strings as input, and outputting supersingular j𝑗jitalic_j-invariants. The hard problems in this context include both pre-image finding and collision-finding for the hash function, and path finding and endomorphism ring computation for the output curve. We ask for these problems to remain hard on curves produced by the hash function.

There are also variants of these problems that involve sampling from (resp. mapping to) subsets of the set of supersingular curves. The most significant is defining a hash function just to the 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT subgraph.

The two obvious approaches to these problems are to use tools from the theory of complex multiplication and/or random walks. However neither method is secure for our problems. The insecurity of methods based on random walks is self-evident. The insecurity of methods based on CM is less clear, and was demonstrated by Castryck, Panny and Vercauteren [20] and Love and Boneh [19]. We refer to Section 2 for details.

Castryck–Panny–Vercauteren [20] and Wesolowski [32] have considered the analogous approach in the special case of sampling supersingular curves with j𝑗jitalic_j-invariant in 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT using CM theory. Again they show that any such approach is not secure (they show how to solve the class group action problem in subexponential and polynomial time respectively).

Hence we need new ideas. The goal of the paper is to explain some possible approaches and to discuss the obstructions to getting a practical solution.

In all cases we are interested in an efficient algorithm that takes as input p𝑝pitalic_p, can be executed without any secret information, and that outputs (the j𝑗jitalic_j-invariant of) a supersingular elliptic curve over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. We do not want the algorithm to provide any additional information that would be useful to the person who executes it. For the problem of generating a single hard curve (e.g., to bypass the requirement for trusted set up), the meaning of “efficient” might be relaxed, as long as it is feasible in applications.

As already mentioned, it would already be interesting to have an algorithm that returns a single curve. But the most desirable outcome is a cryptographic hash function H(m)𝐻𝑚H(m)italic_H ( italic_m ) that takes a binary string m𝑚mitalic_m and returns a supersingular j𝑗jitalic_j-invariant and satisfies these properties:

  1. 1.

    It is efficient and deterministic.

  2. 2.

    It is hard to find a collision, namely two binary strings m1subscript𝑚1m_{1}italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and m2subscript𝑚2m_{2}italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT such that H(m1)=H(m2)𝐻subscript𝑚1𝐻subscript𝑚2H(m_{1})=H(m_{2})italic_H ( italic_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = italic_H ( italic_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ).

  3. 3.

    It is hard to invert, namely given an hhitalic_h in the codomain it is hard to compute a binary string m𝑚mitalic_m such that H(m)=h𝐻𝑚H(m)=hitalic_H ( italic_m ) = italic_h.

  4. 4.

    The j𝑗jitalic_j-invariants are uniformly distributed in the codomain.

Note that one can build an algorithm for hashing to the supersingular set by combining a standard cryptographic hash function Hsuperscript𝐻H^{\prime}italic_H start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (e.g., SHA-3) with a randomised algorithm to generate a supersingular curve (as in problem 2 listed above). To do this, simply compute H(m)superscript𝐻𝑚H^{\prime}(m)italic_H start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_m ) and use it as the seed to a pseudorandom generator and then run the algorithm to generate a supersingular curve replacing all calls to randomness with this pseudorandom sequence. Hence, it suffices to focus on problems 1 and 2 above.

Several of the approaches in our paper try to bypass the problem of working with polynomials of exponentially-large degree. Section 3 sketches an approach motivated by iterated methods for root-finding (such as the Newton-Raphson method). However the main idea in this section is to avoid writing down the polynomial by indirectly computing its evaluation at a given point. This motivates a study of iterative methods in this special case. Similarly, Section 4 studies an approach based on modular curves and the fact that one can compute the roots in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT of the greatest common divisor of two polynomials F(x,xp)𝐹𝑥superscript𝑥𝑝F(x,x^{p})italic_F ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) and G(x,xp)𝐺𝑥superscript𝑥𝑝G(x,x^{p})italic_G ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) in polynomial time in certain circumstances, even though the polynomials themselves have exponential degree. This approach does not lead to a useful solution at present, as the computation only produces curves that could feasibly have been computed using the CM method. Section 5 also attempts to control the growth of polynomials, by giving a system of low-degree polynomials whose common solution would give a desired curve.

Other methods try to use random walks in new ways. Section 6 suggests walking on the isogeny graph of abelian surfaces, until one lands on a reducible surface. The challenge faced by this method is that reducible surfaces are exponentially rare in the isogeny graph and we lack techniques to navigate to one from an arbitrary position in the graph. Finally, Section 7 suggests a way to use a quantum analog of the CGL hash to generate a random supersingular curve. The way a quantum algorithm uses randomness means this cannot be combined with a standard cryptographic hash function as described above. If properly implemented on a quantum computer, the algorithm makes the path information inaccessible to the user. But without a method to certify the use of the quantum algorithm, this approach only replaces the need for a trusted entity from one who will erase the path data to one who will promise to use a quantum computer.

Between release and revisions for this work, the concurrent work [33], which also proposes some approaches to the hashing problem, was made public. In particular, the papers appear to overlap in suggesting a system of equations based on torsion point restrictions (compare Section 5.1 and [33, Section 6.3]).

We hope the ideas and analysis in our paper will be useful to researchers. We identify a number of obstructions to efficient hashing to supersingular curves. We hope that future research might overcome one of these obstructions.

Funding

This work was supported by the Marsden Fund Council administered by the Royal Society of New Zealand [to J.B.]; Natural Sciences and Engineering Research Council of Canada (NSERC) [to J.D.]; Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy [EXC 2092 CASA - 390781972 to S.K.]; Engineering & Physical Sciences Research Council [EP/P009301/1 to S.-P.M., EP/S01361X/1 and EP/V011324/1 to C.P., EP/T517872/1 to R.B.]; l’Agence nationale de la recherche (ANR) [program CIAO (ANR-19-CE48-0008) and a Plan France 2030 grant (ANR-22-PETQ-0008 PQ-TLS) to B.S.]; National Science Foundation [NSF-CAREER CNS-1652238 to K.S., DMS-1802323 to C.V.]; Simons Foundation [Fellowship 822143 to K.S.]; Ministry of Business, Innovation and Employment and the Marsden Fund Council administered by the Royal Society of New Zealand [to J.F.V., to S.G.].

Data availability statement

No data available.

Acknowledgements

This project was initiated as part of the Banff International Research Station (BIRS) Workshop 21w5229, Supersingular Isogeny Graphs in Cryptography. The project owes a debt of gratitude to BIRS and to the organizers of that workshop: Victoria de Quehen, Kristin Lauter, Chloe Martindale, and Christophe Petit. The project was led by Steven Galbraith, Christophe Petit, Yan Bo Ti, and Katherine E. Stange. We would also like to thank Chloe Martindale for useful discussions, Annamaria Iezzi for her involvement in Section 4, as well as Wouter Castryck and Eyal Goren for contributing ideas to Section 6.

2 Existing methods

We briefly review the existing methods of generating supersingular curves. Neither is secure in the sense of the introduction. Nevertheless, these two paradigms form the basis of the methods proposed in this work, which fall broadly into methods based on random walks, and methods based on finding roots to high degree polynomials (or systems of such).

The Charles-Goren-Lauter hash function [2] hashes into the supersingular curves over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. At each vertex of the supersingular isogeny graph, the out-directed edges are labelled in some fixed deterministic manner. Starting from a known curve such as j=1728𝑗1728j=1728italic_j = 1728, the bitstring to be hashed is interpreted as directions for a walk through the graph, via the labelling just mentioned. If the walk is sufficiently long, it is known from the properties of the graph (it is Ramanujan) that the endpoint will be uniformly randomly chosen from amongst all the vertices of the graph [2]. However, the walk itself is a path to j=1728𝑗1728j=1728italic_j = 1728 and therefore the path-finding problem from the endpoint is trivial, unless this information is discarded by a trusted authority.

The CM method of Bröker [1] finds supersingular roots of a Hilbert class polynomial. The Hilbert class polynomial H𝒪,psubscript𝐻𝒪𝑝H_{\mathcal{O},p}italic_H start_POSTSUBSCRIPT caligraphic_O , italic_p end_POSTSUBSCRIPT for a quadratic order 𝒪𝒪\mathcal{O}caligraphic_O modulo p𝑝pitalic_p is a polynomial in 𝔽p[x]subscript𝔽𝑝delimited-[]𝑥\mathbb{F}_{p}[x]blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_x ] whose roots in 𝔽¯psubscript¯𝔽𝑝\overline{\mathbb{F}}_{p}over¯ start_ARG blackboard_F end_ARG start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT are the j𝑗jitalic_j-invariants of elliptic curves whose endomorphism rings contain a copy of 𝒪𝒪\mathcal{O}caligraphic_O. In order to apply known root-finding algorithms, or indeed, to obtain the polynomial at all, the degree of H𝒪,psubscript𝐻𝒪𝑝H_{\mathcal{O},p}italic_H start_POSTSUBSCRIPT caligraphic_O , italic_p end_POSTSUBSCRIPT must be small. This implies that 𝒪𝒪\mathcal{O}caligraphic_O itself has non-integral elements of small norm. The images of such elements in the endomorphism ring are termed small endomorphisms, and so all the curves obtained have small endomorphisms. At the very least, it follows that the curves obtained are far from uniformly distributed. Furthermore, having a small endomorphism is known to be a serious vulnerability [19, 20]. Precisely, Castryck, Panny and Vercauteren [20] study the CSIDH case and show how to efficiently compute an ideal class as required to break CSIDH when given a small degree endomorphism. Love and Boneh [19] consider the more general case, such as arises in SIDH, and also show a general and efficient approach to computing isogenies between any two such curves in this setting. In general, anything which reveals the endomorphism ring will be a vulnerability [18].

3 Iterating to supersingular j𝑗jitalic_j-invariants

In this section, we propose a method for generating a hard curve. For a prime number p>2𝑝2p>2italic_p > 2, define the polynomial Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ), known as the Hasse polynomial or supersingular polynomial, by

Hp(t)=j=0(p1)/2(p12j)2tj.subscript𝐻𝑝𝑡superscriptsubscript𝑗0𝑝12superscriptmatrix𝑝12𝑗2superscript𝑡𝑗H_{p}(t)=\sum_{j=0}^{(p-1)/2}\begin{pmatrix}\frac{p-1}{2}\\ j\end{pmatrix}^{2}t^{j}.italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) = ∑ start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_p - 1 ) / 2 end_POSTSUPERSCRIPT ( start_ARG start_ROW start_CELL divide start_ARG italic_p - 1 end_ARG start_ARG 2 end_ARG end_CELL end_ROW start_ROW start_CELL italic_j end_CELL end_ROW end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_t start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT . (1)
Proposition 1

Let Eλsubscript𝐸𝜆E_{\lambda}italic_E start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT denote the elliptic curve whose Legendre form is y2=x(x1)(xλ)superscript𝑦2𝑥𝑥1𝑥𝜆y^{2}=x(x-1)(x-\lambda)italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = italic_x ( italic_x - 1 ) ( italic_x - italic_λ ). Then for λ𝔽p𝜆subscript𝔽𝑝\lambda\in\mathbb{F}_{p}italic_λ ∈ blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT

#Eλ(𝔽p)p+1Hp(λ)(modp).#subscript𝐸𝜆subscript𝔽𝑝annotated𝑝1subscript𝐻𝑝𝜆pmod𝑝\#E_{\lambda}(\mathbb{F}_{p})\equiv p+1-H_{p}(\lambda)\pmod{p}.# italic_E start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT ( blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ) ≡ italic_p + 1 - italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_λ ) start_MODIFIER ( roman_mod start_ARG italic_p end_ARG ) end_MODIFIER .

Similarly for λ𝔽p2𝜆subscript𝔽superscript𝑝2\lambda\in\mathbb{F}_{p^{2}}italic_λ ∈ blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT

#Eλ(𝔽p2)p2+1Hp(λ)p+1(modp).#subscript𝐸𝜆subscript𝔽superscript𝑝2annotatedsuperscript𝑝21subscript𝐻𝑝superscript𝜆𝑝1pmod𝑝\#E_{\lambda}(\mathbb{F}_{p^{2}})\equiv p^{2}+1-H_{p}(\lambda)^{p+1}\pmod{p}.# italic_E start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT ( blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) ≡ italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + 1 - italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_λ ) start_POSTSUPERSCRIPT italic_p + 1 end_POSTSUPERSCRIPT start_MODIFIER ( roman_mod start_ARG italic_p end_ARG ) end_MODIFIER .
Proof

This follows from the proof of [34, Theorem V.4.1(b)]. ∎

Thus λ𝔽p2𝜆subscript𝔽superscript𝑝2\lambda\in\mathbb{F}_{p^{2}}italic_λ ∈ blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT is a root of Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) if and only if Eλsubscript𝐸𝜆E_{\lambda}italic_E start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT is a supersingular elliptic curve. It is known that all the roots belong to 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT and that, for p3(mod4)𝑝annotated3pmod4p\equiv 3\pmod{4}italic_p ≡ 3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER, we have that p1/2+o(1)superscript𝑝12𝑜1p^{1/2+o(1)}italic_p start_POSTSUPERSCRIPT 1 / 2 + italic_o ( 1 ) end_POSTSUPERSCRIPT of them belong to 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT. None belong to 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT when p1(mod4)𝑝annotated1pmod4p\equiv 1\pmod{4}italic_p ≡ 1 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER. This follows since the number of supersingular curves over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT is p1/2+o(1)superscript𝑝12𝑜1p^{1/2+o(1)}italic_p start_POSTSUPERSCRIPT 1 / 2 + italic_o ( 1 ) end_POSTSUPERSCRIPT by combining [35] and [36, Eq (1)] and such a curve can be put in Legendre form if and only if all of its 2222-torsion is rational, which is only possible when p3(mod4)𝑝annotated3pmod4p\equiv 3\pmod{4}italic_p ≡ 3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER.

The basic idea is to compute a random root of the polynomial, thus giving a random supersingular elliptic curve. At first glance this seems impractical, as representing the polynomial Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) takes exponential space, and computing Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) would take exponential time. However, we can compute Hp(λ)subscript𝐻𝑝𝜆H_{p}(\lambda)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_λ ) for λ𝔽p𝜆subscript𝔽𝑝\lambda\in\mathbb{F}_{p}italic_λ ∈ blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT in polynomial time using Schoof’s algorithm to compute #Eλ(𝔽p)#subscript𝐸𝜆subscript𝔽𝑝\#E_{\lambda}(\mathbb{F}_{p})# italic_E start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT ( blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ). For λ𝔽p2𝜆subscript𝔽superscript𝑝2\lambda\in\mathbb{F}_{p^{2}}italic_λ ∈ blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, we can similarly compute Hp(λ)p+1subscript𝐻𝑝superscript𝜆𝑝1H_{p}(\lambda)^{p+1}italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_λ ) start_POSTSUPERSCRIPT italic_p + 1 end_POSTSUPERSCRIPT by computing #Eλ(𝔽p2)#subscript𝐸𝜆subscript𝔽superscript𝑝2\#E_{\lambda}(\mathbb{F}_{p^{2}})# italic_E start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT ( blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ). It is unclear whether there is a fast way to compute Hp(λ)subscript𝐻𝑝𝜆H_{p}(\lambda)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_λ ) for λ𝔽p2𝜆subscript𝔽superscript𝑝2\lambda\in\mathbb{F}_{p^{2}}italic_λ ∈ blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT.

3.1 Iterating to a root

One approach to finding a root of Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) is to iterate a polynomial function over a finite field as inspired by the Newton-Raphson method. Recall that the Newton-Raphson method finds a root of a polynomial f(x)𝑓𝑥f(x)italic_f ( italic_x ) by first picking a point on the domain t0subscript𝑡0t_{0}italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and iteratively computing

tn+1=tnf(tn)f(tn)subscript𝑡𝑛1subscript𝑡𝑛𝑓subscript𝑡𝑛superscript𝑓subscript𝑡𝑛t_{n+1}=t_{n}-\frac{f(t_{n})}{f^{\prime}(t_{n})}italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT = italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - divide start_ARG italic_f ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) end_ARG start_ARG italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) end_ARG (2)

(while f(tn)0superscript𝑓subscript𝑡𝑛0f^{\prime}(t_{n})\neq 0italic_f start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ≠ 0). If a fixed point tm+1=tmsubscript𝑡𝑚1subscript𝑡𝑚t_{m+1}=t_{m}italic_t start_POSTSUBSCRIPT italic_m + 1 end_POSTSUBSCRIPT = italic_t start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT is found, then we can conclude that f(tm)=0𝑓subscript𝑡𝑚0f(t_{m})=0italic_f ( italic_t start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) = 0 and that we have found a root.

In this vein, our “preliminary” idea is to find the roots using the same method. So one picks some t0𝔽psubscript𝑡0subscript𝔽𝑝t_{0}\in\mathbb{F}_{p}italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT (or 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT), and then defines

tn+1=tnHp(tn)Hp(tn)subscript𝑡𝑛1subscript𝑡𝑛subscript𝐻𝑝subscript𝑡𝑛superscriptsubscript𝐻𝑝subscript𝑡𝑛t_{n+1}=t_{n}-\frac{H_{p}(t_{n})}{H_{p}^{\prime}(t_{n})}italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT = italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - divide start_ARG italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) end_ARG start_ARG italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) end_ARG (3)

(assuming Hp(tn)0superscriptsubscript𝐻𝑝subscript𝑡𝑛0H_{p}^{\prime}(t_{n})\neq 0italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ≠ 0). It is clear that if tm+1=tmsubscript𝑡𝑚1subscript𝑡𝑚t_{m+1}=t_{m}italic_t start_POSTSUBSCRIPT italic_m + 1 end_POSTSUBSCRIPT = italic_t start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, we must have that Hp(tm)=0subscript𝐻𝑝subscript𝑡𝑚0H_{p}(t_{m})=0italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) = 0, and we have found a supersingular elliptic curve. Furthermore, this method could allow us to define a hash function into supersingular curves, by using the hash input to determine t0subscript𝑡0t_{0}italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and then iterating (3).

However, there are three issues with this idea:

  1. 1.

    The algorithm may not halt at a fixed point (the iteration may become stuck in a cycle).

  2. 2.

    The algorithm may reach a fixed point, but require too many iterations to efficiently compute.

  3. 3.

    We do not know how to compute Hp(t)superscriptsubscript𝐻𝑝𝑡H_{p}^{\prime}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_t ) efficiently, or compute Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) efficiently for t𝔽p2𝔽p𝑡subscript𝔽superscript𝑝2subscript𝔽𝑝t\in\mathbb{F}_{p^{2}}\setminus\mathbb{F}_{p}italic_t ∈ blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∖ blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT.

To eliminate the third obstacle, we can consider the following alternatives to the Newton-Raphson method which share the key property that fixed points of the iteration correspond to roots of Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ):

tn+1subscript𝑡𝑛1\displaystyle t_{n+1}italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT =tnHp(tn)absentsubscript𝑡𝑛subscript𝐻𝑝subscript𝑡𝑛\displaystyle=t_{n}-H_{p}(t_{n})= italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) (4)
tn+1subscript𝑡𝑛1\displaystyle t_{n+1}italic_t start_POSTSUBSCRIPT italic_n + 1 end_POSTSUBSCRIPT =tnHp(tn)p+1.absentsubscript𝑡𝑛subscript𝐻𝑝superscriptsubscript𝑡𝑛𝑝1\displaystyle=t_{n}-H_{p}(t_{n})^{p+1}\,.= italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_p + 1 end_POSTSUPERSCRIPT . (5)

The denominator Hp(t)superscriptsubscript𝐻𝑝𝑡H_{p}^{\prime}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_t ) in the previous attempt speeds up convergence to a root in a field with a metric, if we are already close to a root. In a finite field with the discrete topology there is no reason to include the denominator, and removing the denominator also removes the possibility the iteration is undefined. Using Schoof’s algorithm we may efficiently iterate (4) over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT (which is only of interest when Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) has roots over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, i.e. p3(mod4)𝑝annotated3pmod4p\equiv 3\pmod{4}italic_p ≡ 3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER), while we may efficiently iterate (5) over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT.

The first two obstacles are thornier to tackle: there are plenty of choices of t0subscript𝑡0t_{0}italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT where iteration leads to a cycle and not a fixed point, and paths to a fixed point can be very long. These are fundamental obstructions which we will discuss experimentally and compare to the behavior of random mappings.

3.2 Does Iteration Mimic Iteration of a Random Function

In terms of understanding whether these iterative methods are useful for finding supersingular elliptic curves, the important quantities to understand for the iteration are:

  1. 1.

    the number of fixed points;

  2. 2.

    the number of points which eventually reach a fixed point upon iteration;

  3. 3.

    for these points, the maximum number of iterations needed to reach the fixed point; and

  4. 4.

    the number of points which reach a fixed point after k𝑘kitalic_k iterations.

We will be mainly interested in understanding to what extent these iterative methods look like iterating a random function (which we can understand theoretically).

Consider a random function from a set S𝑆Sitalic_S of size n𝑛nitalic_n to itself. In other words, the image of each element of S𝑆Sitalic_S is chosen independently and uniformly at random from S𝑆Sitalic_S. The expected number of fixed points for a random function is one, and given our knowledge about iterating random functions we would not expect iteration to quickly close in on the fixed point. However, the function we are iterating has many fixed points, and it is not a priori clear how iteration will behave.

Heuristic 2

Iterating (3) (resp. (4), (5)) over 𝔽qsubscript𝔽𝑞\mathbb{F}_{q}blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT when n=p,p2𝑛𝑝superscript𝑝2n=p,p^{2}italic_n = italic_p , italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (resp. when n=p3mod4𝑛𝑝modulo34n=p\equiv 3\mod{4}italic_n = italic_p ≡ 3 roman_mod 4, when n=p2𝑛superscript𝑝2n=p^{2}italic_n = italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT) behaves like iterating a random function from a set of size n𝑛nitalic_n to itself that has n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG fixed points.

We will experimentally explore the behavior of the iterative methods in this subsection, and theoretically study the behavior of iterating random functions with many fixed points in Section 3.3.

Experimentally, it appears that “many” points eventually reach a fixed point after iteration, which means that our iterative methods have a reasonable chance of finding a supersingular curve. However, the maximum number of iterations needed seems to be on the order of n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG, which is too long to be practical. This is in line with the expected “tail length” of a random mapping [37, Theorem 8.4.8]. (Section 8.4 of loc. cit. contains a survey of the properties of random mappings.) Finally, the number of points which reach one of the m𝑚mitalic_m fixed points after k𝑘kitalic_k iterations appears to be on the order of (k+1)m𝑘1𝑚(k+1)m( italic_k + 1 ) italic_m, at least when k𝑘kitalic_k is small relative to n𝑛nitalic_n. This matches the conclusions of our analysis of random functions with many fixed points in Section 3.3.

While we provide examples of all the iterative methods, we have focused on iteration (4) over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT when p3(mod4)𝑝annotated3pmod4p\equiv 3\pmod{4}italic_p ≡ 3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER as it is efficiently computable and well-motivated by analogy with the Newton-Raphson method. The behavior we are seeing does not seem sensitive to the exact iterative method used.

Example 1

When using the original Newton iteration (3), many points eventually reach a fixed point upon iteration. For example, when p=101𝑝101p=101italic_p = 101 the polynomial Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) has 50505050 roots all defined over 𝔽1012subscript𝔽superscript1012\mathbb{F}_{101^{2}}blackboard_F start_POSTSUBSCRIPT 101 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. If one iterates using (3), 328328328328 of the elements of 𝔽1012subscript𝔽superscript1012\mathbb{F}_{101^{2}}blackboard_F start_POSTSUBSCRIPT 101 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT eventually end up at a fixed point (about three percent). In those cases it took at most 10101010 iterations to reach a fixed point. Similarly, when p=211𝑝211p=211italic_p = 211 around twenty eight percent (12747127471274712747 out of 2112superscript2112211^{2}211 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT of the elements) eventually reach a fixed point. The maximum number of iterations needed was 90909090. When p=1009𝑝1009p=1009italic_p = 1009, 800800800800 out of 10,0001000010,00010 , 000 randomly chosen elements of 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT eventually reached a fixed point.

Example 2

The behavior when iterating using (4) over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT is broadly similar; removing division by Hp(tn)superscriptsubscript𝐻𝑝subscript𝑡𝑛H_{p}^{\prime}(t_{n})italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_t start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) does not seem to have a significant effect. For example when p=1009𝑝1009p=1009italic_p = 1009, 278278278278 of 1000100010001000 randomly chosen elements of 𝔽10092subscript𝔽superscript10092\mathbb{F}_{1009^{2}}blackboard_F start_POSTSUBSCRIPT 1009 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ended in a fixed point. More systematically, if we look at all primes between 30303030 and 200200200200 and compute the percentage of elements of 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT which eventually reach a fixed point, the minimum and maximum percentages are about 1.91.91.91.9 percent and 81818181 percent. The mean is about 30303030 percent. There are often quite long paths which eventually lead to a fixed point.

Example 3

Iterating using (4) over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT is only interesting when there are fixed points defined over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, i.e. when p3(mod4)𝑝annotated3pmod4p\equiv 3\pmod{4}italic_p ≡ 3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER. It appears broadly similar to the previous iterations considered. The number of fixed points is p1/2+o(1)superscript𝑝12𝑜1p^{1/2+o(1)}italic_p start_POSTSUPERSCRIPT 1 / 2 + italic_o ( 1 ) end_POSTSUPERSCRIPT. Experimentally it looks like a sizeable fraction of the points of 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT eventually reach a fixed point, and that for small k𝑘kitalic_k the number of points which reach a fixed point after k𝑘kitalic_k iterations is about (k+1)𝑘1(k+1)( italic_k + 1 ) times the number of fixed points (so on the order of (k+1)p𝑘1𝑝(k+1)\sqrt{p}( italic_k + 1 ) square-root start_ARG italic_p end_ARG). The largest number of iterations needed to reach a fixed point appears to be on the order of p𝑝\sqrt{p}square-root start_ARG italic_p end_ARG.

To quantify this, we computed the minimum and maximum values for:

  • the number of fixed points divided by p𝑝\sqrt{p}square-root start_ARG italic_p end_ARG, denoted F1(p)subscript𝐹1𝑝F_{1}(p)italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_p );

  • the number of elements of 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT iterating to a fixed point, divided by p𝑝pitalic_p, denoted F2(p)subscript𝐹2𝑝F_{2}(p)italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_p );

  • the largest number of iterations needed to reach a fixed point divided by p𝑝\sqrt{p}square-root start_ARG italic_p end_ARG, denoted F3(p)subscript𝐹3𝑝F_{3}(p)italic_F start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_p ).

Table 1 shows the minimum and maximum values of these values for primes in several ranges.

p𝑝pitalic_p in Range: minF1(p)subscript𝐹1𝑝\min F_{1}(p)roman_min italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_p ) maxF1(p)subscript𝐹1𝑝\max F_{1}(p)roman_max italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_p ) minF2(p)subscript𝐹2𝑝\min F_{2}(p)roman_min italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_p ) maxF2(p)subscript𝐹2𝑝\max F_{2}(p)roman_max italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_p ) minF3(p)subscript𝐹3𝑝\min F_{3}(p)roman_min italic_F start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_p ) maxF3(p)subscript𝐹3𝑝\max F_{3}(p)roman_max italic_F start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_p )
100100100100 to 2000200020002000 .23.23.23.23 3.93.93.93.9 .019.019.019.019 .93.93.93.93 .034.034.034.034 .95.95.95.95
2000200020002000 to 3000300030003000 .29.29.29.29 4.04.04.04.0 .014.014.014.014 .61.61.61.61 .062.062.062.062 .64.64.64.64
20000200002000020000 to 21000210002100021000 .27.27.27.27 4.04.04.04.0 .0085.0085.0085.0085 .46.46.46.46 .035.035.035.035 .47.47.47.47
Table 1: Statistics about iteration (4) over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT

Figure 1 shows a graph of the ratio of the number of elements of 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT which reach a fixed point after 5555 iterations of (4) and of the number of fixed points, versus p𝑝pitalic_p. As expected, this appears to be around 6666 but is somewhat noisy.

Refer to caption
Figure 1: Number of elements which reach a fixed point after 5555 iterations of xxHp(x)maps-to𝑥𝑥subscript𝐻𝑝𝑥x\mapsto x-H_{p}(x)italic_x ↦ italic_x - italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_x ) divided by the number of fixed points, versus p𝑝pitalic_p
Example 4

Iterating using (5) over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT preserves the cosets of 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. At first glance, it looks like for most cosets the map behaves like a random map: each coset has very few fixed points and about p𝑝\sqrt{p}square-root start_ARG italic_p end_ARG points in each coset lead to the fixed points.

Example 5

For a hundred randomly chosen function 𝔽1012𝔽1012subscript𝔽superscript1012subscript𝔽superscript1012\mathbb{F}_{101^{2}}\to\mathbb{F}_{101^{2}}blackboard_F start_POSTSUBSCRIPT 101 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT → blackboard_F start_POSTSUBSCRIPT 101 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT with 50505050 fixed points:

  • the number of elements iterating to a fixed point ranged from 309309309309 to 10194101941019410194 (3%percent33\%3 % to 99%percent9999\%99 %), with a mean of 4525452545254525 (44%percent4444\%44 %).

  • the maximum number of iterations needed to reach a fixed point ranged from 12121212 to 350350350350, with a mean of 116116116116.

  • The number of elements within 5555 iterations of a fixed point ranged from 181181181181 to 443443443443, with a mean of 295295295295.

This is broadly in line with the behavior seen in the previous examples, so experimentally it seems reasonable that iterating (3) (4) or (5) behaves like iterating a random function, supporting Heuristic 2.

Based on this behavior, using iteration to efficiently find a supersingular elliptic curve (or to hash to a supersingular elliptic curve) does not seem to be practical. For concreteness, we will focus on iterating (4) over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT when p3(mod4)𝑝annotated3pmod4p\equiv 3\pmod{4}italic_p ≡ 3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER. The basic idea would be to pick a random starting element and iterate k𝑘kitalic_k times, hoping to find a fixed point. Thus the key property of the iteration to understand is the number of points which iterate to a fixed point in k𝑘kitalic_k steps. We expect on the order of (k+1)p𝑘1𝑝(k+1)\sqrt{p}( italic_k + 1 ) square-root start_ARG italic_p end_ARG points with this property, both based on experiments and based on Heuristic 2 plus the analysis in Section 3.3.

Proposition 3

Assuming Heuristic 2, iterating k𝑘kitalic_k times over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT will find a fixed point (and hence a supersingular elliptic curve) with probability on the order of (k+1)/p𝑘1𝑝(k+1)/\sqrt{p}( italic_k + 1 ) / square-root start_ARG italic_p end_ARG. This requires k+1𝑘1k+1italic_k + 1 evaluations of Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ). In particular, iteration would not give an efficient method of finding supersingular j𝑗jitalic_j-invariants.

Proof

There are on the order of (k+1)p𝑘1𝑝(k+1)\sqrt{p}( italic_k + 1 ) square-root start_ARG italic_p end_ARG elements of 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT which iterate to a fixed point within k𝑘kitalic_k steps. To check whether the last element is fixed requires one additional evaluation of Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ). The chance of randomly choosing to start at one of these elements is on the order of (k+1)/p𝑘1𝑝(k+1)/\sqrt{p}( italic_k + 1 ) / square-root start_ARG italic_p end_ARG.

While we can evaluate Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) efficiently using Schoof’s algorithm, to be efficient the number of evaluations k+1𝑘1k+1italic_k + 1 must still be polynomial in log(p)𝑝\log(p)roman_log ( italic_p ). In that case the probability of finding a supersingular curve would be exponentially small in log(p)𝑝\log(p)roman_log ( italic_p ). ∎

Remark 1

The probability of a random curve being supersingular is on the order of 1/p1𝑝1/\sqrt{p}1 / square-root start_ARG italic_p end_ARG. We can check whether a randomly chosen j𝑗jitalic_j-invariant is supersingular by evaluating Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ). Checking k+1𝑘1k+1italic_k + 1 random curves would require k+1𝑘1k+1italic_k + 1 evaluations of Hp(t)subscript𝐻𝑝𝑡H_{p}(t)italic_H start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ), and again would find a supersingular j𝑗jitalic_j-invariant in 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT with probability on the order of (k+1)/p𝑘1𝑝(k+1)/\sqrt{p}( italic_k + 1 ) / square-root start_ARG italic_p end_ARG. In particular, the iterative method is no better than randomly guessing and neither approach can efficiently find a supersingular j𝑗jitalic_j-invariant.

Remark 2

For the iterative method to offer an improvement, we would need a way to make a “giant step” and efficiently iterate multiple times at once. For example, given the n𝑛nitalic_nth iteration we would like to be able to efficiently compute the 2n2𝑛2n2 italic_nth iteration. We do not know if this is possible.

Remark 3

This iterative method would not produce supersingular curves uniformly at random. Taking p=1019𝑝1019p=1019italic_p = 1019, when iterating (4) there are fixed points which no other elements of 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT reach upon iteration but there is also a fixed points that 50505050 other elements of 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT reach upon iteration.

3.3 Random functions with fixed points

We use the functional graph perspective on random mappings and the asymptotic analysis developed in Flajolet and Odlyzko [38] to analyze functions with many fixed points. For a function f:SS:𝑓𝑆𝑆f:S\to Sitalic_f : italic_S → italic_S, the vertices are S𝑆Sitalic_S and there is a directed edge from a𝑎aitalic_a to b𝑏bitalic_b if f(a)=b𝑓𝑎𝑏f(a)=bitalic_f ( italic_a ) = italic_b. A function on n𝑛nitalic_n elements with m𝑚mitalic_m fixed points is represented by:

  • A functional graph, consisting of m𝑚mitalic_m rooted trees (one for each fixed point) plus a set of components without fixed points;

  • Each component without fixed points is a collection of (at least two) trees where the roots are permuted cyclically;

  • Each rooted tree is a node (the root) together with a possibly empty set of rooted trees that are the children.

Note that all of these objects are labeled.

1313{13}131616{16}1633{3}31212{12}121111{11}1188{8}899{9}91414{14}1444{4}411{1}11010{10}1022{2}255{5}566{6}600{0}77{7}71515{15}15
Figure 2: A functional graph on 17171717 elements consisting of one rooted tree (with fixed point 10101010) and one component based around a cycle of length 4444.

As in [38], there is a standard method to give relationships between exponential generating functions for these objects. Let Fm(z)subscript𝐹𝑚𝑧F_{m}(z)italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_z ) be the exponential generating function for random mappings with exactly m𝑚mitalic_m fixed points. This means that

Fm(z)=n=0Fm,nzn/n!subscript𝐹𝑚𝑧superscriptsubscript𝑛0subscript𝐹𝑚𝑛superscript𝑧𝑛𝑛F_{m}(z)=\sum_{n=0}^{\infty}F_{m,n}z^{n}/n!italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_z ) = ∑ start_POSTSUBSCRIPT italic_n = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT italic_F start_POSTSUBSCRIPT italic_m , italic_n end_POSTSUBSCRIPT italic_z start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT / italic_n !

where Fm,nsubscript𝐹𝑚𝑛F_{m,n}italic_F start_POSTSUBSCRIPT italic_m , italic_n end_POSTSUBSCRIPT is the number of such functions with n𝑛nitalic_n total elements. Equivalently, it is the sum of z|φ|/|φ|!superscript𝑧𝜑𝜑z^{|\varphi|}/|\varphi|!italic_z start_POSTSUPERSCRIPT | italic_φ | end_POSTSUPERSCRIPT / | italic_φ | ! over all functions φ𝜑\varphiitalic_φ with m𝑚mitalic_m fixed points. Likewise let C(z)𝐶𝑧C(z)italic_C ( italic_z ) and T(z)𝑇𝑧T(z)italic_T ( italic_z ) be the exponential generating functions for components and trees, and let Cfpf(z)subscript𝐶𝑓𝑝𝑓𝑧C_{fpf}(z)italic_C start_POSTSUBSCRIPT italic_f italic_p italic_f end_POSTSUBSCRIPT ( italic_z ) be the exponential generating function for fixed-point-free components.

Lemma 1

We have the following relationships:

Fm(z)subscript𝐹𝑚𝑧\displaystyle F_{m}(z)italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_z ) =T(z)mexp(Cfpf(z))absent𝑇superscript𝑧𝑚subscript𝐶𝑓𝑝𝑓𝑧\displaystyle=T(z)^{m}\exp(C_{fpf}(z))= italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT roman_exp ( italic_C start_POSTSUBSCRIPT italic_f italic_p italic_f end_POSTSUBSCRIPT ( italic_z ) ) (6)
Cfpf(z)subscript𝐶𝑓𝑝𝑓𝑧\displaystyle C_{fpf}(z)italic_C start_POSTSUBSCRIPT italic_f italic_p italic_f end_POSTSUBSCRIPT ( italic_z ) =log(1T(z))T(z)absent1𝑇𝑧𝑇𝑧\displaystyle=-\log(1-T(z))-T(z)= - roman_log ( 1 - italic_T ( italic_z ) ) - italic_T ( italic_z ) (7)
T(z)𝑇𝑧\displaystyle T(z)italic_T ( italic_z ) =zexp(T(z)).absent𝑧𝑇𝑧\displaystyle=z\exp(T(z)).= italic_z roman_exp ( italic_T ( italic_z ) ) . (8)
Proof

The first is a consequence of the fact that a function with m𝑚mitalic_m fixed points consists of m𝑚mitalic_m rooted trees plus a set of components with no fixed points. It is standard that

C(z)=k11kT(z)k=log(1/(1T(z)))𝐶𝑧subscript𝑘11𝑘𝑇superscript𝑧𝑘11𝑇𝑧C(z)=\sum_{k\geq 1}\frac{1}{k}T(z)^{k}=\log(1/(1-T(z)))italic_C ( italic_z ) = ∑ start_POSTSUBSCRIPT italic_k ≥ 1 end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG italic_k end_ARG italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT = roman_log ( 1 / ( 1 - italic_T ( italic_z ) ) )

as a connected component based on a cycle of length k𝑘kitalic_k is built out of k𝑘kitalic_k trees and one can cyclically permute them. Therefore we see that

Cfpf(z)=C(z)T(z)=log(1/(1T(z)))T(z).subscript𝐶𝑓𝑝𝑓𝑧𝐶𝑧𝑇𝑧11𝑇𝑧𝑇𝑧C_{fpf}(z)=C(z)-T(z)=\log(1/(1-T(z)))-T(z).italic_C start_POSTSUBSCRIPT italic_f italic_p italic_f end_POSTSUBSCRIPT ( italic_z ) = italic_C ( italic_z ) - italic_T ( italic_z ) = roman_log ( 1 / ( 1 - italic_T ( italic_z ) ) ) - italic_T ( italic_z ) .

The third is standard, a consequence of the fact that a tree is a node plus a set of trees. ∎

We can use asymptotic analysis to compute the number of random functions with m𝑚mitalic_m fixed points. Flajolet and Odlyzko [38, Proposition 1] give an asymptotic expansion

T(z)=121ez1/3(1ez)+O((1ez)3/2)𝑇𝑧121𝑒𝑧131𝑒𝑧𝑂superscript1𝑒𝑧32T(z)=1-\sqrt{2}\sqrt{1-ez}-1/3(1-ez)+O\left((1-ez)^{3/2}\right)italic_T ( italic_z ) = 1 - square-root start_ARG 2 end_ARG square-root start_ARG 1 - italic_e italic_z end_ARG - 1 / 3 ( 1 - italic_e italic_z ) + italic_O ( ( 1 - italic_e italic_z ) start_POSTSUPERSCRIPT 3 / 2 end_POSTSUPERSCRIPT )

of T(z)𝑇𝑧T(z)italic_T ( italic_z ) around its singularity at z=1/e𝑧1𝑒z=1/eitalic_z = 1 / italic_e. We can rewrite Fm(z)=T(z)mexp(Cfpf(z))subscript𝐹𝑚𝑧𝑇superscript𝑧𝑚subscript𝐶𝑓𝑝𝑓𝑧F_{m}(z)=T(z)^{m}\exp(C_{fpf}(z))italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_z ) = italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT roman_exp ( italic_C start_POSTSUBSCRIPT italic_f italic_p italic_f end_POSTSUBSCRIPT ( italic_z ) ) in terms of T(z)𝑇𝑧T(z)italic_T ( italic_z ) as

Fm(z)=T(z)m11T(z)exp(T(z))=T(z)m1z1T(z)subscript𝐹𝑚𝑧𝑇superscript𝑧𝑚11𝑇𝑧𝑇𝑧𝑇superscript𝑧𝑚1𝑧1𝑇𝑧F_{m}(z)=T(z)^{m}\frac{1}{1-T(z)}\exp(-T(z))=T(z)^{m-1}\frac{z}{1-T(z)}italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_z ) = italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 1 - italic_T ( italic_z ) end_ARG roman_exp ( - italic_T ( italic_z ) ) = italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_m - 1 end_POSTSUPERSCRIPT divide start_ARG italic_z end_ARG start_ARG 1 - italic_T ( italic_z ) end_ARG

using that T(z)=zexp(T(z))𝑇𝑧𝑧𝑇𝑧T(z)=z\exp(T(z))italic_T ( italic_z ) = italic_z roman_exp ( italic_T ( italic_z ) ). We have that z=1e1e(1ez)𝑧1𝑒1𝑒1𝑒𝑧z=\frac{1}{e}-\frac{1}{e}(1-ez)italic_z = divide start_ARG 1 end_ARG start_ARG italic_e end_ARG - divide start_ARG 1 end_ARG start_ARG italic_e end_ARG ( 1 - italic_e italic_z ), so the leading term in the asymptotic expansion of Fm(z)subscript𝐹𝑚𝑧F_{m}(z)italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_z ) is

(e21ez)1.superscript𝑒21𝑒𝑧1(e\sqrt{2}\sqrt{1-ez})^{-1}.( italic_e square-root start_ARG 2 end_ARG square-root start_ARG 1 - italic_e italic_z end_ARG ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT .

Using [38, Theorem 1] gives the asymptotic

Fm,nn!en12πn.similar-tosubscript𝐹𝑚𝑛𝑛superscript𝑒𝑛12𝜋𝑛\frac{F_{m,n}}{n!}\sim\frac{e^{n-1}}{\sqrt{2\pi n}}.divide start_ARG italic_F start_POSTSUBSCRIPT italic_m , italic_n end_POSTSUBSCRIPT end_ARG start_ARG italic_n ! end_ARG ∼ divide start_ARG italic_e start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT end_ARG start_ARG square-root start_ARG 2 italic_π italic_n end_ARG end_ARG . (9)

For example, taking m=0𝑚0m=0italic_m = 0 gives the asymptotic 1e12πnen1𝑒12𝜋𝑛superscript𝑒𝑛\frac{1}{e}\frac{1}{\sqrt{2\pi n}}e^{n}divide start_ARG 1 end_ARG start_ARG italic_e end_ARG divide start_ARG 1 end_ARG start_ARG square-root start_ARG 2 italic_π italic_n end_ARG end_ARG italic_e start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT for F0,n/n!subscript𝐹0𝑛𝑛F_{0,n}/n!italic_F start_POSTSUBSCRIPT 0 , italic_n end_POSTSUBSCRIPT / italic_n !. In comparison, Flajolet and Odlyzko’s asymptotic analysis gave the known fact (letting Fnsubscript𝐹𝑛F_{n}italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT denote the number of functions on n𝑛nitalic_n elements) that Fn/n!12πnensimilar-tosubscript𝐹𝑛𝑛12𝜋𝑛superscript𝑒𝑛F_{n}/n!\sim\frac{1}{\sqrt{2\pi n}}e^{n}italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT / italic_n ! ∼ divide start_ARG 1 end_ARG start_ARG square-root start_ARG 2 italic_π italic_n end_ARG end_ARG italic_e start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT. As expected, this implies that about 1e1𝑒\frac{1}{e}divide start_ARG 1 end_ARG start_ARG italic_e end_ARG of randomly chosen functions do not have a fixed point.

Remark 4

Note that if m𝑚mitalic_m is fixed as n𝑛n\to\inftyitalic_n → ∞, the precise value of m𝑚mitalic_m has no effect on the asymptotics of Fm,nsubscript𝐹𝑚𝑛F_{m,n}italic_F start_POSTSUBSCRIPT italic_m , italic_n end_POSTSUBSCRIPT.

We will now modify our generating functions to take into account the number of elements which reach a fixed point after k𝑘kitalic_k iterations of a random function. The key case is for trees, where we consider the exponential generating function Tk(z,u)subscript𝑇𝑘𝑧𝑢T_{k}(z,u)italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) where the coefficient of znusuperscript𝑧𝑛superscript𝑢z^{n}u^{\ell}italic_z start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT is the number of rooted trees of size n𝑛nitalic_n with \ellroman_ℓ nodes that are distance at most k𝑘kitalic_k from the root, divided by n!𝑛n!italic_n !.

Lemma 2

We have that T0(z,u)=uT(z)subscript𝑇0𝑧𝑢𝑢𝑇𝑧T_{0}(z,u)=uT(z)italic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_z , italic_u ) = italic_u italic_T ( italic_z ), that Tk(z,u)=zuexp(Tk1(z,u))subscript𝑇𝑘𝑧𝑢𝑧𝑢subscript𝑇𝑘1𝑧𝑢T_{k}(z,u)=zu\exp(T_{k-1}(z,u))italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) = italic_z italic_u roman_exp ( italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ( italic_z , italic_u ) ), and that Tk(z,1)=T(z)subscript𝑇𝑘𝑧1𝑇𝑧T_{k}(z,1)=T(z)italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_z , 1 ) = italic_T ( italic_z ).

Proof

The first equality reflects that each tree has exactly one node at distance 00 from the root. The second comes from the fact that a rooted tree is a root plus a collection of child trees, and a node has distance at most k𝑘kitalic_k from the root if it either is the root or has distance at most k1𝑘1k-1italic_k - 1 from the root of one of the child trees. The third equality is clear. ∎

We likewise modify Fm(z)subscript𝐹𝑚𝑧F_{m}(z)italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_z ) to become a bi-variate exponential generating function Fm,k(z,u)subscript𝐹𝑚𝑘𝑧𝑢F_{m,k}(z,u)italic_F start_POSTSUBSCRIPT italic_m , italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) which counts nodes with distance at most k𝑘kitalic_k to one of the m𝑚mitalic_m fixed points. It satisfies

Fm,k(z,u)=Tk(z,u)mexp(Cfpf(z))=Tk(z,u)mz(1T(z))T(z).subscript𝐹𝑚𝑘𝑧𝑢subscript𝑇𝑘superscript𝑧𝑢𝑚subscript𝐶𝑓𝑝𝑓𝑧subscript𝑇𝑘superscript𝑧𝑢𝑚𝑧1𝑇𝑧𝑇𝑧F_{m,k}(z,u)=T_{k}(z,u)^{m}\exp(C_{fpf}(z))=T_{k}(z,u)^{m}\frac{z}{(1-T(z))T(z% )}.italic_F start_POSTSUBSCRIPT italic_m , italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) = italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT roman_exp ( italic_C start_POSTSUBSCRIPT italic_f italic_p italic_f end_POSTSUBSCRIPT ( italic_z ) ) = italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT divide start_ARG italic_z end_ARG start_ARG ( 1 - italic_T ( italic_z ) ) italic_T ( italic_z ) end_ARG .
Lemma 3

The exponential generating function for the sum of the number of elements which reach a fixed point after k𝑘kitalic_k iterations for functions with m𝑚mitalic_m fixed points is

dFm,k(z,u)du|u=1.evaluated-at𝑑subscript𝐹𝑚𝑘𝑧𝑢𝑑𝑢𝑢1\frac{dF_{m,k}(z,u)}{du}|_{u=1}.divide start_ARG italic_d italic_F start_POSTSUBSCRIPT italic_m , italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) end_ARG start_ARG italic_d italic_u end_ARG | start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT .
Proof

This follows from viewing the bi-variate exponential generating function as a sum over all functions with m𝑚mitalic_m fixed points. ∎

Proposition 4

For fixed m𝑚mitalic_m and k𝑘kitalic_k, the number of elements which reach a fixed point after k𝑘kitalic_k iterations for a random function on n𝑛nitalic_n elements with m𝑚mitalic_m fixed points is asymptotically (k+1)m𝑘1𝑚(k+1)m( italic_k + 1 ) italic_m as n𝑛n\to\inftyitalic_n → ∞.

Proof

We compute that T0(z,u)du|u=1=T(z)evaluated-atsubscript𝑇0𝑧𝑢𝑑𝑢𝑢1𝑇𝑧\frac{T_{0}(z,u)}{du}|_{u=1}=T(z)divide start_ARG italic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_z , italic_u ) end_ARG start_ARG italic_d italic_u end_ARG | start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT = italic_T ( italic_z ) and

dTk(z,u)du|u=1evaluated-at𝑑subscript𝑇𝑘𝑧𝑢𝑑𝑢𝑢1\displaystyle\frac{dT_{k}(z,u)}{du}|_{u=1}divide start_ARG italic_d italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) end_ARG start_ARG italic_d italic_u end_ARG | start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT =zexp(Tk1(z,1))+zexp(Tk1(z,1))dTk1(z,u)du|u=1absent𝑧subscript𝑇𝑘1𝑧1evaluated-at𝑧subscript𝑇𝑘1𝑧1𝑑subscript𝑇𝑘1𝑧𝑢𝑑𝑢𝑢1\displaystyle=z\exp(T_{k-1}(z,1))+z\exp(T_{k-1}(z,1))\frac{dT_{k-1}(z,u)}{du}|% _{u=1}= italic_z roman_exp ( italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ( italic_z , 1 ) ) + italic_z roman_exp ( italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ( italic_z , 1 ) ) divide start_ARG italic_d italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ( italic_z , italic_u ) end_ARG start_ARG italic_d italic_u end_ARG | start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT
=T(z)+T(z)dTk1(z,u)du|u=1absent𝑇𝑧evaluated-at𝑇𝑧𝑑subscript𝑇𝑘1𝑧𝑢𝑑𝑢𝑢1\displaystyle=T(z)+T(z)\frac{dT_{k-1}(z,u)}{du}|_{u=1}= italic_T ( italic_z ) + italic_T ( italic_z ) divide start_ARG italic_d italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ( italic_z , italic_u ) end_ARG start_ARG italic_d italic_u end_ARG | start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT
=T(z)+T(z)2++T(z)k+1absent𝑇𝑧𝑇superscript𝑧2𝑇superscript𝑧𝑘1\displaystyle=T(z)+T(z)^{2}+\ldots+T(z)^{k+1}= italic_T ( italic_z ) + italic_T ( italic_z ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + … + italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_k + 1 end_POSTSUPERSCRIPT

with the last step following by induction. Thus we have that

dFm,k(z,u)du|u=1=mT(z)m1(T(z)+T(z)2++T(z)k+1)z(1T(z))T(z).evaluated-at𝑑subscript𝐹𝑚𝑘𝑧𝑢𝑑𝑢𝑢1𝑚𝑇superscript𝑧𝑚1𝑇𝑧𝑇superscript𝑧2𝑇superscript𝑧𝑘1𝑧1𝑇𝑧𝑇𝑧\frac{dF_{m,k}(z,u)}{du}|_{u=1}=mT(z)^{m-1}(T(z)+T(z)^{2}+\ldots+T(z)^{k+1})% \frac{z}{(1-T(z))T(z)}.divide start_ARG italic_d italic_F start_POSTSUBSCRIPT italic_m , italic_k end_POSTSUBSCRIPT ( italic_z , italic_u ) end_ARG start_ARG italic_d italic_u end_ARG | start_POSTSUBSCRIPT italic_u = 1 end_POSTSUBSCRIPT = italic_m italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_m - 1 end_POSTSUPERSCRIPT ( italic_T ( italic_z ) + italic_T ( italic_z ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + … + italic_T ( italic_z ) start_POSTSUPERSCRIPT italic_k + 1 end_POSTSUPERSCRIPT ) divide start_ARG italic_z end_ARG start_ARG ( 1 - italic_T ( italic_z ) ) italic_T ( italic_z ) end_ARG .

The leading term in the asymptotic expansion at z=1/e𝑧1𝑒z=1/eitalic_z = 1 / italic_e is (k+1)m(e21ez)1𝑘1𝑚superscript𝑒21𝑒𝑧1(k+1)m(e\sqrt{2}\sqrt{1-ez})^{-1}( italic_k + 1 ) italic_m ( italic_e square-root start_ARG 2 end_ARG square-root start_ARG 1 - italic_e italic_z end_ARG ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT again using [38, Proposition 1], so applying [38, Theorem 1] and comparing with (9) gives the result. ∎

Remark 5

These results require that k𝑘kitalic_k and m𝑚mitalic_m be fixed as n𝑛nitalic_n grows. When analyzing iterating to supersingular j𝑗jitalic_j-invariants, this assumption does not hold: if there are n𝑛nitalic_nj𝑗jitalic_j-invariants then on the order of n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG of them are supersingular. A more careful analysis should give that the asymptotic of Proposition 4 continues to hold as long as k𝑘kitalic_k and m𝑚mitalic_m grow “slowly” compared to n𝑛nitalic_n. Given the conclusion that iteration is not helpful for finding supersingular j𝑗jitalic_j-invariants, we do not pursue this.

In light of this analysis of functions with many fixed points, the iterative methods investigated in Section 3.2 behave exactly like random functions with the correct number of fixed points.

4 Modular polynomials and curves isogenous to their conjugates

4.1 Overview

As described in the introduction and Section 2, Bröker’s method is limited by the degree of the Hilbert polynomials, upon which the runtime depends. However, taking small-degree Hilbert polynomials leads to curves with small endomorphisms (a vulnerability). In this section, we consider using polynomials whose roots correspond to curves with endomorphisms of exponentially large degree. The hope is, at least, to demonstrate a hard curve. The process we will describe does not, naïvely, appear likely to generate curves in a uniformly random manner, although perhaps it can be adapated.

If n𝑛nitalic_n is a positive integer coprime to p𝑝pitalic_p, then the classical modular polynomial Φn(x,y)[x,y]subscriptΦ𝑛𝑥𝑦𝑥𝑦\Phi_{n}(x,y)\in\mathbb{Z}[x,y]roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_y ) ∈ blackboard_Z [ italic_x , italic_y ] is defined as follows. For any elliptic curve E𝐸Eitalic_E, let SE,n={CE[n]:C cyclic,#C=n}subscript𝑆𝐸𝑛conditional-set𝐶𝐸delimited-[]𝑛𝐶 cyclic#𝐶𝑛S_{E,n}=\{C\subseteq E[n]:C\text{ cyclic},\#C=n\}italic_S start_POSTSUBSCRIPT italic_E , italic_n end_POSTSUBSCRIPT = { italic_C ⊆ italic_E [ italic_n ] : italic_C cyclic , # italic_C = italic_n }. There are ψ(n)𝜓𝑛\psi(n)italic_ψ ( italic_n ) elements of SE,nsubscript𝑆𝐸𝑛S_{E,n}italic_S start_POSTSUBSCRIPT italic_E , italic_n end_POSTSUBSCRIPT, where ψ𝜓\psiitalic_ψ is the Dedekind psi function (recall that ψ(k)=(+1)k1𝜓superscript𝑘1superscript𝑘1\psi(\ell^{k})=(\ell+1)\ell^{k-1}italic_ψ ( roman_ℓ start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ) = ( roman_ℓ + 1 ) roman_ℓ start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT for \ellroman_ℓ prime, and ψ𝜓\psiitalic_ψ is multiplicative; in particular, ψ(n)>n𝜓𝑛𝑛\psi(n)>nitalic_ψ ( italic_n ) > italic_n). Write E/C𝐸𝐶E/Citalic_E / italic_C for the codomain of a separable n𝑛nitalic_n-isogeny from E𝐸Eitalic_E with kernel C𝐶Citalic_C. Then

Φn(j(E),y)=CSE,n(yj(E/C)).subscriptΦ𝑛𝑗𝐸𝑦subscriptproduct𝐶subscript𝑆𝐸𝑛𝑦𝑗𝐸𝐶\Phi_{n}(j(E),y)=\prod_{C\in S_{E,n}}(y-j(E/C)).roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_j ( italic_E ) , italic_y ) = ∏ start_POSTSUBSCRIPT italic_C ∈ italic_S start_POSTSUBSCRIPT italic_E , italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_y - italic_j ( italic_E / italic_C ) ) .

In other words, Φn(x,y)=0subscriptΦ𝑛𝑥𝑦0\Phi_{n}(x,y)=0roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_y ) = 0 if and only if x𝑥xitalic_x and y𝑦yitalic_y are j𝑗jitalic_j-invariants related by a cyclic n𝑛nitalic_n-isogeny. This remains the case over any field. (See [39, Chapter 5] for background.)

Now, consider the roots in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT of the univariate polynomial Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ). These roots are the j𝑗jitalic_j-invariants of curves with cyclic n𝑛nitalic_n-isogenies to their conjugates (with root multiplicities equal to the number of distinct n𝑛nitalic_n-isogeny kernels). Let j𝑗jitalic_j be such a root and let E𝐸Eitalic_E over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT be an elliptic curve with j(E)=j𝑗𝐸𝑗j(E)=jitalic_j ( italic_E ) = italic_j. Denote by E(p)superscript𝐸𝑝E^{(p)}italic_E start_POSTSUPERSCRIPT ( italic_p ) end_POSTSUPERSCRIPT the Galois conjugate with respect to 𝔽p2/𝔽psubscript𝔽superscript𝑝2subscript𝔽𝑝\mathbb{F}_{p^{2}}/\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT / blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT. One can compose the cyclic n𝑛nitalic_n isogeny ϕ:EE(p):italic-ϕ𝐸superscript𝐸𝑝\phi:E\to E^{(p)}italic_ϕ : italic_E → italic_E start_POSTSUPERSCRIPT ( italic_p ) end_POSTSUPERSCRIPT with the inseparable Frobenius map π:E(p)E(p2)=E:𝜋superscript𝐸𝑝superscript𝐸superscript𝑝2𝐸\pi:E^{(p)}\to E^{(p^{2})}=Eitalic_π : italic_E start_POSTSUPERSCRIPT ( italic_p ) end_POSTSUPERSCRIPT → italic_E start_POSTSUPERSCRIPT ( italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_POSTSUPERSCRIPT = italic_E. When ϕ(p)=±ϕ^superscriptitalic-ϕ𝑝plus-or-minus^italic-ϕ\phi^{(p)}=\pm\hat{\phi}italic_ϕ start_POSTSUPERSCRIPT ( italic_p ) end_POSTSUPERSCRIPT = ± over^ start_ARG italic_ϕ end_ARG, which is the general case, then [40, Proposition 2] shows that (possibly by taking a quadratic twist) we obtain an isogeny μ=πϕ𝜇𝜋italic-ϕ\mu=\pi\circ\phiitalic_μ = italic_π ∘ italic_ϕ that satisfies μ2=npsuperscript𝜇2𝑛𝑝\mu^{2}=-npitalic_μ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = - italic_n italic_p. An alternative explanation for this is given in the proof of [2, Lemma 6], where it is shown that if n𝑛nitalic_n is small compared to p𝑝pitalic_p and E𝐸Eitalic_E is supersingular then μ2=npsuperscript𝜇2𝑛𝑝\mu^{2}=-npitalic_μ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = - italic_n italic_p. Either way, it follows that the class group is of (np)𝑛𝑝\mathbb{Q}(\sqrt{-np})blackboard_Q ( square-root start_ARG - italic_n italic_p end_ARG ) acts on a large subset of the supersingular roots of Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ).

There is no particular reason why these curves should also have small-degree non-integer endomorphisms.

The collection of supersingular curves with an n𝑛nitalic_n-isogeny to the conjugate has been studied [41, 42, 40], and plays a role in the security of the path-finding problem [43]. Since the class group of (np)𝑛𝑝\mathbb{Q}(\sqrt{-np})blackboard_Q ( square-root start_ARG - italic_n italic_p end_ARG ) acts on (a large subset of) this set, these curves form CSIDH-like graphs which could be used for cryptographic purposes [40]. Thus, a construction for random supersingular curves involving Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) may lead to a means of sampling from these CSIDH-like graphs. As in the CSIDH setting, there are subexponential quantum algorithms to solve the vectorization or class group action problem (see [44, Section 9.1], [40] and [32]). Thus, if there is a curve of known endomorphism ring in this set (see for example [45]), one may be able to solve the fundamental isogeny problems (path-finding and endomorphism ring computation) in quantum subexponential time. This is still far from polynomial and may be considered secure for some applications.

For p>n𝑝𝑛p>nitalic_p > italic_n, the polynomial Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) has degree ψ(n)p𝜓𝑛𝑝\psi(n)pitalic_ψ ( italic_n ) italic_p, which is exponential with respect to logp𝑝\log proman_log italic_p. While this polynomial is quite sparse, especially when pnmuch-greater-than𝑝𝑛p\gg nitalic_p ≫ italic_n, we cannot compute its roots efficiently. The idea is to reduce that degree, and make computations manageable, by instead computing roots of the factor(s)

fn,m,p(x):=gcd(Φn(x,xp),Φm(x,xp))assignsubscript𝑓𝑛𝑚𝑝𝑥subscriptΦ𝑛𝑥superscript𝑥𝑝subscriptΦ𝑚𝑥superscript𝑥𝑝f_{n,m,p}(x):=\gcd(\Phi_{n}(x,x^{p}),\Phi_{m}(x,x^{p}))italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) := roman_gcd ( roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) , roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) )

for some auxiliary m𝑚mitalic_m, without explicitly computing Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) or Φm(x,xp)subscriptΦ𝑚𝑥superscript𝑥𝑝\Phi_{m}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ).

The proposed approach for constructing supersingular curves is then:

  1. 1.

    Choose n𝑛nitalic_n and m𝑚mitalic_m.

  2. 2.

    Compute one or more roots of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. There are O(nm)𝑂𝑛𝑚O(nm)italic_O ( italic_n italic_m ) of these roots, and we can compute them in polynomial time with respect to n𝑛nitalic_n, m𝑚mitalic_m, and logp𝑝\log proman_log italic_p (see §4.2).

  3. 3.

    Test each root to see if it is a supersingular j𝑗jitalic_j-invariant, using e.g. Sutherland’s supersingularity test [46]; we give heuristics for this step in §4.3.

This method produces curves known to have endomorphisms of degree nm,np𝑛𝑚𝑛𝑝nm,npitalic_n italic_m , italic_n italic_p and mp𝑚𝑝mpitalic_m italic_p. Since we wish to avoid endomorphisms of small degree, the presence of the degree-mn𝑚𝑛mnitalic_m italic_n endomorphism means that we should take at least one of n𝑛nitalic_n and m𝑚mitalic_m to be exponentially large. Nevertheless, it is plausible that the information about the endomorphism leaked from the process of construction is not enough to allow us to compute End(E)End𝐸\operatorname{End}(E)roman_End ( italic_E ) efficiently (i.e., in polynomial time).

4.2 Computing roots of fn,m,psubscript𝑓𝑛𝑚𝑝f_{n,m,p}italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT

We want to compute roots of fn,m,p(x)=gcd(Φn(x,xp),Φm(x,xp))subscript𝑓𝑛𝑚𝑝𝑥subscriptΦ𝑛𝑥superscript𝑥𝑝subscriptΦ𝑚𝑥superscript𝑥𝑝f_{n,m,p}(x)=\gcd(\Phi_{n}(x,x^{p}),\Phi_{m}(x,x^{p}))italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) = roman_gcd ( roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) , roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) ) in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. Note that simply computing Φm(x,xp)subscriptΦ𝑚𝑥superscript𝑥𝑝\Phi_{m}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) and Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) in 𝔽p[x]subscript𝔽𝑝delimited-[]𝑥\mathbb{F}_{p}[x]blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_x ], computing their gcd\gcdroman_gcd, and finding its roots is exponential in logp𝑝\log proman_log italic_p, because degΦm(x,xp)>mpdegreesubscriptΦ𝑚𝑥superscript𝑥𝑝𝑚𝑝\deg\Phi_{m}(x,x^{p})>mproman_deg roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) > italic_m italic_p and Φn(x,xp)>npsubscriptΦ𝑛𝑥superscript𝑥𝑝𝑛𝑝\Phi_{n}(x,x^{p})>nproman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) > italic_n italic_p; these polynomials are sparse for large p𝑝pitalic_p, but generic gcd\gcdroman_gcd computations (which are quasilinear in the maximum of the degrees of the inputs [47]) cannot take advantage of this.

Algorithm 1 computes all of the 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT-roots111Algorithm 1 ignores root multiplicities, but can be easily modified to take them into account if required. of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) in polynomial time with respect to m𝑚mitalic_m, n𝑛nitalic_n, and logp𝑝\log proman_log italic_p. The key to its polynomial runtime in logp𝑝\log proman_log italic_p is that the polynomials Fmsubscript𝐹𝑚F_{m}italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT and Fnsubscript𝐹𝑛F_{n}italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT constructed in Lines 1 and 1 satisfy (by definition)

Φm(j,jp)=Φn(j,jp)=0Fm(j0,j1)=Fn(j0,j1)=0iffsubscriptΦ𝑚𝑗superscript𝑗𝑝subscriptΦ𝑛𝑗superscript𝑗𝑝0subscript𝐹𝑚subscript𝑗0subscript𝑗1subscript𝐹𝑛subscript𝑗0subscript𝑗10\Phi_{m}(j,j^{p})=\Phi_{n}(j,j^{p})=0\iff F_{m}(j_{0},j_{1})=F_{n}(j_{0},j_{1}% )=0roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_j , italic_j start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) = roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_j , italic_j start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) = 0 ⇔ italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_j start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_j start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = 0

for all j=j0+j1δ𝑗subscript𝑗0subscript𝑗1𝛿j=j_{0}+j_{1}\sqrt{\delta}italic_j = italic_j start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT square-root start_ARG italic_δ end_ARG in 𝔽p2=𝔽p(δ)subscript𝔽superscript𝑝2subscript𝔽𝑝𝛿\mathbb{F}_{p^{2}}=\mathbb{F}_{p}(\sqrt{\delta})blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( square-root start_ARG italic_δ end_ARG ), and it is much easier to solve the bivariate system Fm(X0,X1)=Fn(X0,X1)=0subscript𝐹𝑚subscript𝑋0subscript𝑋1subscript𝐹𝑛subscript𝑋0subscript𝑋10F_{m}(X_{0},X_{1})=F_{n}(X_{0},X_{1})=0italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = 0 than it is to compute gcd(Φm(x,xp),Φn(x,xp))subscriptΦ𝑚𝑥superscript𝑥𝑝subscriptΦ𝑛𝑥superscript𝑥𝑝\gcd(\Phi_{m}(x,x^{p}),\Phi_{n}(x,x^{p}))roman_gcd ( roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) , roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) ) when p𝑝pitalic_p is large.

Input: m𝑚mitalic_m, n𝑛nitalic_n, p𝑝pitalic_p
Output: The set of roots of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT
Compute Φm(X,Y)subscriptΦ𝑚𝑋𝑌\Phi_{m}(X,Y)roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_X , italic_Y ) and Φn(X,Y)subscriptΦ𝑛𝑋𝑌\Phi_{n}(X,Y)roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_X , italic_Y ) in 𝔽p[X,Y]subscript𝔽𝑝𝑋𝑌\mathbb{F}_{p}[X,Y]blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_X , italic_Y ]
  // Using e.g. the algorithm of [48]
1 Compute a nonsquare δ𝛿\deltaitalic_δ in 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, and its square root δ𝛿\sqrt{\delta}square-root start_ARG italic_δ end_ARG in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT
FmΦm(X0+δX1,X0δX1)subscript𝐹𝑚subscriptΦ𝑚subscript𝑋0𝛿subscript𝑋1subscript𝑋0𝛿subscript𝑋1F_{m}\leftarrow\Phi_{m}(X_{0}+\sqrt{\delta}X_{1},X_{0}-\sqrt{\delta}X_{1})italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ← roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + square-root start_ARG italic_δ end_ARG italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - square-root start_ARG italic_δ end_ARG italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) in 𝔽p[X0,X1]subscript𝔽𝑝subscript𝑋0subscript𝑋1\mathbb{F}_{p}[X_{0},X_{1}]blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ]
  // Fm𝔽p[X0,X1]subscript𝐹𝑚subscript𝔽𝑝subscript𝑋0subscript𝑋1F_{m}\in\mathbb{F}_{p}[X_{0},X_{1}]italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ] because ΦmsubscriptΦ𝑚\Phi_{m}roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT is symmetric
FnΦn(X0+δX1,X0δX1)subscript𝐹𝑛subscriptΦ𝑛subscript𝑋0𝛿subscript𝑋1subscript𝑋0𝛿subscript𝑋1F_{n}\leftarrow\Phi_{n}(X_{0}+\sqrt{\delta}X_{1},X_{0}-\sqrt{\delta}X_{1})italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ← roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + square-root start_ARG italic_δ end_ARG italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - square-root start_ARG italic_δ end_ARG italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) in 𝔽p[X0,X1]subscript𝔽𝑝subscript𝑋0subscript𝑋1\mathbb{F}_{p}[X_{0},X_{1}]blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ]
  // Fn𝔽p[X0,X1]subscript𝐹𝑛subscript𝔽𝑝subscript𝑋0subscript𝑋1F_{n}\in\mathbb{F}_{p}[X_{0},X_{1}]italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ] because ΦnsubscriptΦ𝑛\Phi_{n}roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is symmetric
R𝑅absentR\leftarrowitalic_R ←Resultant(Fmsubscript𝐹𝑚F_{m}italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, Fnsubscript𝐹𝑛F_{n}italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT; X0subscript𝑋0X_{0}italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT)
  // Bivariate resultant ResX0(Fm,Fn)subscriptRessubscript𝑋0subscript𝐹𝑚subscript𝐹𝑛\mathrm{Res}_{X_{0}}(F_{m},F_{n})roman_Res start_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) in 𝔽p[X1]subscript𝔽𝑝delimited-[]subscript𝑋1\mathbb{F}_{p}[X_{1}]blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ]
2 𝒥1subscript𝒥1absent\mathcal{J}_{1}\leftarrowcaligraphic_J start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ←Roots(R𝑅Ritalic_R, 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT)
3 𝒮𝒮\mathcal{S}\leftarrow\emptysetcaligraphic_S ← ∅
4 for j1𝒥1subscript𝑗1subscript𝒥1j_{1}\in\mathcal{J}_{1}italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ caligraphic_J start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT do
5       G𝐺absentG\leftarrowitalic_G ←GCD(Fm(X0,j1)subscript𝐹𝑚subscript𝑋0subscript𝑗1F_{m}(X_{0},j_{1})italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ), Fn(X0,j1)subscript𝐹𝑛subscript𝑋0subscript𝑗1F_{n}(X_{0},j_{1})italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ))
6       𝒥0subscript𝒥0absent\mathcal{J}_{0}\leftarrowcaligraphic_J start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ←Roots(G𝐺Gitalic_G, 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT)
7       𝒮𝒮{j0+j1δ:j0𝒥0}𝒮𝒮conditional-setsubscript𝑗0subscript𝑗1𝛿subscript𝑗0subscript𝒥0\mathcal{S}\leftarrow\mathcal{S}\cup\{j_{0}+j_{1}\sqrt{\delta}:j_{0}\in% \mathcal{J}_{0}\}caligraphic_S ← caligraphic_S ∪ { italic_j start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT square-root start_ARG italic_δ end_ARG : italic_j start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∈ caligraphic_J start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT }
return 𝒮𝒮\mathcal{S}caligraphic_S
Algorithm 1 Compute the set of roots of fn,m,p(x)=gcd(Φn(x,xp),Φm(x,xp))subscript𝑓𝑛𝑚𝑝𝑥subscriptΦ𝑛𝑥superscript𝑥𝑝subscriptΦ𝑚𝑥superscript𝑥𝑝f_{n,m,p}(x)=\gcd(\Phi_{n}(x,x^{p}),\Phi_{m}(x,x^{p}))italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) = roman_gcd ( roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) , roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) ) in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT.

As has already been noted, for security in applications, at least one of n𝑛nitalic_n and m𝑚mitalic_m must be exponentially large. But if n𝑛nitalic_n (or m𝑚mitalic_m) is super-polynomially large with respect to logp𝑝\log proman_log italic_p, then Algorithm 1 requires super-polynomial time and space, since it must work explicitly with the polynomials ΦnsubscriptΦ𝑛\Phi_{n}roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Hence a natural question is whether we can do better than Algorithm 1 when one (or both) of n𝑛nitalic_n and m𝑚mitalic_m is large. This is an open question. If m𝑚mitalic_m is small and n𝑛nitalic_n is very large then a “dream” approach would be to compute Fmsubscript𝐹𝑚F_{m}italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT using the classical algorithm and then somehow compute Resultant(Fm,Fn;X0)Resultantsubscript𝐹𝑚subscript𝐹𝑛subscript𝑋0\text{Resultant}(F_{m},F_{n};X_{0})Resultant ( italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ; italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) directly by some form of “square-and-multiply” approach without explicitly computing Fnsubscript𝐹𝑛F_{n}italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

4.3 Supersingular roots of fn,m,psubscript𝑓𝑛𝑚𝑝f_{n,m,p}italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT

Now we consider the question of how many of the roots of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) might be supersingular j𝑗jitalic_j-invariants. The individual polynomials Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) should be expected to have overwhelmingly ordinary roots, but there are some heuristic reasons to expect fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) to have a higher proportion of supersingular roots and we give some evidence for this in Section 4.4.

A heuristic lower bound on the number of supersingular roots of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) can be obtained as follows. There are p/12absent𝑝12\approx p/12≈ italic_p / 12 supersingular curves over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, and npabsent𝑛𝑝\approx\sqrt{np}≈ square-root start_ARG italic_n italic_p end_ARG of them have an n𝑛nitalic_n-isogeny to their conjugate (combining [40, Theorem 2] and heuristic average class group estimates). Hence, we can postulate that a “random” supersingular curve has probability 12n/p12𝑛𝑝\sqrt{12n/p}square-root start_ARG 12 italic_n / italic_p end_ARG of having an n𝑛nitalic_n-isogeny to its conjugate. Applying this to the mpabsent𝑚𝑝\approx\sqrt{mp}≈ square-root start_ARG italic_m italic_p end_ARG supersingular curves that are roots of Φm(x,xp)subscriptΦ𝑚𝑥superscript𝑥𝑝\Phi_{m}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ), we conclude that there should be mnabsent𝑚𝑛\approx\sqrt{mn}≈ square-root start_ARG italic_m italic_n end_ARG supersingular roots of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ).

To summarize, if we expect that the properties of having an n𝑛nitalic_n-isogeny and having an m𝑚mitalic_m-isogeny to the conjugate are in an appropriate sense “independent,” then one might expect the supersingular portion of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) to have degree nmabsent𝑛𝑚\approx\sqrt{nm}≈ square-root start_ARG italic_n italic_m end_ARG. Note that the resultant in line 5 of Algorithm 1 has degree O(mn)𝑂𝑚𝑛O(mn)italic_O ( italic_m italic_n ), so there are O(mn)𝑂𝑚𝑛O(mn)italic_O ( italic_m italic_n ) roots of fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT (to see this, apply Bézout’s theorem to the polynomials Fmsubscript𝐹𝑚F_{m}italic_F start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT and Fnsubscript𝐹𝑛F_{n}italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT in Algorithm 1).

Given the degree estimate just described, one might consider taking the gcd of three different modular polynomials. This will almost certainly have a smaller degree: continuing the heuristic argument above would lead to O(nmr/p)𝑂𝑛𝑚𝑟𝑝O(\sqrt{nmr/p})italic_O ( square-root start_ARG italic_n italic_m italic_r / italic_p end_ARG ) supersingular roots for the gcd of Φn(x,xp)subscriptΦ𝑛𝑥superscript𝑥𝑝\Phi_{n}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ), Φm(x,xp)subscriptΦ𝑚𝑥superscript𝑥𝑝\Phi_{m}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ) and Φr(x,xp)subscriptΦ𝑟𝑥superscript𝑥𝑝\Phi_{r}(x,x^{p})roman_Φ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ( italic_x , italic_x start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT ). With such an estimate, one might consider taking nmpsimilar-to𝑛𝑚similar-to𝑝n\sim m\sim\sqrt{p}italic_n ∼ italic_m ∼ square-root start_ARG italic_p end_ARG and r𝑟ritalic_r polynomial in logp𝑝\log proman_log italic_p. One might expect the 3-way gcd to have supersingular roots, provided it is not 1111, by the same heuristics as above.

Remark 6

If E𝐸Eitalic_E has an n𝑛nitalic_n-isogeny and an m𝑚mitalic_m-isogeny to its conjugate E(p)superscript𝐸𝑝E^{(p)}italic_E start_POSTSUPERSCRIPT ( italic_p ) end_POSTSUPERSCRIPT, then it also has an nm𝑛𝑚nmitalic_n italic_m-endomorphism to itself. When p𝑝pitalic_p is inert in (nm)𝑛𝑚\mathbb{Q}(\sqrt{-nm})blackboard_Q ( square-root start_ARG - italic_n italic_m end_ARG ), some such E𝐸Eitalic_E will be reductions modulo p𝑝pitalic_p of curves over ¯¯\overline{\mathbb{Q}}over¯ start_ARG blackboard_Q end_ARG with CM by [nm]delimited-[]𝑛𝑚\mathbb{Z}[\sqrt{-nm}]blackboard_Z [ square-root start_ARG - italic_n italic_m end_ARG ], specifically those where the reduction of the nm𝑛𝑚nmitalic_n italic_m-endomorphism factors through the conjugate. In this case, we can expect a nontrivial gcd between fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) and the Hilbert class polynomial for (nm)𝑛𝑚\mathbb{Q}(\sqrt{-nm})blackboard_Q ( square-root start_ARG - italic_n italic_m end_ARG ).

Remark 7

If one desired uniformly randomly generated supersingular curves, one might consider using randomly generated n𝑛nitalic_n and m𝑚mitalic_m of a certain size. It is unclear what distribution of n𝑛nitalic_n and m𝑚mitalic_m would lead to a uniformly random distribution of supersingular curves, if any.

4.4 Experimental evidence

Refer to caption
Figure 3: Scatterplot of fn,m,983subscript𝑓𝑛𝑚983f_{n,m,983}italic_f start_POSTSUBSCRIPT italic_n , italic_m , 983 end_POSTSUBSCRIPT: x𝑥xitalic_x-axis is nm𝑛𝑚\sqrt{nm}square-root start_ARG italic_n italic_m end_ARG, y𝑦yitalic_y-axis is the number of 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots. The line y=x𝑦𝑥y=xitalic_y = italic_x is shown for reference. There are a total of 7046 data points.
Refer to caption
Refer to caption
Figure 4: Scatterplot of fn,m,983subscript𝑓𝑛𝑚983f_{n,m,983}italic_f start_POSTSUBSCRIPT italic_n , italic_m , 983 end_POSTSUBSCRIPT: x𝑥xitalic_x-axis is degree, y𝑦yitalic_y-axis is the ratio of supersingular roots to all 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots. The visible hyperbolas correspond to the existence of 00, 1111, 2222 etc. non-supersingular roots. At left, 4286 pairs (n,m)𝑛𝑚(n,m)( italic_n , italic_m ) which are coprime; at right, 2760 pairs which are not coprime. The red line indicates the average ratio across all pairs.
Refer to caption
Refer to caption
Figure 5: Plot of the number of 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots (left) and supersingular 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots (right) of fn,m,983subscript𝑓𝑛𝑚983f_{n,m,983}italic_f start_POSTSUBSCRIPT italic_n , italic_m , 983 end_POSTSUBSCRIPT as a function of n𝑛nitalic_n and m𝑚mitalic_m (x𝑥xitalic_x and y𝑦yitalic_y axes). Dark = more (maximum = 238 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots at left; 70 supersingular roots at right); light = fewer (minimum = 0); white = uncomputed.
Refer to caption
Refer to caption
Figure 6: Plots of degfn,m,pdegreesubscript𝑓𝑛𝑚𝑝\deg f_{n,m,p}roman_deg italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT as a function of p𝑝pitalic_p. At left, n=8𝑛8n=8italic_n = 8, m=12𝑚12m=12italic_m = 12. At right, n=8𝑛8n=8italic_n = 8, m=13𝑚13m=13italic_m = 13. When p𝑝pitalic_p is inert in (nm)𝑛𝑚\mathbb{Q}(\sqrt{-nm})blackboard_Q ( square-root start_ARG - italic_n italic_m end_ARG ), the plotted points are black. When p𝑝pitalic_p is split, the plotted points are red. In both plots, there are 4808 points in total, representing a random selection of primes which are 3(mod4)annotated3pmod43\pmod{4}3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER in the given range.
data set points avg. supersingular roots𝔽p2 rootssupersingular roots𝔽p2 roots\frac{\text{supersingular roots}}{\text{$\mathbb{F}_{p^{2}}$ roots}}divide start_ARG supersingular roots end_ARG start_ARG blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots end_ARG avg. 𝔽p2 rootsnm𝔽p2 roots𝑛𝑚\frac{\text{$\mathbb{F}_{p^{2}}$ roots}}{\sqrt{nm}}divide start_ARG blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots end_ARG start_ARG square-root start_ARG italic_n italic_m end_ARG end_ARG
all 7046 0.9362 0.6251
coprime 4286 0.9189 0.6555
not coprime 2760 0.9632 0.5779
(nmp)=1𝑛𝑚𝑝1\left(\frac{-nm}{p}\right)=-1( divide start_ARG - italic_n italic_m end_ARG start_ARG italic_p end_ARG ) = - 1 3572 0.9424 0.6373
(nmp)=1𝑛𝑚𝑝1\left(\frac{-nm}{p}\right)=1( divide start_ARG - italic_n italic_m end_ARG start_ARG italic_p end_ARG ) = 1 3474 0.9300 0.6126
Table 2: Statistics for various subsets of the data set for p=983𝑝983p=983italic_p = 983. The first row (‘all’) contains all the polynomials fn,m,983subscript𝑓𝑛𝑚983f_{n,m,983}italic_f start_POSTSUBSCRIPT italic_n , italic_m , 983 end_POSTSUBSCRIPT collected as described in the beginning of the section. The other rows give statistics for subsets of the data where n𝑛nitalic_n and m𝑚mitalic_m satisfy some criterion: the row ‘coprime’ (respectively ‘not coprime’) refers to those data points where gcd(n,m)=1𝑛𝑚1\gcd(n,m)=1roman_gcd ( italic_n , italic_m ) = 1 (respectively, gcd(n,m)1𝑛𝑚1\gcd(n,m)\neq 1roman_gcd ( italic_n , italic_m ) ≠ 1), and the final two rows include points where n𝑛nitalic_n and m𝑚mitalic_m satisfy the indicated equality.

To test the heuristics of the previous section, the polynomials fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) were computed for a fixed prime p=983𝑝983p=983italic_p = 983 with pairs (n,m)𝑛𝑚(n,m)( italic_n , italic_m ) ranging over 2n452𝑛452\leq n\leq 452 ≤ italic_n ≤ 45, n+1m<8n𝑛1𝑚8𝑛n+1\leq m<8nitalic_n + 1 ≤ italic_m < 8 italic_n. Figure 3 shows the degree of the 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT part of the polynomial as compared with nm𝑛𝑚\sqrt{nm}square-root start_ARG italic_n italic_m end_ARG. Figure 4 shows the proportion of supersingular roots. Table 2 gives the average values of these quantities for various subsets of the data, including where (n,m)𝑛𝑚(n,m)( italic_n , italic_m ) is coprime or not, and where p𝑝pitalic_p is inert or split in (nm)𝑛𝑚\mathbb{Q}(\sqrt{-nm})blackboard_Q ( square-root start_ARG - italic_n italic_m end_ARG ). Figure 5 gives a sense of how the number of 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots of fn,m,psubscript𝑓𝑛𝑚𝑝f_{n,m,p}italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT varies in an intricate manner as a function of n𝑛nitalic_n and m𝑚mitalic_m for fixed p𝑝pitalic_p.

In addition, the polynomials fn,m,p(x)subscript𝑓𝑛𝑚𝑝𝑥f_{n,m,p}(x)italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT ( italic_x ) were computed for various fixed pairs (n,m)𝑛𝑚(n,m)( italic_n , italic_m ) with p𝑝pitalic_p ranging over all primes less than 106superscript10610^{6}10 start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT with p3(mod4)𝑝annotated3pmod4p\equiv 3\pmod{4}italic_p ≡ 3 start_MODIFIER ( roman_mod start_ARG 4 end_ARG ) end_MODIFIER. Figure 6 shows the degrees of f8,12,psubscript𝑓812𝑝f_{8,12,p}italic_f start_POSTSUBSCRIPT 8 , 12 , italic_p end_POSTSUBSCRIPT and f8,13,psubscript𝑓813𝑝f_{8,13,p}italic_f start_POSTSUBSCRIPT 8 , 13 , italic_p end_POSTSUBSCRIPT with respect to p𝑝pitalic_p.

In general, the data seems to support the following patterns: (i) the degrees of the 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT parts of fn,m,psubscript𝑓𝑛𝑚𝑝f_{n,m,p}italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT may be similar to or slightly less than mn𝑚𝑛\sqrt{mn}square-root start_ARG italic_m italic_n end_ARG, (ii) the proportion of supersingular roots among 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots is often high, (iii) there is variation in the ratio of supersingular roots with n𝑛nitalic_n and m𝑚mitalic_m, with slightly higher proportions found amongst n𝑛nitalic_n and m𝑚mitalic_m not coprime, and (iv) as p𝑝pitalic_p varies, the degree of fn,m,psubscript𝑓𝑛𝑚𝑝f_{n,m,p}italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT is relatively constant, but is dependent upon the coprimality, not just size, of n𝑛nitalic_n and m𝑚mitalic_m.

To conclude, supersingular j𝑗jitalic_j-invariants seem to be a large proportion of the 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roots of fn,m,psubscript𝑓𝑛𝑚𝑝f_{n,m,p}italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT. Hence, if there were an efficient way to compute these roots for a wide range of values (m,n)𝑚𝑛(m,n)( italic_m , italic_n ) then this might give a solution to the problem of hashing to a supersingular curve.

5 Constructing supersingular curves using constraints on their torsion

A supersingular curve is characterized by the number of points over any extension. Provided a curve, Schoof’s algorithm [49] computes the trace. When hashing into supersingular graphs, we know the trace and we want to find a curve. Thus, one may try to use Schoof’s algorithm “backwards,” by setting up a system of equations restricting the trace (or, more directly, the field of definition of torsion points), and looking for solutions. This method may lead to a way to generate supersingular curves uniformly randomly, since some such systems have all supersingular curves as roots.

5.1 A system of equations

To introduce the approach, let us first discuss the case when p𝑝pitalic_p is a prime of the form p+1=ii𝑝1subscriptproduct𝑖subscript𝑖p+1=\prod_{i}\ell_{i}italic_p + 1 = ∏ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, where isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are small distinct odd primes. For such p𝑝pitalic_p, the approach could proceed as follows. Let a𝑎aitalic_a be some parameter for the curve, like the j𝑗jitalic_j-invariant or the Montgomery coefficient. For every i𝑖iitalic_i, write Ψi(xi,a)subscriptΨsubscript𝑖subscript𝑥subscript𝑖𝑎\Psi_{\ell_{i}}(x_{\ell_{i}},a)roman_Ψ start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_a ) for the division polynomial of order isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of the curve parameterized by a𝑎aitalic_a. These polynomials can be efficiently computed. Consider the system

{Ψi(xi,a)=0i|p+1xip2xi=0i|p+1,casessubscriptΨsubscript𝑖subscript𝑥subscript𝑖𝑎0conditionalfor-allsubscript𝑖𝑝1superscriptsubscript𝑥subscript𝑖superscript𝑝2subscript𝑥subscript𝑖0conditionalfor-allsubscript𝑖𝑝1\left\{\begin{array}[]{lcl}\Psi_{\ell_{i}}(x_{\ell_{i}},a)&=&0\qquad\forall\ % \ell_{i}|p+1\\ x_{\ell_{i}}^{p^{2}}-x_{\ell_{i}}&=&0\qquad\forall\ \ell_{i}|p+1,\end{array}\right.{ start_ARRAY start_ROW start_CELL roman_Ψ start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_a ) end_CELL start_CELL = end_CELL start_CELL 0 ∀ roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | italic_p + 1 end_CELL end_ROW start_ROW start_CELL italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT - italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL start_CELL = end_CELL start_CELL 0 ∀ roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | italic_p + 1 , end_CELL end_ROW end_ARRAY (10)

with variables xisubscript𝑥subscript𝑖x_{\ell_{i}}italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT and a𝑎aitalic_a. The equations of this system force the isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT-torsion points of the curve with parameter a𝑎aitalic_a to be defined over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT for all i𝑖iitalic_i. Therefore the p+1𝑝1p+1italic_p + 1 torsion is also defined over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, which implies that any curve with parameter a𝑎aitalic_a being a solution of (10) is supersingular. Taking the resultant of all polynomials in the system with respect to all variables but a𝑎aitalic_a gives a polynomial whose roots are all parameters a𝑎aitalic_a that correspond to supersingular curves.

More generally when p+1𝑝1p+1italic_p + 1 is not smooth, one can fix a set of small primes or prime powers isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT such that their product is above the Hasse bound, and replace the equations xip2xi=0superscriptsubscript𝑥subscript𝑖superscript𝑝2subscript𝑥subscript𝑖0x_{\ell_{i}}^{p^{2}}-x_{\ell_{i}}=0italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT - italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 0 in (10) by alternative equations forcing the endomorphisms

π2+[p1]π+p2,superscript𝜋2delimited-[]𝑝1𝜋superscript𝑝2\pi^{2}+[p-1]\pi+p^{2},italic_π start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + [ italic_p - 1 ] italic_π + italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ,

where π𝜋\piitalic_π denotes the Frobenius endomorphism, on the curve with parameter a𝑎aitalic_a to act trivially on the isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT torsion.

For primes of the form p+1=f2e23e3𝑝1𝑓superscriptsubscript2subscript𝑒2superscriptsubscript3subscript𝑒3p+1=f\ell_{2}^{e_{2}}\ell_{3}^{e_{3}}italic_p + 1 = italic_f roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT where f,2,3𝑓subscript2subscript3f,\ell_{2},\ell_{3}italic_f , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT are small integers (as used in the SIDH key exchange  [12]) one can replace a single equation Ψi(xi,a)=0subscriptΨsubscript𝑖subscript𝑥subscript𝑖𝑎0\Psi_{\ell_{i}}(x_{\ell_{i}},a)=0roman_Ψ start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_a ) = 0 in (10) by a polynomial system in the variables xijsubscript𝑥𝑖𝑗x_{ij}italic_x start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and a𝑎aitalic_a

{Ψi(xi1,a)=0[i]a(xi(j+1),)=(xij,) for 1jei1,casessubscriptΨsubscript𝑖subscript𝑥𝑖1𝑎0subscriptdelimited-[]subscript𝑖𝑎subscript𝑥𝑖𝑗1subscript𝑥𝑖𝑗 for 1𝑗subscript𝑒𝑖1\left\{\begin{array}[]{lcl}\Psi_{\ell_{i}}(x_{i1},a)&=&0\\ \mbox{}[\ell_{i}]_{a}(x_{i(j+1)},-)&=&(x_{ij},-)\quad\mbox{ for }1\leq j\leq e% _{i}-1,\\ \end{array}\right.{ start_ARRAY start_ROW start_CELL roman_Ψ start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i 1 end_POSTSUBSCRIPT , italic_a ) end_CELL start_CELL = end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL [ roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i ( italic_j + 1 ) end_POSTSUBSCRIPT , - ) end_CELL start_CELL = end_CELL start_CELL ( italic_x start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , - ) for 1 ≤ italic_j ≤ italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - 1 , end_CELL end_ROW end_ARRAY (11)

where [i]asubscriptdelimited-[]subscript𝑖𝑎[\ell_{i}]_{a}[ roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT are “x𝑥xitalic_x-only” multiplication-by-\ellroman_ℓ polynomials on the curve of parameter a𝑎aitalic_a. For any solution to this system, xijsubscript𝑥𝑖𝑗x_{ij}italic_x start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is the x𝑥xitalic_x-coordinate of a point (xij,)subscript𝑥𝑖𝑗(x_{ij},-)( italic_x start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , - ) of order ijsuperscriptsubscript𝑖𝑗\ell_{i}^{j}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT on the curve with parameter a𝑎aitalic_a. Note that the equations [i]a(xi(j+1),)=(xij,)subscriptdelimited-[]subscript𝑖𝑎subscript𝑥𝑖𝑗1subscript𝑥𝑖𝑗[\ell_{i}]_{a}(x_{i(j+1)},-)=(x_{ij},-)[ roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i ( italic_j + 1 ) end_POSTSUBSCRIPT , - ) = ( italic_x start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , - ) are of degree roughly i2superscriptsubscript𝑖2\ell_{i}^{2}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT and Ψi(xi1,a)subscriptΨsubscript𝑖subscript𝑥𝑖1𝑎\Psi_{\ell_{i}}(x_{i1},a)roman_Ψ start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i 1 end_POSTSUBSCRIPT , italic_a ) is of degree (i21)/2superscriptsubscript𝑖212(\ell_{i}^{2}-1)/2( roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - 1 ) / 2.

As with other approaches involving large polynomial systems or large degree equations, the cost and optimal strategy to solve these systems are not obvious. We observe that the polynomial system (11) contains equations in e1+e2+1subscript𝑒1subscript𝑒21e_{1}+e_{2}+1italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1 variables of degree roughly i2superscriptsubscript𝑖2\ell_{i}^{2}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT and isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT together with the equation translating the fact that the torsion points lie in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT of degree p2superscript𝑝2p^{2}italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Yet, compared to generic polynomial systems of the same degree and with an equal number of variables, the given polynomial systems have only a few mixed monomial terms. Further, they exhibit a certain block structure. Instead of using generic algorithms such as Gröbner basis computations, taking the full monomial structure into account might help to solve the polynomial systems faster. This might be feasible using algorithms such as Rojas’ algorithm for sparse polynomial systems [50]. However, further research is needed to draw conclusions about the concrete speedup that can be achieved using this additional structure and to assess the cost of solving the polynomial systems given in this section.

Unlike the Hasse polynomial of Section 3 and arguably the function fn,m,psubscript𝑓𝑛𝑚𝑝f_{n,m,p}italic_f start_POSTSUBSCRIPT italic_n , italic_m , italic_p end_POSTSUBSCRIPT of Section 4, the polynomial system to be solved in this section can certainly be stored in polynomial space.

5.2 Variants

5.2.1 Reducing the number of solutions:

Instead of computing a random solution to the polynomial systems described in the previous section and thus a random curve with the correct number of points, some applications require computing only one curve with unknown endomorphism ring. To achieve this, one could add additional equations to the systems (11) to reduce the number of expected solutions – potentially all the way to 1, when solving the system would mean to select a single curve.

One approach could be to restrict the x𝑥xitalic_x-coordinate of torsion points to random cosets of multiplicative subgroups, namely replacing xip2xi=0superscriptsubscript𝑥subscript𝑖superscript𝑝2subscript𝑥subscript𝑖0x_{\ell_{i}}^{p^{2}}-x_{\ell_{i}}=0italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT - italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 0 for some i𝑖iitalic_i by

(μixi)ri1=0superscriptsubscript𝜇𝑖subscript𝑥subscript𝑖subscript𝑟𝑖10(\mu_{i}x_{\ell_{i}})^{r_{i}}-1=0( italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUPERSCRIPT - 1 = 0

for suitable risubscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT dividing p21superscript𝑝21p^{2}-1italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - 1, and random μisubscript𝜇𝑖\mu_{i}italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. This will decrease the degrees of equations in the system, as well as the number of solutions. If one does not restrict the field equations for all i𝑖iitalic_i, one may want to choose some i𝑖iitalic_i uniformly at random.

Assuming that the solutions to the system (11) are “randomly” distributed among all cosets of the multiplicative subgroup, the expected number of solutions to the system is reduced by the number of such cosets. If one of the remaining solutions is chosen uniformly at random and if the cosets for different i𝑖iitalic_i were chosen uniformly at random, then the supersingular elliptic curve corresponding to the final solution is a random supersingular elliptic curve. One could consider various versions of this, leaving more or fewer solutions.

5.2.2 Hybrid version:

Another variant is to drop some equations in the polynomial system (11). The resulting system has then more solutions. Each solution to the resulting system leads to a curve with a number of points N𝑁Nitalic_N with trace not fixed modulo the Hasse bound. That is, the curve generated might be of order N𝑁Nitalic_N different from the order (p+1)2superscript𝑝12(p+1)^{2}( italic_p + 1 ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT we would like to find. Hereby, the number of equations dropped from the system (11) controls the size of gcd(N,(p+1)2)𝑁superscript𝑝12\gcd(N,(p+1)^{2})roman_gcd ( italic_N , ( italic_p + 1 ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). Thus, to compute a supersingular elliptic curve one may want to proceed as follows. One generates a system with fewer equations and keeps computing random solutions until the resulting curve has the correct order. We leave it for future research to examine how much easier it is to solve the resulting systems compared to (11).

6 Genus 2 Walks

In this section, we explore several approaches to sample a uniformly random supersingular elliptic curve based on the following general idea: start with a known supersingular elliptic curve E0/𝔽qsubscript𝐸0subscript𝔽𝑞E_{0}/\mathbb{F}_{q}italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT / blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT, glue it to itself to construct a genus-2 Jacobian AJac(C)𝐴Jac𝐶A\cong\operatorname{Jac}(C)italic_A ≅ roman_Jac ( italic_C ) explicitly isogenous to E02superscriptsubscript𝐸02E_{0}^{2}italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, and then connect A𝐴Aitalic_A with a new random-looking elliptic product using Richelot isogenies, or through geometric inspection of the Jacobian (via its Kummer surface). One might hope that these genus-2 operations will “hide” obvious isogenies between the elliptic curves involved, but we will explain a number of issues with this approach at the end of Section 6.1.

Let A𝐴Aitalic_A be a principally polarised abelian surface (PPAS) over a finite field 𝔽qsubscript𝔽𝑞\mathbb{F}_{q}blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT of characteristic p>2𝑝2p>2italic_p > 2. The correct generalisation of the notion of supersingularity to genus 2 is to say that A𝐴Aitalic_A is supersingular if and only if the Newton polygon of its Weil polynomial has all its slopes equal to 1/2121/21 / 2; this is the case if and only if the p𝑝pitalic_p-torsion A[p]𝐴delimited-[]𝑝A[p]italic_A [ italic_p ] is isomorphic (as a BT1subscriptBT1\mathrm{BT}_{1}roman_BT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT group scheme) to either I2,1subscript𝐼21I_{2,1}italic_I start_POSTSUBSCRIPT 2 , 1 end_POSTSUBSCRIPT or I1,1I1,1direct-sumsubscript𝐼11subscript𝐼11I_{1,1}\oplus I_{1,1}italic_I start_POSTSUBSCRIPT 1 , 1 end_POSTSUBSCRIPT ⊕ italic_I start_POSTSUBSCRIPT 1 , 1 end_POSTSUBSCRIPT, where I1,1subscript𝐼11I_{1,1}italic_I start_POSTSUBSCRIPT 1 , 1 end_POSTSUBSCRIPT is the p𝑝pitalic_p-torsion group scheme of a supersingular elliptic curve (see Pries [51] for further detail). In the latter case, we say A𝐴Aitalic_A is principally polarized superspecial abelian surface (PPSSAS).

Every PPAS A𝐴Aitalic_A is isomorphic (as a principally polarized abelian variety) to either the Jacobian Jac(C)Jac𝐶\operatorname{Jac}(C)roman_Jac ( italic_C ) of some genus-2 curve C𝐶Citalic_C, or the product E1×E2subscript𝐸1subscript𝐸2E_{1}\times E_{2}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT of two elliptic curves (which are both supersingular if A𝐴Aitalic_A is superspecial). Oort [52] has shown that every superspecial abelian surface is isomorphic as an unpolarized abelian variety to a product of supersingular elliptic curves, and that every supersingular abelian surface is at least isogenous to a product of supersingular elliptic curves (if the abelian surface is supersingular but not superspecial, then the isogeny is inseparable).

We can construct a superspecial Jacobian A𝐴Aitalic_A isogenous to a product of supersingular elliptic curves E1subscript𝐸1E_{1}italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and E2subscript𝐸2E_{2}italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT by gluing them along their 2222-torsion, say. This corresponds to a Richelot isogeny [53] E1×E1(E1×E2)/GAsubscript𝐸1subscript𝐸1subscript𝐸1subscript𝐸2𝐺𝐴E_{1}\times E_{1}\to(E_{1}\times E_{2})/G\cong Aitalic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → ( italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) / italic_G ≅ italic_A, where G(E1×E2)[2]𝐺subscript𝐸1subscript𝐸2delimited-[]2G\leq(E_{1}\times E_{2})[2]italic_G ≤ ( italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) [ 2 ] is the graph of an isomorphism of group schemes ψ:E1[2]E2[2]:𝜓subscript𝐸1delimited-[]2subscript𝐸2delimited-[]2\psi:E_{1}[2]\to E_{2}[2]italic_ψ : italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT [ 2 ] → italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [ 2 ] that is an anti-isometry with respect to the 2222-Weil pairing (see [54]); the resulting A𝐴Aitalic_A is always a Jacobian. (We can also glue along the \ellroman_ℓ-torsion for >22\ell>2roman_ℓ > 2, and there is an analogous inseparable construction in [52] for gluing along the p𝑝pitalic_p-divisible group schemes Ei[Frp]subscript𝐸𝑖delimited-[]subscriptFr𝑝E_{i}[\operatorname{Fr}_{p}]italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT [ roman_Fr start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ], but the case =22\ell=2roman_ℓ = 2 is sufficient to illustrate our ideas. There is no reason to suspect that >22\ell>2roman_ℓ > 2 or =p𝑝\ell=proman_ℓ = italic_p will give better results. The case =22\ell=2roman_ℓ = 2 also has the advantage of being completely explicit.)

6.1 Random Walks

Our first idea is simple: We begin with a supersingular elliptic curve and glue it to itself which induces an isogeny to an abelian surface. We then take a random walk on the isogeny graph of abelian surfaces. Finally, we find the closest reducible surface and return one of its supersingular elliptic factors. The idea can be summarised in the following diagram:

E×E glue A rand. walk A unglue E×E′′ glue 𝐸𝐸𝐴 rand. walk superscript𝐴 unglue superscript𝐸superscript𝐸′′E\times E\xrightarrow{\text{ glue }}A\xrightarrow{\text{ rand. walk }}A^{% \prime}\xrightarrow{\text{ unglue }}E^{\prime}\times E^{\prime\prime}italic_E × italic_E start_ARROW over glue → end_ARROW italic_A start_ARROW over rand. walk → end_ARROW italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_ARROW over unglue → end_ARROW italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT × italic_E start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT

The initial A𝐴Aitalic_A is superspecial, and so superspeciality is preserved so long as the isogenies in the random walk are of degree prime to the characteristic. This means that we are walking in the superspecial graph.

A similar situation occurs in [55], where the authors consider the supersingular isogeny problem in genus 2 and higher. We will only sketch the outline of their arguments and will refer interested readers to find details in their paper: In genus 2, given two superspecial abelian surfaces A𝐴Aitalic_A and Asuperscript𝐴A^{\prime}italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, the idea is to reduce the problem of finding an isogeny ϕ:AA:italic-ϕ𝐴superscript𝐴\phi:A\to A^{\prime}italic_ϕ : italic_A → italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to the problem of finding a factored isogeny ψ:E1×E2E1×E2:𝜓subscript𝐸1subscript𝐸2superscriptsubscript𝐸1superscriptsubscript𝐸2\psi:E_{1}\times E_{2}\to E_{1}^{\prime}\times E_{2}^{\prime}italic_ψ : italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT → italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT × italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and (un)gluings π:AE1×E2:𝜋𝐴subscript𝐸1subscript𝐸2\pi:A\to E_{1}\times E_{2}italic_π : italic_A → italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and π:E1×E2A:superscript𝜋superscriptsubscript𝐸1superscriptsubscript𝐸2superscript𝐴\pi^{\prime}:E_{1}^{\prime}\times E_{2}^{\prime}\to A^{\prime}italic_π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : italic_E start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT × italic_E start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT → italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Finding the isogenies π𝜋\piitalic_π and π^^superscript𝜋\widehat{\pi^{\prime}}over^ start_ARG italic_π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG is essentially done by taking random walks of length O(log(p))𝑂𝑝O(\log(p))italic_O ( roman_log ( italic_p ) ). Such a walk encounters a product of elliptic curves with probability O(1/p)𝑂1𝑝O(1/p)italic_O ( 1 / italic_p ), so after O(p)𝑂𝑝O(p)italic_O ( italic_p ) many random walks we should have found the required π𝜋\piitalic_π and π^^superscript𝜋\widehat{\pi^{\prime}}over^ start_ARG italic_π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG. (The heuristics of [55] are made more rigorous in [56].)

Translating this to our setting, we see that random walks away from a fixed superspecial abelian surface have no better expected runtime at encountering a supersingular elliptic curve than simply searching for one directly by randomly sampling j𝑗jitalic_j-invariants and testing if they correspond to supersingular elliptic curves.

Ultimately, for this approach to give any advantage over simply taking a random walk in the elliptic supersingular graph, we need the genus-2 walk to “hide” information about the relative endomorphism rings of the starting and ending elliptic factors. But as noted in [57, Section 2], by fixing a supersingular elliptic curve over a finite field it is possible to parametrise the space of PPSSASs by positive-definite hermitian matrices which are elements of the matrix algebra M2(Bp,)subscript𝑀2subscript𝐵𝑝M_{2}(B_{p,\infty})italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_B start_POSTSUBSCRIPT italic_p , ∞ end_POSTSUBSCRIPT ), where Bp,subscript𝐵𝑝B_{p,\infty}italic_B start_POSTSUBSCRIPT italic_p , ∞ end_POSTSUBSCRIPT is the definite quaternion algebra that is ramified exactly at p𝑝pitalic_p and \infty. Furthermore, isogenies between PPSSASs can be represented by conjugation by matrices in the same matrix algebra. Thus, knowledge of the random walk in the genus-2 graph may allow the construction of a matrix in M2(Bp,)subscript𝑀2subscript𝐵𝑝M_{2}(B_{p,\infty})italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_B start_POSTSUBSCRIPT italic_p , ∞ end_POSTSUBSCRIPT ) that can be used to construct a path between our base and final supersingular elliptic curves.

Lastly, knowledge of the genus-2 walk may allow for the adversary to compute the endomorphism ring of the target surface, by computing the matrix that corresponds to the isogeny walk. The endomorphism ring of an elliptic product contains the endomorphism ring of each factor as a direct summand, so this information should allow an adversary to compute the endomorphism ring of the resulting (supersingular) elliptic curve.

6.2 Constructing curves on the Kummer surface

We saw above that random walks in the superspecial genus-2 graph give no real advantage over random walks in the elliptic supersingular graph when constructing new supersingular elliptic curves—and in addition, they may reveal information about the endomorphism ring. But we know that every superspecial abelian surface A𝐴Aitalic_A is isomorphic to an elliptic product as an unpolarised abelian variety, so why not go looking for a new supersingular elliptic curve directly in A𝐴Aitalic_A?

From a computational point of view, it is easier to work with curves on the Kummer surface, which is the quotient of A𝐴Aitalic_A by the action of the involution [1]delimited-[]1[-1][ - 1 ]. The projective embeddings of the Kummer surface A/±1𝐴delimited-⟨⟩plus-or-minus1A/\langle{\pm 1}\rangleitalic_A / ⟨ ± 1 ⟩ are easier to manage than those of the abelian surface A𝐴Aitalic_A, since they involve fewer equations and lower-dimensional ambient spaces; but they also retain much of the information of A𝐴Aitalic_A.

In this part, we consider the singular model Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT in 3superscript3\mathbb{P}^{3}blackboard_P start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT of the Kummer surface of an abelian surface A𝐴Aitalic_A. The model Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT is defined by a single quartic equation (see e.g. [58, Eq. 3.1.8]). We write π:AKsing=A/±1:𝜋𝐴superscript𝐾sing𝐴delimited-⟨⟩plus-or-minus1\pi:A\to K^{\textrm{sing}}=A/\langle\pm 1\rangleitalic_π : italic_A → italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT = italic_A / ⟨ ± 1 ⟩ for the degree-two quotient map; this map is ramified precisely at the sixteen 2222-torsion points of A𝐴Aitalic_A, and the images of these points under π𝜋\piitalic_π are the singular points of Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT, known as nodes. We denote the set of nodes by SKsing𝑆superscript𝐾singS\subset K^{\textrm{sing}}italic_S ⊂ italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT.

If EA𝐸𝐴E\subset Aitalic_E ⊂ italic_A is an elliptic curve, then the restriction of π𝜋\piitalic_π to E𝐸Eitalic_E defines a double cover of curves π:EE:=π(E)Ksing:𝜋𝐸superscript𝐸assign𝜋𝐸superscript𝐾sing\pi:E\to E^{\prime}:=\pi(E)\subset K^{\textrm{sing}}italic_π : italic_E → italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT := italic_π ( italic_E ) ⊂ italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT. It follows from the Riemann–Hurwitz formula that Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is either an elliptic curve or a genus-0 curve; Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is an elliptic curve if and only if π𝜋\piitalic_π is unramified along E𝐸Eitalic_E; and Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is a genus-00 curve if and only if π𝜋\piitalic_π is ramified at precisely 4444 points.

This observation provides two ideas for constructing a new supersingular elliptic curve from a superspecial abelian surface A𝐴Aitalic_A:

  1. 1.

    Find an elliptic curve on Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT that does not go through any of the nodes of Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT.

  2. 2.

    Find a genus-00 curve on Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT that goes through precisely 4444 of the nodes of Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT.

For both approaches, we consider the intersection of Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT with a hyperplane H𝐻Hitalic_H.

Approach 1: For any hyperplane H3𝐻superscript3H\subset\mathbb{P}^{3}italic_H ⊂ blackboard_P start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT, the intersection KsingHsuperscript𝐾sing𝐻K^{\textrm{sing}}\cap Hitalic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT ∩ italic_H is a plane quartic curve C𝐶Citalic_C. If C𝐶Citalic_C is non-singular then it is a genus-3333 curve. If on the other hand C𝐶Citalic_C is singular and has precisely two nodes then its (geometric) genus is 32=13213-2=13 - 2 = 1. Hence, it is possible to obtain such genus-1111 curves by constructing hyperplanes that contain precisely two of the nodes of Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT. Each pair of nodes determines a one-parameter family of hyperplanes passing through them, and imposing singularity of the intersection C𝐶Citalic_C at the nodes gives simple algebraic conditions on the parameter that let us choose “good” hyperplanes. (If required, one may define a birational map from C𝐶Citalic_C to an elliptic curve in Weierstrass form.) There is an important caveat here: even if C𝐶Citalic_C has genus 1, it may not be the image of an elliptic curve in A𝐴Aitalic_A.

In our experiments, we took Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT to be the Kummer surface of the Jacobian of the superspecial curve y2=x6xsuperscript𝑦2superscript𝑥6𝑥y^{2}=x^{6}-xitalic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT - italic_x over 𝔽p2subscript𝔽superscript𝑝2\mathbb{F}_{p^{2}}blackboard_F start_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT with p4(mod5)𝑝annotated4pmod5p\equiv 4\pmod{5}italic_p ≡ 4 start_MODIFIER ( roman_mod start_ARG 5 end_ARG ) end_MODIFIER. We note that this Jacobian is not Richelot-isogenous to any elliptic product (see e.g. [59, §4.15]), so we can be confident that any elliptic curves we find are not connected with some gluing along 2222-torsion. Unfortunately, none of the elliptic curves we found using this approach were supersingular. We discuss reasons for this in §6.4 below.

Approach 2: This approach is doomed to fail: it is impossible to construct a hyperplane H𝐻Hitalic_H passing through precisely 4444 of the nodes of Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT. Any three of the singular points in Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT already define a hyperplane H𝐻Hitalic_H, and it turns out that this hyperplane must pass through exactly 6666 of the nodes. These hyperplanes, known as the tropes of the Kummer, are classical objects of study; there are sixteen of them, and the incidence structure formed by the intersections of tropes and nodes is a (16,6)166(16,6)( 16 , 6 )-configuration [60, §26].

If H𝐻Hitalic_H is a trope, then it is tangent to Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT. The intersection is a smooth conic, taken twice, and the preimage of this conic in A𝐴Aitalic_A is isomorphic to the genus-2 curve generating A𝐴Aitalic_A as a Jacobian; its Weierstrass points are the ramified points above the six nodes (see [58, §3.7] for further details, including the explicit recovery of the genus-2 curve). This curve may degenerate to a union of two elliptic curves joined at one point, but then A𝐴Aitalic_A is an elliptic product itself, and these two elliptic curves are isomorphic to the factors—so we cannot obtain any new supersingular elliptic curves in this way.

6.3 Genus-5555 curves on the desingularised Kummer

We can find more elliptic curves by computing the desingularization ϕ:KsmKsing:italic-ϕsuperscript𝐾smsuperscript𝐾sing\phi:K^{\textrm{sm}}\to K^{\textrm{sing}}italic_ϕ : italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT → italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT of the Kummer surface, which yields a smooth model Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT in 5superscript5\mathbb{P}^{5}blackboard_P start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT (see [58, Chapter 16] for more details). Concretely, let Y:y2=i=05(xai):𝑌superscript𝑦2superscriptsubscriptproduct𝑖05𝑥subscript𝑎𝑖Y:y^{2}=\prod_{i=0}^{5}(x-a_{i})italic_Y : italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = ∏ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT ( italic_x - italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) be a hyperelliptic curve. Then Ksm=V(Ω0,Ω1,Ω2)5superscript𝐾sm𝑉subscriptΩ0subscriptΩ1subscriptΩ2superscript5K^{\textrm{sm}}=V(\Omega_{0},\Omega_{1},\Omega_{2})\subset\mathbb{P}^{5}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT = italic_V ( roman_Ω start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_Ω start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ⊂ blackboard_P start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT, where

Ω0:i=05Xi2=0,Ω1:i=05aiXi2=0,Ω2:i=05ai2Xi2=0,:subscriptΩ0superscriptsubscript𝑖05superscriptsubscript𝑋𝑖20subscriptΩ1:superscriptsubscript𝑖05subscript𝑎𝑖superscriptsubscript𝑋𝑖20subscriptΩ2:superscriptsubscript𝑖05superscriptsubscript𝑎𝑖2superscriptsubscript𝑋𝑖20\Omega_{0}:\sum_{i=0}^{5}X_{i}^{2}=0,\quad\Omega_{1}:\sum_{i=0}^{5}a_{i}X_{i}^% {2}=0,\quad\Omega_{2}:\sum_{i=0}^{5}a_{i}^{2}X_{i}^{2}=0\,,roman_Ω start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT : ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 0 , roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT : ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 0 , roman_Ω start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT : ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 0 ,

is a smooth model of the Kummer surface of the Jacobian variety of Y𝑌Yitalic_Y (see Klein [61], and the survey articles by Dolgachev [62] and Edge [63]). As an intersection of three quadrics in 4superscript4\mathbb{P}^{4}blackboard_P start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT, the intersection of Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT with a hyperplane is a non-hyperelliptic genus-5555 curve C𝐶Citalic_C. We first explain how to construct different elliptic curves that arise as quotients of the curve C𝐶Citalic_C, and later explore an alternative path where we choose hyperplanes in such a way that the curve C𝐶Citalic_C is singular and its irreducible components are elliptic curves.

6.3.1 Elliptic curves as quotients

The intersection of the variety Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT with a hyperplane defined by Xi=0subscript𝑋𝑖0X_{i}=0italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 for some i{0,,5}𝑖05i\in\{0,\dots,5\}italic_i ∈ { 0 , … , 5 } yields a non-hyperelliptic genus-5555 curve Cisubscript𝐶𝑖C_{i}italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. We are interested in certain elliptic curves Ei,jsubscript𝐸𝑖𝑗E_{i,j}italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT with j{0,1,2,3,4,5}{i}𝑗012345𝑖j\in\{0,1,2,3,4,5\}\setminus\{i\}italic_j ∈ { 0 , 1 , 2 , 3 , 4 , 5 } ∖ { italic_i } that arise as quotients of the curve Cisubscript𝐶𝑖C_{i}italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. This situation is also studied by Stoll in [64]. The construction is depicted in Figure 7.

{forest}

for tree=inner sep=2pt,l=10pt,l sep=10pt [Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT [C0subscript𝐶0C_{0}italic_C start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT [E0,1subscript𝐸01E_{0,1}italic_E start_POSTSUBSCRIPT 0 , 1 end_POSTSUBSCRIPT][E0,2subscript𝐸02E_{0,2}italic_E start_POSTSUBSCRIPT 0 , 2 end_POSTSUBSCRIPT][E0,3subscript𝐸03E_{0,3}italic_E start_POSTSUBSCRIPT 0 , 3 end_POSTSUBSCRIPT][E0,4subscript𝐸04E_{0,4}italic_E start_POSTSUBSCRIPT 0 , 4 end_POSTSUBSCRIPT][E0,5subscript𝐸05E_{0,5}italic_E start_POSTSUBSCRIPT 0 , 5 end_POSTSUBSCRIPT] ] [C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT [.][.][.][.][.] ] [C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT [.][.][.][.][.] ] [C3subscript𝐶3C_{3}italic_C start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT [.][.][.][.][.] ] [C4subscript𝐶4C_{4}italic_C start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT [.][.][.][.][.] ] [C5subscript𝐶5C_{5}italic_C start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT [.][.][.][.][.] ] ]

Figure 7: Elliptic curves Ei,jsubscript𝐸𝑖𝑗E_{i,j}italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT contained in the Kummer surface Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT
Lemma 4

Let j{0,1,2,3,4,5}{i}𝑗012345𝑖j\in\{0,1,2,3,4,5\}\setminus\{i\}italic_j ∈ { 0 , 1 , 2 , 3 , 4 , 5 } ∖ { italic_i } and consider the involution τj:XjXj:subscript𝜏𝑗maps-tosubscript𝑋𝑗subscript𝑋𝑗\tau_{j}:X_{j}\mapsto-X_{j}italic_τ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT : italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ↦ - italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT in 4superscript4\mathbb{P}^{4}blackboard_P start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT. Then

Ei,j=Ci/τjsubscript𝐸𝑖𝑗subscript𝐶𝑖delimited-⟨⟩subscript𝜏𝑗E_{i,j}=C_{i}/\langle\tau_{j}\rangleitalic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT / ⟨ italic_τ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩

is a genus-1111 curve.

Proof

The quotient map ϕ:CiEi,j:italic-ϕsubscript𝐶𝑖subscript𝐸𝑖𝑗\phi:C_{i}\to E_{i,j}italic_ϕ : italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT → italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT has degree 2222. It is ramified at Ci{Xj=0}4subscript𝐶𝑖subscript𝑋𝑗0superscript4C_{i}\cap\{X_{j}=0\}\subset\mathbb{P}^{4}italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∩ { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 } ⊂ blackboard_P start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT, a set of 8888 points, each with ramification index 2222. The Riemann–Hurwitz formula gives 2g(Ci)2=2(2g(Ei,j)2)+8(21)2𝑔subscript𝐶𝑖222𝑔subscript𝐸𝑖𝑗28212g(C_{i})-2=2\cdot(2g(E_{i,j})-2)+8\cdot(2-1)2 italic_g ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) - 2 = 2 ⋅ ( 2 italic_g ( italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ) - 2 ) + 8 ⋅ ( 2 - 1 ), whence g(Ei,j)=1𝑔subscript𝐸𝑖𝑗1g(E_{i,j})=1italic_g ( italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ) = 1. ∎

We now show how to compute a Weierstrass equation for Ei,j=Ci/τjsubscript𝐸𝑖𝑗subscript𝐶𝑖delimited-⟨⟩subscript𝜏𝑗E_{i,j}=C_{i}/\langle\tau_{j}\rangleitalic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT / ⟨ italic_τ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ by example of the genus-5555 curve C5=V(Ω0,Ω1,Ω2)4subscript𝐶5𝑉superscriptsubscriptΩ0superscriptsubscriptΩ1superscriptsubscriptΩ2superscript4C_{5}=V(\Omega_{0}^{\prime},\Omega_{1}^{\prime},\Omega_{2}^{\prime})\subset% \mathbb{P}^{4}italic_C start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT = italic_V ( roman_Ω start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , roman_Ω start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ⊂ blackboard_P start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT, where

Ω0:i=04Xi2=0,Ω1:i=04aiXi2=0,Ω2:i=04ai2Xi2=0.:superscriptsubscriptΩ0superscriptsubscript𝑖04superscriptsubscript𝑋𝑖20superscriptsubscriptΩ1:superscriptsubscript𝑖04subscript𝑎𝑖superscriptsubscript𝑋𝑖20superscriptsubscriptΩ2:superscriptsubscript𝑖04superscriptsubscript𝑎𝑖2superscriptsubscript𝑋𝑖20\Omega_{0}^{\prime}:\sum_{i=0}^{4}X_{i}^{2}=0,\quad\Omega_{1}^{\prime}:\sum_{i% =0}^{4}a_{i}X_{i}^{2}=0,\quad\Omega_{2}^{\prime}:\sum_{i=0}^{4}a_{i}^{2}X_{i}^% {2}=0.roman_Ω start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 0 , roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 0 , roman_Ω start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 0 .

Moreover, we assume that j{0,1,2}𝑗012j\in\{0,1,2\}italic_j ∈ { 0 , 1 , 2 } since the other cases are obtained by permuting the variables.

First we simplify the equations defining C5subscript𝐶5C_{5}italic_C start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT using Gaussian elimination to obtain equations of the form

Ω0′′:X02+λ0,3X32+λ0,4X42=0,Ω1′′:X12+λ1,3X32+λ1,4X42=0,Ω2′′:X22+λ2,3X32+λ2,4X42=0.matrix:superscriptsubscriptΩ0′′absentsuperscriptsubscript𝑋02missing-subexpressionmissing-subexpressionsubscript𝜆03superscriptsubscript𝑋32subscript𝜆04superscriptsubscript𝑋42absent0:superscriptsubscriptΩ1′′absentmissing-subexpressionsuperscriptsubscript𝑋12missing-subexpressionsubscript𝜆13superscriptsubscript𝑋32subscript𝜆14superscriptsubscript𝑋42absent0:superscriptsubscriptΩ2′′absentmissing-subexpressionmissing-subexpressionsuperscriptsubscript𝑋22subscript𝜆23superscriptsubscript𝑋32subscript𝜆24superscriptsubscript𝑋42absent0\begin{matrix}\Omega_{0}^{\prime\prime}:&X_{0}^{2}&&&+\lambda_{0,3}X_{3}^{2}&+% \lambda_{0,4}X_{4}^{2}&=0,\\ \Omega_{1}^{\prime\prime}:&&X_{1}^{2}&&+\lambda_{1,3}X_{3}^{2}&+\lambda_{1,4}X% _{4}^{2}&=0,\\ \Omega_{2}^{\prime\prime}:&&&X_{2}^{2}&+\lambda_{2,3}X_{3}^{2}&+\lambda_{2,4}X% _{4}^{2}&=0.\end{matrix}start_ARG start_ROW start_CELL roman_Ω start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT : end_CELL start_CELL italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT 0 , 3 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT 0 , 4 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL = 0 , end_CELL end_ROW start_ROW start_CELL roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT : end_CELL start_CELL end_CELL start_CELL italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT 1 , 3 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT 1 , 4 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL = 0 , end_CELL end_ROW start_ROW start_CELL roman_Ω start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT : end_CELL start_CELL end_CELL start_CELL end_CELL start_CELL italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT 2 , 3 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT 2 , 4 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL = 0 . end_CELL end_ROW end_ARG

The quotient E5,jsubscript𝐸5𝑗E_{5,j}italic_E start_POSTSUBSCRIPT 5 , italic_j end_POSTSUBSCRIPT for j{0,1,2}𝑗012j\in\{0,1,2\}italic_j ∈ { 0 , 1 , 2 } is defined as the zero set of the two equations

Ωj1′′:Xj12+λj1,3X32+λj1,4X42=0,Ωj2′′:Xj22+λj2,3X32+λj2,4X42=0matrix:superscriptsubscriptΩsubscript𝑗1′′absentsuperscriptsubscript𝑋subscript𝑗12missing-subexpressionsubscript𝜆subscript𝑗13superscriptsubscript𝑋32subscript𝜆subscript𝑗14superscriptsubscript𝑋42absent0:superscriptsubscriptΩsubscript𝑗2′′absentmissing-subexpressionsuperscriptsubscript𝑋subscript𝑗22subscript𝜆subscript𝑗23superscriptsubscript𝑋32subscript𝜆subscript𝑗24superscriptsubscript𝑋42absent0\begin{matrix}\Omega_{j_{1}}^{\prime\prime}:&X_{j_{1}}^{2}&&+\lambda_{j_{1},3}% X_{3}^{2}&+\lambda_{j_{1},4}X_{4}^{2}&=0,\\ \Omega_{j_{2}}^{\prime\prime}:&&X_{j_{2}}^{2}&+\lambda_{j_{2},3}X_{3}^{2}&+% \lambda_{j_{2},4}X_{4}^{2}&=0\end{matrix}start_ARG start_ROW start_CELL roman_Ω start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT : end_CELL start_CELL italic_X start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , 3 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , 4 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL = 0 , end_CELL end_ROW start_ROW start_CELL roman_Ω start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT : end_CELL start_CELL end_CELL start_CELL italic_X start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , 3 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , 4 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL start_CELL = 0 end_CELL end_ROW end_ARG

in 4superscript4\mathbb{P}^{4}blackboard_P start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT, where j1,j2subscript𝑗1subscript𝑗2j_{1},j_{2}italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are such that {j1,j2,j}={0,1,2}subscript𝑗1subscript𝑗2𝑗012\{j_{1},j_{2},j\}=\{0,1,2\}{ italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_j } = { 0 , 1 , 2 }. This corresponds to the image of C5subscript𝐶5C_{5}italic_C start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT under the projection πj:54:subscript𝜋𝑗superscript5superscript4\pi_{j}:\mathbb{P}^{5}\to\mathbb{P}^{4}italic_π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT : blackboard_P start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT → blackboard_P start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT projecting away from Xjsubscript𝑋𝑗X_{j}italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT.

Note that E5,jsubscript𝐸5𝑗E_{5,j}italic_E start_POSTSUBSCRIPT 5 , italic_j end_POSTSUBSCRIPT is defined as the intersection of two quadrics in 3superscript3\mathbb{P}^{3}blackboard_P start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT. To find a Weierstrass equation for this curve, let PE5,j𝑃subscript𝐸5𝑗P\in E_{5,j}italic_P ∈ italic_E start_POSTSUBSCRIPT 5 , italic_j end_POSTSUBSCRIPT be a rational point. First perform a coordinate transformation such that P=(0:0:0:1)P=(0:0:0:1)italic_P = ( 0 : 0 : 0 : 1 ) and then consider the projection 32superscript3superscript2\mathbb{P}^{3}\to\mathbb{P}^{2}blackboard_P start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT → blackboard_P start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT projecting away from the last coordinate. The restriction of this map to E5,jsubscript𝐸5𝑗E_{5,j}italic_E start_POSTSUBSCRIPT 5 , italic_j end_POSTSUBSCRIPT is birational and in particular the image of E5,jsubscript𝐸5𝑗E_{5,j}italic_E start_POSTSUBSCRIPT 5 , italic_j end_POSTSUBSCRIPT is a curve in 2superscript2\mathbb{P}^{2}blackboard_P start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT defined by a cubic equation.

6.3.2 Singular hyperplane intersections

In this part we consider singular curves that arise as the intersection of Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT with a hyperplane defined as L:i=05biXi=0:𝐿superscriptsubscript𝑖05subscript𝑏𝑖subscript𝑋𝑖0L:\sum_{i=0}^{5}b_{i}X_{i}=0italic_L : ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 for some coefficients biksubscript𝑏𝑖𝑘b_{i}\in kitalic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_k. Such singular curves have geometric genus 5555 and there are different configurations that can occur. Since our goal is to find an elliptic curve, we are interested in singular curves that consist of several components with at least one of these an elliptic curve. Here, we discuss the construction of singular curves that consist of two elliptic curves intersecting in 4444 different points. This configuration is depicted in Figure 8.

Figure 8: Configuration of a singular genus-5555 curve consisting of two elliptic curves.

Finding parameters bisubscript𝑏𝑖b_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT such that the intersection is singular can be solved efficiently using linear algebra. For that purpose, one considers the jacobian matrix M𝑀Mitalic_M of the variety C=KsmL𝐶superscript𝐾sm𝐿C=K^{\textrm{sm}}\cap Litalic_C = italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT ∩ italic_L. Let M(P)M4,6(k)𝑀𝑃subscript𝑀46𝑘M(P)\in M_{4,6}(k)italic_M ( italic_P ) ∈ italic_M start_POSTSUBSCRIPT 4 , 6 end_POSTSUBSCRIPT ( italic_k ) denote the evaluation of M𝑀Mitalic_M at a point P=[x0::x5]CP=[x_{0}:\dots:x_{5}]\in Citalic_P = [ italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT : … : italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT ] ∈ italic_C. Then C𝐶Citalic_C is singular in P𝑃Pitalic_P if and only if rank(M(P))=3rank𝑀𝑃3\text{rank}(M(P))=3rank ( italic_M ( italic_P ) ) = 3. Note that the last row of the matrix is given by the vector b=(b0,,b5)𝑏subscript𝑏0subscript𝑏5b=(b_{0},\dots,b_{5})italic_b = ( italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_b start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT ), hence the parameters must be chosen such that b𝑏bitalic_b is a linear combination of the first three rows of the matrix so that C𝐶Citalic_C is singular.

For most choices of b𝑏bitalic_b, the curve C𝐶Citalic_C will consist of only one irreducible component with precisely one singular point. As mentioned before, we intend to construct a curve C𝐶Citalic_C with two genus-1111 components and 4444 singular points. One possibility to achieve this is to choose b𝑏bitalic_b such that bi=bj=0subscript𝑏𝑖subscript𝑏𝑗0b_{i}=b_{j}=0italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_b start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 for two indices ij𝑖𝑗i\neq jitalic_i ≠ italic_j in {0,,5}05\{0,\dots,5\}{ 0 , … , 5 }. In that case, not only rank(M(P))=3rank𝑀𝑃3\text{rank}(M(P))=3rank ( italic_M ( italic_P ) ) = 3, but M(P)𝑀superscript𝑃M(P^{\prime})italic_M ( italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) has rank 3333 for every P=[x0::x5]P^{\prime}=[x_{0}^{\prime}:\dots:x_{5}^{\prime}]italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = [ italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : … : italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ] with xk=xksuperscriptsubscript𝑥𝑘subscript𝑥𝑘x_{k}^{\prime}=x_{k}italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT if k{i,j}𝑘𝑖𝑗k\notin\{i,j\}italic_k ∉ { italic_i , italic_j } and xk{±xk}superscriptsubscript𝑥𝑘plus-or-minussubscript𝑥𝑘x_{k}^{\prime}\in\{\pm x_{k}\}italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ { ± italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } otherwise.

We used this approach for different Kummer surfaces Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT coming from a superspecial abelian variety. We obtained singular genus-5555 curves C𝐶Citalic_C that consisted of two elliptic curves intersecting in 4444 points. The configuration is depicted in Figure 8. However, none of the elliptic curves obtained in that way were supersingular.

6.4 Why do we only obtain ordinary elliptic curves?

In §6.2 and §6.3 we succeeded in constructing elliptic curves from the Kummer surfaces of superspecial abelian surfaces. However, these elliptic curves were not supersingular in most cases. At first glance this might contradict the intuition that we expect elliptic curves on superspecial abelian surfaces to be supersingular. To understand this situation, it is necessary to study the preimages of the constructed elliptic curves in the corresponding abelian surface.

Let us consider the second approach from §6.3, where we constructed elliptic curves in Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT. If EKsm𝐸superscript𝐾smE\subset K^{\textrm{sm}}italic_E ⊂ italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT is an elliptic curve, then E:=ϕ(E)Ksingassignsuperscript𝐸italic-ϕ𝐸superscript𝐾singE^{\prime}:=\phi(E)\subset K^{\textrm{sing}}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT := italic_ϕ ( italic_E ) ⊂ italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT is a (possibly singular) genus-1111 curve. On the other hand C=π1(E)𝐶superscript𝜋1superscript𝐸C=\pi^{-1}(E^{\prime})italic_C = italic_π start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) has genus 1111 if and only if the cover π𝜋\piitalic_π is unramified along C𝐶Citalic_C. This means that Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT must not go through any of the singular points SKsing𝑆superscript𝐾singS\subset K^{\textrm{sing}}italic_S ⊂ italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT. The preimages of the sixteen nodes of Ksingsuperscript𝐾singK^{\textrm{sing}}italic_K start_POSTSUPERSCRIPT sing end_POSTSUPERSCRIPT are lines in Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT; we write LKsm𝐿superscript𝐾smL\subset K^{\textrm{sm}}italic_L ⊂ italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT for this set of lines. Translating our condition on Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT, we see that E𝐸Eitalic_E should not intersect with L𝐿Litalic_L. But using explicit descriptions of L𝐿Litalic_L (see e.g. [65, §2.2]), it is easy to see that there does not exist a hyperplane in 5superscript5\mathbb{P}^{5}blackboard_P start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT having trivial intersection with all of these lines. This shows that the elliptic curve E𝐸Eitalic_E does not correspond to an elliptic curve in A𝐴Aitalic_A.

A similar argument holds for the elliptic curves constructed in §6.2. The situation in the first approach of §6.3, where elliptic curves where constructed as quotients of genus-5555 curves on Ksmsuperscript𝐾smK^{\textrm{sm}}italic_K start_POSTSUPERSCRIPT sm end_POSTSUPERSCRIPT is different. One can show that the Jacobian of the genus-5555 curve Cisubscript𝐶𝑖C_{i}italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT as above, is isogenous to j=15Ei,jsuperscriptsubscriptproduct𝑗15subscript𝐸𝑖𝑗\prod_{j=1}^{5}E_{i,j}∏ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT. But it is not clear if there is a relation to Jac(Y)Jac𝑌\operatorname{Jac}(Y)roman_Jac ( italic_Y ). We leave this as an open question.

Question 1

What is the relation between the elliptic curves Ei,jsubscript𝐸𝑖𝑗E_{i,j}italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT and the Jacobian Jac(Y)Jac𝑌\operatorname{Jac}(Y)roman_Jac ( italic_Y ) of the initial hyperelliptic curve?

Experimental results show that for each genus-2222 curve, we find 15151515 isomorphism classes of elliptic curves Ei,jsubscript𝐸𝑖𝑗E_{i,j}italic_E start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT. In most cases, the elliptic curves are not supersingular. When starting with Y:y2=x61:𝑌superscript𝑦2superscript𝑥61Y:y^{2}=x^{6}-1italic_Y : italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT - 1, we obtain a mix of ordinary and supersingular elliptic curves. If it is supersingular, the j𝑗jitalic_j-invariant is 1728172817281728.

7 Quantum algorithm for sampling a hard curve

On a classical computer, the CGL hash function returns a random curve in the supersingular \ellroman_ℓ-isogeny graph. As described in the introduction, if one wishes the curve to be a “hard curve” then the drawback to this approach is the need for a trusted party who will throw away the path information generated by the hash function. Classically, the trusted party seems difficult to avoid. In this section, we explore the possibility of using a quantum computer to efficiently sample a hard curve from the isogeny graph without leaking any information about the endomorphism ring of the curve.

Although it may be possible to create a quantum algorithm that, when run on a quantum computer, makes the path information inaccessible, there is still a drawback. Given a curve E𝐸Eitalic_E, we do not know if it was sampled using a classical computer (with an algorithm leaking information about End(E)End𝐸\operatorname{End}(E)roman_End ( italic_E )) or a quantum computer. Perhaps one can imagine a situation in which all parties inspect the quantum computer and agree it is a quantum computer, and run the program under observation. However, one may debate whether this situation differs appreciably from the situation in which all parties inspect a classical algorithm designed to delete the path information during its execution, and agree that it will delete it before it can be accessed. Perhaps one can hope for a means of making the quantum computation “auditable” in some way, but we do not have such a method here. In particular, even if this method samples a uniformly random supersingular curve, it cannot be turned into a hash function in the manner described in the introduction.

Leaving these concerns aside for now, we present below a novel mathematical approach to producing random supersingular curves. We use the idea of continuous-time quantum walks on isogeny graphs of supersingular elliptic curves in characteristic p𝑝pitalic_p. The idea was first proposed by Kane, Sharif and Silverberg [66, 67] for constructing public-key quantum money. In their scheme, quantum walks are carried out over the ideal class group of a quaternion algebra; we adapt these walks to isogeny graphs. The key observation we make here is that the distribution of the curves defined by our sampling algorithm coincides with the limiting distribution of the quantum walks on the graphs.

7.1 Quantum computing background

A qubit holds a quantum state that is a superposition (unit length \mathbb{C}blackboard_C-linear combination) of the two possible classical states of a bit, i.e. an element of complex norm 1111 of |0|1\mathbb{C}\lvert 0\rangle\oplus\mathbb{C}\lvert 1\rangleblackboard_C | 0 ⟩ ⊕ blackboard_C | 1 ⟩. An n𝑛nitalic_n-qubit quantum register holds a quantum state that is a higher-dimensional analogue: an element x=02n1αx|x\sum_{x=0}^{2^{n}-1}\alpha_{x}\lvert x\rangle∑ start_POSTSUBSCRIPT italic_x = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_α start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT | italic_x ⟩ of complex norm 1111 in 0x<2n|x\bigoplus_{0\leq x<2^{n}}\mathbb{C}\lvert x\rangle⨁ start_POSTSUBSCRIPT 0 ≤ italic_x < 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_POSTSUBSCRIPT blackboard_C | italic_x ⟩. Given any orthonormal basis |yidelimited-|⟩subscript𝑦𝑖\lvert y_{i}\rangle| italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ of the \mathbb{C}blackboard_C-vector space, we can rewrite the state in that basis: iβi|yi\sum_{i}\beta_{i}\lvert y_{i}\rangle∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩. Some of the power of quantum computers comes from the fact that superpositions of n𝑛nitalic_n qubits lie in an 2nsuperscript2𝑛2^{n}2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT dimensional state space: the n𝑛nitalic_n-fold tensor product of the individual 2222-dimensional state spaces (indeed (|0|1)n=0x<2n|x(\mathbb{C}\lvert 0\rangle\oplus\mathbb{C}\lvert 1\rangle)^{\otimes n}=% \bigoplus_{0\leq x<2^{n}}\mathbb{C}\lvert x\rangle( blackboard_C | 0 ⟩ ⊕ blackboard_C | 1 ⟩ ) start_POSTSUPERSCRIPT ⊗ italic_n end_POSTSUPERSCRIPT = ⨁ start_POSTSUBSCRIPT 0 ≤ italic_x < 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_POSTSUBSCRIPT blackboard_C | italic_x ⟩). Most of those states are entangled, meaning that they are not simple tensors in the bases for the individual qubits.

A quantum state iβi|yisubscript𝑖subscript𝛽𝑖ketsubscript𝑦𝑖\sum_{i}\beta_{i}|y_{i}\rangle∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ cannot be observed except by measurement in an orthonormal basis |yiketsubscript𝑦𝑖|y_{i}\rangle| italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩, a process which collapses the state to one of the basis elements |yidelimited-|⟩subscript𝑦𝑖\lvert y_{i}\rangle| italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩, where state |yidelimited-|⟩subscript𝑦𝑖\lvert y_{i}\rangle| italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ is obtained with probability |βi|2superscriptsubscript𝛽𝑖2\lvert\beta_{i}\rvert^{2}| italic_β start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (the unit length condition implies a valid probability distribution). If there are several registers, we can measure just one, obtaining a superposition of the remaining registers. In a superposition x,yαxy|x|y\sum_{x,y}\alpha_{xy}\lvert x\rangle\lvert y\rangle∑ start_POSTSUBSCRIPT italic_x , italic_y end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x italic_y end_POSTSUBSCRIPT | italic_x ⟩ | italic_y ⟩, if we measure the first register, we obtain state Cyαx0y|x0|yC\sum_{y}\alpha_{x_{0}y}\lvert x_{0}\rangle\lvert y\rangleitalic_C ∑ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ | italic_y ⟩ (where C𝐶C\in\mathbb{R}italic_C ∈ blackboard_R is chosen to scale to unit length) for some x0subscript𝑥0x_{0}italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, with probability y|αx0y|2subscript𝑦superscriptsubscript𝛼subscript𝑥0𝑦2\sum_{y}\lvert\alpha_{x_{0}y}\rvert^{2}∑ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT | italic_α start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT.

To get started on a quantum computer, one can initialize simple states such as uniform superpositions 1Ni=0N1|i1𝑁superscriptsubscript𝑖0𝑁1ket𝑖\frac{1}{\sqrt{N}}\sum_{i=0}^{N-1}|i\rangledivide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_N end_ARG end_ARG ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT | italic_i ⟩. A quantum computer then operates on quantum states by unitary operators. Among the most famous is the quantum Fourier transform, whose matrix is that of the inverse discrete Fourier transform. In particular, it operates by

x=0N1αx|xx=0N1(1Ny=0N1αye2πiyx/N)|x.\sum_{x=0}^{N-1}\alpha_{x}\lvert x\rangle\mapsto\sum_{x=0}^{N-1}\left(\frac{1}% {\sqrt{N}}\sum_{y=0}^{N-1}\alpha_{y}e^{2\pi iyx/N}\right)\lvert x\rangle.∑ start_POSTSUBSCRIPT italic_x = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT italic_α start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT | italic_x ⟩ ↦ ∑ start_POSTSUBSCRIPT italic_x = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT ( divide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_N end_ARG end_ARG ∑ start_POSTSUBSCRIPT italic_y = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT italic_α start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT italic_e start_POSTSUPERSCRIPT 2 italic_π italic_i italic_y italic_x / italic_N end_POSTSUPERSCRIPT ) | italic_x ⟩ .

Classical algorithms can be performed in a quantum manner on one quantum register to store the output in another. In particular, for an efficiently computable function f𝑓fitalic_f we can perform the operation

xαx|x|0xαx|x|f(x).\sum_{x}\alpha_{x}\lvert x\rangle\lvert 0\rangle\mapsto\sum_{x}\alpha_{x}% \lvert x\rangle\lvert f(x)\rangle.∑ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT | italic_x ⟩ | 0 ⟩ ↦ ∑ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT | italic_x ⟩ | italic_f ( italic_x ) ⟩ .

7.2 Sampling curves on a quantum computer

7.2.1 A naïve approach.

To mimic the CGL algorithm in superposition, we first generate the superposition

1Nx=1N|x,\frac{1}{\sqrt{N}}\sum_{x=1}^{N}\lvert x\rangle,divide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_N end_ARG end_ARG ∑ start_POSTSUBSCRIPT italic_x = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT | italic_x ⟩ ,

where N𝑁Nitalic_N is the number of supersingular curves. Then simultaneously for each x𝑥xitalic_x, we use the classical CGL algorithm to compute a curve Exsubscript𝐸𝑥E_{x}italic_E start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT, at the end of the path associated to x𝑥xitalic_x, storing the result in a second register. The resulting superposition is

1Nx=1N|x|Ex.\frac{1}{\sqrt{N}}\sum_{x=1}^{N}\lvert x\rangle\lvert E_{x}\rangle.divide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_N end_ARG end_ARG ∑ start_POSTSUBSCRIPT italic_x = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT | italic_x ⟩ | italic_E start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⟩ .

Measuring this state collapses the superposition to a classical state |x|Ex\lvert x\rangle\lvert E_{x}\rangle| italic_x ⟩ | italic_E start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⟩ for some uniformly random xN𝑥subscript𝑁x\in\mathbb{Z}_{N}italic_x ∈ blackboard_Z start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT. This is exactly the output of the CGL algorithm for a random input x𝑥xitalic_x, so the above procedure does not do anything more than the classical CGL. In particular, the path is stored in the first register. One way to avoid revealing the path is to apply the quantum Fourier transform to the first register and measure the result. The state we get is

1Nx=1NωNxt|Ex\frac{1}{\sqrt{N}}\sum_{x=1}^{N}\omega_{N}^{xt}\lvert E_{x}\rangledivide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_N end_ARG end_ARG ∑ start_POSTSUBSCRIPT italic_x = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_ω start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_x italic_t end_POSTSUPERSCRIPT | italic_E start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⟩

for some uniformly random tN𝑡subscript𝑁t\in\mathbb{Z}_{N}italic_t ∈ blackboard_Z start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT. Now, measuring this state produces a uniformly random curve Exsubscript𝐸𝑥E_{x}italic_E start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT without revealing anything about the path x𝑥xitalic_x. However, this approach does not have any advantage over the classical CGL algorithm, as performing the quantum Fourier transform to “hide” the path information is analogous to including instructions to discard the path information in the classical CGL. In particular, if one measured the first register before the quantum Fourier transform is applied, one could recover the path information. Such runtime interference would not be detectable from the output state alone.

7.2.2 Continuous-time quantum walk algorithm.

One way to model random walks on a graph is to apply the adjacency matrix as an operator on the real vector space generated by the vertices (a Markov process). Naïvely, one might hope to mimic this on a superposition of the vertices, but unfortunately, this matrix is not unitary. The substitute is the notion of a quantum walk, where the adjacency matrix is replaced by its exponential, which is unitary.

The adjacency matrix of the \ellroman_ℓ-isogeny graph is an N×N𝑁𝑁N\times Nitalic_N × italic_N matrix Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT called the Brandt matrix. Let us assume, for simplicity, that Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT is symmetric.222This assumption is satisfied for a mild condition on the characteristic p𝑝pitalic_p. Let S𝑆Sitalic_S be the set of supersingular elliptic curves in characteristic p𝑝pitalic_p. The operator Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT acts on the module

M=ESE.𝑀subscriptdirect-sum𝐸𝑆𝐸M=\bigoplus_{E\in S}\mathbb{Z}E.italic_M = ⨁ start_POSTSUBSCRIPT italic_E ∈ italic_S end_POSTSUBSCRIPT blackboard_Z italic_E .

In the quantum setting, we will work with the complex Euclidean space

𝒳=M=ES|E.\mathcal{X}=M\otimes_{\mathbb{Z}}\mathbb{C}=\bigoplus_{E\in S}\mathbb{C}\lvert E\rangle.caligraphic_X = italic_M ⊗ start_POSTSUBSCRIPT blackboard_Z end_POSTSUBSCRIPT blackboard_C = ⨁ start_POSTSUBSCRIPT italic_E ∈ italic_S end_POSTSUBSCRIPT blackboard_C | italic_E ⟩ .

Note that in order to implement this space on a quantum computer, we use a computational basis of j𝑗jitalic_j-invariants, so we will include ordinary curves also. However the random walk, if initiated with a supersingular curve, will restrict itself to the subspace 𝒳𝒳\mathcal{X}caligraphic_X generated by the set of supersingular curves.

Let U=exp(iT)subscript𝑈𝑖subscript𝑇U_{\ell}=\exp(iT_{\ell})italic_U start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT = roman_exp ( italic_i italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ). The operator Usubscript𝑈U_{\ell}italic_U start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT is unitary (since Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT is hermitian) and its eigenvalues are eiλsuperscript𝑒𝑖𝜆e^{i\lambda}italic_e start_POSTSUPERSCRIPT italic_i italic_λ end_POSTSUPERSCRIPT for the eigenvalues λ𝜆\lambdaitalic_λ of Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT. The operator Utsuperscriptsubscript𝑈𝑡U_{\ell}^{t}italic_U start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT implements a continuous-time quantum walk at time t𝑡titalic_t on the \ellroman_ℓ-isogeny graph. The application of this for us is that from this quantum walk we can obtain a certain probability distribution on supersingular elliptic curves, and the ability to draw from this distribution to produce a random supersingular elliptic curve (once again, according to this distribution). This is done in the following way: fix an initial supersingular curve E0subscript𝐸0E_{0}italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and a bound T>0𝑇0T>0italic_T > 0, pick a time t(0,T]𝑡0𝑇t\in(0,T]italic_t ∈ ( 0 , italic_T ] uniformly at random, compute Ut|E0U_{\ell}^{t}\lvert E_{0}\rangleitalic_U start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT | italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ and measure in the basis {|E}ES\{\lvert E\rangle\}_{E\in S}{ | italic_E ⟩ } start_POSTSUBSCRIPT italic_E ∈ italic_S end_POSTSUBSCRIPT. The probability of measuring a curve ES𝐸𝑆E\in Sitalic_E ∈ italic_S is then given by [68, Chapter 16]

pE0E(T)=1T0T|E|eiTt|E0|2𝑑t.subscript𝑝subscript𝐸0𝐸𝑇1𝑇superscriptsubscript0𝑇superscriptquantum-operator-product𝐸superscript𝑒𝑖subscript𝑇𝑡subscript𝐸02differential-d𝑡p_{E_{0}\rightarrow E}(T)=\frac{1}{T}\int_{0}^{T}\lvert\langle E|e^{iT_{\ell}t% }|E_{0}\rangle\rvert^{2}dt.italic_p start_POSTSUBSCRIPT italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT → italic_E end_POSTSUBSCRIPT ( italic_T ) = divide start_ARG 1 end_ARG start_ARG italic_T end_ARG ∫ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT | ⟨ italic_E | italic_e start_POSTSUPERSCRIPT italic_i italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT italic_t end_POSTSUPERSCRIPT | italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_d italic_t . (12)

For this process to be useful, we must answer two questions about the distribution (12) on the vertices of the \ellroman_ℓ-isogeny graph: (i) How efficient is sampling from this distribution? and (ii) Do samples leak information about endomorphism rings?

We comment on the second question first: The question of information leakage requires that we understand the distribution (12) and the endomorphism rings of its outputs. However, given an initial curve E0subscript𝐸0E_{0}italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, this distribution seems difficult to analyse. In particular, it is not the same as the distribution of endpoints of a classical random walk on the \ellroman_ℓ-isogeny graph.

Regarding efficiency, for any prime poly(logN)poly𝑁\ell\leq\operatorname{poly}(\log N)roman_ℓ ≤ roman_poly ( roman_log italic_N ), the operator Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT is sparse in the sense that there are only +1=poly(logN)1poly𝑁\ell+1=\operatorname{poly}(\log N)roman_ℓ + 1 = roman_poly ( roman_log italic_N ) nonzero entries in each row or column. Therefore, Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT is a good candidate for a Hamiltonian of continuous-time quantum walks; we can use standard Hamiltonian simulation techniques to implement the quantum walk operator Utsuperscriptsubscript𝑈𝑡U_{\ell}^{t}italic_U start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT. However, the running time of the best known simulation algorithm depends linearly on t𝑡\ell troman_ℓ italic_t[69]. Therefore, these quantum walks can efficiently be performed only for time tpoly(logN)𝑡poly𝑁t\leq\operatorname{poly}(\log N)italic_t ≤ roman_poly ( roman_log italic_N ).

7.2.3 Moving to a limiting distribution.

To remedy these issues, we consider the limiting distribution of (12). Let |ϕjdelimited-|⟩subscriptitalic-ϕ𝑗\lvert\phi_{j}\rangle| italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩, j=1,,N𝑗1𝑁j=1,\dots,Nitalic_j = 1 , … , italic_N be a set of eigenvectors of Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT and let λjsubscript𝜆𝑗\lambda_{j}italic_λ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT be the corresponding eigenvalues. It can be shown that [68, Section 16.6]

limTpE0E(T)=j=1N|E0|ϕjE|ϕj|2.subscript𝑇subscript𝑝subscript𝐸0𝐸𝑇superscriptsubscript𝑗1𝑁superscriptinner-productsubscript𝐸0subscriptitalic-ϕ𝑗inner-product𝐸subscriptitalic-ϕ𝑗2\lim_{T\rightarrow\infty}p_{E_{0}\rightarrow E}(T)=\sum_{j=1}^{N}\lvert\langle E% _{0}|\phi_{j}\rangle\langle E|\phi_{j}\rangle\rvert^{2}.roman_lim start_POSTSUBSCRIPT italic_T → ∞ end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT → italic_E end_POSTSUBSCRIPT ( italic_T ) = ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT | ⟨ italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ ⟨ italic_E | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT . (13)

This limiting distribution is more tractable than (12), as it is stated in terms of the spectral theory of the graph. In practice, for the distribution (12) to be negligibly close to (13), the value T/(λjλk)𝑇subscript𝜆𝑗subscript𝜆𝑘T/(\lambda_{j}-\lambda_{k})italic_T / ( italic_λ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_λ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) must be large for any j,k𝑗𝑘j,kitalic_j , italic_k. However, the eigenvalues of Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT are all in the range [2,2]22[-2\sqrt{\ell},2\sqrt{\ell}][ - 2 square-root start_ARG roman_ℓ end_ARG , 2 square-root start_ARG roman_ℓ end_ARG ], so there are some eigenvalues that are exponentially close to each other. This means that for us to assume that we are sampling according to (13), we must select T𝑇Titalic_T to be exponentially large. But, as mentioned above, we can only implement the walk operator Utsuperscriptsubscript𝑈𝑡U_{\ell}^{t}italic_U start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT for polynomially large t𝑡titalic_t. Therefore, if we wish to use this nicer distribution, we need a different sampling algorithm which is efficient for larger T𝑇Titalic_T.

There is a (heuristic) polynomial time algorithm for sampling according to the limiting distribution (13) using phase estimation. This algorithm is based on the crucial fact that the set of operators {T} primesubscriptsubscript𝑇 prime\{T_{\ell}\}_{\ell\text{ prime}}{ italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT } start_POSTSUBSCRIPT roman_ℓ prime end_POSTSUBSCRIPT have a simultaneous set of eigenstates, namely the |ϕjdelimited-|⟩subscriptitalic-ϕ𝑗\lvert\phi_{j}\rangle| italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩, j=1,,N𝑗1𝑁j=1,\dots,Nitalic_j = 1 , … , italic_N from above. Since {|ϕj}\{\lvert\phi_{j}\rangle\}{ | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ } is a basis, we can write

|E0=j=1Nϕj|E0|ϕj.\lvert E_{0}\rangle=\sum_{j=1}^{N}\langle\phi_{j}|E_{0}\rangle\lvert\phi_{j}\rangle.| italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ = ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ⟨ italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT | italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ .

Now let 1,2,,rsubscript1subscript2subscript𝑟\ell_{1},\ell_{2},\dots,\ell_{r}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , roman_ℓ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT be a set of primes of size poly(logN)poly𝑁\operatorname{poly}(\log N)roman_poly ( roman_log italic_N ). Quantum phase estimation is an algorithm to recover the phase (which contains the eigenvalue information) of a unitary operator U𝑈Uitalic_U. Specifically, if U|ϕj=eiλj|ϕjU\lvert\phi_{j}\rangle=e^{i\lambda_{j}}\lvert\phi_{j}\rangleitalic_U | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ = italic_e start_POSTSUPERSCRIPT italic_i italic_λ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ for j=1,,N𝑗1𝑁j=1,\ldots,Nitalic_j = 1 , … , italic_N, the algorithm recovers an approximation to λjsubscript𝜆𝑗\lambda_{j}italic_λ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. We will use phase estimation on the operator U1subscript𝑈subscript1U_{\ell_{1}}italic_U start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT with the input state |E0delimited-|⟩subscript𝐸0\lvert E_{0}\rangle| italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩. Let λ1,jsubscript𝜆1𝑗\lambda_{1,j}italic_λ start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT be the eigenvalue of T1subscript𝑇subscript1T_{\ell_{1}}italic_T start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT corresponding to the eigenstate |ϕjdelimited-|⟩subscriptitalic-ϕ𝑗\lvert\phi_{j}\rangle| italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩. Then, because of the relationship between the eigenvalues of Tsubscript𝑇T_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT and those of Usubscript𝑈U_{\ell}italic_U start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT, after phase estimation we obtain the state

j=1Nϕj|E0|ϕj|λ~1,j\sum_{j=1}^{N}\langle\phi_{j}|E_{0}\rangle\lvert\phi_{j}\rangle\lvert\tilde{% \lambda}_{1,j}\rangle∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ⟨ italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT | italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⟩ | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ | over~ start_ARG italic_λ end_ARG start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT ⟩ (14)

where |λ1,jλ~1,j|1/poly(logN)subscript𝜆1𝑗subscript~𝜆1𝑗1poly𝑁\lvert\lambda_{1,j}-\tilde{\lambda}_{1,j}\rvert\leq 1/\operatorname{poly}(\log N)| italic_λ start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT - over~ start_ARG italic_λ end_ARG start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT | ≤ 1 / roman_poly ( roman_log italic_N ). Measuring the second register (which reveals a value λ~1,jsubscript~𝜆1𝑗\tilde{\lambda}_{1,j}over~ start_ARG italic_λ end_ARG start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT) we obtain a state |ψ1delimited-|⟩subscript𝜓1\lvert\psi_{1}\rangle| italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ that is a projection of the state (14) onto a smaller subspace 𝒳1𝒳subscript𝒳1𝒳\mathcal{X}_{1}\subset\mathcal{X}caligraphic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊂ caligraphic_X. If we repeat this procedure but now with the operator U2subscript𝑈subscript2U_{\ell_{2}}italic_U start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and the input state |ψ1delimited-|⟩subscript𝜓1\lvert\psi_{1}\rangle| italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩, we get a new state |ψ2delimited-|⟩subscript𝜓2\lvert\psi_{2}\rangle| italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⟩ that is the projection of |ψ1delimited-|⟩subscript𝜓1\lvert\psi_{1}\rangle| italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ onto a smaller subspace 𝒳2𝒳1subscript𝒳2subscript𝒳1\mathcal{X}_{2}\subset\mathcal{X}_{1}caligraphic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊂ caligraphic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. If r𝑟ritalic_r is large enough, repeating this procedure for all the remaining Tisubscript𝑇subscript𝑖T_{\ell_{i}}italic_T start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT we end up with some eigenstate |ϕjdelimited-|⟩subscriptitalic-ϕ𝑗\lvert\phi_{j}\rangle| italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ with probability |E0|ϕj|2superscriptinner-productsubscript𝐸0subscriptitalic-ϕ𝑗2\lvert\langle E_{0}|\phi_{j}\rangle\rvert^{2}| ⟨ italic_E start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT; see [66, 67] for a detailed analysis of this claim. Now, if we measure |ϕjdelimited-|⟩subscriptitalic-ϕ𝑗\lvert\phi_{j}\rangle| italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ in the basis {|E}ES\{\lvert E\rangle\}_{E\in S}{ | italic_E ⟩ } start_POSTSUBSCRIPT italic_E ∈ italic_S end_POSTSUBSCRIPT, we obtain a curve E𝐸Eitalic_E with probability |E|ϕj|2superscriptinner-product𝐸subscriptitalic-ϕ𝑗2\lvert\langle E|\phi_{j}\rangle\rvert^{2}| ⟨ italic_E | italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Therefore, E𝐸Eitalic_E is a sample from the distribution (13).

7.2.4 Challenges.

This proposed method still presents a few important questions. First, a theoretical analysis of the distribution (13) is needed. As the \ellroman_ℓ-isogeny graph is heuristically believed to behave as a random (+1)1(\ell+1)( roman_ℓ + 1 )-regular graph, one hopes this distribution will approach the uniform distribution over supersingular curves mod p𝑝pitalic_p. Second, the measurement process for phase estimation reveals a series λ~1,j,λ~2,j,,λ~r,jsubscript~𝜆1𝑗subscript~𝜆2𝑗subscript~𝜆𝑟𝑗\tilde{\lambda}_{1,j},\tilde{\lambda}_{2,j},\ldots,\tilde{\lambda}_{r,j}over~ start_ARG italic_λ end_ARG start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT , over~ start_ARG italic_λ end_ARG start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT , … , over~ start_ARG italic_λ end_ARG start_POSTSUBSCRIPT italic_r , italic_j end_POSTSUBSCRIPT of approximations to the eigenvalues λ1,j,λ2,j,,λr,jsubscript𝜆1𝑗subscript𝜆2𝑗subscript𝜆𝑟𝑗\lambda_{1,j},\lambda_{2,j},\dots,\lambda_{r,j}italic_λ start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT , italic_λ start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT , … , italic_λ start_POSTSUBSCRIPT italic_r , italic_j end_POSTSUBSCRIPT of the eigenstate |ϕjdelimited-|⟩subscriptitalic-ϕ𝑗\lvert\phi_{j}\rangle| italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ under the operators T1,T2.,Trformulae-sequencesubscript𝑇subscript1subscript𝑇subscript2subscript𝑇subscript𝑟T_{\ell_{1}},T_{\ell_{2}}.\dots,T_{\ell_{r}}italic_T start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT . … , italic_T start_POSTSUBSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_POSTSUBSCRIPT. It is unknown whether revealing this partial eigensystem reveals any information, for example about the likely endomorphism ring of the resulting curve.

References

  • [1] Bröker, R. (2009) Constructing supersingular elliptic curves. J. Comb. Number Theory, 1, 269–273.
  • [2] Charles, D. X., Lauter, K. E., and Goren, E. Z. (2009) Cryptographic hash functions from expander graphs. J. Cryptology, 22, 93–113.
  • [3] Couveignes, J.-M. (2006), Hard homogeneous spaces. Cryptology ePrint Archive, Paper 2006/291, https://eprint.iacr.org/2006/291.
  • [4] Rostovtsev, A. and Stolbunov, A. (2006), Public-key cryptosystem based on isogenies. Cryptology ePrint Archive, Paper 2006/145, https://eprint.iacr.org/2006/145.
  • [5] Castryck, W., Lange, T., Martindale, C., Panny, L., and Renes, J. (2018) CSIDH: An efficient post-quantum commutative group action. Peyrin, T. and Galbraith, S. D. (eds.), ASIACRYPT 2018, vol. 11274 of Lecture Notes in Computer Science, pp. 395–427, Springer.
  • [6] Yoo, Y., Azarderakhsh, R., Jalali, A., Jao, D., and Soukharev, V. (2017) A post-quantum digital signature scheme based on supersingular isogenies. International Conference on Financial Cryptography and Data Security, vol. 10322 of Lecture Notes in Computer Science, pp. 163–181, Springer, Springer.
  • [7] Galbraith, S. D., Petit, C., and Silva, J. (2020) Identification protocols and signature schemes based on supersingular isogeny problems. Journal of Cryptology, 33, 130–175.
  • [8] Feo, L. D. and Galbraith, S. D. (2019) SeaSign: Compact isogeny signatures from class group actions. EUROCRYPT (3), vol. 11478 of Lecture Notes in Computer Science, pp. 759–789, Springer.
  • [9] Decru, T., Panny, L., and Vercauteren, F. (2019) Faster SeaSign signatures through improved rejection sampling. PQCrypto 2019, vol. 11505 of Lecture Notes in Computer Science, pp. 271–285, Springer.
  • [10] Beullens, W., Kleinjung, T., and Vercauteren, F. (2019) CSI-FiSh: Efficient isogeny based signatures through class group computations. ASIACRYPT (1), vol. 11921 of Lecture Notes in Computer Science, pp. 227–247, Springer.
  • [11] Feo, L. D., Kohel, D., Leroux, A., Petit, C., and Wesolowski, B. (2020) SQISign: Compact post-quantum signatures from quaternions and isogenies. Moriai, S. and Wang, H. (eds.), ASIACRYPT 2020, vol. 12491 of Lecture Notes in Computer Science, pp. 64–93, Springer.
  • [12] Jao, D. and Feo, L. D. (2011) Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. International Workshop on Post-Quantum Cryptography, pp. 19–34, Springer.
  • [13] Castryck, W. and Decru, T. (2022), An efficient key recovery attack on SIDH (preliminary version). Cryptology ePrint Archive, Paper 2022/975, https://eprint.iacr.org/2022/975.
  • [14] Maino, L. and Martindale, C. (2022), An attack on SIDH with arbitrary starting curve. Cryptology ePrint Archive, Paper 2022/1026, https://eprint.iacr.org/2022/1026.
  • [15] Robert, D. (2022), Breaking SIDH in polynomial time. Cryptology ePrint Archive, Paper 2022/1038, https://eprint.iacr.org/2022/1038.
  • [16] Eisenträger, K., Hallgren, S., Lauter, K. E., Morrison, T., and Petit, C. (2018) Supersingular isogeny graphs and endomorphism rings: Reductions and solutions. Nielsen, J. B. and Rijmen, V. (eds.), EUROCRYPT 2018 Proceedings, Part III, vol. 10822 of Lecture Notes in Computer Science, pp. 329–368, Springer.
  • [17] Galbraith, S. D., Petit, C., Shani, B., and Ti, Y. B. (2016) On the security of supersingular isogeny cryptosystems. Cheon, J. H. and Takagi, T. (eds.), ASIACRYPT 2016 Proceedings, Part I, vol. 10031 of Lecture Notes in Computer Science, pp. 63–91.
  • [18] Wesolowski, B. (2022) The supersingular isogeny path and endomorphism ring problems are equivalent. 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science (FOCS), pp. 1100–1111, IEEE.
  • [19] Boneh, D. and Love, J. (2020) Supersingular curves with small noninteger endomorphisms. ANTS XIV—Proceedings of the Fourteenth Algorithmic Number Theory Symposium, vol. 4 of Open Book Series, pp. 7–22, Mathematical Sciences Publishers.
  • [20] Castryck, W., Panny, L., and Vercauteren, F. (2020) Rational isogenies from irrational endomorphisms. Canteaut, A. and Ishai, Y. (eds.), EUROCRYPT 2020 Proceedings, Part II, vol. 12106 of Lecture Notes in Computer Science, pp. 523–548, Springer.
  • [21] Alamati, N., Feo, L. D., Montgomery, H., and Patranabis, S. (2020) Cryptographic group actions and applications. Moriai, S. and Wang, H. (eds.), ASIACRYPT 2020 Proceedings, Part II, vol. 12492 of Lecture Notes in Computer Science, pp. 411–439, Springer.
  • [22] De Feo, L., Masson, S., Petit, C., and Sanso, A. (2019) Verifiable delay functions from supersingular isogenies and pairings. ASIACRYPT 2019, pp. 248–277, Springer.
  • [23] Moriya, T., Takashima, K., and Takagi, T. (2020) Group key exchange from CSIDH and its application to trusted setup in supersingular isogeny cryptosystems. Liu, Z. and Yung, M. (eds.), Information Security and Cryptology, Cham, pp. 86–98, Springer International Publishing.
  • [24] Basso, A., Codogni, G., Connolly, D., De Feo, L., Fouotsa, T. B., Lido, G. M., Morrison, T., Panny, L., Patranabis, S., and Wesolowski, B. (2023) Supersingular curves you can trust. Hazay, C. and Stam, M. (eds.), Advances in Cryptology – EUROCRYPT 2023, Cham, pp. 405–437, Springer Nature Switzerland.
  • [25] Burdges, J. and Feo, L. D. (2021) Delay encryption. Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 302–326, Springer.
  • [26] Boneh, D., Kogan, D., and Woo, K. (2020) Oblivious pseudorandom functions from isogenies. International Conference on the Theory and Application of Cryptology and Information Security, pp. 520–550, Springer.
  • [27] Basso, A., Kutas, P., Merz, S.-P., Petit, C., and Sanso, A. (2021) Cryptanalysis of an oblivious PRF from supersingular isogenies. International Conference on the Theory and Application of Cryptology and Information Security, pp. 160–184, Springer.
  • [28] Petit, C. (2017) Faster algorithms for isogeny problems using torsion point images. ASIACRYPT 2017 Proceedings, Part II, pp. 330–353.
  • [29] Quehen, V. d., Kutas, P., Leonardi, C., Martindale, C., Panny, L., Petit, C., and Stange, K. E. (2021) Improved torsion-point attacks on SIDH variants. Malkin, T. and Peikert, C. (eds.), CRYPTO 2021 Proceedings, Part III, vol. 12827 of Lecture Notes in Computer Science, pp. 432–470, Springer, Springer.
  • [30] Kutas, P., Merz, S.-P., Petit, C., and Weitkämper, C. (2021) One-way functions and malleability oracles: Hidden shift attacks on isogeny-based protocols. Canteaut, A. and Standaert, F. (eds.), EUROCRYPT 2021 Proceedings, Part I, vol. 12696 of Lecture Notes in Computer Science, pp. 242–271, Springer, Springer.
  • [31] Azarderakhsh, R., Jao, D., Koziel, B., LeGrow, J. T., Soukharev, V., and Taraskin, O. (2020) How not to create an isogeny-based PAKE. International Conference on Applied Cryptography and Network Security, pp. 169–186, Springer.
  • [32] Wesolowski, B. (2021) Orientations and the supersingular endomorphism ring problem. IACR Cryptol. ePrint Arch., p. 1583.
  • [33] Mula, M., Murru, N., and Pintore, F. (2022), On random sampling of supersingular elliptic curves. Cryptology ePrint Archive, Paper 2022/528, https://eprint.iacr.org/2022/528.
  • [34] Silverman, J. H. (2009) The arithmetic of elliptic curves, vol. 106 of Graduate Texts in Mathematics. Springer, Dordrecht, second edn.
  • [35] Goldfeld, D. M. (1974) A simple proof of Siegel’s theorem. Proc. Nat. Acad. Sci. U.S.A., 71, 1055.
  • [36] Delfs, C. and Galbraith, S. D. (2016) Computing isogenies between supersingular elliptic curves over 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT. Des. Codes Cryptogr., 78, 425–440.
  • [37] Martins, R., Panario, D., and Qureshi, C. (2019) A survey on iterations of mappings over finite fields. Schmidt, K.-U. and Winterhof, A. (eds.), Combinatorics and Finite Fields: Difference Sets, Polynomials, Pseudorandomness and Applications, vol. 23 of Radon Ser. Comput. Appl. Math., pp. 135–172, De Gruyter.
  • [38] Flajolet, P. and Odlyzko, A. M. (1990) Random mapping statistics. Advances in cryptology—EUROCRYPT ’89 (Houthalen, 1989), vol. 434 of Lecture Notes in Comput. Sci., pp. 329–354, Springer, Berlin.
  • [39] Lang, S. (1987) Elliptic functions, vol. 112 of Graduate Texts in Mathematics. Springer-Verlag, New York, second edn., with an appendix by J. Tate.
  • [40] Chenu, M. and Smith, B. (2022) Higher-degree supersingular group actions. Mathematical Cryptology, 1, 85–101.
  • [41] Arpin, S. (2022) Adding level structure to supersingular elliptic curve isogeny graphs, arXiv:2203.03531.
  • [42] Arpin, S., Camacho-Navarro, C., Lauter, K., Lim, J., Nelson, K., Scholl, T., and Sotáková, J. (2021) Adventures in supersingularland. Experimental Mathematics, 0, 1–28.
  • [43] Eisenträger, K., Hallgren, S., Leonardi, C., Morrison, T., and Park, J. (2020) Computing endomorphism rings of supersingular elliptic curves and connections to path-finding in isogeny graphs. ANTS XIV—Proceedings of the Fourteenth Algorithmic Number Theory Symposium, vol. 4 of Open Book Series, pp. 215–232, Mathematical Sciences Publishers.
  • [44] Arpin, S., Chen, M., Lauter, K. E., Scheidler, R., Stange, K. E., and Tran, H. T. N. (2022) Orienteering with one endomorphism. IACR Cryptol. ePrint Arch., p. 098.
  • [45] Chen, M. and Xue, J. (2022) On 𝔽psubscript𝔽𝑝\mathbb{F}_{p}blackboard_F start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT-roots of the Hilbert class polynomial modulo p𝑝pitalic_p, arXiv:2202.04317.
  • [46] Sutherland, A. V. (2012) Identifying supersingular elliptic curves. LMS Journal of Computation and Mathematics, 15, 317–325.
  • [47] Möller, N. (2008) On Schönhage’s algorithm and subquadratic integer GCD computation. Math. Comp., 77, 589–607.
  • [48] Bröker, R., Lauter, K., and Sutherland, A. V. (2012) Modular polynomials via isogeny volcanoes. Math. Comp., 81, 1201–1231.
  • [49] Schoof, R. (1985) Elliptic curves over finite fields and the computation of square roots modpmod𝑝\operatorname{mod}proman_mod italic_p. Mathematics of Computation, 44, 483–494.
  • [50] Rojas, J. M. (1999) Solving degenerate sparse polynomial systems faster. Journal of Symbolic Computation, 28, 155–186.
  • [51] Pries, R. (2008) A short guide to p𝑝pitalic_p-torsion of abelian varieties in characteristic p𝑝pitalic_p. Computational arithmetic geometry, vol. 463 of Contemporary Mathematics, pp. 121–129, American Mathematical Society.
  • [52] Oort, F. (1975) Which abelian surfaces are products of elliptic curves? Mathematische Annalen, 214, 35–48.
  • [53] Richelot, F. J. (1837) De transformatione integralium Abelianorum primi ordinis commentatio. Journal für die reine und angewandte Mathematik, 16, 285–341.
  • [54] Kani, E. (1997) The number of curves of genus two with elliptic differentials. J. reine angew. Math., 1997, 93–122.
  • [55] Costello, C. and Smith, B. (2020) The supersingular isogeny problem in genus 2 and beyond. International Conference on Post-Quantum Cryptography, PQCrypto 2020, pp. 151–168, Springer.
  • [56] Florit, E. and Smith, B. (2022) Automorphisms and isogeny graphs of abelian varieties, with applications to the superspecial Richelot isogeny graph. Anni, S., Karemaker, V., and Lorenzo García, E. (eds.), Arithmetic, geometry, cryptography and coding theory 2021, Contemporary Mathematics, American Mathematical Society, to appear.
  • [57] Ibukiyama, T., Katsura, T., and Oort, F. (1986) Supersingular curves of genus two and class numbers. Compositio Mathematica, 57, 127–152.
  • [58] Cassels, J. W. S. and Flynn, E. V. (1996) Prolegomena to a middlebrow arithmetic of curves of genus 2222, vol. 230 of London Mathematical Society Lecture Note Series. Cambridge University Press, Cambridge.
  • [59] Florit, E. and Smith, B. (2022) An atlas of the Richelot isogeny graph. RIMS Kôkyûroku Bessatsu, to appear.
  • [60] Hudson, R. W. H. T. (1905) Kummer’s quartic surface. Cambridge University Press, Cambridge.
  • [61] Klein, F. (1870) Zur Theorie der Liniencomplexe des ersten und zweiten Grades. Mathematische Annalen, 2, 198–226.
  • [62] Dolgachev, I. (2019) Kummer surfaces: 200 years of study. Notices of the American Mathematical Society, 67.
  • [63] Edge, W. L. (1967) A new look at the Kummer surface. Canadian Journal of Mathematics, 19, 952–967.
  • [64] Stoll, M. (2019) Diagonal genus 5 curves, elliptic curves over (t)𝑡\mathbb{Q}(t)blackboard_Q ( italic_t ), and rational diophantine quintuples. Acta Arithmetica, 190, 239–261.
  • [65] Castorena, A. and Frías-Medina, J. B. (2021) Geometric aspects on Humbert-Edge’s curves of type 5, Kummer surfaces and hyperelliptic curves of genus 2, arXiv:2106.00813.
  • [66] Kane, D. M. (2018) Quantum money from modular forms, arXiv:1809.05925.
  • [67] Kane, D. M., Sharif, S., and Silverberg, A. (2021) Quantum money from quaternion algebras, arXiv:2109.12643.
  • [68] Childs, A. Lecture notes on quantum algorithms, https://www.cs.umd.edu/~amchilds/qa/.
  • [69] Berry, D. W., Childs, A. M., and Kothari, R. (2015) Hamiltonian simulation with nearly optimal dependence on all parameters. 2015 IEEE 56th Annual Symposium on Foundations of Computer Science, pp. 792–809, IEEE.