1,610
Views
2
CrossRef citations to date
0
Altmetric
Original Articles

Adventures in Supersingularland

, , , , , & show all

Abstract

Supersingular Isogeny Graphs were introduced as a source of hard problems in cryptography by Charles, Goren, and Lauter [Citation6] for the construction of cryptographic hash functions and have been used for key exchange SIKE. The security of such systems depends on the difficulty of finding a path between two random vertices. In this article, we study several aspects of the structure of these graphs. First, we study the subgraph given by j-invariants in Fp, using the related isogeny graph consisting of only Fp-rational curves and isogenies. We prove theorems on how the connected components thereof attach, stack, and fold when mapped into the full graph. The Fp-rational vertices are fixed by the Frobenius involution on the graph, and we call the induced graph the spine. Finding paths to the spine is relevant in cryptanalysis. Second, we present numerous computational experiments and heuristics relating to the position of the spine within the whole graph. These include studying the distance of random vertices to the spine, estimates of the diameter of the graph, how often paths are preserved under the Frobenius involution, and what proportion of vertices are conjugate. We compare some of the heuristics with known results on other Ramanujan graphs.

1 Introduction

Supersingular Isogeny Graphs have been the subject of recent study due to their significance in recently proposed post-quantum cryptographic protocols. In 2006, Charles, Goren, and Lauter proposed a hash function based on the hardness of finding paths (routing) in Supersingular Isogeny Graphs [Citation6]. A few years later, De Feo, Jao, and Plût proposed a key exchange based on Supersingular Isogeny Graphs [Citation12]. The security of most currently deployed cryptographic systems relies on either the hardness of factoring large integers of a certain form or the hardness of computing discrete logarithms in certain cyclic groups. Both problems can be efficiently solved using Shor’s algorithm [Citation23] on a large-scale quantum computer once it exists. In 2015, NIST announced a contest to standardize cryptographic algorithms that are not known to be broken by quantum computers. Now in its third round, SIKE (https://sike.org/, based on Supersingular Isogeny Graphs) has been shortlisted as an alternate candidate.

To date, there are no known classical or quantum attacks that break the cryptographic protocols that use Supersingular Isogeny Graphs. But the graphs themselves have been relatively unstudied until recently. More study is needed before we can confidently recommend protocols which rely on the difficulty of the hard problem of finding paths in Supersingular Isogeny Graphs. There have been several approaches tried so far to attack cryptographic protocols based on Supersingular Isogeny Graphs. One of them uses the quaternion analogue of the graph and presents an efficient algorithm for navigating between maximal orders [Citation18]. This approach leads to the results presented in [Citation13] showing that the hardness of the path finding problem is essentially equivalent to the hardness of computing endomorphism rings of supersingular elliptic curves.

For distinct primes p and l, let Gl(F¯p) denote the graph whose vertices are isomorphism classes of supersingular elliptic curves over F¯p and whose edges correspond to isogenies of degree l defined over F¯p. The vertices can be labeled with the j-invariant of the curve, which is an F¯p-isomorphism invariant. For p1 mod 12 the graph Gl(F¯p) is known to be a (l+1)-regular Ramanujan graph, and is one of two known families of Ramanujan graphs.

In this article, we study two related graphs to help understand the structure of Gl(F¯p). First, the full subgraph of Gl(F¯p) consisting of only vertices jFp: We denote this subgraph by S and call it the spine, which is new terminology. Second, we look at the graph Gl(Fp) whose vertices are elliptic curves up to Fp-isomorphism and edges are Fp-isogenies of degree l, already studied by Delfs and Galbraith [Citation11].

We were motivated to continue the study of the graph Gl(Fp) for several reasons. First, subexponential quantum algorithms are known for navigating between Fp-vertices [Citation3], so paths to these vertices are of particular interest. Second, the graph Gl(Fp) maps into the full Gl(F¯p) to become the spine in a surprising way, which we study in detail. Third, the Frobenius map acts on the full graph by sending each j-invariant in Fp2 to its Fp conjugate jp, and the vertices in the spine are the fixed points of this involution. If we have a path from a random j-invariant to a j-invariant j in Fp, then applying the involution to the vertices in the path we obtain a mirror path from j to jp.

In Section 3 of this article, we compare Gl(Fp) with the spine S. The main results of Section 3 show how the components of Gl(Fp) (which look like volcanoes) fit together to form the spine when passing to the full graph Gl(F¯p). We define the notions of stacking, folding, and attaching to describe how Gl(Fp) becomes the spine, when isogenies defined over F¯p are added and j-invariants which are twists are identified. We achieve this by comparing the possible neighbors of the vertices in Gl(Fp) that have the same j-invariant. We prove that the only vertices that do not have the same neighbors are those with j=1728 (Lemma 3.17 and Proposition 3.22).

For l>2, for odd class numbers, we show that the number of edges in S that do not come from isogenies defined over Fp is bounded by 4l2 and for any p, this bound can be sharpened for any l, based on congruence conditions on p. Further, we show that the components containing j=1728 are “symmetric” and the opposite vertices of j=1728 form a pair of l-isogenous quadratic twists, whereas all other components admit a “twist twin”: a component that is isomorphic to it as labeled graphs if we label the vertices by the j-invariants of the curves (Theorem 3.18).

For l=2, we provide a similar analysis. Again, the component containing 1728 is “symmetric” and all other components admit a “twist twin,” except for the case of one edge [8000,8000]. Moreover, in this case, at most 2 new edges are added that do not correspond to loops and we identify at which vertices these can occur.

We conclude that for any fixed l and p, the resulting shape of the spine depends on the congruence class of p, the structure of the class group cl(OK), where K=Q(p), and the behavior of the prime above l in the class group of K, and we show how to determine it explicitly. In Section 3.5, we generate experimental data to study how the components of the spine are distributed throughout the graph and we estimate how many components there are in the spine.

In Section 4.1, we study the distance between Galois conjugate pairs of vertices, that is, pairs of j-invariants of the form j, jp. Our data suggest these vertices are closer to each other than a random pair of vertices in G2(F¯p). In Section 4.2 we test how often the shortest path between two conjugate vertices goes through the spine S, or equivalently, contains a j-invariant in Fp. We find conjugate vertices are more likely than a random pair of vertices to be connected by a shortest path through the spine. Finally, we examine the distance between arbitrary vertices and the spine S in Section 4.3. Section 5 provides heuristics on how often conjugate j-invariants are l-isogenous for l=2,3, a question motivated by the study of mirror paths provided in Section 4.

Another family of Ramanujan graphs are certain Cayley graphs constructed by Lubotzky, Philips, and Sarnak (LPS graphs [Citation20]). The relationship between LPS graphs and Supersingular Isogeny Graphs is studied in [Citation5]. Sardari [Citation22] provides an analysis of the diameters of LPS graphs, and in Section 6 of this article, we provide heuristics and a discussion of the diameters of supersingular 2-isogeny graphs.

Our experiments and data suggest a noticeable difference in the Supersingular Isogeny Graphs Gl(F¯p) depending on the congruence class of the prime p mod 12. It has been known since the introduction of Supersingular Isogeny Graphs into cryptography [Citation6] that the congruence class of the prime p has an important role to play in the properties of the graph. In particular, it was shown there how the existence of short cycles in the graph depends explicitly on the congruence conditions on p. In this article, we extend this observation and find significant differences in the graphs depending on the congruence class of p. In summary, the data seem to suggest the following:

  • p1 mod 12:

    • smaller 2-isogeny graph diameters (Section 6.1),

    • larger number of spinal components (Section 3.6), and

    • larger proportion of 2-isogenous conjugate pairs (Section 5.2.1),

  • p11 mod 12:

    • larger 2-isogeny graph diameters,

    • smaller number of spinal components, and

    • smaller proportion of 2-isogenous conjugate pairs.

To accompany the experimental results of this article, we have made the Sage code for all the computations available, along with a short discussion of the different algorithms included. The code is posted at https://github.com/krstnmnlsn/Adventures-in-Supersingularland-Data.

1.1 Related work

Adj, Ahmadi, and Menezes [Citation1] were the first to study the fine structure of the graph Gl(F¯p). In particular, they studied Gl(Fp2,t), which is the graph whose vertices are elliptic curves with fixed trace of Frobenius t and whose edges are Fp2-isogenies. They showed that the graph Gl(Fp2,2p) is isomorphic as a graph to Gl(F¯p). Our approach in the current article also studies a subclass of curves and the paths passing through these curves. After our preprint appeared [Citation2], a related approach was introduced by Boneh and Love [Citation4] to study a subgraph which contains supersingular curves with small non-integer endomorphisms. Such small endomorphisms can be used to efficiently compute isogenies between the special curves.

Shortly after our work was first posted [Citation2], Castryck, Panny, and Vercauteren posted a article on rational isogenies [Citation10]. Their work gives an algorithm for computing an ideal to connect two supersingular elliptic curves over Fp which have the same Fp-endomorphism ring. Their focus on Fp-curves is parallel to our results regarding the structure of the Fp isogeny graph Gl(Fp) and the spine S.

More recently, Eisentraeger et al. [Citation14] gave a cycle finding algorithm to compute endomorphism rings of supersingular elliptic curves. A key part of their algorithm involves finding j-invariants that are l-isogenous to their conjugates. Since this is done by performing random walks, they determine a lower bound for the size of the set of such j-invariants. This gives a partial answer to our Question 3 in Section 5.

2 Definitions

Let k be a finite field of characteristic p>3 and let E be an elliptic curve over k. We may assume that is given by an equation y2=x3+ax+b for some a,bk (and such that x3+ax+b does not have a multiple root). A point on E is simply given by its coordinates (xP, yP) for xP,yPk¯. Elliptic curves have a group law given by algebraic formulas that can be efficiently computed. Moreover, the number of points in these groups can be counted fast, which makes them both particularly rich objects to work with and very handy objects for cryptographic constructions.

We focus on supersingular elliptic curves: Curves E/k with endomorphism ring EndF¯p(E) a maximal order in a quaternion algebra. Equivalent definitions can be found in [24, Theorem V.3.1]. Endomorphism rings of elliptic curves with j-invariant in Fp are characterized in [11, Prop. 2.4]: for p > 3, a supersingular elliptic curve E/F¯p can be defined over Fp if and only if Z[p]End(E).

Supersingular elliptic curves can all be identified with a j-invariant in Fp2. We will use the notation Ej to fix an elliptic curve with j-invariant j. The j-invariants classify the F¯p-isomorphism classes of supersingular elliptic curves. When we instead consider supersingular elliptic curves with j(E)Fp up to Fp-isomorphism, two Fp-isomorphism classes share the same j-invariant [11, Prop. 2.3]. One can distinguish between the two classes by the Weierstrass models of the elliptic curves.

2.1 Isogeny graphs

To introduce the graphs, we borrow the following notions from Sutherland [25, Section 2.2]. We denote by Φl(X,Y) the l-modular polynomial. We let Ej denote an elliptic curve of j-invariant j, up to F¯p isomorphism. This is a polynomial of degree l+1 in both X and Y, symmetric in X and Y, and such that there exists a cyclic l-isogeny ϕ:Ej1Ej2 if and only if Φl(j1,j2)=0.

In principle, the modular polynomials can be computed and they are accessible via tables for small values of l. However, their coefficients are rather large, as we see already for Φ2(X,Y):(1) Φ2(X,Y)=X2Y2+X3+1488X2Y+1488XY2+Y3162000X2+40773375XY162000Y2+8748000000X+8748000000Y157464000000000(1)

A separable isogeny is determined by its kernel [Citation24]. In addition, we will need the notion of equivalence of isogenies:

Definition 2.1

(Equivalent isogenies). Let k be a field. We say two separable isogenies φ,φ between k-isomorphism classes of elliptic curves are equivalent if φ=ψ°φ, for some automorphism ψ of the codomain.

Notice that equivalent isogenies share the same kernel, and inequivalent isogenies from E correspond to distinct roots of Φl(j(E),Y)=0.

Definition 2.2

(Supersingular l-isogeny graph over F¯p: Gl(F¯p)). The graph Gl(F¯p) has vertex set F¯p-isomorphism classes of supersingular elliptic curves over F¯p, labeled by their j-invariants in Fp2. There is a directed edge from vertex j to j for every root j of the modular polynomial Φl(j,Y), considered with multiplicity.

We label the vertices of Gl(F¯p) with j-invariants but sometimes it is more convenient to talk about elliptic curves. By definition, every edge [j,j] corresponds to an l-isogeny EjEj for any choice of Ej and Ej.

Remark 2.3.

Every vertex in this graph has outgoing degree l+1, however, vertices with j-invariant j=0 or 1728 have fewer incoming edges (due to automorphisms). Identifying isogenies with their dual isogenies makes this graph undirected and (l+1)-regular except at those vertices or their neighbors. The graphs displayed in this article are pictured as undirected, so we expect irregularities in these figures at j = 0, 1728.

The isogeny graphs Gl(F¯p) are Ramanujan graphs for p1mod12 (see [Citation7]). Kohel [19, Ch. 7] proved that every pair of supersingular elliptic curves are connected by a chain of l-isogenies, which implies that the graph is connected. If p > 3, the number of vertices of Gl(F¯p) is p12, depending on the congruence class of p mod 12 [24, Section V.4].

If j is a supersingular j-invariant, then so is its Fp2-conjugate jp. Moreover, because modular polynomials have integer coefficients, if j and j satisfy Φl(j,j)=0 then also (in F¯p)Φl(jp,(j)p)=(Φl(j,j))p=0.

This means that for any edge [j,j]Gl(F¯p), there is a mirror edge [jp,(j)p].

This leads to the idea of a mirror involution on Gl(F¯p):

Definition 2.4.

The mirror involution on Gl(F¯p) is the map defined by sending the vertex represented by jFp2 to the vertex represented by jp.

A vertex jGl(F¯p) is fixed under the mirror involution if and only if jFp. We are interested in the subgraph of Gl(F¯p) induced by these vertices:

Definition 2.5

(Spine). The spine is the induced subgraph S of Gl(F¯p) consisting of all vertices whose j-invariants lie in Fp and all edges between them in Gl(F¯p).

Note that many of the edges do correspond to isogenies defined over Fp but there can be edges coming from isogenies only defined over F¯p. In Section 3, we determine all possible such edges.

The number of vertices in the spine S depends on the class number of the imaginary quadratic field Q(p) and is of size O˜(p). The size, shape and number of connected components of the spine S will be studied in Section 3.

To study the spine, we introduce some notation that will help keep track of whether the j-invariants we are studying are defined over Fp or not: Whenever we want to stress that a j-invariant of an elliptic curve lies in Fp, we use bold letters (such as j). If we want to stress that a particular j-invariant lies in Fp2Fp, we will use the more curly bold j.

We were motivated to study the spine because the Fp vertices may play a role in attacks on Supersingular Isogeny Graph-based cryptosystems. In [Citation11], Delfs and Galbraith construct an isogeny between two supersingular elliptic curves by first finding an isogeny from each curve to a curves whose j-invariant lies in Fp, and then constructing an isogeny between the curves in Fp. They argue that while taking random walks in Gl(F¯p), one can find elements in S with probability given (roughly) by the size of the subgraph divided by the size of the full isogeny graph. However, we will see in Section 3 that there is still a lot of structure in S that cannot be discounted.

In Sections 4 and 5, we then investigate other questions relating to whether the spine S is close to a random subgraph or whether the bountiful structure of the spine S is visible inside the Supersingular Isogeny Graph Gl(F¯p).

To explain the terminology ‘spine’: Starting from S, we can construct Gl(F¯p) by adding j-invariants in conjugate pairs: starting with j in S, if there is an isogeny from Ej to Ej, there is a conjugate isogeny from Ej to the conjugate Ej(p). Hence we imagine the ‘spine’ as being the backbone of the Supersingular Isogeny Graph Gl(F¯p).

Definition 2.6.

We say that a path P with vertices {j0,j1,j2,,jn1,jn} (considered as an undirected path) is a mirror path if it is invariant under the mirror involution.

There exists at least one mirror path between any two conjugate j-invariants: it suffices to find a path from one j-invariant, say j0, to an Fp j-invariant and then conjugate this path.

In general, mirror paths have either the formj0j1jnjjnpj1pj0p,passing through an Fp-vertex, orj0j1jnjnpj1pj0p, passing through a pair of conjugate j-invariants.

2.2 Special j-invariants

In this section, we discuss j-invariants with special properties which require attention in the discussions to follow, focusing on j-invariants with extra automorphisms and then on j-invariants that are contained in very short cycles in Gl(Fp): self-loops and cycles of length 2 (double edges).

2.2 Automorphisms

First, j=1728 and j=0 correspond to curves with extra automorphisms, which make the graph Gl(F¯p) undirected (see Remark 2.3). The j-invariant j=1728 is supersingular if and only if p3 mod 4 and j=0 is supersingular if and only if p2 mod 3 (see [24, Chapter V]).

2.2 Loops

Loops in the graph Gl(F¯p) are easily read off from the factorization of Φl(X,X): a vertex represented by a j-invariant j admits a loop if and only if Φl(j,j)=0. For l=2, factoring over Z the polynomial Φ2(X,X) from (1) we get:(2) Φ2(X,X)=(X+3375)2(X1728)(X8000).(2)

Therefore, loops in G2(F¯p) are only possible at the vertices j=3375 (two loops), j=1728 (one loop, explained in Example 3.8) and j=8000 (one loop). These j-invariants need not be supersingular for a particular prime p, so they do not always appear in G2(F¯p).

2.2 Double edges

The following lemma describes double edges in the l-isogeny graph. This lemma applies mutatis mutandis for ordinary curves, replacing Gl(F¯p) by the l-isogeny graph of ordinary elliptic curves.

Lemma 2.7

(Double edge lemma). If two j-invariants j1, j2 in the l-isogeny graph Gl(F¯p) have a double-edge between them, then j1 and j2 are both roots of the polynomial (3) Resl(X):=Res(Φl(X,Y),ddYΦl(X,Y); Y).(3)

The degree of Resl(X) is bounded by 2l·(2l1).

Proof.

Suppose that j1 and j2 are two vertices in the l-isogeny graph connected with a double edge. Considered as a polynomial in Y, the polynomial Φl(j1,Y)=(Yj2)2·g(j1,Y) for some g(j1,Y)F¯p[Y]. The derivative ddYΦl(j1,Y) with respect to Y then also vanishes at Y=j2. The polynomials Φl(X,Y) and ddYΦl(X,Y) share the root X = j1, and so by definition j1 is a root of the resultant Resl(X). This argument is also true for j2, so j2 is also a root of Resl(X).

The total degree of Φl(X,Y) is 2l and the total degree of ddYΦl(X,Y) is 2l1. Since the resultant of two polynomials P(X, Y) and Q(X, Y) of total degrees d and e generically has degree d·e, we obtain the bound #{j: there is a double edge from j}2l·(2l1).

Example 2.8

(Double edges for l=2). For l=2, we can factor the resultant over Z as follows:(4) Res2(X)=22·X2·(X1728)·(X+3375)2·(X2+191025X121287375)2(4)

Therefore, any double edge in G2(F¯p) can only appear between j-invariants from this list: 0,1728,3375 or a root of X2+191025X121287375.

By factoring Φ2(j,X) for these values, we can for instance see that j=0 is the only j-invariant that admits a triple edge in G2(F¯p).

Remark 2.9

(Short cycles and tightness of the bound). Note that the bound on the degree in Lemma 2.7 is not tight. For example for l=2, the bound is 12 whereas the polynomial has degree 9. A sharper estimate could be obtained as a sum of class numbers using an approach from [Citation6] as follows. A double edge in Gl(F¯p) gives a cycle of length 2 in the same graph. Short cycles were already studied in [Citation6], where it was shown that for a fixed l, the existence of short cycles depends on congruence conditions on p. A short cycle of length n corresponds to an element of norm ln in the endomorphism rings of the curves whose j-invariants form this cycle. For instance, a double edge in G2(F¯p) gives a non-trivial quadratic element of norm 4 in EndF¯p(Ej). Elliptic curves defined over a number field with CM by an imaginary quadratic field K reduce to supersingular elliptic curves modulo p if p is inert in K. The only imaginary quadratic fields that contain an element of norm 4 are Q(3),Q(1),Q(7) and Q(15) and the factors of Res2(X) are the Hilbert class polynomials for these fields. So it is not surprising that the resultants Resl factor as a product of Hilbert class polynomials for imaginary quadratic fields, and thus the degree of Res2(X) can be bounded by the sum of the class numbers of these imaginary quadratic fields. For any given l, there are at most 2l such imaginary quadratic fields possible, all with discriminant bounded by 4l2. So to get a sharper bound on the degree, we only need to sum the class numbers of these quadratic fields.

3 Structure of the Fp-subgraph: the spine S

In this section, we investigate the shape of the spine S, which was introduced in Definition 2.5 as the subgraph of Gl(F¯p) consisting of the vertices defined over Fp. The motivation for studying the structure of this subgraph is the existence of attacks on SIDH that work by finding Fp j-invariants. This idea was presented in [Citation11], and a quantum attack based on it was given by Biasse, Jao and Sankar [Citation3]. See also [Citation15] for an overview of the security considerations for SIDH.

In Section 3.1, we start with the graph Gl(Fp), the structure of which is understood well. We base our investigations on the study of Gl(Fp) done by Delfs and Galbraith in [Citation11].

Moreover, a version of the Fp-graph (allowing edges corresponding to l-isogenies for multiple primes) has also been proposed for post-quantum cryptography in [Citation8]. We recall the results of [Citation11] in some detail and give a few explicit examples of their results about endomorphisms of certain elliptic curves.

In Section 3.2, we discuss how the spine S can be obtained from Gl(Fp) in two steps: first vertices corresponding to the same j-invariant are identified and then a few new edges are added. The possible ways the connected components can identify are given by Definition 1 and we call them stacking, folding, attaching along a j-invariant and attaching by a new edge.

In Section 3.3 we study stacking, folding and attaching for l>2 and give an example of the theory we develop for l=3 in Section 3.3.1. In this section we also give a complete description of stacking, folding and attaching in Theorem 3.21. We return to the case l=2 in Section 3.4, giving a similar complete description in Theorem 3.29 and some data on how often attachment of distinct components happens. Section 3.5 contains some experimental data on the distances between the connected components of SG2(Fp).

In this section, we assume that all elliptic curves are supersingular.

3.1 Structure of the Fp-Graph Gl(Fp)

To study the spine S, we will use the following isogeny graph Gl(Fp) defined over Fp, first studied by Delfs and Galbraith [Citation11].

Definition 3.1

(Supersingular l-isogeny graph over Fp). The graph Gl(Fp) has vertex set the Fp-isomorphism classes of supersingular elliptic curves defined over Fp. The edges correspond to Fp-equivalence classes (in the sense of Definition 2.1) of l-isogenies defined over Fp.

For p > 3, each supersingular j-invariant corresponds to exactly two Fp-isomorphism classes of curves. These curves can be distinguished by other invariants (such as the c4 and c6 values from [24, III.1]). We will use notation such as va and wa to denote the vertices corresponding to the two twists with j-invariant a. For visualization, we will label the vertices of the graph Gl(Fp) only by j-invariants.

Remark 3.2.

We highlight the differences between S and Gl(Fp):

  • S has half as many vertices as Gl(Fp), since the vertices in the spine S are considered up to F¯p-isomorphism and up to Fp-isomorphism in the graph Gl(Fp).

  • S can have edges between j-invariants previously not connected in Gl(Fp). However, we will show in Lemma 3.14 that this is a fairly rare occurrence.

We will use the equivalent definition of supersingularity for elliptic curves over Fp pointed out by [Citation11]: an elliptic curve E/Fp is supersingular if and only if Z[p]EndFp(E). If p3 mod 4, the order Z[p] is strictly contained in the maximal order Z[1+p2]. It is convenient to distinguish these two cases:

Definition 3.3

(Surface and Floor). Let E be a supersingular elliptic curve over Fp. We say E is on the surface (resp. E is on the floor) if EndFp(E)=OK (resp. EndFp(E)=Z[p]).

Note that for p1 mod 4, surface and floor coincide.

Definition 3.4

(Horizontal and Vertical Isogenies.). Let φ be an l-isogeny between supersingular elliptic curves E and E over Fp. If EndFp(E)EndFp(E) then φ is called horizontal. Otherwise, φ is called vertical.

The following is Theorem 2.7 of [Citation11].

Theorem 3.5

(Structure of Gl(Fp)). Let p > 3 and l be primes.

  1. For l>2, there are no vertical isogenies. If (pl)=1, then there are two horizontal l-isogenies from each vertex and beyond this no other l-isogenies. Hence every connected component of Gl(Fp) is a cycle.

  2. Case p1 mod 4. There is one level in Gl(Fp): all elliptic curves E have EndFp(E)=Z[p]. For l=2: from each vertex there is one outgoing 2-isogeny.

    There are h(4p) vertices on the surface (which coincides with the floor).

  3. Case p3 mod 4. There are two levels in Gl(Fp): surface and floor. For l=2:

    1. If p7 mod 8, there is exactly one vertical isogeny from any vertex on the surface to a vertex on the floor, every vertex on the surface admits two horizontal isogenies and there are no horizontal isogenies between the curves on the floor.

      There are h(p) vertices on the floor and h(p) vertices on the surface.

    2. If p3 mod 8, from every vertex on the surface, there are exactly three vertical isogenies to the floor, and there are no horizontal isogenies between any vertices.

      There are 3·h(p) vertices on the floor and h(p) vertices on the surface.

This implies that every connected component of G2(Fp) is an isogeny volcano, first studied by Kohel [Citation19]. For a reference on the name and basic properties we refer to [Citation25].

Let K=Q(p) and p be a prime above l=2 in OK, and h=#cl(OK) the class number of K. Let n be the order of p in cl(OK). The surface of any volcano in G2(Fp) is a cycle of precisely n vertices. There are h/n connected components (volcanoes) in G2(Fp), the index of p in cl(OK).

The following lemma is due to [Citation11].

Lemma 3.6.

Let p > 5. Let E be a supersingular elliptic curve defined over Fp. Then EndFp(E)=Z[1+p2] if and only if E[2]E(Fp).

Note that for p1 mod 4, the ring Z[1+p2] is not an order of OK, so no supersingular elliptic curves in Fp have their full 2-torsion defined over Fp.

We recall the following definition from [Citation24]: a twist of an elliptic curve E over a field K is a curve E which is isomorphic to E over K¯. Two twists are considered equivalent if they are isomorphic over K. The group of twists of a given elliptic curve is given by the standard formula in [24, Proposition X.5.4]. For the field Fp, every supersingular j-invariant will have precisely two isomorphism classes of twists: Curves with j-invariant not equal to 1728 have two isomorphism classes of quadratic twists, and j = 1728 has two isomorphism classes of quartic twists.

The following corollary of Lemma 3.6 will be essential in our discussion in Section 3.4.

Corollary 3.7

(Endomorphism rings of quadratic twists). Let p > 3 be a prime, let E be an elliptic curve defined over Fp and let Et denote its quadratic twist. Then EndFp(E)EndFp(Et).

Proof.

Suppose E:y2=x3+ax+b. Then the quadratic twist is Et:y2=x3+d2ax+d3b, where d is a quadratic non-residue and the isomorphism over F¯p is given as (x,y)(xd,ydd). So E[2]E(Fp) if and only if Et[2]Et(Fp). □

Example 3.8

(The j-invariant 1728 is both on the surface and on the floor). Suppose p3 mod 4. The isogeny ϕ:y2=x3xy2=x3+4x given as(x,y)(x2+x+2x+1,x2y+2xyyx2+2x+1)is a vertical 2-isogeny with kernel (0, 0) of non-Fp-isomorphic elliptic curves with j-invariant 1728.

Note that the curves in Example 3.8 are quartic, not quadratic twists, so this example does not contradict Corollary 3.7. The example is, up to equivalence, the only vertical isogeny between two supersingular elliptic curves with the same j-invariant.

Corollary 3.9.

If j1728, then the two distinct vertices corresponding to the j-invariant jFp are either both on the floor or on the surface of Gl(Fp).

Another proof of this statement can be found in the appendix of [Citation17] and is obtained by a careful examination of Hilbert polynomials of discriminant – p and 4p, considered modulo p.

3.2 Passing from the graph Gl(Fp) to the spine SGl(F¯p)

To understand the graph S, we will describe it as a certain quotient of the graph Gl(Fp) under an equivalence relation which identifies some vertices and some edges. This will allow us to identify which edges in S do not come from isogenies already defined over Fp and describe the shape of the spine S using the easily visualized graph Gl(Fp).

We can obtain the spine S from the graph Gl(Fp) in the following two steps:

  1. Identify the vertices with the same j-invariant: these two vertices of Gl(Fp) glue to a single vertex on Gl(F¯p). Identify equivalent edges.

  2. Add the edges from Gl(F¯p) between vertices in Fp corresponding to isogenies which are defined over F¯pFp.

Recall the notation that for a j-invariant a, the two vertices in Gl(Fp) corresponding to this j-invariant will be labeled va, wa. We extend this notation as follows: the vertex va, resp. wa will lie on the connected component V, resp. W, of Gl(Fp). Note that V and W are not necessarily distinct. The vertex correspoding to a in S will be simply denoted by a.

Remember that Gl(Fp) is not a subgraph of S since both the vertices and edges of Gl(Fp) may be merged in S. However, distinct edges from the same vertex in Gl(Fp) correspond to distinct edges in Gl(F¯p).

Lemma 3.10

(Fp-edges from one vertex). Let E be an elliptic curve with j(E){0,1728} defined over Fp (with p5). Suppose that there are two l-isogenies from E defined over Fp. Then they are equivalent over Fp if and only if they are equivalent over F¯p.

Proof.

If the isogenies are equivalent over Fp via a pair of Fp-isomorphisms, then they are equivalent over F¯p as well.

The reverse direction is easiest to see from the kernel definition of equivalence. If the kernels of ϕ1:EE and ϕ2:EE are equal over F¯p they are certainly equal over Fp.

One can see the isogeny definition implies the kernel definition as follows. Let ϕ1:EE and ϕ2:EE be two isogenies that are equivalent over F¯p. We want to show that they are equivalent over Fp. By hypothesis, there exist (F¯p-)isomorphisms φ:EE and ψ:EE such ψ°ϕ1=ϕ2°φ. We know that the kernel of the map ψ°ϕ1 is kerϕ1. Therefore, the kernel of the map ϕ2°φ is also kerϕ1. This means that φ(ker(ϕ1))=kerϕ2. By the hypothesis on j(E), we have AutFp(E)=AutF¯p(E)={±1}, and since [±1]kerϕ1=kerϕ1, it follows that kerϕ1=kerϕ2. □

Lemma 3.10

for l=2 gives the following corollary.

Corollary 3.11.

If an elliptic curve E with j-invariant j in Fp has 3 neighbors with j-invariants j1,j2 and j3 (not necessarily distinct), then the 3 neighbors of j in G2(F¯p) have j-invariants j1,j2 and j3.

Example 3.12.

(l=2) If the vertex va has neighbors vb,vc,vd in G2(Fp) (with b, c, d not necessarily distinct), then the three neighbors of vertex a in G2(F¯p) are b, c, d.

Since there are at most 2 neighbors of any vertex in Gl(Fp) for l>2, the above corollary does not generalize. However, it is true that if the neighbors of va, wa have j-invariants b,c,d,e, then there are (not necessarily distinct) edges [a,b],[a,c],[a,d] and [a,e] in Gl(F¯p). In Lemma 3.17, we will show that typically {b,c}={d,e} and explain how to find j-invariants a for which this property fails.

Let V and W be two components of Gl(Fp). Passing from Gl(Fp) to the spine S, the following can happen (and we will show that the list of events is complete):

Definition 3.13

(Stacking, folding and attaching).

  1. We say that the components V and W stack if, when we relabel the vertices va by the j-invariant a, they are the same graph.

  2. We say that the component V folds if V contains vertices corresponding to both quadratic twists of every j-invariant on V. The term is meant to invoke what happens to this component when the quadratic twists are identified in Gl(F¯p).

  3. Two connected components V and W of Gl(Fp) become attached by a new edge in Gl(F¯p) if there is a new edge [a,b]Gl(F¯p) corresponding to an isogeny between vertices vaV and wbW that is not defined over Fp.

  4. (for l>2) We say that components V and W attach along the j-invariant a if they both contain a vertex with j-invariant a and the j-invariants of neighbors of va in V and the neighbors of wa in W do not give the same (multi)sets.

Examples of the first three of the four above are given by . An example of attachment along a j-invariant can be seen in . It can happen that an attachment is actually attaching the component V to itself. See . We will show that attachment along the j-invariant for l=2 cannot happen in Corollary 3.24, however, the j-invariant 1728 is the only possible j-invariant for which the two vertices in G2(Fp) do not have the same neighbor set (Proposition 3.22), but in this case these vertices are already connected by an edge.

Fig. 1 The graph G2(Fp) for p = 431 (case 3.a of Theorem 3.5). The vertices are labeled by j-invariants of each curve. Each component is a volcano, with an inner ring of surface curves and the outer vertices all being curves on the floor. The class number of Q(431) is 3·7=21 and the orders of the two primes above 2 are 7.

Fig. 1 The graph G2(Fp) for p = 431 (case 3.a of Theorem 3.5). The vertices are labeled by j-invariants of each curve. Each component is a volcano, with an inner ring of surface curves and the outer vertices all being curves on the floor. The class number of Q(−431) is 3·7=21 and the orders of the two primes above 2 are 7.

Fig. 2 Stacking, folding and attaching by an edge for p = 431 and l=2. The leftmost component of G2(Fp) folds, the other two components stack, and the vertices 189 and 150 get attached by a double edge.

Fig. 2 Stacking, folding and attaching by an edge for p = 431 and l=2. The leftmost component of G2(Fp) folds, the other two components stack, and the vertices 189 and 150 get attached by a double edge.

Fig. 3 Attachment along a j-invariant for p = 83 and l=3. The two connected components of G3(Fp) are attached along the j-invariant 68=1728 mod 83. There are two outgoing double edges from j = 1728 but because of the extra automorphisms, these edges are identified in the undirected graph.

Fig. 3 Attachment along a j-invariant for p = 83 and l=3. The two connected components of G3(Fp) are attached along the j-invariant 68=1728 mod 83. There are two outgoing double edges from j = 1728 but because of the extra automorphisms, these edges are identified in the undirected graph.

Fig. 4 Attachment by an edge that does not attach two distinct components. This component folds and the vertices with j-invariants 68 and 107 are joined by a double edge.

Fig. 4 Attachment by an edge that does not attach two distinct components. This component folds and the vertices with j-invariants 68 and 107 are joined by a double edge.

We now begin analyzing the ‘new’ edges in S: the edges that do not come from isogenies defined over Fp. For an elliptic curve E, all l-isogenies are given by order l subgroups of the l-torsion subgroup E[l]. An l-isogeny is defined over Fp if and only if its kernel is fixed by the Frobenius endomorphism. Note that this does not mean that all the points in the kernel need to be fixed by Frobenius.

Let us look at again: the edges in the spine S between vertices corresponding to j-invariants 150 and 189 in G2(F¯p) do not correspond to isogenies defined over Fp. Also, the vertex 4 (and note 41728 mod 431) on the floor of G2(Fp) has no edge to a curve with j-invariant 19, but there is an edge [4,19]G2(F¯p) coming from the two isogenies from vertex 4 on the surface. Lemma 3.10 gives us that there is a double edge [4,19]G2(F¯p). This not a coincidence, as we explain in Lemma 3.14.

Lemma 3.14

(One new isogeny implies two new isogenies). Let va,vbGl(Fp) correspond to Fp-elliptic curves Ea and Eb with j-invariants a, b respectively with a1728,0. Assume that there is no edge [va,vb]Gl(Fp), but there is an edge [a,b]Gl(F¯p). Then there are two isogenies defined between EaEb which are inequivalent over F¯p and hence a double edge [a,b]Gl(F¯p).

Proof.

We know that there is an l-isogeny ϕ:EaE to some elliptic curve E with j-invariant b. Since j(E) = b, then E is isomorphic to Eb over Fp2. Composing with this isomorphism, we obtain an l-isogeny ψ:EaEb. However, ψ cannot be defined over Fp, since we assumed there was no edge [va,vb]Gl(Fp).

The kernel of ψ is not defined over Fp (otherwise ψ would be defined over Fp), so the p-power Frobenius map Frob:FpFp does not preserve kerψ. There is an isogeny from Ea with kernel ψFrob. This isogeny has degree l since ψFrob has order l and it is not equivalent to ψ. Using the construction of isogenies from Vélu’s formulae [Citation27], we obtain the rational maps for defining ψFrob. In particular, the j-invariant of the target of ψFrob is necessarily Frob(b)=b. Hence, there are two inequivalent isogenies between Ea and Eb and hence two edges [a,b]Gl(F¯p). □

The corollary below explains why for both attachment by a new edge (cf. and ) and attachment along a j-invariant (cf. ), we always see double edges.

Corollary 3.15.

Attachment of components by a new edge from va to wb forces a double edge [a,b] in Gl(F¯p). Attachment along the j-invariant j implies a double edge from j in Gl(F¯p).

Proof.

In the first case, we are adding an edge between va and wb that is not defined over Fp and we can directly apply Lemma 3.14. In the second case, assume there is a neighbor vb of vj such that wb is not a neighbor of wj. Apply the Lemma 3.14 to the F¯p isogeny from wj to vb. □

Because we take the isogeny graphs undirected, we need to make choices at j=1728 or j=0. In this case, double edges might get identified because of the choices for the undirectedness of the graph.

3.3 The spine for l>2

For this section, we consider the spine S for l>2. In this case, there are no vertical isogenies, hence the graph Gl(Fp) is a union of disjoint cycles: the cycles of vertices corresponding to curves either only with endomorphism ring Z[1+p2], or only with endomorphism ring Z[p]. The main tool for understanding the spine will be the Neighbor Lemma 3.17, in which we show that the vertices va and wa have neighbors with the same j-invariants, provided a1728. If the neighbors have different j-invariants, then we would get attachment along a vertex and this situation we solve in Proposition 3.16. Using the information about the shape of the graph Gl(Fp) and the neighbor lemma, we can completely describe the spine S in Theorem 3.18.

We will avoid the case when the graph Gl(Fp) is just a disjoint union of vertices (i.e., when there are no isogenies defined over Fp) by assuming l is split in Z[p]. If one assumes that p1 mod l, then l|#E(Fp)=p+1 and there are Fp-rational points of order l. We will also assume that the class number cl(Z[p]) is odd, which is equivalent to p3mod4.

Proposition 3.16

(Attachment along a vertex can only happen at a vertex with automorphisms). Let p and l be primes satisfying l4<14p. Let j be a j-invariant such that attachment along a vertex happens. Then j=1728, the two neighbors in Gl(Fp) of v1728 have the same j-invariant and the neighbors of w1728 have the same j-invariant.

The proof below uses the properties of the F¯p-endomorphism ring End(E) as a maximal order in a quaternion algebra. For references see Kohel’s thesis [Citation19], the work of Kaneko [Citation17] and Ibukiyama [Citation16].

Proof.

We first show that j corresponds to an elliptic curve with automorphism group larger than {±1}, so j=1728 or 0. Then, we show that j=0 cannot happen.

Let E be a supersingular elliptic curve and let End(E) be its endomorphism ring. Recall that End(E) is a maximal order in a quaternion algebra. Every element αEnd(E)Q is quadratic, meaning α generates a quadratic number field Q(α).

From Kaneko’s Theorem 2’ [Citation17], we know that If O,O are maximal quadratic orders lying in different imaginary quadratic fields that embed to End(E) then disc(O)·disc(O)4p.

Suppose now that we have attachment at a vertex j. Let va, vb be the neighbors of vj and let wc, wd be the neighbors of wj, with a{c,d}. Then, by Corollary 3.15, there is a double edge from [a,j]Gl(F¯p) and, by symmetry, there is a double edge from either c or d, assume without loss of generality that it is from c. Any double edge gives a non-trivial element of norm l2 in End(E). Let α denote the cycle arising from the double edge at a, and γ the cycle arising from the double edge at c.

Suppose that α and γ generate different quadratic number fields. Then, we observe thatl2=nrd(α)14disc(Z)[α]14disc(Q(α))and we obtain a similar statement for γ. Using Kaneko’s theorem we deduce thatl2·l2=nrd(α)·nrd(β)116disc(Q(α))·disc(Q(γ))14p, which is impossible for l4<14p. We conclude that α and γ generate the same quadratic field, say K. Let OK be the ring of integers in K. By uniqueness of ideal factorization:(α)(α¯)=(l2)=(γ)(γ¯)=(l)2={(l)2if l is inert,l4if l is ramified,(ll¯)2if lsplits.

Since αQ,l cannot be inert. If l is ramified, we see:(α)=(γ)=l2α=uγfor some unit uOK. It is not possible that α=±γ, so {±1}Aut(E).

If l splits, suppose without loss of generality that (α)=l2. Then either(γ)=l2γ=u·αor(γ)=l¯2γ¯=u·αfor some unit uOK. Again implies that OK has non-trivial units and {±1}Aut(E).

Curves with automorphism group larger than {±1} correspond to j=0,1728. Suppose j(E0)=0. If there is an isogeny from an elliptic curve E0 to an elliptic curve Ea with j-invariant a, there have to be at least three distinct isogenies from E0 to Ea: precompose the first one with ζ3,ζ32End(E0). However, suppose that there were three edges from 0 to a. By symmetry, there would be three edges from 0 to c in Gl(F¯p). By combining these edges, we would have 6 cycles from 0 of length 2. But even in Z[ζ3], up to sign (±), there are not enough different elements of norm l2.

Hence attachment along a vertex can only happen for j=1728. □

Lemma 3.17

(The neighbor lemma). Suppose l>2. Let a1728 and suppose that va, wa are the two vertices in Gl(Fp) corresponding to elliptic curves with j-invariant a. If the neighbors of va have j-invariants b, c, then then neighbors of wa have j-invariants b, c.

Proof.

Let wd, we be the neighbors of wa in Gl(Fp). If {d,e}{b,c}, then there is attachment along the j-invariant a, which is only possible for j=1728. Hence the neighbors of va and wa have the same j-invariants. □

Recall that the attachment of components by a new edge implies a double edge by Corollary 3.15. The main result of this section is the following one.

Theorem 3.18

(Stacking, folding and attaching for l>2). Let p be a prime and let l be such that the order of the prime l above l in the class group cl(p) of Q(p) is odd. While passing from Gl(Fp) to S, the following happens:

  1. the components containing 1728 fold and get attached along the j-invariant 1728 (this only happens if p3 mod 4),

  2. all other components stack,

  3. the number of new edges is bounded by degResl(X) and there are at most n vertices at which a new edge is added, where n is the number of distinct roots of Resl(X).

Note that the conditions on p and l are always satisfied when p3 mod 4 and p1 mod l, which is the most cryptographically relevant application.

Proof.

We will pass from Gl(Fp) to S in two steps: first, we identify the j-invariants and equivalent edges in Gl(Fp), and after discussing what happens with the components of Gl(Fp), we add the new edges in Gl(F¯p).

We showed in Lemma 3.17 that for a1728, the vertices va and wa have the same neighbors.

Suppose there is a component V that does not stack. This either means that there is a vertex va whose neighbors are different than those of wa. But in this case a is an attaching j-invariant and so a = 1728 and we will treat this case later.

Or, there is a j-invariant a such that both the vertices va, wa are in the component V. We know that V is a cycle with odd number of vertices. The vertices va, wa divide the cycle in two halves. Choose either half H. Look at the neighbors of va and wa. If they have the same j-invariant b, replace a with b and continue moving along the halves of the cycle, until either of the following happens:

  1. the vertices va and wa are neighbors in Gl(Fp) and hence will induce a loop in Gl(F¯p). Note that in this case, the number of vertices in H is necessarily even.

  2. The only neighbor of va and wa is a vertex vj with j-invariant j. This is necessarily an attaching j-invariant because the neighbors of wj cannot have j-invariants a. Hence j=1728. This also means that H has an odd number of vertices.

  3. The neighbor vb of va has j-invariant b and the neighbor wc of wa has j-invariant c, for bc. Then either the other neighbor of wa is wb or a is an attaching j-invariant (and a = 1728). Suppose a is not an attaching j-invariant. Continuing along the whole cycle V in the direction of the edge [va,vb], and symmetrically in the direction of [wa,wb], we will reach a point when the neighbor of some vc is not a neighbor of the wc. This happens when the cycle has an odd number of vertices because two identical paths would give us a cycle of even length. Here we also obtain an attaching j-invariant.

The cases above actually cover every possibility: if we are in case (3.3), the half H has an even number of vertices, and then VH{va,wa} necessarily has an odd number of vertices and since the neighbors of va, wa have to have the same j-invariant, we are in case (3.3).

Let us remark that the last case (3.3) shows that the isogenies between twists go ‘in the other direction’: if one walks on the cycle V in the direction of the edge [va,vb], one will encounter an edge [wb,wa], not an edge [wa,wb].

We now discuss what happens with the components that contain 1728. We know that there are two components V and W containing curves with j-invariant 1728. Let vaV be on the surface (with curves having EndFp(E)OK) and let waW be on the floor (with curves having EndFp(E)Z[p]). We have shown in 3.16 that both v1728 and w1728 have two neighbors neighbors with the same j-invariant. We will show that both the components fold.

Starting at the vertex v1728V, we know that its neighbors va, wa have the same j-invariant by Lemma 3.16. Start walking away from v1728. By the Neighbor Lemma 3.17, the neighbors of the vertices va, wa that are different from v1728 have the same j-invariants. Continuing this reasoning, since the cycle contains an odd number of vertices, one finally arrives at a pair of vertices vb, wb with same j-invariant b, which are connected by an l-isogeny. The same proofs holds for the component W containing w1728.

Finally, adding new edges that are only defined over F¯p, some components can get attached. However, we have proved in Corollary 3.15 that an attachment by a new edge from j to double j means a double edge [j,j]Gl(F¯p). Hence j and j are both roots of Resl(X) by Lemma 2.7, which has degree bounded by 2l·(2l1). □

Remark 3.19

(The ‘other side’ of 1728). We showed that the only component for which attachment by a vertex can happen are the two components containing 1728, moreover these components fold. This means that the neighbors of v1728 have the same j-invariant, their neighbors as well and if we continue walking along both sides, we will ultimately meet ‘opposite of’ v1728 at a pair of conjugate j-invariants. See . Conversely, any such pair of conjugate j-invariants needs to be ‘opposite’ of a vertex with j-invariant 1728.

Since posting the first version of our article which did not fully explain these ideas, Castryck, Panny and Vercauteren posted a preprint [Citation10] that arrives at the same conclusion using more highbrow tools. Their approach identifies the ‘opposite’ j-invariant as a certain CM j-invariant.

As noted Corollary 3.15, attachments imply double edges. To find vertices with attachment, we can use Lemma 2.7. Conversely, if we want a prime p with no attachments, we can find a congruence condition on p such that none of the roots if Resl(X) are supersingular j-invariants.

3.3.1 Example: the spine for l=3

In this section, we decsribe the spine S for l=3 by means of stacking, folding and attaching behavior for l=3. The case l=3 is interesting, because of the use of G3(F¯p) in SIDH and SIKE (and analogously, the case l=2 will be discussed in Section 3.4). Since the starting vertex for these protocols is typically taken in Fp, understanding the spine is important for understanding where the Fp j-invariants are located in the graph F¯p.

We start with factoring over Z the polynomial Res3(x) introduced in (3):Res3(x)=(1)·33·x2·(x8000)2·(x1728)2·(x+32768)2·(x252250000x+12167000000)2·(x21264000x681472000)2·(x2+117964800x134217728000)2.

The irreducible factors are Hilbert class polynomials of discriminants 3,8,4, 11,32,20 and –35, respectively. Removing the repeated factors, we see that there are at most 10 vertices at which a double edge can occur.

Double-edges also arise in loops (double self-3-isogenies), which accounts for some of the factors of Res3(x). We find the self loops by factoring the modular 3-isogeny polynomial:Φ3(x,x)=(1)·x·(x54000)·(x8000)2·(x+32768)2.

At j=8000 and j=32768, there are two self-3-isogenies and no attachment at these vertices.

Example 3.20

(Vertices with loops). In this example, we determine the G3(Fp) neighbors of j=0,8000,54000 and –32768. This is done by factoring Φ3(j,x):

  1. j=0: Factor Φ3(0,x)=(x+12288000)3·x. The isogeny v0, w0 is defined over Fp: the factor x has multiplicity 1, so it is not a double-edge and cannot appear only over Fp2. Moreover, the neighbors of v0 are w0 and v12288000 and the neighbors of w0 are w12288000 and v0. Hence there cannot be attaching edges.

  2. j=54000: There is one self-3-isogeny which arises from a 3-isogeny ψ between (non-isomorphic) quadratic twists with j = 54000 and that can be written explicitly. Factoring ϕ3(54000,x) we can check that the j-invariant 54000 does not admit a double edge.

  3. j=8000: we have (x8000)2|Φ3(8000,x) and so there is a double loop [8000,8000]G3(F¯p). Neither of the loops occur over Fp: both cannot occur over Fp because there are no double edges in G3(Fp). If only one of them came from an isogeny over Fp, then we could use Lemma 3.14 to get a third loop, which is not possible (for large p).

  4. j=32768: again, (x+32768)2|Φ3(32768,x). Repeating the argument we gave above for j=8000, the self loops cannot come from isogenies over Fp.

To conclude: For j=0 and 54000, the self-3-isogeny comes from an isogeny between the twists in G3(Fp), and for j=8000,32768, the double self-3-isogenies are not defined over Fp.

The following theorem is a specialization of Proposition 3.18. We are mainly interested in the cryptographic applications, so we restrict to the case p3 mod 4. Then, the class numbers h(p) and h(4p)=3·h(p) are both odd. With our assumption p2 mod 3, we have p11 mod 12.

Theorem 3.21

(Stacking, folding and attaching for l=3). Let p be prime, p11 mod 12. When passing from G3(Fp) to the spine SG3(F¯p),

  1. all components that do not contain 0 or 54000 stack,

  2. there are two distinct connected components V and W that contain a j-invariant 1728, one of them contains both vertices with j-invariant 0 and the other one both vertices with j-invariant 54000. V and W fold and get attached at the j-invariant 1728.

  3. At most 8 vertices admit new edges, attaching at most 4 pairs of components by a new edge.

Proof.

This follows from Theorem 3.18. In Example 3.20, we showed that the only possible opposite vertices have j-invariants 0 and 54000. For p3 mod 4, there are two components containing 1728: by Example 3.8, one of the vertices corresponding to 1728 is on the floor and the other one is on the surface, so they are on different components of G3(Fp). One of these vertices is on the same component of G3(Fp) as the vertices with j-invariant 0 and the other one will contain both vertices with j-invariant 54000. The rest comes from looking at the factors of Res3(x). □

3.4 The spine for l=2

In this section, we describe the spine S for l=2. The added difficulty are vertical isogenies (see Definition 3.4). We describe how the components of G2(Fp) come together in SG2(F¯p) in a way analogous to l>2 (see Theorem 3.29). We determine whether attachment can happen for p1 mod 4 and p3 mod 8 (see Corollary 3.30) and we give experimental data on p7 mod 8.

Delfs and Galbraith [Citation11] described the possible shapes for G2(Fp), which we will extensively use in this section:

Recall that we form the graph S from G2(Fp) in two steps: first merge vertices corresponding to the same j-invariant and their edges, then add new edges. We will show that:

  1. Two vertices with the same j-invariant also have the same j-invariants as neighbors (Proposition 3.22). This will imply that only stacking and folding is possible in Theorem 3.29.

  2. At most one component folds, and for p3 mod 4 this is the component containing j=1728 (Proposition 3.26).

  3. Attaching of components by a new edge happens between at most one pair of vertices, and those vertices are roots of the Hilbert class polynomial of Q(15) (Proposition 3.25).

We begin with some results on the neighbors of vertices with the same j-invariant. From Corollary 3.7, we know that (except for 1728) twists have isomorphic endomorphism rings and hence lie on the same level in the volcano. More is true:

Proposition 3.22.

Let j be a supersingular j-invariant and let vj and wj be two distinct vertices in G2(Fp) corresponding to elliptic curves with j-invariant j. If j1728, then two vertices with the same j-invariants have the same neighbors, that is:

  1. If p1 mod 4 and the neighbor of vj is vj, then the neighbor of wj is wj.

  2. If p3 mod 4 and if

    1. the vertices vj and wj are both on the floor, then vj and wj are each connected to a vertex with j-invariant j,

    2. the vertices vj and wj are both on the surface, then vj has 3 neighbors with distinct j-invariants a, b, c and wj has three neighbors with the same distinct j-invariants a, b, c.

Proof.

  1. For p1 mod 4, any connected component of G2(Fp) is an edge. If vj and wj lie on the same component, then the result follows. Otherwise, the result can be obtained by contradiction and an application of Lemma 3.14.

  2. If p3 mod 4, Corollary 3.9 gives vj,wj are either both on the surface and on the floor of their respective components.

If they are both on the surfaces of their respective components, then they each have three neighbors: one on the floor and two on the surface. The j-invariants of the neighbors of vj match the j-invariants of the neighbors of wj. Any coincidences of these j-invariants would contradict the fact that there can be no cycles of length 2: for p3 mod 4, the class number h(p) is odd.

If they are both on the floors of their respective components, then they each have one neighbor on the surface. The j-invariants of these neighbors must be the same, otherwise we arrive at a contradiction via Lemma 3.14 as in 1.

Corollary 3.23

(Isogenies for twists). Let ϕ:EE be an Fp-isogeny of degree 2 and assume j(E),j(E)1728. Then, there is an 2-isogeny over Fp between the quadratic twists Et(E)t.

Corollary 3.24

(Attachment along a j-invariant for l=2). Attachment along a j-invariant cannot happen for l=2.

We already know that attaching two components by a new edge would imply a double edge (Corollary 3.15).

Proposition 3.25

(Possible attachment by a double edge). Attachment by an edge can only happen between vertices whose j-invariants correspond to the roots of f(X)=X2+191025X121287375

in Fp, provided these are supersingular Fp j-invariants not equal to 3375,1728 or 0.

Proof.

By Lemma 2.7 and Corollary 3.15, any such attaching j-invariants need to be roots of Res2(X). By examining the neighbors of the j-invariants 0, 1728 and –3375, we can easily see that they do not admit new edges coming from isogenies not defined over Fp. □

Proposition 3.26

(The component of j=1728 folds). Let p3 mod 4 be prime. The connected component VG2(Fp) containing the vertices corresponding to j=1728 is symmetric over a reflection passing through the vertices v1728 lying on the surface of V and w1728 lying on the floor of V. In particular, the component V folds when we pass from G2(Fp) to S.

To understand this symmetry, picture the surface of the component V as a perfect circle with equidistant vertices and all the edges to the floor are perpendicular to the surface. Then V is symmetric with respect to the line extending the edge [v1728,w1728]. See the leftmost component in . This symmetry has already mentioned in Remark 5 of [Citation8], albeit without proof or reference.

Proof.

  1. Case p3 mod 8. V is a claw (see ) and the proof of Proposition 3.25 shows that there is one 2-isogeny down from the surface vertex corresponding to j=1728 to each vertex with j-invariant 287496 and the other vertex corresponding to j-invariant 1728. The claw V is clearly symmetric and folds as described.

  2. Case p7 mod 8. In this case, h(p) is odd. We may assume that h(p)>1 (otherwise we are in the claw situation discussed above).

Fig. 5 The graph G3(Fp) for p = 179. We see that the neighbors of vertices with j-invariant 0 both have j-invariant 12288000 mod 179=171.

Fig. 5 The graph G3(Fp) for p = 179. We see that the neighbors of vertices with j-invariant 0 both have j-invariant −12288000 mod 179=171.

Fig. 6 Possible shapes for G2(Fp) for p1 mod 4 (left) and p3 mod 8.

Fig. 6 Possible shapes for G2(Fp) for p≡1 mod 4 (left) and p≡3 mod 8.

Then v=v287,496 and w=v287,496t are both on the surface. By Proposition 3.22, their neighbors have the same j-invariants, say: 1728,a,b. Say the neighbors of v are va, vb and the neighbors of w are wa, wb. Assume that va is on the floor. Since a1728, Lemma 3.9 tells us wa is also on the floor. Thus, both vb and wb are on the surface and the symmetry is preserved.

Continuing in this manner, because h(p) is odd, we will arrive at a pair of vertices vc,wc that share an edge, accounting for all of the vertices in the component. The symmetry holds. □

Remark 3.27.

In Proposition 3.26 for p7 mod 8, the opposite vertices vc,wc from j = 1728 necessarily induce a loop in G2(F¯p). Since vc,wc are on the surface of G2(Fp), we conclude that c=8000 (see Section 2.2). So there always is an Fp-rational 2-power isogeny between any two supersingular elliptic curves with j-invariants 1728 and 8000.

Corollary 3.28

(Folding). Suppose VG2(Fp) is a component which folds when passing from G2(Fp) to SG2(F¯p).

  1. If p1 mod 4, then V is a single edge between vertices with j = 8000.

  2. If p3 mod 4, then V contains both the vertices corresponding to j=1728.

Proof.

  1. If p1 mod 4, then V is an edge: [va,vb]. Folding happens if and only if a = b, resulting in a self-2-isogeny in Gl(F¯p). For p1 mod 4, the only vertices with self-2-isogenies are j=3375,8000, when these j-invariants are supersingular (see Section 2.2).

    For j = 8000, there is a 2-isogeny from the curve with j-invariant 8000 given by the equation E:y2=x34320x96768 to its twist y2=x317280x774144. The latter is a twist of E by 2, and 8000 is only supersingular for p5 mod 8, so 2 is a nonsquare modulo p.

    For j=3375, there are two self-loops in G2(F¯p), and at least one of them is not defined over Fp. Applying Lemma 3.14 to this loop, we conclude that neither of these loops are defined over Fp and folding does not happen for the edge containing –3375.

  2. If p3 mod 4, then let V be a component that folds. The surface has h(p) vertices and this class number is odd. We assume that V folds, so every vertex in it gets identified with the vertex corresponding to its twist. By Corollary 3.9, for j1728, the two vertices are either both on the surface or both on the floor. Since there are odd number of vertices on the surface, there cannot only be pairs of twists on the surface, so V must contain the two vertices corresponding to j=1728, one on the floor and the other on the surface. □

We are now ready to prove the main theorem describing the spine S:

Theorem 3.29

(Stacking, folding and attaching). Only stacking, folding or at most 1 attachment by a new edge are possible. No attachments at a j-invariant are possible.

Proof.

First, let p1 mod 4. The components of G2(Fp) are edges. Corollary 3.28 shows that the edge containing the two vertices with j-invariant 8000 folds (if 8000 is a supersingular j-invariant for p, i.e., p5 mod 8). For the other edges, Proposition 3.22 says that for any edge [va,vb]G2(Fp) the twists wa, wb also give an edge [wa,wb]G2(Fp). Moreover, Proposition 3.25 gives that there is at most 1 attachment among these edges.

For p3 mod 4, take any component V of G2(Fp) and any vertex va on the surface of V, a1728. Choose a neighbor vb of va. Continue along the surface in the direction of the edge [va,vb] and consider the sequence j-invariants of neighbors V={ai} until we reach a vertex with j-invariant a. Similarly, on the component W containing the edge wa, wb, consider the sequence of j-invariants of the neighbors W={bi} until we reach a vertex with j-invariant a (every surface is a cycle, so this will happen in finitely many steps). We have the following possible outcomes:

  1. For some i, we find that aibi. This means that the curve i away from va on V has a different neighbor than its twist, which is i away from wa. But this can only happen for bi = 1728 and hence the component folds by Proposition 3.26.

  2. The sequences are equal, but V stops at the twist wa and W stopped at the curve va. Then va, wa are on the same component V and the cycle on the surface has length 2·length(V). As h(p) is odd, this is not possible.

  3. The sequences V and W are the same: the components V and W are isomorphic as graphs upon replacing the labels of vertices by their j-invariants. The components V and W stack.

Finally, in Proposition 3.25, we showed that at most one attachment is possible. □

To conclude this section, we study the possible attachments given by the roots of the polynomial f(X)=X2+191025X121287375. Because the polynomial f(X) is the Hilbert class polynomial of Q(15), roots of f(X) in F¯p give a supersingular j-invariant if and only if (15p)=1. By factoring the discriminant of f(X) as 36·53·74·132, we see that there is a root in Fp if and only if p±1 mod 5. Combining these, we obtain that the roots of f(X) are j-invariants of a supersingular elliptic curves defined over Fp if and only if p1,11,24 or 59 mod 60.

We have an additional result about when attachment occurs, as a corollary to Proposition 3.25:

Corollary 3.30

(Attachment happens for p7 mod 8). Suppose that p7 mod 8 and suppose that j and j are two distinct Fp-roots of f(X)=X2+191025X121287375 (it suffices to assume p > 101). Then, the new edge [j,j]Gl(F¯p) is an attaching edge.

This means that attachment happens whenever it can happen (i.e., when the roots of f(X) are in Fp) for p7 mod 8. This is not true for p7 mod 8 (See Section 3.5).

Proof.

First, let p1 mod 4. The G2(Fp) components are horizontal edges. Suppose that the j-invariant j admits a double edge [j,j]Gl(F¯p) that it is not an attaching edge, i.e., there is an edge [vj,vj] in G2(Fp). By Lemma 3.14, there is then a triple edge [j,j]. This is only possible if j=0. For j or j to be equal to 0, we would need X to be a factor of f(X). Since 121287375=36·53·113, for p > 11 attachment happens whenever it can.

Next, let p3 mod 8. The components of G2(Fp) are claws. If the double edge is not between two different components, then vj and vj are on the same claw (for some choice of the twists). Assuming, j1728, they both lie on the floor.

Let va be the unique surface vertex of V (see ). This gives us two distinct loops in G2(F¯p) of length 3 corresponding to endomorphisms of norm 8 in EndF¯p(Ej).

Fig. 7 The double edge from j to j.

Fig. 7 The double edge from j to j′.

To check for the existence of such an endomorphism, we need to check whether the roots of f(X) can simultaneously be the roots of the modular polynomial Φ8(X,X). Taking the resultant Res(f(X),Φ8(X,X)) we get(1)·372·536·748·1134·1324·3710·412·438·592·71·892·1012.

For primes p > 101, this will be nonzero, and there is no such a loop in G2(F¯p); hence, attachment happens. In the factorization of the resultant, there are two primes satisfying p11,59 mod 60 and 3 mod 8. For p = 11, we only have one connected component of G2(Fp), for p = 59, attachment happens. □

In the case p7 mod 8, not all attachments that can happen necessarily do. We checked this for all primes p7 mod 8 between 50, 000 and 100, 000 such that the primes above 2 do not generate the class group (in this case, there is clearly only one connected component of S). There are 217 such primes, and for 41 of them the attachment happens. However, there are 12 primes p for which the attachment can happen (p11 or 59 mod 60) but there is no attachment. For instance, for p = 53639, the two roots of f(X) are j=30505 and j=46665. There are two elliptic curves with these j-invariants on the same component of G2(Fp) which are 48 edges apart.

3.5 Distances between the components of the SG2(Fp)

In Sections 3.3 and 3.4, we described how the spine S is formed by passing from Gl(Fp) to Gl(F¯p). In principle, one can then describe the shape and connectedness of S based on the knowledge of Gl(F¯p) and congruence conditions on p. A natural and important question is how the spine S sits inside the graph Gl(F¯p). We study this question for l=2.

For primes p1 mod 4, the subgraph is given by single edges (with a possibility of an isolated vertex and one component of size 4), as we showed in Section 3.2. We expect the distances between components of the graph to behave like the distances between random vertices of the graph. To investigate if the Fp-components are somehow distinguished, we compare the distances between Fp-components with the distances between random vertices of the graph: In , we compare these distances for 254 primes with p1 mod 4 from 10253 to 65437. The primes were chosen to be spaced with a gap of at least 200. To approximate the distance between random points, we sample the distances between 100 pairs of random points on the graph. The vertical axis of this figure represents the difference [(average distance of Fp-components) – (average distance between 100 random pairs of points)]. For this range of primes, the average distances between Fp-components ranged between 8.20 and 10.95. The average distances between pairs of randomly chosen vertices ranged between 7.82 and 10.85. Notice that these differences are mostly positive: The average distances between components is slightly larger than distance between two random points in G2(F¯p) (around 3.6% larger).

Fig. 8 Comparing average distances between random vertices in G2(F¯p) and between connected components of SG2(F¯p). On the horizontal axis, we have primes p1 mod 4. The height of each point represents (avg. distance between Fp-components) - (avg. distance between 100 random points of G2(F¯p)).

Fig. 8 Comparing average distances between random vertices in G2(F¯p) and between connected components of S⊂G2(F¯p). On the horizontal axis, we have primes p≡1 mod 4. The height of each point represents (avg. distance between Fp-components) - (avg. distance between 100 random points of G2(F¯p)).

We now consider the case where p7 mod 8. In this case, the graph G2(Fp) is a union of 2-level volcanoes, each with h(p) vertices on the surface and h(p) vertices on the floor. The size of the surface of any volcano is the order of the prime above 2 in the class group cl(OK). If a prime above 2 generates the class group, G2(Fp) is connected and so is S. The converse is not true, as it is possible for S to become connected via attaching. In this case, we again compare the distances between Fp-components and the distances between random vertices. In the range 50000<p<100000, there are 217 primes for which a prime p2 above 2 does not generate the class group. For these 217 primes, we observed that for 12 primes, the spine S is nonetheless connected. For 57 of those primes, there were exactly two connected components. The distances between these connected components was less than or equal to 6.

Table 1 Size and shape of the spine, depending on primes modulo 8, the integer n denotes the order of any prime above 2 in cl(OK).

The graphs have between 5400 and 8300 vertices and diameters of length between 14 and 16. For 2-isogeny graphs of this size, the average distance between two random vertices is around 9 (0.6× diameter). This number grows slowly (for primes p500000, the average distance between two random vertices is 0.7× diameter) and we expect it to converge to the diameter. We also computed the average of the mean distances between connected components of SG2(Fp) for these primes. The mean is 4.3395, with standard deviation 1.1092. The maximum is 7.000 and the minimum 2.333, which indicates that the components tend to be close to each other.

3.6 The number of components in the spine for l=2

In this section, we briefly comment on the number of connected components of S and relatedly, on the number of connected components in G2(Fp). By Theorem 3.29, we know at most one component of S folds, and at most two components are attached by a new edge. It is therefore easy to determine the approximate number of components depending on the size of the spine and the shape of the connected components in G2(Fp).

The number of vertices in S can be determined from [Citation9]#S={12h(4p) if p1 mod 4,h(p) if p7 mod 8,2h(p) if p3 mod 8.where h(d) is the class number of the imaginary quadratic field Q(d). Using standard estimates for class numbers, one typically approximates h(d)|d|.

4 Conjugate vertices, distances, and the spine

The existence of mirror paths (see Definition 2.6) in Gl(F¯p) motivates us to question their length in relation to the diameter of the graph. Delfs and Galbraith [Citation11] show that if one navigates to the spine S, one can solve the path finding problem in subexponential time using the quantum algorithm in [Citation3]. This leads naturally to the question of how the spine S sits in the full l-isogeny graph. We consider these questions from three perspectives in this chapter. In Section 4.1 we study the distance between Galois conjugate pairs of vertices, that is, pairs of j-invariants of the form j, jp. Our data suggest these vertices are closer to each other than a random pair of vertices in G2(F¯p). In Section 4.2, we test how often the shortest path between two conjugate vertices goes through the spine S (contains a j-invariant in Fp). We find conjugate vertices are more likely than a random pair of vertices to be connected by a shortest path through the spine. Finally, we continue to examine the question of navigating to the spine S by considering the distance between arbitrary vertices and the spine S in Section 4.3.

4.1 Distance between conjugate pairs

Isogeny-based cryptosystems such as cryptographic hash functions and key exchange algorithms rely on the difficulty of computing paths (routing) in the supersingular graph Gl(F¯p). Our experiments with l=2 show that two random conjugate vertices are closer than two random vertices. These shorter distances may indicate that it is computationally easier to find paths between conjugate vertices, when compared with random graph vertices. We analyze the differences between these distances in this section, using the following experimental practices: Given prime p, we constructed the graph G2(F¯p). Then we computed the distances dist(j1,j2) between all pairs of (Fp2Fp)-vertices j1,j2G2(F¯p). These values were organized into two lists: Cp=[dist(j,jp):jFp2Fp],Ap=[dist(j1,j2):j1,j2Fp2Fp].

We call the pairs from Cp conjugate pairs and pairs from Ap arbitrary pairs.

The distributions Cp and Ap for p = 19489 are shown in . For a larger prime, it is too costly to iterate over all vertices. Instead, we took a random sample of 1000 conjugate and arbitrary pairs. The data collected for the prime p = 1000003 is shown in .

Fig. 9 Histogram of distances measured between conjugate pairs and arbitrary pairs of vertices not in Fp for the prime p=19,489.

Fig. 9 Histogram of distances measured between conjugate pairs and arbitrary pairs of vertices not in Fp for the prime p=19,489.

Fig. 10 Histogram of distances between 1000 randomly sampled pairs of arbitrary and conjugate vertices for the prime p=1,000,003.

Fig. 10 Histogram of distances between 1000 randomly sampled pairs of arbitrary and conjugate vertices for the prime p=1,000,003.

In these examples, we see different distributions for the conjugate pair distances compared with the arbitrary pair distances. For both primes, conjugate pairs are more likely to be closer than arbitrary pairs. This indicates that conjugate pairs of vertices have a somehow special position in the graph. This is likely related to the fact that the neighbors of curves with conjugate j-invariants are also conjugate, as discussed in Section 2.

In , we see a clear bias toward paths of odd length (that is, paths with an odd number of edges). This is due to the fact that conjugate j-invariants often admit a shortest path that is a mirror path (Definition 2.6). These paths do not usually go through the spine S, so they have an even number of vertices and an odd number of edges. This topic is studied further in Section 4.2.

Further studies on a broader sample of primes would be required to fully explore the differences between the distributions of distances between conjugate and arbitrary vertices.

4.2 How often do shortest paths go through the spine S

Motivated by the work of Delfs and Galbraith [Citation11], we consider the question of how easy it is to navigate to the spine S. In their work, Delfs–Galbraith use L-isogenies to navigate to the spine S, where L is a set of small primes. We study the situation when L={2}. Any path from j to a vertex j in the spine S can then be mirrored to obtain a path of equal length from j to jp, and hence a path between j and jp passing through the spine. This construction motivates the following definition:

Definition 4.1.

A pair of vertices are opposite if there exists the shortest path between them that passes through the Fp spine.

4.2.1 Experimental methods

We used built-in functions of Sage [Citation26] to perform our computations. We tested how often a shortest path between two conjugate vertices went through the spine S. Shortest paths are not necessarily unique, so it is not enough to compute a shortest path and check whether it passes through the spine. Instead, to verify whether a pair j1,j2 is opposite, we run over all vertices in jFp and check whether there is a j such thatdist(j1,j2)=dist(j1,j)+dist(j,j2).

For smaller primes (< 5000), we computed the proportions for all pairs of vertices in Fp2\Fp. For larger primes, we randomly selected 1000 pairs of points j1,j2 in Fp2\Fp and checked whether each of the pairs (j1,j2),(j1,j1p) were opposite.

In the following two subsections, we present these data sorted in two ways: comparing conjugate pairs and arbitrary pairs, and comparing differences in distances between arbitrary vertices for different congruence classes of p mod 8.

4.2.2 Conjugate pairs vs. arbitrary pairs

For each prime p ranging between 50000 and 100000, we sampled data from 1000 random conjugate pairs of vertices and 1000 pairs of arbitrary vertices. We computed the proportions of conjugate pairs which are opposite and the proportions of arbitrary pairs which are opposite. This data is displayed in .

Fig. 11 Proportions of vertex pairs that are opposite; x-axis represents primes. The data are for a random sample of 1000 pairs of conjugate and arbitrary pairs.

Fig. 11 Proportions of vertex pairs that are opposite; x-axis represents primes. The data are for a random sample of 1000 pairs of conjugate and arbitrary pairs.

Our data suggest conjugate vertices are more likely to be opposite than arbitrary vertices and that this bias increases with p. For the primes displayed in , conjugate pairs are more than four times as likely to be opposite, compared with arbitrary pairs. For 1000<p<5000 (not displayed), conjugate pairs are approximately twice as likely to be opposite than random pairs.

The graph Gl(F¯p) can be symmetrically constructed from S by adding edges and mirror edges at once, leading one to suspect S to be central to the graph. However, we have found the shortest paths between arbitrary pairs of vertices are less likely to pass through the spine, contradicting that perspective.

4.2.3 Varying the residue class of p

In this section, we consider only arbitrary pairs of vertices, and we study the overall connectivity of the graph by looking at the proportions of opposite arbitrary vertices, for primes p in different congruence classes modulo 8. See .

Fig. 12 The horizontal axes of these figures are primes. The heights are proportions of 1000 pairs of arbitrary vertices which are opposite, normalized by |S|.

Fig. 12 The horizontal axes of these figures are primes. The heights are proportions of 1000 pairs of arbitrary vertices which are opposite, normalized by |S|.

In these data, we have computed for each prime p a random sample of 1000 arbitrary pairs of vertices and checked how many are opposite. Then, we take this number and divide by 1000·|S|, to account for differences in the numbers of Fp vertices for these primes. We have sorted the data by primes p mod 8 and displayed it in the graphs in . Our results suggest that the size and connectedness of the spine S could be the key factor affecting the proportion of opposite pairs:

  1. Size of S: Shortest paths are more likely to pass through S if it is larger. We account for this by dividing the proportions of opposite arbitrary pairs of vertices by |S| in . The normalized proportions still differ modulo 8, indicating another factor is at play, possibly the connectedness of S.

  2. Connectedness of S: When S is less connected, pairs are more likely to have shortest paths through it. From the table in Section 3.6, the spine is the least connected when p1 mod 4, and can be most connected when p7 mod 8. This could explain the difference in proportions when normalized by the size of S.

    For example, consider p1=19991 (p17 mod 8,S is connected, |S|=199) and p2=19993 (p1 mod 4,S is maximally disconnected, |S|=30). We would expect 199/30>6 times more opposite pairs in the p1 case. However, for 1000 arbitrary pairs, only 266 pairs were opposite for p1 compared to 112 pairs for p2.

To further study whether differences occurring in the normalized proportions of vertices which are opposite for p mod 8 were due to the connectedness of S, we took a random subgraph of the same size as S and obtained the proportion of pairs of arbitrary vertices with a shortest path passing through the random subgraph. We took the average of these results over 10 random subgraphs for each prime between 1000 and 5000. The data, in , show less distinction mod 8 compared to the data in . This suggests that the connectedness of S is a dominant factor affecting the normalized proportion of opposite pairs of vertices.

Fig. 13 Normalized proportion of pairs with a shortest path through the specified subgraph, as p varies.

Fig. 13 Normalized proportion of pairs with a shortest path through the specified subgraph, as p varies.

4.3 Distance to spine

In this section, we investigate how connected the spine is to the rest of the graph, motivated by the path-finding algorithm of Delfs and Galbraith [Citation11].

4.3.1 Distance to the spine versus a random subgraph

For two fixed primes, we study how the spine fits into the graph, and compare this with a randomly selected subgraph. Specifically, we compare a random vertex’s distance to the spine, with a random vertex’s distance to a random subgraph of the same size as the spine. We observe that if the spine is connected, then the distance to the spine seems greater than the distance to a random subgraph. This agrees with the intuition that a small connected subgraph (|S|O(p)) will be further from most vertices than a random subgraph, which will have many connected components uniformly distributed throughout the graph.

We studied these distances for the primes, p = 19991 and p=19993. For p = 19991, the subgraph S is connected, and for p = 19993, S is maximally disconnected (see [Citation11]). For each value of p, we constructed the graph G2(F¯p), the spine S0:=S, and chose several random subgraphs S1,,Sn. We define the distance between a vertex j and a subgraph Si to bedist(j,Si)=min{dist(j,j):jSi}.

We computed lists di=[dist(j,Si):jG2(F¯p)] in order to measure how dispersed Si is in G2(F¯p). Histograms of the distributions of the di are given in .

Fig. 14 Distances to the spine S contrasted with distances to a random subgraph R of the same size. The spine S is connected for p = 19, 991 and a union of disconnected edges for p = 19, 993.

Fig. 14 Distances to the spine S contrasted with distances to a random subgraph R of the same size. The spine S is connected for p = 19, 991 and a union of disconnected edges for p = 19, 993.

The significant difference between the two primes shown in can also be explained by the number of vertices in S. Since G2(F¯p) is a 3-regular graph, for a random vertex j, there are at most 3·2d1 vertices of distance d away from j (and this limit is achieved if there are no collisions on the paths leaving j). If G2(F¯p) has N vertices and H is a random subgraph with M vertices, then the expected distance to H from a random vertex should be log2(N/M). For p = 19991, |S|=199, so we expect the average distance to S to be 3.06. For p = 19993, |S|=30, so we expect the average distance to S to be 5.80.

When maximally disconnected, the distances to the spine were similar to that of a random subgraph. However, when the spine is connected, the distances are slightly longer. This shows that modeling the spine as a random subgraph may lead to an underestimate of the distances.

4.3.2 Comparison across primes p

In order to compare the distances to S across different primes and account for the expected average distance based on the size of S we consider normalized distances as follows:dp=(average distance to S for prime p)/log2(|G2(F¯p)|/|S|).

Recall that log2(|G2(F¯p)|/|S|) is the expected distance to the spine from a random vertex. We observed that the average distances were lower than the expected distance based on the connectedness of S. There are also clear differences in the distributions of dp when considering residue classes of p modulo 8. This is shown in . In particular, the data mod 8 match our findings on the proportion of opposite pairs, see .

Fig. 15 Normalized average distances dp to the spine S, as prime p varies on the horizontal axes.

Fig. 15 Normalized average distances dp to the spine S, as prime p varies on the horizontal axes.

However, the different behavior of dp for the different congruence classes mod 8 can be explained by the size of the spine. If the size of the spine |S| is large, we will need fewer steps to reach the spine from a random vertex v. Hence, when counting the paths of length d from v, we will encounter less backtracking and the estimate is more precise. Looking at , we see that for p7 mod 8, the size of the spine is the largest, and for p1 mod 4, the size of the spine is the smallest.

Fig. 16 Size of the spine as prime p varies on the horizontal axes.

Fig. 16 Size of the spine as prime p varies on the horizontal axes.

We also tested this within a fixed congruence class: for primes p with p7 mod 8 and 15000<p<20000, the mean distance to the spine is 4.040 with standard deviation 0.413 if |S|<100 and mean 3.007 with standard deviation 0.335 if |S|>100.

5 When are conjugate j-invariants l-isogenous?

5.1 Motivation

In Section 4.2, we studied paths between conjugate j-invariants in G2(F¯p) that go through the spine S. If j and jp happen to be 2-isogenous, then the shortest path between them has length one and does not go through S. This leads us to the natural question:

Question 1. How often are conjugate Fp2Fp j-invariants l-isogenous, for l=2,3?

5.2 Experimental data: 2-isogenies

We collected data on supersingular j-invariants over Fp2 for all primes 5p100193 (a total of 9605 primes). For each p, we determined all of the Fp2Fp j-invariants and counted those that are also 2-isogenous to their conjugates.

With a few exceptions, all of the proportions computed are positive and strictly less than 1. The small primes (roughly p < 5000) have a wide range of proportions, between 0 and 1. This is expected due to the small number of points on their Gl(F¯p) graphs. For example: there are some primes p such that all of the pairs of conjugates are 2-isogenous. On the other hand, if Gl(F¯p)Gl(Fp)= then the proportion will be trivially zero. This happens only for 15 small primes, namely those dividing the order of the Monster group [Citation21]. Notably, the only examples of p for which the proportion is zero, but not trivially zero, are p = 101, 131.

To avoid small prime phenomena, we focused on analyzing the data we collected for 10007p100,193, a total of 8378 primes. The graph of proportions for these data can be found in . We found that the mean proportion in the data is 0.032780 with a standard deviation of 0.019134.

Fig. 17 Proportion of 2-isogenous conjugate pairs in G2(F¯p) for 10,007p100,193.

Fig. 17 Proportion of 2-isogenous conjugate pairs in G2(F¯p) for 10,007≤p≤100,193.

We then sorted the data by congruence conditions to look for patterns. The biggest difference appeared when we re-sorted the data according to the congruence class of the primes modulo 12. The primes in this range are fairly evenly distributed into the congruence classes modulo 12, as one can see in .

Table 2 Proportions of 2-isogenous conjugates, 10007p100193, sorted by p mod 12.

5.2.1 Primes modulo 12

In , we summarize the differences between the congruence classes modulo 12. Note the similar, higher means for p1,7 mod 12 and the similar, lower means for p5,11 mod 12. These distributions are skewed according to the congruence class, as we can also see from the graph in . There appears to be a correlation between primes p1,7 mod 12 and between primes p5,11 mod 12. A two-sample t-test confirms these correlations at the 99.8% level.

5.3 Experimental data: 3-isogenies

We collected data on the supersingular j-invariants over Fp2 for all the primes 5p100193 (a total of 9,605 primes) and computed the proportion of conjugate pairs that are also 3-isogenous. We present these data in the same format as the 2-isogeny data presented in Section 5.2.

Once again, we observe some small prime phenomena (proportions of 1 and 0 for p small). However, in the 3-isogeny case we do not have nontrivial examples of primes p for which the proportion of 3-isogenous conjugates is 0. On the contrary, if there exist conjugate j-invariants in Fp2Fp, then there is at least one pair of 3-isogenous conjugates. (Recall that the two counterexamples to this statement in the 2-isogeny case were p = 101131.)

To avoid small prime phenomena, we again focused on analyzing the data we collected for 10007p100193, a total of 8378 primes. The graph of proportions for these data can be found in .

Fig. 18 Proportion of 3-isogenous conjugate pairs in G2(F¯p) for 10,007p10,0193.

Fig. 18 Proportion of 3-isogenous conjugate pairs in G2(F¯p) for 10,007≤p≤10,0193.

In this collection of data, for primes 10007p100193, we found there to be a mean proportion of 3-isogenous conjugate pairs of 0.047306, with standard deviation of 0.026568.

As in the 2-isogeny case, we again sorted the data by congruence conditions to look for patterns. The biggest difference appeared when we re-sorted the data according to the congruence class of the primes modulo 12.

5.3.1 Primes modulo 12

In , we summarize the differences between the different congruence classes modulo 12. Note the similar and higher means for p1,5 mod 12 and the similar and lower means for p7,11 mod 12, as we can also observe in . There appears to be a correlation between primes p1,5 mod 12 and between primes p7,11 mod 12. A two-sample t-test confirms these correlations at the 99.8% level.

Table 3 Proportions of 3-isogenous conjugates for 10007p100193, sorted by p mod 12.

5.4 Further Questions

Our experimental data suggest that, at least for l=2,3 and with the exception of a few small primes, the proportion of conjugate pairs that are l-isogenous is a small positive number. In particular, all of the primes p101,131 with supersingular j-invariants in Fp2Fp observed have at least one such pair. This motivates the following two questions:

Question 2. For p > 131, is there always at least one pair of l-isogenous conjugate j-invariants on Gl(F¯p)?

Question 3. For large p, is there a nontrivial lower and/or upper bound for the proportion of l-isogenous conjugate j-invariants on Gl(F¯p)?

A partial answer to Question 3 can be found in Lemma 6 of [Citation6], which states that, in the case when p1 mod 12, the set of j-invariants that are adjacent to their conjugates in Gl(F¯p) is of size lO˜(p), which yields an upper bound. [Citation14] provided an answer regarding the lower bound in Question 3, and thus also for Question 2. [Citation14] is concerned with computing endomorphism rings of supersingular elliptic curves over Fp2 by finding cycles in G2(F¯p). The construction of these cycles involves finding j-invariants that are adjacent to their Fp-conjugates. As part of the analysis of the algorithm, they proved that the cardinality of the set of such j-invariants is larger than Cploglogp, for some constant C depending on l (assuming GRH). Both of these proofs assume that l<p/4.

However, these bounds do not seem to explain the significant difference in the average of the proportion of l-isogenous conjugate pairs when we vary the congruence class of p modulo 12. This prompts us to formulate the question:

Question 4. How does the proportion of l-isogenous conjugate j-invariants on Gl(F¯p) relate to the conjugacy class of p mod 12?

Remark 5.1.

We can also consider l-isogenous conjugate pairs of j-invariants in the context of the modular curve X0(l). In [Citation21], Ogg defined X0(l)+, the Atkin-Lehner quotient of X0(l) by the Fricke involution. If two conjugate Fp2Fp j-invariants j,jp are l-isogenous, then (j,jp) is a point of X0(l). The image of (j,jp) under the quotient map is an Fp-rational point of X0(l)+. Conversely, any Fp-rational point of X0(l)+ whose preimage in X0(l) contains a non-Fp point corresponds to an l-isogenous conjugate pair j,jp. Intersecting with the supersingular locus, we have an alternative description of the set of Fp2Fp l-isogenous conjugate pairs in the Supersingular Isogeny Graph.

6 Diameter

Numerical experiments in [Citation22] estimated the diameters of k-regular LPS Ramanujan graphs and random Cayley graphs to be asymptotically 43·logk1(n) and logk1(n) respectively, where n is the number of vertices. We present data on the diameters of the supersingular 2-isogeny graphs, which are 3-regular on p/12+ϵ vertices, with ϵ=0,1, or 2, depending on the congruence class of p mod 12.

For p3 mod 4, the j-invariant 1728 appears in a special place of the graph - it is only 2-isogenous to one other curve. This isolated position in the graph may lead to longer diameters of Gl(F¯p) for p3 mod 4.

We can see a lower boundlog2(p12)log2(3)+1on the diameter as follows. Starting from a random vertex and taking a walk of length n, the walk reaches at most 3·2n1 vertices as endpoints (exactly that number if there are no collisions). Since there are p12+ϵ vertices in the graph, with ϵ=0,1,2, the diameter cannot be less that the smallest n0 such that3·2n01+1p12+ϵ.

We collected graph data for the diameters of the supersingular 2-isogeny graphs G2(F¯p) for 4600 primes p. We used the built-in Sage” diameter” function [Citation26] on the graphs. The implementation can be found in the walk.sage worksheet available on our github repository. We collected diameters of G2(F¯p) in batches for ranges of primes. The smallest prime we have data for is p=1009 and the largest is p = 9501511. This data is displayed in .

Fig. 19 Diameter of G2(F¯p) for 4600 primes p with 1009p9,501,511 with y=log2(p/12)+1+log2(12) (dashed), y=4/3log2(p/12)+1 (solid) and the proven lower bound y=log2(p/12)log2(3)+1 (dotted).

Fig. 19 Diameter of G2(F¯p) for 4600 primes p with 1009≤p≤9,501,511 with y= log 2(p/12)+1+ log 2(12) (dashed), y=4/3 log 2(p/12)+1 (solid) and the proven lower bound y= log 2(p/12)− log 2(3)+1 (dotted).

The shifted (4/3)log2(p/12) graph (in a solid line) seems to increase too steeply for larger prime values. This could suggest that the 2-isogeny graph diameters may be more like random Cayley graphs, i.e. with distribution closer to log2(p/12). However, our numerical data are inconclusive: diameters for larger primes would be needed to make a conclusion, but our algorithm would not be able to find those in a reasonable amount of time.

For this reason, we adjusted our algorithm to find lower bounds on the diameter: We chose j=0 as the starting vertex and in every step, we added the neighbors of all the known vertices, and truncated the computation instead of computing the entire graph. This gives a lower bound on the diameter. This algorithm allowed us to find lower bounds for the diameters of Gl(F¯p) for larger primes p, shown in . We see in that the dashed curve y=log2(p/12)+log2(12)+1 no longer fits the data. We chose primes p23 mod 24. See Section 6.1 for discussion on the difference mod 12; we also chose p7 mod 8 so that the spine S (see Definition 2.5) has the same structure and approximate size (see Section 3.6).

Fig. 20 Lower bounds on the diameter of G2(F¯p) for 431 primes p23 mod 24 with 1020431<p<15201671, along with the graphs of y=log2(p/12)+α (dashed), y=4/3log2(p/12)+β (solid).

Fig. 20 Lower bounds on the diameter of G2(F¯p) for 431 primes p≡23 mod 24 with 1020431<p<15201671, along with the graphs of y= log 2(p/12)+α (dashed), y=4/3 log 2(p/12)+β (solid).

We tried fitting the curves log2(p/12)+α and 4/3log2(12)+β with the best constants α, β and as a first approximation we tried minimizing the sum of squares of distances to these curves, yielding α4.8168 and β1.3356.

6.1 How does diameter vary for different congruence classes of primes modulo 12?

We investigated the behavior of the diameter as p varies modulo 12. We found a slight, but noticeable, bias: Primes p5,11 mod 12 tend to have a 2-isogeny graph of larger diameter compared with primes p1,7 mod 12. This is visible in . In , the diameters tend to be slightly larger than the graph of y=log2(p/12)+log2(12)+1, whereas those in tend to be more evenly distributed above and below y=log2(p/12)+log2(12)+1. supports the visible bias.

Fig. 21 Diameters of 2-isogeny graph over F¯p for different congruence classes of the prime p, shown with y=log2(p/12)+log2(12)+1

Fig. 21 Diameters of 2-isogeny graph over F¯p for different congruence classes of the prime p, shown with y= log 2(p/12)+ log 2(12)+1

Table 4 Average diameters sorted by primes modulo 12.

7 Conclusions

We determined how the connected components of Gl(Fp) merge together to give the spine SGl(F¯p). For any specific l and any p, one can determine the resulting shape explicitly if one knows the structure of the class group cl(OK).

For l=2, we summarize the biases we observed in our heuristic data, for the different congruence classes of p mod 12. The data suggest the following, although more careful analysis is needed to confirm:

  • p1 mod 12:

    • smaller 2-isogeny graph diameters,

    • larger number of spinal components, and

    • larger proportion of 2-isogenous conjugate pairs,

  • p11 mod 12:

    • larger 2-isogeny graph diameters,

    • smaller number of spinal components, and

    • smaller proportion of 2-isogenous conjugate pairs.

Netherlands Organisation for Scientific Research;

Acknowledgments

This article is the result of a collaboration started at Alice Silverberg’s 60th birthday conference on open questions in cryptography and number theory https://sites.google.com/site/silverberg2018/. We would like to thank Heidi Goodson for her significant contributions to this project. We are grateful to Microsoft Research for hosting the authors for a follow-up visit. We would like to thank Steven Galbraith, Shahed Sharif, and Katherine E. Stange for helpful conversations. We thank the reviewers for their thoughtful and helpful comments, leading to a many improvements in this article. Authors are listed in alphabetical order; see https://www.ams.org/profession/leaders/ culture/CultureStatement04.pdf.

Declaration of Interest

No potential conflict of interest was reported by the author(s).

Additional information

Funding

CCN was partially supported by Universidad de Costa Rica. TS was partially supported by Alfred P. Sloan Foundation grant number G-2014-13575. JS was partially supported by the Dutch Research Council (NWO) through Gravitation-grant Quantum Software Consortium - 024.003.037.

References

  • Gora Adj, O. A., Menezes, A. On isogeny graphs of supersingular elliptic curves over finite fields. Finite Fields Their Appl., 55, 268–283.
  • Arpin, S., Camacho-Navarro, C., Lauter, K., Lim, J., Nelson, K., Scholl, T., Sotáková, J. (2019). Adventures in supersingularland.
  • Biasse, J.-F., Jao, D., and Sankar, A. (2014), A quantum algorithm for computing isogenies between supersingular elliptic curves. In Progress in cryptology—INDOCRYPT 2014, volume 8885 of Lecture Notes in Comput. Sci., Springer, Cham, pp. 428–442.
  • Costache, A., Feigon, B., Lauter, K., Massierer, M., Pusks, A. Ramanujan graphs in cryptography. In: Jennifer, S. B., Folsom, A., Laln, M., Manes, M. Eds., Research Directions in Number Theory, Association for Women in Mathematics Series, Springer International Publishing, pp. 1–40.
  • Charles, D., Goren, E., Lauter, K. (2006), Cryptographic hash functions from expander graphs. Cryptology ePrint Archive, Report 2006/021. Available at: https://eprint.iacr.org/2006/021.
  • Charles, D., Goren, Ey., and Lauter, K. (2009), Families of Ramanujan graphs and quaternion algebras, In: Groups and symmetries, CRM Proc. Lecture Notes, Amer. Math. Soc., Vol. 47, pp. 53–80.
  • Castryck, W., Lange, T., Martindale, C., Panny, L., and Renes, J. CSIDH: An efficient post-quantum commutative group action. In: Peyrin, T., Galbraith, S., Advances in Cryptology ASIACRYPT 2018, Lecture Notes in Computer Science, Springer International Publishing, pp. 395–427.
  • Cox, D. (1989), Primes of the form x2 + ny2. New York: John Wiley and Sons, Inc.
  • Castryck, W., Panny, L., and Vercauteren, F. (2020), Rational isogenies from irrational endomorphisms. In: Canteaut, A., Ishai, Y., Eds., Advances in Cryptology EUROCRYPT 2020, Lecture Notes in Computer Science, Springer International Publishing, pp. 523–548.
  • Delfs, C., and Galbraith, S. D. (2016), Computing isogenies between supersingular elliptic curves over 𝔽p. Des. Codes Cryptog., 78: 425–440. Available at: https://arxiv.org/pdf/1310.7789.pdf.
  • Hallgren, E.S., Lauter, K., Morrison, T., and Petit, C. (2018), Supersingular isogeny graphs and endomorphism rings: Reductions and solutions. In: Nielsen, J. B., Rijmen, V., Eds., Advances in Cryptology EUROCRYPT 2018, Lecture Notes in Computer Science, Springer International Publishing, pp. 329–368.
  • Eisentrger, K., Hallgren, S., Leonardi, C., Morrison, T., Park, J. Computing endomorphism rings of supersingular elliptic curves and connections to path-finding in isogeny graphs. In Proceedings of the Fourteenth Algorithmic Number Theory Symposium, Vol. 4, Mathematical Sciences Publishers, pp. 215–232.
  • Galbraith, S. D., Petit, C., Shani, B., and Ti, Y. B. (2016), On the security of supersingular isogeny cryptosystems. In: Cheon, J. H., Hee, J., Takagi, T., Eds., Advances in Cryptology ASIACRYPT 2016, Lecture Notes in Computer Science, Springer.
  • Ibukiyama, T. (1982), On maximal orders of division quaternion algebras over the rational number field with certain optimal embeddings. Nagoya Math. J., 88: 181–195.
  • Jao, D., De Feo, L. Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. In: Yang, B-Y., Ed., Post-Quantum Cryptography, Lecture Notes in Computer Science, Springer, pp. 19–34.
  • Kaneko, M. (1989), Supersingular j-invariants as singular moduli mod p. Osaka J. Math., 26, 12.
  • Kohel, D., Lauter, K., Petit, C., and Tignol, J-P. (2014), On the quaternion ℓ-isogeny path problem. LMS J. Comput. Math., 17: 418–432.
  • Kohel, D. (1996), Endomorphism rings of elliptic curves over finite fields. PhD thesis, Berkely: University of California.
  • Love, J., Boneh, D. Supersingular curves with small noninteger endomorphisms. In: Proceedings of the Fourteenth Algorithmic Number Theory Symposium, Vol. 4, Mathematical Sciences Publishers, pp. 7–22.
  • Lubotzky, A., Phillips, R. S., Sarnak, P. C. (1988), Ramanujan graphs. Combinatorica, 8: 261–277. doi:10.1007/BF02126799
  • Ogg, A. P. (1975), Automorphismes de courbes modulaires. Séminaire Delange-Pisot-Poitou. Théorie des nombres, 16:1–8.
  • Sardari, N. T. Diameter of Ramanujan graphs and random cayley graphs. 39: 427–446.
  • Shor, P. W. (1999), Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Rev., 41: 303–332.
  • Silverman, J. H. (2009), The Arithmetic of Elliptic Curves, 2nd ed. New York: Springer-Verlag.
  • Sutherlandm, A. V. (2013), Isogeny volcanoes. In: ANTS X—Proceedings of the Tenth Algorithmic Number Theory Symposium, volume 1 of Open Book Ser. Berkeley, CA: Math. Sci. Publ., pp. 507–530.
  • The Sage Developers. (2019), SageMath, the Sage Mathematics Software System (Version 8.7). Available at: https://www.sagemath.org.
  • Vlu, J. (1971), Isognies entre courbes elliptiques. Comptes Rendus de l’Acadmie des Sciences de Paris, 273: 238–241.