<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://www.mariascrs.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.mariascrs.com/" rel="alternate" type="text/html" /><updated>2026-10-13T07:20:39+00:00</updated><id>https://www.mariascrs.com/feed.xml</id><title type="html">Maria Corte-Real Santos</title><subtitle>Postdoctoral researcher at ENS de Lyon, working on isogeny-based cryptography and computational number theory.</subtitle><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><entry><title type="html">Efficiently detecting $(N,N)$ splittings and the application to the dimension 2 isogeny problem</title><link href="https://www.mariascrs.com/2023/01/09/splitsearcher.html" rel="alternate" type="text/html" title="Efficiently detecting $(N,N)$ splittings and the application to the dimension 2 isogeny problem" /><published>2023-01-09T00:00:00+00:00</published><updated>2023-01-09T00:00:00+00:00</updated><id>https://www.mariascrs.com/2023/01/09/splitsearcher</id><content type="html" xml:base="https://www.mariascrs.com/2023/01/09/splitsearcher.html"><![CDATA[<p>In this blogpost, I’ll give an overview of our new paper <em>An algorithm for efficient detection of $(N,N)$-splittings and its application to the isogeny problem in dimension 2</em> (<a href="https://eprint.iacr.org/2022/1736">link</a>), with associated code available <a href="https://github.com/mariascrs/SplitSearcher">here</a>. This is joint work with Craig Costello and Sam Frengley.</p>

<p>In this paper, we revisit the general superspecial isogeny problem in dimension 2, which asks an adversary to find an isogeny \(\phi: \text{Jac}(C) \rightarrow \text{Jac}(C'),\) where $C$ and $C’$ are genus $2$ curves with superspecial Jacobians. The best known algorithm for solving this problem is due to Costello and Smith [5].
The general superspecial isogeny problem underlies the security of various isogeny-based protocols in two dimensions, such as the dimension 2 analogue of the CGL hash function [3], which was proposed by Takashima [16] and later extended by Castryck, Decru and Smith [2]. 
As we are studying the general problem, we do not assume any knowledge of the degree of the isogeny or any (SIDH-like) torsion point information. Indeed, the superspecial isogeny problem <em>with</em> torsion point information can be solved in polynomial time [11], thus making primitives such as the dimension 2 analogue of SIDH, G2SIDH [8], insecure.</p>

<h1 id="some-background-on-dimension-2-abelian-varieties">Some background on dimension 2 abelian varieties</h1>

<h2 id="superspecial-abelian-surfaces">Superspecial abelian surfaces</h2>

<p>To generalise elliptic curves to higher dimensions, we want to think of elliptic curves as <em>one-dimensional (principally polarised) abelian varieties</em>. In this paper, we are concerned with <em>two</em>-dimensional (principally polarised) abelian varieties, more commonly referred to as (principally polarised) abelian <em>surfaces</em>.</p>

<p>In isogeny-based cryptography, we usually consider <em>supersingular</em> elliptic curves. Supersingularity has a variety of equivalent definitions. Two of these are:</p>
<ul>
  <li>The trace $t$ of Frobenius satisfies $t \equiv 0 \bmod p$ $(p &gt; 3)$</li>
  <li>The Newton polygon is a straight line segment with slope $1/2$.</li>
</ul>

<p>In dimension $&gt;1$, however, these become distinct. The first property is called <em>superspeciality</em> and the second is <em>supersingularity</em>. Unfortunately (and rather confusingly), the correct generalisation of a supersingular elliptic curve over $\bar{\mathbb{F}}$<sub>$p$</sub> is a superspecial abelian surface over $\bar{\mathbb{F}}$<sub>$p$</sub>.</p>

<p>There are two types of abelian surfaces:</p>
<ul>
  <li>Products of elliptic curves $E \times E’$. If the abelian surface is superspecial, the elliptic curves will be supersingular;</li>
  <li>Jacobians $\text{Jac}(C)$ of genus 2 curves $C$.</li>
</ul>

<p>For dimension 1 isogeny-based cryptography, we usually only consider the elliptic curves up to $\bar{\mathbb{F}}$<sub>$p$</sub>-isomorphism and label these classes with the $j$-invariant. The same is true for dimension 2 isogeny-based cryptography. In this case, we label the $\bar{\mathbb{F}}$<sub>$p$</sub>-isomorphism classes with the following invariants:</p>
<ul>
  <li>Sets of $j$-invariants $\{ j(E), j(E’) \}$ (note that this is a set as the ordering of $E$ and $E’$ does not matter for our purposes).</li>
  <li>Igusa-Clebsch invariants $I$<sub>$2$</sub>$(C)$, $I$<sub>$4$</sub>$(C)$, $I$<sub>$6$</sub>$(C)$, $I$<sub>$10$</sub>$(C)$.</li>
</ul>

<p>The Igusa-Clebsch invariants live in weighted projective space, and the subscript denotes the weight of the invariant.</p>

<blockquote>
  <p><strong>Definition.</strong> Let $\mathbb{A}$<sup>$n+1$</sup> be $n$-dimensional affine space over $\bar{\mathbb{F}}$<sub>$p$</sub>. The <em>weighted projective space</em> $\mathbb{P}(w$<sub>$0$</sub>$, \dots, w$<sub>$n$</sub>$)$ is the set of equivalence classes of $\mathbb{A}$<sup>$n+1$</sup>$\backslash{0}$ under the equivalence relation $\sim$ defined $(a$<sub>$0$</sub>$: \dots : a$<sub>$n$</sub>) $ \sim (b$<sub>$0$</sub>$:  \dots : b$<sub>$n$</sub>) if and only if there exists $\lambda \in \bar{\mathbb{F}}$<sub>$p$</sub> such that $(a$<sub>$0$</sub>$, \dots, a$<sub>$n$</sub>) $ =(\lambda$<sup>$w$<sub>$0$</sub></sup>$b$<sub>$0$</sub>$, \dots, \lambda$<sup>$w$<sub>$n$</sub></sup>$b$<sub>$n$</sub>$)$.</p>
</blockquote>

<p>If we want to move these invariants to affine space (where we now have true equality, rather than equality up to some projective constant), we will have to normalise these invariants (taking into account the weight of each coordinate). There are infinitely many choices of normalisation, however some are more common or natural than others. A common choice is 
\(i_1 = \frac{6(I_2^2-16I_4)}{I_2^2}, \ i_2 = \frac{-12(5I_2^3 - 176I_2I_4 + 384I_6) }{I_2^3}, \ i_3 = \frac{3888I_{10}}{I_2^5}.\) Note, however, that in our paper we deviate from this choice, the reason for which will be explained later.</p>

<p>For superspecial abelian surfaces, these invariants lie in $\mathbb{F}$<sub>$p$<sup>$2$</sup></sub>. Recall that the same holds for supersingular elliptic curves; one of reasons confirming that superspeciality is the correct generalisation.</p>

<h2 id="nn-isogenies">$(N,N)$-Isogenies</h2>

<p>For isogeny-based cryptography, we not only need elliptic curves, but also <em>isogenies</em>. In particular, we consider $N$-isogenies $\phi: E \rightarrow E’$ with kernel $\mathbb{Z}/N\mathbb{Z}$, generated by a point $P \in E(\bar{\mathbb{F}}$<sub>$p$</sub>$)[N]$.</p>

<p>Moving to dimension 2, we consider $(N,N)$-isogenies.</p>

<blockquote>
  <p><strong>Definition.</strong> An $(N,N)$<em>-isogeny</em> is an isogeny (i.e., a surjective group homomorphism with finite kernel) $\phi: A \rightarrow A’$ between abelian surfaces $A$ and $A’$, where:</p>
  <ul>
    <li>$\text{ker } \phi \cong (\mathbb{Z}/N\mathbb{Z})$<sup>$2$</sup>; and</li>
    <li>$\text{ker } \phi $ is maximal isotropic with respect to the $N$-Weil pairing, i.e., for all $P, Q \in \text{ker } \phi$, we have $e$<sub>$N$</sub>$(P, Q) = 1$.</li>
  </ul>
</blockquote>

<p>The second condition is there to ensure that $A’$ comes equipped with a principal polarisation. For $N$-isogenies, this is <em>always</em> satisfied, and therefore this condition is usually omitted from the definition.</p>

<p>Let $D$<sub>$N$</sub> be the number of $(N,N)$-isogenies from a superspecial surface $A$. Then we have that $D$<sub>$N$</sub> $ = O(N$<sup>$3$</sup>$)$ (the exact number can be found in Section 2 of our paper). This is much larger than in the dimension 1 case where there are $O(N)$ outgoing isogenies from a supersingular elliptic curve. Here we are ignoring the rare, special cases where $j(E) = 0$ or $1728$, for example.</p>

<h2 id="dimension-2-general-isogeny-problem">Dimension 2 general isogeny problem</h2>

<p>In its most general form, the superspecial isogeny problem in two dimensions asks to find an isogeny \(\phi: A \rightarrow A'\) between two superspecial abelian surfaces $A/\mathbb{F}$<sub>$p$<sup>$2$</sup></sub> and $A’/\mathbb{F}$<sub>$p$<sup>$2$</sup></sub>.</p>

<p>The general isogeny problem can be viewed as finding a path between two nodes in the superspecial isogeny graph.</p>

<h2 id="superspecial-isogeny-graph">Superspecial isogeny graph</h2>

<p>Let $p$ be a large prime not dividing $N$.</p>

<blockquote>
  <p><strong>Definition.</strong> The superspecial isogeny graph, denoted $\Gamma(N; p)$, is the graph with vertex set $\mathcal{S}(p)$, defined as the set of isomorphism classes of superspecial abelian surfaces, and whose edges are $(N,N)$-isogenies over $\bar{\mathbb{F}}$<sub>$p$</sub>.</p>
</blockquote>

<p>This graph has a number of nice properties:</p>
<ul>
  <li>Firstly, the vertex set is finite. More precisely, we have that the size of $\mathcal{S}(p)$ is $O(p^3)$. This is only true when we restrict to <em>superspecial</em> surfaces, and mirrors the finiteness property of the vertex set in dimension 1.</li>
  <li>The isomorphism classes $[A] \in \mathcal{S}(p)$ are represented by surfaces defined over $\mathbb{F}$<sub>$p$<sup>$2$</sup></sub>. Again, this property is only true by restricting to superspecial abelian surfaces, and matches the situation in genus 1.</li>
  <li>The graph is $D$<sub>$N$</sub>-regular (except for on a small number of special nodes).</li>
</ul>

<p>The hardness of the general isogeny problem in dimension one is largely based on the fact that the supersingular isogeny graph is Ramanujan, i.e., has optimal expansion. In contrast, $\Gamma(N; p)$ is not quite Ramanujan, but we can still argue that the expansion is good enough to build secure cryptographic protocols [7].</p>

<p>As we have two types of abelian surfaces, there is a natural partition of the vertex set. Indeed, $\mathcal{S}(p)$ is equal to the disjoint union of:</p>

<ul>
  <li>$\mathcal{J}(p) = \{ [A] \in \mathcal{S}(p) : A \cong \text{Jac}(C) \}, $ and</li>
  <li>$\mathcal{E}(p) = \{ [A] \in \mathcal{S}(p) : A \cong E \times E’ \text{ with } E, E’ \text{ supersingular ECs} \}.$</li>
</ul>

<p>There are around $O(p^3)$ nodes in $\mathcal{J}(p)$ and $O(p^2)$ nodes in $\mathcal{E}(p)$, making the latter the <em>rarer</em> case.</p>

<p><img src="../../../images/posts/splitsearcher/graph.png" /></p>

<p>We often fix the vertex set but consider multiple edge sets. We will therefore use $\Gamma(\mathcal{N}; p)$ to denote the graph with the vertex set $\mathcal{S}(p)$ and and whose edges are $(N,N)$-isogenies for all $N\in \mathcal{N}$.</p>

<p>We can now view the general isogeny problem as a path finding problem: given superspecial abelian surfaces $A$ and $A’$ defined over $\mathbb{F}$<sub>$p$<sup>$2$</sup></sub>, find a walk in $\Gamma(\mathcal{N}; p)$ connecting them, where $\mathcal{N} = \{ N \in \mathbb{N} : p \nmid N \}$.</p>

<h1 id="attacking-the-isogeny-problem-in-dimension-2">Attacking the isogeny problem in dimension 2</h1>

<p>The best known algorithm for solving the general isogeny problem is due to Costello-Smith [5].</p>

<p>The Costello-Smith algorithm proceeds as follows. Suppose we are given a start node $A$ and end node $A’$ in $\mathcal{J}(p)$. Our goal is to find an isogeny $\phi: A \rightarrow A’$.</p>

<p><img src="../../../images/posts/splitsearcher/CS-algo/cs-algo1.png" /></p>

<h5 id="step-1-find-a-path-to-the-special-subset">Step 1: find a path to the special subset</h5>

<p>The first step is to find paths from $A, A’ \in \mathcal{J}(p)$ to nodes in $\mathcal{E}(p)$, say we find isogenies $\varphi: A \rightarrow E$<sub>$1$</sub>$\times E$<sub>$2$</sub> and $\varphi’: A’ \rightarrow E$<sub>$1$</sub>$’ \times E$<sub>$2$</sub>$’$, where the elliptic curves here are supersingular. Due to the proportion of nodes in $\mathcal{J}(p)$ to nodes in $\mathcal{E}(p)$, we expect to find such paths in $\tilde{O}(p)$.</p>

<p><img src="../../../images/posts/splitsearcher/CS-algo/cs-algo2.png" /></p>

<p>By finding these paths, we have now reduced the isogeny problem in $\mathcal{S}(p)$ to the isogeny problem in $\mathcal{E}(p)$.</p>

<h5 id="step-2-solve-the-problem-in-the-special-subset">Step 2: solve the problem in the special subset</h5>

<p>The second step is to solve the problem in $\mathcal{E}(p)$, which is (asymptotically) equivalent to solving the problem in dimension 1. As the elliptic curves $E$<sub>$1$</sub>, $E$<sub>$2$</sub>, $E$<sub>$1$</sub>$’$, and $E$<sub>$2$</sub>$’$ are supersingular, we can use an algorithm such as Delfs–Galbraith [8] or SuperSolver [9] to output paths $\psi $<sub>$1$</sub>$: E$<sub>$1$</sub>$\rightarrow E$<sub>$1$</sub>$’$ and $\psi $<sub>$2$</sub>$: E$<sub>$2$</sub>$\rightarrow E$<sub>$2$</sub>$’$. If the length of these paths have the same parity, then we can patch them up to obtain the product path $\pi : E$<sub>$1$</sub>$ \times E$<sub>$2$</sub>$ \rightarrow E$<sub>$1$</sub>$’ \times E$<sub>$2$</sub>$’$ [1]. If the lengths of the paths do not have the same parity, we fail and return $\bot$, and run the algorithm again.</p>

<p>Note, however, only three runs are required to successfully return path $\phi$. Indeed, if we instead run the Costello-Smith algorithm to find paths $\psi_1 : E$<sub>$1$</sub>$ \rightarrow E$<sub>$1$</sub>$’$, $\psi$<sub>$2,1$</sub>$ : E$<sub>$2$</sub>$ \rightarrow E$, and $\psi$<sub>$2,2$</sub>$ : E \rightarrow E$<sub>$1$</sub>$’$, where $E: y^2 = x^3+x$ has an endomorphism of degree 2, say $\tau$, then we can set $\psi_2 = \psi_{2,2}\circ \psi_{2,1}$ if $\text{length}(\psi_1) \equiv \text{length}(\psi_{2,1} \circ \psi_{2,2}) \bmod 2$ and $\psi_2 = \psi_{2,2}\circ \tau \circ \psi_{2,1}$, otherwise.</p>

<p>Therefore, this step is expected to run in $\tilde{O}(\sqrt{p})$, as it is dominated by one run of the Delfs–Galbraith algorithm.</p>

<p><img src="../../../images/posts/splitsearcher/CS-algo/cs-algo3.png" /></p>

<p>We can then obtain the desired path from $A$ to $A’$ as $\phi = \hat{\varphi}’ \circ \pi \circ \varphi$, where $\hat{\cdot}$ represents the dual.</p>

<p>Overall, the cost of the algorithm is $\widetilde{O}(p)$ bit operations, and is dominated by step 1.</p>

<h5 id="can-we-improve-the-efficiency-of-the-bottleneck-step">Can we improve the efficiency of the bottleneck step?</h5>

<p>The bottleneck of the attack is the first step, which can be rephrased as: walking in $\Gamma(N; p)$ until finding $A \in \mathcal{J}(p)$ which is $(N,N)$-split.</p>

<blockquote>
  <p><strong>Definition.</strong> We say the Jacobian $\text{Jac}(C)$ of a genus 2 curve $C$ is $(N,N)$<em>-split</em> if there exists an (separable, polarised, optimal) $(N,N)$-isogeny $\text{Jac}(C) \rightarrow E \times E’$, where $E$, $E’$ are elliptic curves.</p>
</blockquote>

<p>For this reason, we focus on this step.</p>

<p>Let’s look in more depth at this first step in the Costello-Smith algorithm:</p>

<ol>
  <li>Start on a node $A$<sub>0</sub>$\in \mathcal{J}(p)$.</li>
  <li>Take a step in $\Gamma(2; p)$ via a Richelot isogeny $\phi$<sub>$1$</sub>$: A$<sub>$0$</sub>$ \rightarrow A$<sub>$1$</sub>.</li>
  <li>From the Richelot isogeny formulae, we can determine whether $A$<sub>$1$</sub>$\in \mathcal{E}(p)$ (at some point you compute a determinant $\delta$, and if this is zero, the $A$<sub>$1$</sub> is a product of elliptic curves). In this case, $A$<sub>$0$</sub> is $(2,2)$-split, and we terminate. Otherwise, take another step $\phi$<sub>$2$</sub>$: A$<sub>$1$</sub>$\rightarrow A$<sub>$2$</sub>.</li>
  <li>Repeat the previous step until finding $A$<sub>$i$</sub>$ \in \mathcal{E}(p)$.</li>
</ol>

<p>In summary, they use Richelot isogenies (as these are the most efficient to compute) to take walks in $\Gamma(2; p)$ and detect $(2,2)$-splittings. One of the motivations of this paper was the answer the question: by taking steps in $\Gamma(2; p)$, can we detect whether the current node $A$<sub>$i$</sub> is $(N,N)$-split for $N&gt;2$?</p>

<p>A (naive) answer to this question would be to compute all $(N,N)$-isogenies from $A$<sub>$i$</sub>, but this is not efficient (as it requires, at a minimum, the computation of three $N$-th roots). Can we make the detection efficient? We answer this question in the affirmative for $N \leq 11$, and apply this to improve the concrete complexity of the Costello-Smith attack.</p>

<h1 id="efficient-algorithm-for-detection-of-nn-splittings">Efficient algorithm for detection of $(N,N)$-splittings</h1>

<p>This question is answered by moduli spaces. Informally speaking, a moduli space is a geometric object that parametrises algebraic objects.</p>

<p>We consider two moduli spaces:</p>
<ul>
  <li>$\mathcal{L}$<sub>$N$</sub>: parameterises genus 2 curves with $(N,N)$-split Jacobians up to $\bar{\mathbb{F}}$<sub>$p$</sub>-isomorphism (which is sufficient for our cryptographic purposes). For small $N$, this is more or less a plane (more precisely, it is birational to $\mathbb{A}$<sup>$2$</sup>), let’s say with coordinates $r,s$.</li>
  <li>$\mathcal{M}$<sub>$2$</sub>: parameterises genus 2 curves up to $\bar{\mathbb{F}}$<sub>$p$</sub>-isomorphism. There is a map from $\mathcal{M}$<sub>$2$</sub> to weighted projective space $\mathbb{P}(2,4,6,10)$, given by the Igusa-Celbsch invariants.</li>
</ul>

<p><img src="../../../images/posts/splitsearcher/detect-split/Slide2.png" /></p>

<p>For abstract reasons, for every $N$, there is a map $\varphi$<sub>$N$</sub> from $\mathcal{L}$<sub>$N$</sub>, with image inside $\mathcal{M}$<sub>$2$</sub>.
So, our question of whether $C$ (or rather the isomorphism class $[C]$) is $(N,N)$-split can be answered by whether $[C]$ lives inside $\text{Im } \varphi$<sub>$N$</sub> (or, more precisely, the Zariski closure of the image).</p>

<p><img src="../../../images/posts/splitsearcher/detect-split/Slide4.png" /></p>

<p>The main problem here is that we do not have explicit equations for $\varphi$<sub>$N$</sub> for every $N$. Kumar [9] gives us this map explicitly for $N \leq 11$. So, to determine if $[C]$ is in the image of $\varphi$<sub>$N$</sub>, it is sufficient to determine whether there is an $(r$<sub>$0$</sub>$,s$<sub>$0$</sub>$) \in \mathbb{A}$<sup>$2$</sup><sub>$r,s$</sub> that map to $(I_2(C): I_4(C): I_6(C): I_{10}(C))$.</p>

<p><img src="../../../images/posts/splitsearcher/detect-split/Slide5.png" /></p>

<p>Not only this, but if we find such an $r$<sub>$0$</sub> and $s$<sub>$0$</sub> for some $N$, Kumar gives us maps that recover the elliptic curves such that there exists an $(N,N)$-isogeny $\text{Jac}(C) \rightarrow E \times E’$. Unfortunately, we don’t recover the actual isogeny, only that one exists. However, we can compute the isogeny as a post-computation using the <a href="https://www.math.u-bordeaux.fr/~damienrobert/avisogenies/">AVIsogenies package</a> (e.g., by computing all $(N,N)$-isogenies from $\text{Jac}(C)$, as we now know that one will land in a product).</p>

<h2 id="using-the-maps-varphin">Using the maps $\varphi$<sub>$N$</sub></h2>

<p>We want to detect whether $C$ is $(N,N)$-split, i.e., in the image of $\varphi$<sub>$N$</sub>. Let $I$<sub>$2$</sub>$(C)$, $I$<sub>$4$</sub>$(C)$, $I$<sub>$6$</sub>$(C)$, $I$<sub>$10$</sub>$(C)$ be the Igusa-Clebsch invariants of $C$.</p>

<p><strong>Method 1.</strong> Compute the equation $F$<sub>$N$</sub> for the image of $\mathcal{L}$<sub>$N$</sub> in $\mathcal{M}$<sub>$2$</sub>. Then, we can detect if $[C]$ is $(N,N)$-split by determining whether $F_N(I_2(C), I_4(C), I_6(C), I_{10}(C)) = 0.$</p>

<p>$F$<sub>$N$</sub> has been computed previously by Shaska and collaborators [12] [13] [14] [15] [10] and Bruin-Doereksen [1]. 
The main problem is that $F$<sub>$N$</sub> is <em>large</em> (with size growing rapidly with $N$), so the evaluation is inefficient.</p>

<p><img src="../../../images/posts/splitsearcher/table.png" /></p>

<p>As a result, we instead use elimination theory and compute resultants.</p>

<p><strong>Method 2.</strong> We normalise the Igusa-Clebsch invariants $I$<sub>$2$</sub>$(C)$, $I$<sub>$4$</sub>$(C)$, $I$<sub>$6$</sub>$(C)$, $I$<sub>$10$</sub>$(C)$ as $\alpha_1(C) = \frac{I_4(C)}{I_2(C)^2}$, $\alpha_2(C) = \frac{I_2(C)I_4(C)}{I_6(C)}$, $\alpha_1(C) = \frac{I_4(C)I_6(C)}{I_{10}(C)}.$</p>

<p>Kumar gives us the map \(\varphi_N = \big(\mathcal{I}_2(r, s): \mathcal{I}_4(r, s): \mathcal{I}_6(r, s): \mathcal{I}_{10}(r, s)\big).\) We chose the same normalisation of the $\mathcal{I}$<sub>$k$</sub> to give us $i$<sub>$1$</sub>, $i$<sub>$2$</sub>, $i$<sub>$3$</sub> $ \in \mathbb{Q}(r,s)$.</p>

<p>To determine whether $\text{Jac}(C)$ is $(N,N)$-split, it suffices to determine whether there is a simultaneous solution $r$<sub>$0$</sub>$, s$<sub>$0$</sub>$\in \bar{\mathbb{F}}$<sub>$p$</sub> of</p>

\[\begin{cases} f_1(r,s) = i_1(r_0,s_0) - \alpha_1(C) \\ 
        f_2(r,s) = i_2(r_0,s_0) - \alpha_2(C) \\ 
        f_3(r,s) = i_3(r_0,s_0) - \alpha_3(C) \end{cases}.\]

<p>As the $f$<sub>$i$</sub> are rational maps, we also need to ensure that the solution does not make the denominators of the $f$<sub>$i$</sub> vanish.</p>

<p>We determine if there exists $(r$<sub>$0$</sub>$, s$<sub>$0$</sub>$)$ by computing resultants of (the numerators of) $f$<sub>$1$</sub>, $f$<sub>$2$</sub> and of $f$<sub>$2$</sub>, $f$<sub>$3$</sub> and then computing the gcd of these resultants. Then, <strong>if the degree is 0, $\text{Jac}(C)$ is not $(N,N)$-split, and otherwise it is</strong> (with overwhelming probability).</p>

<p>In fact, we actually use a more efficient method where we precompute the resultants generically, and then compute the gcd for each instance $C$.</p>

<h1 id="splitseacher-application-to-the-dimension-2-isogeny-problem">SplitSeacher: application to the dimension 2 isogeny problem</h1>

<p>We now discuss how efficient splitting detection can be applied to attacking the dimension 2 isogeny problem. In our paper, we construct a new algorithm SplitSeacher, which applies split detection to the first step of the Costello-Smith algorithm.</p>

<p><strong>Precomputation.</strong> First we determine a set of <em>optimal</em> $N$’s for which we detect $(N,N)$-splittings. We do this by finding $2 \leq N \leq 11$ that minimise the following ratio
\(\frac{\text{number of } \mathbb{F}_p \text{ multiplications}}{\text{number of nodes revealed and inspected}}.\) The <em>numerator</em> is simply the cost of taking a step in the $(2,2)$-isogeny graph plus the cost of splitting detection for $N$ in the optimal set. 
The <em>denominator</em> is trickier to compute. The number of nodes revealed by taking a step is simply 1. If $N$ is odd, then the number of nodes inspected at each step using split detection is the number of neighbours in $\Gamma(N;p)$, namely $D$<sub>$N$</sub>. However, if $N$ is even, as we are walking in the $(2,2)$-isogeny graph, the number of nodes inspected at each step by split detection is <em>less than</em> $D$<sub>$N$</sub>. We determine the precise number in Lemma 4 of our paper.</p>

<p>For our example, let us suppose the optimal set of $N$’s is ${2, 3, 5}$.</p>

<p><strong>Step 1.</strong> We first take a step in $\Gamma(2; p)$ using Richelot isogenies. If we have walking onto a product of elliptic curves, then we terminate.</p>

<p><img src="../../../images/posts/splitsearcher/splitting/Slide4.png" /></p>

<p><strong>Step 2.</strong> Using the method outlined in the previous section, we apply efficient $(N,N)$-splitting detection for $N \in {2, 3, 5}$.</p>

<p>First, for $N = 2$, we check $14$ nodes (all nodes except the one we stepped from)</p>

<p><img src="../../../images/posts/splitsearcher/splitting/Slide6.png" /></p>

<p>For $N = 3$, we check $D$<sub>$3$</sub> $= 40$ nodes.</p>

<p><img src="../../../images/posts/splitsearcher/splitting/Slide7.png" /></p>

<p>For $N = 5$, we check $D$<sub>$5$</sub> $= 156$ nodes.</p>

<p><img src="../../../images/posts/splitsearcher/splitting/Slide8.png" /></p>

<p>If at any point we detect a splitting, terminate.</p>

<p><strong>Step 3.</strong> Repeat steps 1 and 2 until an $(N,N)$-splitting is found.</p>

<h5 id="comparison-with-supersolver">Comparison with SuperSolver</h5>

<p>At a high level, SplitSeacher can be viewed as an analogue of SuperSolver [4] (joint work with Craig Costello and Jia Shi), which improves on the concrete complexity of the Delfs-Galbraith attack against the dimension 1 isogeny problem. Both attacks use random walks to find <em>special</em> nodes in the graph to reduce the algorithm to a comparitevely easier isogeny problem: the special nodes in the Delfs-Galbraith algorithm are the isomorphism classes of elliptic curves defined over $\mathbb{F}$<sub>$p$</sub>, while the special nodes in the Costello-Smith algorithm are the isomorphism classes of abelian surfaces that are isomorphic to products of elliptic curves. The improvements in SuperSolver came from an efficient method for determining whether modular polynomials have subfield roots without computing any such roots explicitly. Here, our improvements come from Kumar’s parametrisations of the moduli space of dimension $2$ abelian surfaces whose Jacobians are split by an $(N,N)$-isogeny. 
To hear more this general framework for attacking the general isogeny problem (in dimensions 1 and 2), check out the <a href="https://youtu.be/rwEtpYlD9FU">talk</a> I gave at the Isogeny Club.</p>

<h2 id="implementation-and-experimental-results">Implementation and Experimental Results</h2>

<p>We implemented and optimised the first step of the Costello-Smith attack with <em>and</em> without detection of $(N,N)$-splittings. We performed experiments for primes $p$ of bitsize $50-1000$, running the first step until reaching $10$<sup>$8$</sup> multiplications. We counted the number of nodes revealed and $\mathbb{F}$<sub>$p$</sub> multiplications per node revealed.</p>

<p><img src="../../../images/posts/splitsearcher/table2.png" /></p>

<h5 id="comparison-to-supersolver-improvements">Comparison to SuperSolver improvements</h5>

<p>Relatively speaking, the improvements we obtained using SplitSeacher are significantly bigger than the improvements by SuperSolver to the concrete complexity of the Delfs-Galbraith algorithm. Though our detection of $(N,N)$-splittings requires more computation that the analogous $N$-isogenous subfield curve searching in SuperSolver, in dimension 2 we reveal $O(N^3)$ neighbours simultaneously, compared to $O(N)$ in the dimension 1 search.</p>

<p>For primes of size 50 to 800 bits, SuperSolver [Table 6, 14] reports speedups ranging from $3.2-17.6 \texttt{x}$, while the speedups SplitSearcher gives for primes of these same sizes range from $16.5-116.3 \texttt{x}$.</p>

<h1 id="references">References</h1>

<p>[1] N. Bruin and K. Doerksen. The arithmetic of genus two curves with (4; 4)-split Jacobians. Canad. J.Math., 63(5):992-1024, 2011.</p>

<p>[2] W. Castryck, T. Decru, and B. Smith. Hash functions from superspecial genus-2 curves using Richelot isogenies. Journal of Mathematical Cryptology, 14(1):268-292, 2020.</p>

<p>[3] D. X. Charles, K. E. Lauter, and E. Z. Goren. Cryptographic hash functions from expander graphs. Journal of Cryptology, 22(1):93-113, 2009.</p>

<p>[4] M. Corte-Real Santos, C. Costello, and J. Shi. Accelerating the Delfs-Galbraith algorithm with fast subfield root detection. In Annual International Cryptology Conference, pages 285-314. Springer, 2022.</p>

<p>[5] C. Costello and B. Smith. The supersingular isogeny problem in genus 2 and beyond. In PQ Crypto, pages 151-168. Springer, 2020.</p>

<p>[6] C. Delfs and S. D. Galbraith. Computing isogenies between supersingular elliptic curves over $\mathbb{F}$<sub>$p$</sub>. Designs, Codes and Cryptography, 78(2):425-440, 2016.</p>

<p>[7] E. Florit and B. Smith. Automorphisms and isogeny graphs of abelian varieties, with applications to the superspecial Richelot isogeny graph. In Arithmetic, Geometry, Cryptography, and Coding Theory 2021, 2021.</p>

<p>[8] E. V. Flynn and Y. B. Ti. Genus two isogeny cryptography. In PQ Crypto, pages 286-306. Springer,2019.</p>

<p>[9] A. Kumar. Hilbert modular surfaces for square discriminants and elliptic subfields of genus 2 function fields. Research in the Mathematical Sciences, 2(1):1-46, 2015.</p>

<p>[10] K. Magaard, T. Shaska, and H. Völklein. Genus 2 curves that admit a degree 5 map to an elliptic
curve. Forum Math., 21(3):547-566, 2009.</p>

<p>[11] D. Robert. Breaking SIDH in polynomial time. eprint 2022/1068, 2022.</p>

<p>[12] T. Shaska. Curves of genus two covering elliptic curves. PhD thesis, University of Florida, 2001.</p>

<p>[13] T. Shaska. Genus 2 fields with degree 3 elliptic subfields. Forum Math., 16(2):263-280, 2004.</p>

<p>[14] T. Shaska and H. Völklein. Elliptic subfields and automorphisms of genus 2 function fields. In Algebra, arithmetic and geometry with applications, pages 703-723. Springer, 2004.</p>

<p>[15] T. Shaska, G. S. Wijesiri, S. Wolf, and L. Woodland. Degree 4 coverings of elliptic curves by genus 2 curves. Albanian J. Math., 2(4):307-318, 2008.</p>

<p>[16] K. Takashima. Effifient algorithms for isogeny sequences and their cryptographic applications. In Mathematical modelling for next-generation cryptography, pages 97-114. Springer, 2018.</p>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="genus2" /><category term="cryptography" /><category term="post-quantum" /><category term="paper" /><summary type="html"><![CDATA[In this blogpost, I’ll give an overview of our new paper An algorithm for efficient detection of $(N,N)$-splittings and its application to the isogeny problem in dimension 2 (link), with associated code available here. This is joint work with Craig Costello and Sam Frengley. In this paper, we revisit the general superspecial isogeny problem in dimension 2, which asks an adversary to find an isogeny \(\phi: \text{Jac}(C) \rightarrow \text{Jac}(C'),\) where $C$ and $C’$ are genus $2$ curves with superspecial Jacobians. The best known algorithm for solving this problem is due to Costello and Smith [5]. The general superspecial isogeny problem underlies the security of various isogeny-based protocols in two dimensions, such as the dimension 2 analogue of the CGL hash function [3], which was proposed by Takashima [16] and later extended by Castryck, Decru and Smith [2]. As we are studying the general problem, we do not assume any knowledge of the degree of the isogeny or any (SIDH-like) torsion point information. Indeed, the superspecial isogeny problem with torsion point information can be solved in polynomial time [11], thus making primitives such as the dimension 2 analogue of SIDH, G2SIDH [8], insecure. Some background on dimension 2 abelian varieties Superspecial abelian surfaces To generalise elliptic curves to higher dimensions, we want to think of elliptic curves as one-dimensional (principally polarised) abelian varieties. In this paper, we are concerned with two-dimensional (principally polarised) abelian varieties, more commonly referred to as (principally polarised) abelian surfaces. In isogeny-based cryptography, we usually consider supersingular elliptic curves. Supersingularity has a variety of equivalent definitions. Two of these are: The trace $t$ of Frobenius satisfies $t \equiv 0 \bmod p$ $(p &gt; 3)$ The Newton polygon is a straight line segment with slope $1/2$. In dimension $&gt;1$, however, these become distinct. The first property is called superspeciality and the second is supersingularity. Unfortunately (and rather confusingly), the correct generalisation of a supersingular elliptic curve over $\bar{\mathbb{F}}$$p$ is a superspecial abelian surface over $\bar{\mathbb{F}}$$p$. There are two types of abelian surfaces: Products of elliptic curves $E \times E’$. If the abelian surface is superspecial, the elliptic curves will be supersingular; Jacobians $\text{Jac}(C)$ of genus 2 curves $C$. For dimension 1 isogeny-based cryptography, we usually only consider the elliptic curves up to $\bar{\mathbb{F}}$$p$-isomorphism and label these classes with the $j$-invariant. The same is true for dimension 2 isogeny-based cryptography. In this case, we label the $\bar{\mathbb{F}}$$p$-isomorphism classes with the following invariants: Sets of $j$-invariants $\{ j(E), j(E’) \}$ (note that this is a set as the ordering of $E$ and $E’$ does not matter for our purposes). Igusa-Clebsch invariants $I$$2$$(C)$, $I$$4$$(C)$, $I$$6$$(C)$, $I$$10$$(C)$. The Igusa-Clebsch invariants live in weighted projective space, and the subscript denotes the weight of the invariant. Definition. Let $\mathbb{A}$$n+1$ be $n$-dimensional affine space over $\bar{\mathbb{F}}$$p$. The weighted projective space $\mathbb{P}(w$$0$$, \dots, w$$n$$)$ is the set of equivalence classes of $\mathbb{A}$$n+1$$\backslash{0}$ under the equivalence relation $\sim$ defined $(a$$0$$: \dots : a$$n$) $ \sim (b$$0$$: \dots : b$$n$) if and only if there exists $\lambda \in \bar{\mathbb{F}}$$p$ such that $(a$$0$$, \dots, a$$n$) $ =(\lambda$$w$$0$$b$$0$$, \dots, \lambda$$w$$n$$b$$n$$)$. If we want to move these invariants to affine space (where we now have true equality, rather than equality up to some projective constant), we will have to normalise these invariants (taking into account the weight of each coordinate). There are infinitely many choices of normalisation, however some are more common or natural than others. A common choice is \(i_1 = \frac{6(I_2^2-16I_4)}{I_2^2}, \ i_2 = \frac{-12(5I_2^3 - 176I_2I_4 + 384I_6) }{I_2^3}, \ i_3 = \frac{3888I_{10}}{I_2^5}.\) Note, however, that in our paper we deviate from this choice, the reason for which will be explained later. For superspecial abelian surfaces, these invariants lie in $\mathbb{F}$$p$$2$. Recall that the same holds for supersingular elliptic curves; one of reasons confirming that superspeciality is the correct generalisation. $(N,N)$-Isogenies For isogeny-based cryptography, we not only need elliptic curves, but also isogenies. In particular, we consider $N$-isogenies $\phi: E \rightarrow E’$ with kernel $\mathbb{Z}/N\mathbb{Z}$, generated by a point $P \in E(\bar{\mathbb{F}}$$p$$)[N]$. Moving to dimension 2, we consider $(N,N)$-isogenies. Definition. An $(N,N)$-isogeny is an isogeny (i.e., a surjective group homomorphism with finite kernel) $\phi: A \rightarrow A’$ between abelian surfaces $A$ and $A’$, where: $\text{ker } \phi \cong (\mathbb{Z}/N\mathbb{Z})$$2$; and $\text{ker } \phi $ is maximal isotropic with respect to the $N$-Weil pairing, i.e., for all $P, Q \in \text{ker } \phi$, we have $e$$N$$(P, Q) = 1$. The second condition is there to ensure that $A’$ comes equipped with a principal polarisation. For $N$-isogenies, this is always satisfied, and therefore this condition is usually omitted from the definition. Let $D$$N$ be the number of $(N,N)$-isogenies from a superspecial surface $A$. Then we have that $D$$N$ $ = O(N$$3$$)$ (the exact number can be found in Section 2 of our paper). This is much larger than in the dimension 1 case where there are $O(N)$ outgoing isogenies from a supersingular elliptic curve. Here we are ignoring the rare, special cases where $j(E) = 0$ or $1728$, for example. Dimension 2 general isogeny problem In its most general form, the superspecial isogeny problem in two dimensions asks to find an isogeny \(\phi: A \rightarrow A'\) between two superspecial abelian surfaces $A/\mathbb{F}$$p$$2$ and $A’/\mathbb{F}$$p$$2$. The general isogeny problem can be viewed as finding a path between two nodes in the superspecial isogeny graph. Superspecial isogeny graph Let $p$ be a large prime not dividing $N$. Definition. The superspecial isogeny graph, denoted $\Gamma(N; p)$, is the graph with vertex set $\mathcal{S}(p)$, defined as the set of isomorphism classes of superspecial abelian surfaces, and whose edges are $(N,N)$-isogenies over $\bar{\mathbb{F}}$$p$. This graph has a number of nice properties: Firstly, the vertex set is finite. More precisely, we have that the size of $\mathcal{S}(p)$ is $O(p^3)$. This is only true when we restrict to superspecial surfaces, and mirrors the finiteness property of the vertex set in dimension 1. The isomorphism classes $[A] \in \mathcal{S}(p)$ are represented by surfaces defined over $\mathbb{F}$$p$$2$. Again, this property is only true by restricting to superspecial abelian surfaces, and matches the situation in genus 1. The graph is $D$$N$-regular (except for on a small number of special nodes). The hardness of the general isogeny problem in dimension one is largely based on the fact that the supersingular isogeny graph is Ramanujan, i.e., has optimal expansion. In contrast, $\Gamma(N; p)$ is not quite Ramanujan, but we can still argue that the expansion is good enough to build secure cryptographic protocols [7]. As we have two types of abelian surfaces, there is a natural partition of the vertex set. Indeed, $\mathcal{S}(p)$ is equal to the disjoint union of: $\mathcal{J}(p) = \{ [A] \in \mathcal{S}(p) : A \cong \text{Jac}(C) \}, $ and $\mathcal{E}(p) = \{ [A] \in \mathcal{S}(p) : A \cong E \times E’ \text{ with } E, E’ \text{ supersingular ECs} \}.$ There are around $O(p^3)$ nodes in $\mathcal{J}(p)$ and $O(p^2)$ nodes in $\mathcal{E}(p)$, making the latter the rarer case. We often fix the vertex set but consider multiple edge sets. We will therefore use $\Gamma(\mathcal{N}; p)$ to denote the graph with the vertex set $\mathcal{S}(p)$ and and whose edges are $(N,N)$-isogenies for all $N\in \mathcal{N}$. We can now view the general isogeny problem as a path finding problem: given superspecial abelian surfaces $A$ and $A’$ defined over $\mathbb{F}$$p$$2$, find a walk in $\Gamma(\mathcal{N}; p)$ connecting them, where $\mathcal{N} = \{ N \in \mathbb{N} : p \nmid N \}$. Attacking the isogeny problem in dimension 2 The best known algorithm for solving the general isogeny problem is due to Costello-Smith [5]. The Costello-Smith algorithm proceeds as follows. Suppose we are given a start node $A$ and end node $A’$ in $\mathcal{J}(p)$. Our goal is to find an isogeny $\phi: A \rightarrow A’$. Step 1: find a path to the special subset The first step is to find paths from $A, A’ \in \mathcal{J}(p)$ to nodes in $\mathcal{E}(p)$, say we find isogenies $\varphi: A \rightarrow E$$1$$\times E$$2$ and $\varphi’: A’ \rightarrow E$$1$$’ \times E$$2$$’$, where the elliptic curves here are supersingular. Due to the proportion of nodes in $\mathcal{J}(p)$ to nodes in $\mathcal{E}(p)$, we expect to find such paths in $\tilde{O}(p)$. By finding these paths, we have now reduced the isogeny problem in $\mathcal{S}(p)$ to the isogeny problem in $\mathcal{E}(p)$. Step 2: solve the problem in the special subset The second step is to solve the problem in $\mathcal{E}(p)$, which is (asymptotically) equivalent to solving the problem in dimension 1. As the elliptic curves $E$$1$, $E$$2$, $E$$1$$’$, and $E$$2$$’$ are supersingular, we can use an algorithm such as Delfs–Galbraith [8] or SuperSolver [9] to output paths $\psi $$1$$: E$$1$$\rightarrow E$$1$$’$ and $\psi $$2$$: E$$2$$\rightarrow E$$2$$’$. If the length of these paths have the same parity, then we can patch them up to obtain the product path $\pi : E$$1$$ \times E$$2$$ \rightarrow E$$1$$’ \times E$$2$$’$ [1]. If the lengths of the paths do not have the same parity, we fail and return $\bot$, and run the algorithm again. Note, however, only three runs are required to successfully return path $\phi$. Indeed, if we instead run the Costello-Smith algorithm to find paths $\psi_1 : E$$1$$ \rightarrow E$$1$$’$, $\psi$$2,1$$ : E$$2$$ \rightarrow E$, and $\psi$$2,2$$ : E \rightarrow E$$1$$’$, where $E: y^2 = x^3+x$ has an endomorphism of degree 2, say $\tau$, then we can set $\psi_2 = \psi_{2,2}\circ \psi_{2,1}$ if $\text{length}(\psi_1) \equiv \text{length}(\psi_{2,1} \circ \psi_{2,2}) \bmod 2$ and $\psi_2 = \psi_{2,2}\circ \tau \circ \psi_{2,1}$, otherwise. Therefore, this step is expected to run in $\tilde{O}(\sqrt{p})$, as it is dominated by one run of the Delfs–Galbraith algorithm. We can then obtain the desired path from $A$ to $A’$ as $\phi = \hat{\varphi}’ \circ \pi \circ \varphi$, where $\hat{\cdot}$ represents the dual. Overall, the cost of the algorithm is $\widetilde{O}(p)$ bit operations, and is dominated by step 1. Can we improve the efficiency of the bottleneck step? The bottleneck of the attack is the first step, which can be rephrased as: walking in $\Gamma(N; p)$ until finding $A \in \mathcal{J}(p)$ which is $(N,N)$-split. Definition. We say the Jacobian $\text{Jac}(C)$ of a genus 2 curve $C$ is $(N,N)$-split if there exists an (separable, polarised, optimal) $(N,N)$-isogeny $\text{Jac}(C) \rightarrow E \times E’$, where $E$, $E’$ are elliptic curves. For this reason, we focus on this step. Let’s look in more depth at this first step in the Costello-Smith algorithm: Start on a node $A$0$\in \mathcal{J}(p)$. Take a step in $\Gamma(2; p)$ via a Richelot isogeny $\phi$$1$$: A$$0$$ \rightarrow A$$1$. From the Richelot isogeny formulae, we can determine whether $A$$1$$\in \mathcal{E}(p)$ (at some point you compute a determinant $\delta$, and if this is zero, the $A$$1$ is a product of elliptic curves). In this case, $A$$0$ is $(2,2)$-split, and we terminate. Otherwise, take another step $\phi$$2$$: A$$1$$\rightarrow A$$2$. Repeat the previous step until finding $A$$i$$ \in \mathcal{E}(p)$. In summary, they use Richelot isogenies (as these are the most efficient to compute) to take walks in $\Gamma(2; p)$ and detect $(2,2)$-splittings. One of the motivations of this paper was the answer the question: by taking steps in $\Gamma(2; p)$, can we detect whether the current node $A$$i$ is $(N,N)$-split for $N&gt;2$? A (naive) answer to this question would be to compute all $(N,N)$-isogenies from $A$$i$, but this is not efficient (as it requires, at a minimum, the computation of three $N$-th roots). Can we make the detection efficient? We answer this question in the affirmative for $N \leq 11$, and apply this to improve the concrete complexity of the Costello-Smith attack. Efficient algorithm for detection of $(N,N)$-splittings This question is answered by moduli spaces. Informally speaking, a moduli space is a geometric object that parametrises algebraic objects. We consider two moduli spaces: $\mathcal{L}$$N$: parameterises genus 2 curves with $(N,N)$-split Jacobians up to $\bar{\mathbb{F}}$$p$-isomorphism (which is sufficient for our cryptographic purposes). For small $N$, this is more or less a plane (more precisely, it is birational to $\mathbb{A}$$2$), let’s say with coordinates $r,s$. $\mathcal{M}$$2$: parameterises genus 2 curves up to $\bar{\mathbb{F}}$$p$-isomorphism. There is a map from $\mathcal{M}$$2$ to weighted projective space $\mathbb{P}(2,4,6,10)$, given by the Igusa-Celbsch invariants. For abstract reasons, for every $N$, there is a map $\varphi$$N$ from $\mathcal{L}$$N$, with image inside $\mathcal{M}$$2$. So, our question of whether $C$ (or rather the isomorphism class $[C]$) is $(N,N)$-split can be answered by whether $[C]$ lives inside $\text{Im } \varphi$$N$ (or, more precisely, the Zariski closure of the image). The main problem here is that we do not have explicit equations for $\varphi$$N$ for every $N$. Kumar [9] gives us this map explicitly for $N \leq 11$. So, to determine if $[C]$ is in the image of $\varphi$$N$, it is sufficient to determine whether there is an $(r$$0$$,s$$0$$) \in \mathbb{A}$$2$$r,s$ that map to $(I_2(C): I_4(C): I_6(C): I_{10}(C))$. Not only this, but if we find such an $r$$0$ and $s$$0$ for some $N$, Kumar gives us maps that recover the elliptic curves such that there exists an $(N,N)$-isogeny $\text{Jac}(C) \rightarrow E \times E’$. Unfortunately, we don’t recover the actual isogeny, only that one exists. However, we can compute the isogeny as a post-computation using the AVIsogenies package (e.g., by computing all $(N,N)$-isogenies from $\text{Jac}(C)$, as we now know that one will land in a product). Using the maps $\varphi$$N$ We want to detect whether $C$ is $(N,N)$-split, i.e., in the image of $\varphi$$N$. Let $I$$2$$(C)$, $I$$4$$(C)$, $I$$6$$(C)$, $I$$10$$(C)$ be the Igusa-Clebsch invariants of $C$. Method 1. Compute the equation $F$$N$ for the image of $\mathcal{L}$$N$ in $\mathcal{M}$$2$. Then, we can detect if $[C]$ is $(N,N)$-split by determining whether $F_N(I_2(C), I_4(C), I_6(C), I_{10}(C)) = 0.$ $F$$N$ has been computed previously by Shaska and collaborators [12] [13] [14] [15] [10] and Bruin-Doereksen [1]. The main problem is that $F$$N$ is large (with size growing rapidly with $N$), so the evaluation is inefficient. As a result, we instead use elimination theory and compute resultants. Method 2. We normalise the Igusa-Clebsch invariants $I$$2$$(C)$, $I$$4$$(C)$, $I$$6$$(C)$, $I$$10$$(C)$ as $\alpha_1(C) = \frac{I_4(C)}{I_2(C)^2}$, $\alpha_2(C) = \frac{I_2(C)I_4(C)}{I_6(C)}$, $\alpha_1(C) = \frac{I_4(C)I_6(C)}{I_{10}(C)}.$ Kumar gives us the map \(\varphi_N = \big(\mathcal{I}_2(r, s): \mathcal{I}_4(r, s): \mathcal{I}_6(r, s): \mathcal{I}_{10}(r, s)\big).\) We chose the same normalisation of the $\mathcal{I}$$k$ to give us $i$$1$, $i$$2$, $i$$3$ $ \in \mathbb{Q}(r,s)$. To determine whether $\text{Jac}(C)$ is $(N,N)$-split, it suffices to determine whether there is a simultaneous solution $r$$0$$, s$$0$$\in \bar{\mathbb{F}}$$p$ of \[\begin{cases} f_1(r,s) = i_1(r_0,s_0) - \alpha_1(C) \\ f_2(r,s) = i_2(r_0,s_0) - \alpha_2(C) \\ f_3(r,s) = i_3(r_0,s_0) - \alpha_3(C) \end{cases}.\] As the $f$$i$ are rational maps, we also need to ensure that the solution does not make the denominators of the $f$$i$ vanish. We determine if there exists $(r$$0$$, s$$0$$)$ by computing resultants of (the numerators of) $f$$1$, $f$$2$ and of $f$$2$, $f$$3$ and then computing the gcd of these resultants. Then, if the degree is 0, $\text{Jac}(C)$ is not $(N,N)$-split, and otherwise it is (with overwhelming probability). In fact, we actually use a more efficient method where we precompute the resultants generically, and then compute the gcd for each instance $C$. SplitSeacher: application to the dimension 2 isogeny problem We now discuss how efficient splitting detection can be applied to attacking the dimension 2 isogeny problem. In our paper, we construct a new algorithm SplitSeacher, which applies split detection to the first step of the Costello-Smith algorithm. Precomputation. First we determine a set of optimal $N$’s for which we detect $(N,N)$-splittings. We do this by finding $2 \leq N \leq 11$ that minimise the following ratio \(\frac{\text{number of } \mathbb{F}_p \text{ multiplications}}{\text{number of nodes revealed and inspected}}.\) The numerator is simply the cost of taking a step in the $(2,2)$-isogeny graph plus the cost of splitting detection for $N$ in the optimal set. The denominator is trickier to compute. The number of nodes revealed by taking a step is simply 1. If $N$ is odd, then the number of nodes inspected at each step using split detection is the number of neighbours in $\Gamma(N;p)$, namely $D$$N$. However, if $N$ is even, as we are walking in the $(2,2)$-isogeny graph, the number of nodes inspected at each step by split detection is less than $D$$N$. We determine the precise number in Lemma 4 of our paper. For our example, let us suppose the optimal set of $N$’s is ${2, 3, 5}$. Step 1. We first take a step in $\Gamma(2; p)$ using Richelot isogenies. If we have walking onto a product of elliptic curves, then we terminate. Step 2. Using the method outlined in the previous section, we apply efficient $(N,N)$-splitting detection for $N \in {2, 3, 5}$. First, for $N = 2$, we check $14$ nodes (all nodes except the one we stepped from) For $N = 3$, we check $D$$3$ $= 40$ nodes. For $N = 5$, we check $D$$5$ $= 156$ nodes. If at any point we detect a splitting, terminate. Step 3. Repeat steps 1 and 2 until an $(N,N)$-splitting is found. Comparison with SuperSolver At a high level, SplitSeacher can be viewed as an analogue of SuperSolver [4] (joint work with Craig Costello and Jia Shi), which improves on the concrete complexity of the Delfs-Galbraith attack against the dimension 1 isogeny problem. Both attacks use random walks to find special nodes in the graph to reduce the algorithm to a comparitevely easier isogeny problem: the special nodes in the Delfs-Galbraith algorithm are the isomorphism classes of elliptic curves defined over $\mathbb{F}$$p$, while the special nodes in the Costello-Smith algorithm are the isomorphism classes of abelian surfaces that are isomorphic to products of elliptic curves. The improvements in SuperSolver came from an efficient method for determining whether modular polynomials have subfield roots without computing any such roots explicitly. Here, our improvements come from Kumar’s parametrisations of the moduli space of dimension $2$ abelian surfaces whose Jacobians are split by an $(N,N)$-isogeny. To hear more this general framework for attacking the general isogeny problem (in dimensions 1 and 2), check out the talk I gave at the Isogeny Club. Implementation and Experimental Results We implemented and optimised the first step of the Costello-Smith attack with and without detection of $(N,N)$-splittings. We performed experiments for primes $p$ of bitsize $50-1000$, running the first step until reaching $10$$8$ multiplications. We counted the number of nodes revealed and $\mathbb{F}$$p$ multiplications per node revealed. Comparison to SuperSolver improvements Relatively speaking, the improvements we obtained using SplitSeacher are significantly bigger than the improvements by SuperSolver to the concrete complexity of the Delfs-Galbraith algorithm. Though our detection of $(N,N)$-splittings requires more computation that the analogous $N$-isogenous subfield curve searching in SuperSolver, in dimension 2 we reveal $O(N^3)$ neighbours simultaneously, compared to $O(N)$ in the dimension 1 search. For primes of size 50 to 800 bits, SuperSolver [Table 6, 14] reports speedups ranging from $3.2-17.6 \texttt{x}$, while the speedups SplitSearcher gives for primes of these same sizes range from $16.5-116.3 \texttt{x}$. References [1] N. Bruin and K. Doerksen. The arithmetic of genus two curves with (4; 4)-split Jacobians. Canad. J.Math., 63(5):992-1024, 2011. [2] W. Castryck, T. Decru, and B. Smith. Hash functions from superspecial genus-2 curves using Richelot isogenies. Journal of Mathematical Cryptology, 14(1):268-292, 2020. [3] D. X. Charles, K. E. Lauter, and E. Z. Goren. Cryptographic hash functions from expander graphs. Journal of Cryptology, 22(1):93-113, 2009. [4] M. Corte-Real Santos, C. Costello, and J. Shi. Accelerating the Delfs-Galbraith algorithm with fast subfield root detection. In Annual International Cryptology Conference, pages 285-314. Springer, 2022. [5] C. Costello and B. Smith. The supersingular isogeny problem in genus 2 and beyond. In PQ Crypto, pages 151-168. Springer, 2020. [6] C. Delfs and S. D. Galbraith. Computing isogenies between supersingular elliptic curves over $\mathbb{F}$$p$. Designs, Codes and Cryptography, 78(2):425-440, 2016. [7] E. Florit and B. Smith. Automorphisms and isogeny graphs of abelian varieties, with applications to the superspecial Richelot isogeny graph. In Arithmetic, Geometry, Cryptography, and Coding Theory 2021, 2021. [8] E. V. Flynn and Y. B. Ti. Genus two isogeny cryptography. In PQ Crypto, pages 286-306. Springer,2019. [9] A. Kumar. Hilbert modular surfaces for square discriminants and elliptic subfields of genus 2 function fields. Research in the Mathematical Sciences, 2(1):1-46, 2015. [10] K. Magaard, T. Shaska, and H. Völklein. Genus 2 curves that admit a degree 5 map to an elliptic curve. Forum Math., 21(3):547-566, 2009. [11] D. Robert. Breaking SIDH in polynomial time. eprint 2022/1068, 2022. [12] T. Shaska. Curves of genus two covering elliptic curves. PhD thesis, University of Florida, 2001. [13] T. Shaska. Genus 2 fields with degree 3 elliptic subfields. Forum Math., 16(2):263-280, 2004. [14] T. Shaska and H. Völklein. Elliptic subfields and automorphisms of genus 2 function fields. In Algebra, arithmetic and geometry with applications, pages 703-723. Springer, 2004. [15] T. Shaska, G. S. Wijesiri, S. Wolf, and L. Woodland. Degree 4 coverings of elliptic curves by genus 2 curves. Albanian J. Math., 2(4):307-318, 2008. [16] K. Takashima. Effifient algorithms for isogeny sequences and their cryptographic applications. In Mathematical modelling for next-generation cryptography, pages 97-114. Springer, 2018.]]></summary></entry><entry><title type="html">Cryptographic Smooth Neighbors</title><link href="https://www.mariascrs.com/2022/10/24/twinsmooths.html" rel="alternate" type="text/html" title="Cryptographic Smooth Neighbors" /><published>2022-10-24T00:00:00+00:00</published><updated>2022-10-24T00:00:00+00:00</updated><id>https://www.mariascrs.com/2022/10/24/twinsmooths</id><content type="html" xml:base="https://www.mariascrs.com/2022/10/24/twinsmooths.html"><![CDATA[<p>This blogpost aims to give a general overview of our new paper <em>“Cryptographic Smooth Neighbors”</em> (<a href="https://eprint.iacr.org/2022/1439">link</a>). This is joint work with Giacomo Bruno, Craig Costello, Jonathan Komada Eriksen, Michael Naehrig, Michael Meyer, and Bruno Sterner.</p>

<h2 id="b-smooth-neighbours">$B$-Smooth Neighbours</h2>

<p>In this paper, we revisit the problem of finding two consecutive $B$-smooth integers, i.e., find integers $(r, r+1)$ such that $r$, $r+1$ have no prime factors of size exceeding the smoothness bound $B$.<br />
This problem that has emerged in the context of instantiating efficient isogeny-based public key cryptosystems. 
Though initially motivated in the context of key exchange<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>, it has found applications in the search for parameters for SQISign<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>, the leading isogeny-based signature scheme. For these cryptographic applications we work over the finite field $\mathbb{F}_{p^2}$ for some prime $p$, where we require $p^2-1$ to be as smooth as possible. This is because $p^2-1$ often corresponds to the rational torsion available that will be used for isogeny computations. Roughly speaking, the smaller the smoothness bound, the faster the signature scheme will be. 
If we have a pair of twin $B$-smooth integers $(r, r+1)$ and let $p = 2r+1$, then $p^2-1 = 4r(r+1)$ is $B$-smooth, as required.</p>

<p>Whilst SQISign is currently the most compact post-quantum signature scheme, its signing algorithm is orders of magnitude slower than its counterparts. Therefore, it is desirable to find primes $p$ with $p^2-1$ smooth as possible to increase SQISign’s efficiency, which would be highly beneficial for its practicality.</p>

<p>In this work, we introduce new ways of finding large twin smooths based on the Conrey-Holmstrom-McLaughlin (CHM) algorithm. It is a constructive algorithm which finds <em>almost</em> all twin smooth integers for a smoothness bound $B$. In their paper, Conrey–Holmstrom–McLaughlin run this algorithm for $B = 200$ to find a list of 346,192 twin smooths in about 2 weeks, the largest of which were 79-bit integers. We first give an optimised implementation of the CHM algorithm that allows us to run it for much larger values of $B$, thus allowing us to find larger sized twins. For example, with $B = 547$, our implementation outputs a set of 82,026,426 pairs of $B$-smooth twins, the largest of which were 122-bit integers. However, it appears infeasible to increase $B$ to the point where the twins found purely using the CHM algorithm
are large enough to be used for cryptographic applications. Aided by the fact that SQISign does not require $p^2-1$ to be <em>fully</em> smooth, we obtain cryptographic sized primes $p$ by combining larger twins found through CHM with techniques from the literature.</p>

<h2 id="the-chm-algorithm">The CHM Algorithm</h2>

<p>The CHM algorithm is a simple algorithm that generates B-smooth neighbours. It works as follows:</p>

<ul>
  <li>We start with an initial set $S^{(0)} = ${$1, 2, …, B-1$} of positive integers less than $B$, representing twin smooth pairs $(1,2), (2,3), …, (B-1, B)$.</li>
  <li>Set $S^{(1)} =S^{(0)}$.</li>
  <li>Iteratively pass through all pairs of distinct $r &lt; s$ in $S^{(0)}$ and compute 
    $\frac{t}{t’} = \frac{r}{r+1}\cdot \frac{s+1}{s},$
with $\frac{t}{t’}$ in lowest terms. If $t’ = t+1$, then $t$ represnts a $B$-smooth pair $(t, t+1)$ and we add it to the set $S^{(1)}$.</li>
  <li>The algorithm then iterates through all pairs of distinct $r,s$ in $S^{(1)}$ to form $S^{(2)}$, and so on.</li>
  <li>We terminate when $S^{(d)} = S^{(d+1)}$ for some $d \geq 0$.</li>
</ul>

<h4 id="example-b--5">Example: $B$ = 5</h4>

<ul>
  <li>We start with the set $S^{(0)} = ${$1,2,3,4$}.</li>
  <li>Going through distinct $(r,s)$ in $S^{(0)}$, the only pairs that give us a new twin smooth pair $(t, t+1)$ are $(2,3)$, $(2,4)$ and $(3,4)$: 
    $ \frac{2}{2+1}\cdot \frac{3+1}{3} = \frac{8}{9},  \quad \frac{2}{2+1}\cdot \frac{4+1}{4} = \frac{5}{6}, \quad \frac{3}{3+1}\cdot \frac{4+1}{4} = \frac{15}{16}$. So we get $S^{(0)} = ${$1,2,3,4,5,8,15$}.</li>
  <li>Continuing in this way we get $S^{(2)} = ${$1,2,3,4,5,8,9,15,24$}, and $S^{(3)} = ${$1,2,3,4,5,8,9,15,24, 80$}.</li>
  <li>Then $S^{(4)} = S^{(3)}$, so we terminate and return $S^{(3)}$.</li>
</ul>

<p>This is indeed the full set of twin 5-smooth integers<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup>.</p>

<h2 id="implementing-the-chm-algorithm">Implementing the CHM algorithm</h2>

<p>To determine how feasible it is to run the CHM algorithm to obtain twin smooths of cryptographic size, we implement an optimised CHM algorithm. Some optimisations include:</p>

<ul>
  <li>Parallelisation</li>
  <li>Avoiding multiple checks of the same pairs of twin smooths $(r,s)$</li>
  <li>Iterating through smoothness bounds</li>
  <li>For each pair $(r,s)$ considered in each CHM step, we need to check if for some $t$, the following holds:
$\frac{t}{t+1} = \frac{r}{r+1}\cdot \frac{s+1}{s}.$ In the paper we show that this is equivalent to requiring $\gcd(r(s+1),(r+1)s) = s-r$. We observe that we can completely avoid the gcd calculation: instead, we check that $r(s+1) \equiv 0 \bmod (s-r)$ holds, and perform a division to compute $t$ if so. In this way, we do just one modular reduction per pair $(r,s)$ considered in each CHM step.</li>
</ul>

<p>Despite these optimisations, using the pure CHM algorithm to produce large enough twin smooths for cryptographic purposes is infeasible in practice due to both runtime and memory limitations. Indeed, we ran this approach up to smoothness bound $B=547$ and found that to reach a twin smooth pair of size at least 256 bits requires smoothness bound of $&gt; 5000$ for which the set of $B$-smooth twins is roughly $2^{49}$. Noting that the effort for CHM iterations grows quadratically with the set size, we deduce that it is not feasible to reach cryptographically sized smooth twins.</p>

<p>Therefore, we looked for variants of the CHM algorithm that restrict to checking only a certain subset of $(r,s)$ pairs without losing too many of the new smooth neighbors. 
Observing that similar sized $(r,s)$ are more likely to produce new twim smooths, we use the following condition to restrict the visited pairs: Let $k&gt;1$ be a constant parameter. Then, we only check pairs $(r,s)$ if they satisfy $0 &lt; r &lt; s &lt; kr$.</p>

<p>Compared to the full CHM algorithm, this leads to a smaller set of twin smooths, but allows for much faster running times.
The two main flavours of this that we explore are:</p>

<ul>
  <li><strong>Global-$k$</strong>: we initially pick some $k$ with $1 &lt; k \leq 2$, and restrict the CHM algorithm to only check $k$-balanced pairs $(r,s)$. The choice of $k$ is subtle: choosing $k$ too close to 1 may lead to missing too many twin smooths, but picking $k$ close to 2 may result in a small speedup that does not allow us to run large smoothness bounds.</li>
  <li><strong>Constant-Range</strong>: In the above method, checking if a pair is $k$-balanced consumes a significant part of the overall runtime. Therefore, we can use constant ranges to avoid these checks. Sorting the set $S$ of twins by size, we can instead fix a range $R$ and for each $r$ we check the pair $(r,s)$ for the $R$ successors $s$ of $r$ in $S$.</li>
</ul>

<p>The <em>constant-range</em> approach outperforms the <em>global-$k$</em> approach in terms of runtime, due to the elimination of all checks for $k$-balance of twins. Additionally, while very aggressive instantiations of <em>constant-range</em> miss more twin smooths, they find a bigger share of the largest 100 twins compared to their <em>global-$k$</em> counterpart.
We therefore concluded that for larger smoothness bounds $B$, for which we cannot hope to complete the full CHM algorithm, <em>constant-range</em> is the most promising approach for obtaining larger twin smooths within feasible runtimes.</p>

<table>
  <thead>
    <tr>
      <th style="text-align: center"><strong>Variant</strong></th>
      <th style="text-align: center"><strong>Parameter</strong></th>
      <th style="text-align: center"><strong>Runtime</strong></th>
      <th style="text-align: center"><strong>Speedup</strong></th>
      <th style="text-align: center"><strong># twins</strong></th>
      <th style="text-align: center"><strong># twins from largest 100</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><strong>Full CHM</strong></td>
      <td style="text-align: center">-</td>
      <td style="text-align: center">4705s</td>
      <td style="text-align: center">1</td>
      <td style="text-align: center">2300724</td>
      <td style="text-align: center">100</td>
    </tr>
    <tr>
      <td style="text-align: center"><strong>Global-$k$</strong></td>
      <td style="text-align: center">$k = 1.5$</td>
      <td style="text-align: center">226s</td>
      <td style="text-align: center">21</td>
      <td style="text-align: center">2282741</td>
      <td style="text-align: center">82</td>
    </tr>
    <tr>
      <td style="text-align: center"><strong>Constant-Range</strong></td>
      <td style="text-align: center">$R = 10000$</td>
      <td style="text-align: center">82s</td>
      <td style="text-align: center">57</td>
      <td style="text-align: center">2273197</td>
      <td style="text-align: center">93</td>
    </tr>
  </tbody>
</table>

<h2 id="finding-cryptographic-smooth-neighbours">Finding cryptographic smooth neighbours</h2>

<p>We now focus on finding primes $p$ suitable for isogeny-based cryptographic applications that, for efficiency reasons, need $p^2-1$ to be as smooth as possible. In particular, we target the signature scheme SQISign<sup id="fnref:2:1" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>, which requires a prime $p$ satisfying $T’ \mid p^2-1$, where $T’ = 2^fT$ with $f$ is as large as possible and $T \approx p^{5/4}$ is smooth and odd. We note that these conditions mean we do not require $(p+1)(p-1)$ to be fully smooth, which allows for some flexibility. Therefore, we can move away from solely using CHM and, instead, use the CHM results as inputs to known method for finding such primes.</p>

<p>We find fully smooth twins of a smaller bit-size via CHM and boost them up using the polynomials $p_n(x) = 2x^n - 1$ (for carefully chosen $n$).</p>

<p><strong>General Method.</strong> For our SQISign application, we have $\log p = ${$256, 384, 512$} for NIST Level I, III, V (respectively), $T \approx p^{5/4}$ and $f$ as large as possible. We will aim for $T’ \approx p^{3/2}$ as this is what is currently used in the SQISign implementation. 
We fix a smoothness bound $B$ and let $p_n(x) = 2x^n - 1$. Then, $p_n(x)^2-1 = 4x^n(x-1)f_n(x)$. If we evaluate $p_n(x)$ at $x = r$, where $(r, r-1)$ is a $B$-smooth twin pair, then $p_n(r)^2-1$ will have guaranteed smooth factor $4r^n(r-1)$. We then have to hope that the factor $f_n(r)$ has enough smoothness so that $T’ \approx p^{3/2}$.</p>

<p>A natural question arises: what $n$ should we choose?</p>
<ul>
  <li>To obtain a prime of bitsize $\log(p)$ we need to evaluate $p_n(x)$ at $B$-smooth twins of bitsize $(\log(p) - 1)/n$.</li>
  <li>For small $n$, we require CHM to find twin smooths of <em>large</em> bit size. For certain bit sizes, running
full CHM may be computationally out of reach, and therefore we use a variant that may not find all twins. In this case, however, we have more guaranteed smoothness in $p^2 - 1$ and so it is more likely that the remaining factors will have the required smoothness.</li>
  <li>For large $n$, we can obtain more twin smooths from CHM (in some cases, we can even exhaustively search for all twin
smooths), however we have less guaranteed smoothness in $p^2-1$.</li>
  <li>The more guaranteed smootheness we have from $4r^n(r-1)$, the more likely $f_n(r)$ has the required additional smoothness. Additionally, if $f_n(x)$ factors as $g_1(x)\cdots g_m(x)$, then the smaller the degrees $\deg (g_i)$ are, the higher the probability that we have enough smoothness.</li>
</ul>

<p>Balancing the probability of guaranteed smoothness and being able to compute enough CHM twin smooths of the required bitsize, we make the following choices of $n$ for each NIST level:</p>
<ul>
  <li>NIST-I parameters: $n = 2,3$</li>
  <li>NIST-III parameters: $n = 3,4,6$</li>
  <li>NIST-V parameters: $n = 4,6$</li>
</ul>

<p>We notice that for $n$ even, both $x - 1$ and $x+1$ appear in the factorisation of $p_n(x)^2-1$, and so we consider twin smooths $(r, r \pm 1)$ to give a guaranteed smooth factor $4r^n(r\pm 1)$ in $p_n(r)^2-1$. As a result, for $n$ even, we have a larger pool of twin smooths to try.</p>

<p><strong>Alternative Methods.</strong> In the paper we also discuss alternative methods to construct twin smooths, which we then boost up using our $p_n(x)$ method. These methods include the XGCD approach (see e.g.<sup id="fnref:2:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>) and the PTE approach<sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup>.</p>

<h2 id="results">Results</h2>

<p>After running our <em>constant-range</em> variant of the CHM algorithm to obtain sufficient twin smooths of different bitsizes and smoothness $B$, we used the method described above to obtain SQISign parameters.  I’ll briefly list the <em>best</em> primes (in terms of the signing cost metric $\sqrt{B}/f$, which we want to be as small as possible) that we found for each NIST security level. Recall that for SQISign we only require a factor $T’ \approx p^{3/2}$ of $p^2-1$ to be smooth, i.e., there may be some factors dividing $p^2-1$ that are not $B$-smooth. These <em>rough</em> factors will be displayed in <strong>bold</strong>.</p>

<p>To see more primes for each NIST level, make sure to check out the full paper.</p>

<p><strong>NIST-I Parameters:</strong> The 254-bit prime $p = 2r^3-1$ with $r = 20461449125500374748856320$ has 
    \(\begin{align*}
    p+1 &amp;= 2^{46}\cdot 5^3 \cdot 13^3 \cdot 31^3 \cdot 73^3 \cdot 83^3 \cdot 103^3 \cdot 107^3 \cdot 137^3\cdot 239^3 \cdot 271^3 \cdot 523^3 \\
    p - 1 &amp;= 2 \cdot 3^3 \cdot 7\cdot 11^2\cdot 17^2\cdot 19\cdot 101\cdot 127\cdot 149\cdot 157\cdot 167\cdot 173\cdot 199\cdot 229 \\
    &amp;\quad \quad  \cdot 337\cdot 457\cdot 479\cdot \mathbf{141067}\cdot \mathbf{3428098456843}\cdot \mathbf{4840475945318614791658621}
    \end{align*}\)</p>

<p>In comparison, the state-of-the-art implementation of SQISign uses a 254-bit prime $p$ with $p^2-1$ being $3923$-smooth<sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">5</a></sup>. However, their prime has a larger power of 2 and 3 compared to our prime, and most of the smooth factors are relatively small. Therefore, despite the larger smoothness bound, it may perform better in practice. Evaluating this in detail would require an implementation of our primes into the SQISign code. However, the current implementation uses specific optimisations that only apply to the particular prime that is being used, and so changing the prime would require reshaping the specific optimisations in the setting of our primes. We therefore leave this for future work.</p>

<p>One of the main contributions of our work is finding the first credible primes for SQISign at the NIST-III and NIST-V security level. In fact, most of the primes $p$ we found have the majority of the smooth factors of $p^2-1$ being relatively small, and therefore lend themselves well to efficient implementations.</p>

<p><strong>NIST-III Parameters:</strong> The $382$-bit prime $p = 2r^6 - 1$ with $r = 11896643388662145024$ has
    \(\begin{align*}
    p+1 &amp;= 2^{79}\cdot 3^6 \cdot 23^{12} \cdot 107^6 \cdot 127^6 \cdot 307^6 \cdot 401^6 \cdot 547^6 \\
    p - 1 &amp;= 2 \cdot 5^2 \cdot 7\cdot 11\cdot 17\cdot 19\cdot 47\cdot 71\cdot 79\cdot 109\cdot 149\cdot 229\cdot 269\cdot 283\cdot 349\cdot 449 \\
    &amp;\quad \quad  \cdot 463\cdot 1019\cdot 1033\cdot 1657\cdot 2179\cdot 2293\cdot 4099\cdot 5119\cdot 10243 \cdot\mathbf{381343} \\
    &amp; \quad \quad  \cdot \mathbf{19115518067}\cdot \mathbf{740881808972441233} \cdot \mathbf{8323214379148213516392}
    \end{align*}\)</p>

<p><strong>NIST-V Parameters:</strong> The $510$-bit prime, $p = 2r^6 - 1$ where $r = 31929740427944870006521856$ has</p>

\[\begin{align*}
    p+1 &amp;= 2^{85}\cdot 17^{12} \cdot 37^{6} \cdot 59^6 \cdot 97^6 \cdot 233^6 \cdot 311^{12} \cdot 911^6 \cdot 1297^6 \\
    p - 1 &amp;= 2 \cdot 3^2 \cdot 5\cdot 7\cdot 11^2 \cdot 23^2 \cdot 29\cdot 127\cdot 163\cdot 173\cdot 191\cdot 193\cdot 211\cdot 277\cdot 347\cdot 617 \\
    &amp;\quad \quad  \cdot 661\cdot 761\cdot 1039\cdot 4637\cdot 5821\cdot 15649\cdot 19139\cdot 143443\cdot 150151 \cdot\mathbf{3813769} \\
    &amp; \quad \quad  \cdot \mathbf{358244059}\cdot \mathbf{992456937347} \cdot \mathbf{353240481781965369823897507} \\
    &amp; \quad \quad  \cdot \mathbf{860102006951457440137165889140302}  
    \end{align*}\]

<h1 id="references">References</h1>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Costello, C., 2020, December. B-SIDH: supersingular isogeny Diffie-Hellman using twisted torsion. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 440-463). Springer, Cham. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>De Feo, L., Kohel, D., Leroux, A., Petit, C. and Wesolowski, B., 2020, December. SQISign: compact post-quantum signatures from quaternions and isogenies. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 64-93). Springer, Cham. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:2:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a> <a href="#fnref:2:2" class="reversefootnote" role="doc-backlink">&#8617;<sup>3</sup></a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>Størmer, C., 1897. Quelques théorèmes sur l’équation de Pell $x^2− Dy^2=\pm 1$ et leurs applications. Skrift. Vidensk. Christiania I. Math.-naturv. Klasse, (2), p.48. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:4" role="doc-endnote">
      <p>Costello, C., Meyer, M. and Naehrig, M., 2021, October. Sieving for twin smooth integers with solutions to the Prouhet-Tarry-Escott problem. In Annual International Conference on the Theory and Applications of Cryptographic Techniques (pp. 272-301). Springer, Cham. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:5" role="doc-endnote">
      <p>De Feo, L., Leroux, A. and Wesolowski, B., 2022. New algorithms for the Deuring correspondence: SQISign twice as fast. Cryptology ePrint Archive. <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="sqisign" /><category term="cryptography" /><category term="post-quantum" /><category term="paper" /><summary type="html"><![CDATA[This blogpost aims to give a general overview of our new paper “Cryptographic Smooth Neighbors” (link). This is joint work with Giacomo Bruno, Craig Costello, Jonathan Komada Eriksen, Michael Naehrig, Michael Meyer, and Bruno Sterner. $B$-Smooth Neighbours In this paper, we revisit the problem of finding two consecutive $B$-smooth integers, i.e., find integers $(r, r+1)$ such that $r$, $r+1$ have no prime factors of size exceeding the smoothness bound $B$. This problem that has emerged in the context of instantiating efficient isogeny-based public key cryptosystems. Though initially motivated in the context of key exchange1, it has found applications in the search for parameters for SQISign2, the leading isogeny-based signature scheme. For these cryptographic applications we work over the finite field $\mathbb{F}_{p^2}$ for some prime $p$, where we require $p^2-1$ to be as smooth as possible. This is because $p^2-1$ often corresponds to the rational torsion available that will be used for isogeny computations. Roughly speaking, the smaller the smoothness bound, the faster the signature scheme will be. If we have a pair of twin $B$-smooth integers $(r, r+1)$ and let $p = 2r+1$, then $p^2-1 = 4r(r+1)$ is $B$-smooth, as required. Whilst SQISign is currently the most compact post-quantum signature scheme, its signing algorithm is orders of magnitude slower than its counterparts. Therefore, it is desirable to find primes $p$ with $p^2-1$ smooth as possible to increase SQISign’s efficiency, which would be highly beneficial for its practicality. In this work, we introduce new ways of finding large twin smooths based on the Conrey-Holmstrom-McLaughlin (CHM) algorithm. It is a constructive algorithm which finds almost all twin smooth integers for a smoothness bound $B$. In their paper, Conrey–Holmstrom–McLaughlin run this algorithm for $B = 200$ to find a list of 346,192 twin smooths in about 2 weeks, the largest of which were 79-bit integers. We first give an optimised implementation of the CHM algorithm that allows us to run it for much larger values of $B$, thus allowing us to find larger sized twins. For example, with $B = 547$, our implementation outputs a set of 82,026,426 pairs of $B$-smooth twins, the largest of which were 122-bit integers. However, it appears infeasible to increase $B$ to the point where the twins found purely using the CHM algorithm are large enough to be used for cryptographic applications. Aided by the fact that SQISign does not require $p^2-1$ to be fully smooth, we obtain cryptographic sized primes $p$ by combining larger twins found through CHM with techniques from the literature. The CHM Algorithm The CHM algorithm is a simple algorithm that generates B-smooth neighbours. It works as follows: We start with an initial set $S^{(0)} = ${$1, 2, …, B-1$} of positive integers less than $B$, representing twin smooth pairs $(1,2), (2,3), …, (B-1, B)$. Set $S^{(1)} =S^{(0)}$. Iteratively pass through all pairs of distinct $r &lt; s$ in $S^{(0)}$ and compute $\frac{t}{t’} = \frac{r}{r+1}\cdot \frac{s+1}{s},$ with $\frac{t}{t’}$ in lowest terms. If $t’ = t+1$, then $t$ represnts a $B$-smooth pair $(t, t+1)$ and we add it to the set $S^{(1)}$. The algorithm then iterates through all pairs of distinct $r,s$ in $S^{(1)}$ to form $S^{(2)}$, and so on. We terminate when $S^{(d)} = S^{(d+1)}$ for some $d \geq 0$. Example: $B$ = 5 We start with the set $S^{(0)} = ${$1,2,3,4$}. Going through distinct $(r,s)$ in $S^{(0)}$, the only pairs that give us a new twin smooth pair $(t, t+1)$ are $(2,3)$, $(2,4)$ and $(3,4)$: $ \frac{2}{2+1}\cdot \frac{3+1}{3} = \frac{8}{9}, \quad \frac{2}{2+1}\cdot \frac{4+1}{4} = \frac{5}{6}, \quad \frac{3}{3+1}\cdot \frac{4+1}{4} = \frac{15}{16}$. So we get $S^{(0)} = ${$1,2,3,4,5,8,15$}. Continuing in this way we get $S^{(2)} = ${$1,2,3,4,5,8,9,15,24$}, and $S^{(3)} = ${$1,2,3,4,5,8,9,15,24, 80$}. Then $S^{(4)} = S^{(3)}$, so we terminate and return $S^{(3)}$. This is indeed the full set of twin 5-smooth integers3. Implementing the CHM algorithm To determine how feasible it is to run the CHM algorithm to obtain twin smooths of cryptographic size, we implement an optimised CHM algorithm. Some optimisations include: Parallelisation Avoiding multiple checks of the same pairs of twin smooths $(r,s)$ Iterating through smoothness bounds For each pair $(r,s)$ considered in each CHM step, we need to check if for some $t$, the following holds: $\frac{t}{t+1} = \frac{r}{r+1}\cdot \frac{s+1}{s}.$ In the paper we show that this is equivalent to requiring $\gcd(r(s+1),(r+1)s) = s-r$. We observe that we can completely avoid the gcd calculation: instead, we check that $r(s+1) \equiv 0 \bmod (s-r)$ holds, and perform a division to compute $t$ if so. In this way, we do just one modular reduction per pair $(r,s)$ considered in each CHM step. Despite these optimisations, using the pure CHM algorithm to produce large enough twin smooths for cryptographic purposes is infeasible in practice due to both runtime and memory limitations. Indeed, we ran this approach up to smoothness bound $B=547$ and found that to reach a twin smooth pair of size at least 256 bits requires smoothness bound of $&gt; 5000$ for which the set of $B$-smooth twins is roughly $2^{49}$. Noting that the effort for CHM iterations grows quadratically with the set size, we deduce that it is not feasible to reach cryptographically sized smooth twins. Therefore, we looked for variants of the CHM algorithm that restrict to checking only a certain subset of $(r,s)$ pairs without losing too many of the new smooth neighbors. Observing that similar sized $(r,s)$ are more likely to produce new twim smooths, we use the following condition to restrict the visited pairs: Let $k&gt;1$ be a constant parameter. Then, we only check pairs $(r,s)$ if they satisfy $0 &lt; r &lt; s &lt; kr$. Compared to the full CHM algorithm, this leads to a smaller set of twin smooths, but allows for much faster running times. The two main flavours of this that we explore are: Global-$k$: we initially pick some $k$ with $1 &lt; k \leq 2$, and restrict the CHM algorithm to only check $k$-balanced pairs $(r,s)$. The choice of $k$ is subtle: choosing $k$ too close to 1 may lead to missing too many twin smooths, but picking $k$ close to 2 may result in a small speedup that does not allow us to run large smoothness bounds. Constant-Range: In the above method, checking if a pair is $k$-balanced consumes a significant part of the overall runtime. Therefore, we can use constant ranges to avoid these checks. Sorting the set $S$ of twins by size, we can instead fix a range $R$ and for each $r$ we check the pair $(r,s)$ for the $R$ successors $s$ of $r$ in $S$. The constant-range approach outperforms the global-$k$ approach in terms of runtime, due to the elimination of all checks for $k$-balance of twins. Additionally, while very aggressive instantiations of constant-range miss more twin smooths, they find a bigger share of the largest 100 twins compared to their global-$k$ counterpart. We therefore concluded that for larger smoothness bounds $B$, for which we cannot hope to complete the full CHM algorithm, constant-range is the most promising approach for obtaining larger twin smooths within feasible runtimes. Variant Parameter Runtime Speedup # twins # twins from largest 100 Full CHM - 4705s 1 2300724 100 Global-$k$ $k = 1.5$ 226s 21 2282741 82 Constant-Range $R = 10000$ 82s 57 2273197 93 Finding cryptographic smooth neighbours We now focus on finding primes $p$ suitable for isogeny-based cryptographic applications that, for efficiency reasons, need $p^2-1$ to be as smooth as possible. In particular, we target the signature scheme SQISign2, which requires a prime $p$ satisfying $T’ \mid p^2-1$, where $T’ = 2^fT$ with $f$ is as large as possible and $T \approx p^{5/4}$ is smooth and odd. We note that these conditions mean we do not require $(p+1)(p-1)$ to be fully smooth, which allows for some flexibility. Therefore, we can move away from solely using CHM and, instead, use the CHM results as inputs to known method for finding such primes. We find fully smooth twins of a smaller bit-size via CHM and boost them up using the polynomials $p_n(x) = 2x^n - 1$ (for carefully chosen $n$). General Method. For our SQISign application, we have $\log p = ${$256, 384, 512$} for NIST Level I, III, V (respectively), $T \approx p^{5/4}$ and $f$ as large as possible. We will aim for $T’ \approx p^{3/2}$ as this is what is currently used in the SQISign implementation. We fix a smoothness bound $B$ and let $p_n(x) = 2x^n - 1$. Then, $p_n(x)^2-1 = 4x^n(x-1)f_n(x)$. If we evaluate $p_n(x)$ at $x = r$, where $(r, r-1)$ is a $B$-smooth twin pair, then $p_n(r)^2-1$ will have guaranteed smooth factor $4r^n(r-1)$. We then have to hope that the factor $f_n(r)$ has enough smoothness so that $T’ \approx p^{3/2}$. A natural question arises: what $n$ should we choose? To obtain a prime of bitsize $\log(p)$ we need to evaluate $p_n(x)$ at $B$-smooth twins of bitsize $(\log(p) - 1)/n$. For small $n$, we require CHM to find twin smooths of large bit size. For certain bit sizes, running full CHM may be computationally out of reach, and therefore we use a variant that may not find all twins. In this case, however, we have more guaranteed smoothness in $p^2 - 1$ and so it is more likely that the remaining factors will have the required smoothness. For large $n$, we can obtain more twin smooths from CHM (in some cases, we can even exhaustively search for all twin smooths), however we have less guaranteed smoothness in $p^2-1$. The more guaranteed smootheness we have from $4r^n(r-1)$, the more likely $f_n(r)$ has the required additional smoothness. Additionally, if $f_n(x)$ factors as $g_1(x)\cdots g_m(x)$, then the smaller the degrees $\deg (g_i)$ are, the higher the probability that we have enough smoothness. Balancing the probability of guaranteed smoothness and being able to compute enough CHM twin smooths of the required bitsize, we make the following choices of $n$ for each NIST level: NIST-I parameters: $n = 2,3$ NIST-III parameters: $n = 3,4,6$ NIST-V parameters: $n = 4,6$ We notice that for $n$ even, both $x - 1$ and $x+1$ appear in the factorisation of $p_n(x)^2-1$, and so we consider twin smooths $(r, r \pm 1)$ to give a guaranteed smooth factor $4r^n(r\pm 1)$ in $p_n(r)^2-1$. As a result, for $n$ even, we have a larger pool of twin smooths to try. Alternative Methods. In the paper we also discuss alternative methods to construct twin smooths, which we then boost up using our $p_n(x)$ method. These methods include the XGCD approach (see e.g.2) and the PTE approach4. Results After running our constant-range variant of the CHM algorithm to obtain sufficient twin smooths of different bitsizes and smoothness $B$, we used the method described above to obtain SQISign parameters. I’ll briefly list the best primes (in terms of the signing cost metric $\sqrt{B}/f$, which we want to be as small as possible) that we found for each NIST security level. Recall that for SQISign we only require a factor $T’ \approx p^{3/2}$ of $p^2-1$ to be smooth, i.e., there may be some factors dividing $p^2-1$ that are not $B$-smooth. These rough factors will be displayed in bold. To see more primes for each NIST level, make sure to check out the full paper. NIST-I Parameters: The 254-bit prime $p = 2r^3-1$ with $r = 20461449125500374748856320$ has \(\begin{align*} p+1 &amp;= 2^{46}\cdot 5^3 \cdot 13^3 \cdot 31^3 \cdot 73^3 \cdot 83^3 \cdot 103^3 \cdot 107^3 \cdot 137^3\cdot 239^3 \cdot 271^3 \cdot 523^3 \\ p - 1 &amp;= 2 \cdot 3^3 \cdot 7\cdot 11^2\cdot 17^2\cdot 19\cdot 101\cdot 127\cdot 149\cdot 157\cdot 167\cdot 173\cdot 199\cdot 229 \\ &amp;\quad \quad \cdot 337\cdot 457\cdot 479\cdot \mathbf{141067}\cdot \mathbf{3428098456843}\cdot \mathbf{4840475945318614791658621} \end{align*}\) In comparison, the state-of-the-art implementation of SQISign uses a 254-bit prime $p$ with $p^2-1$ being $3923$-smooth5. However, their prime has a larger power of 2 and 3 compared to our prime, and most of the smooth factors are relatively small. Therefore, despite the larger smoothness bound, it may perform better in practice. Evaluating this in detail would require an implementation of our primes into the SQISign code. However, the current implementation uses specific optimisations that only apply to the particular prime that is being used, and so changing the prime would require reshaping the specific optimisations in the setting of our primes. We therefore leave this for future work. One of the main contributions of our work is finding the first credible primes for SQISign at the NIST-III and NIST-V security level. In fact, most of the primes $p$ we found have the majority of the smooth factors of $p^2-1$ being relatively small, and therefore lend themselves well to efficient implementations. NIST-III Parameters: The $382$-bit prime $p = 2r^6 - 1$ with $r = 11896643388662145024$ has \(\begin{align*} p+1 &amp;= 2^{79}\cdot 3^6 \cdot 23^{12} \cdot 107^6 \cdot 127^6 \cdot 307^6 \cdot 401^6 \cdot 547^6 \\ p - 1 &amp;= 2 \cdot 5^2 \cdot 7\cdot 11\cdot 17\cdot 19\cdot 47\cdot 71\cdot 79\cdot 109\cdot 149\cdot 229\cdot 269\cdot 283\cdot 349\cdot 449 \\ &amp;\quad \quad \cdot 463\cdot 1019\cdot 1033\cdot 1657\cdot 2179\cdot 2293\cdot 4099\cdot 5119\cdot 10243 \cdot\mathbf{381343} \\ &amp; \quad \quad \cdot \mathbf{19115518067}\cdot \mathbf{740881808972441233} \cdot \mathbf{8323214379148213516392} \end{align*}\) NIST-V Parameters: The $510$-bit prime, $p = 2r^6 - 1$ where $r = 31929740427944870006521856$ has \[\begin{align*} p+1 &amp;= 2^{85}\cdot 17^{12} \cdot 37^{6} \cdot 59^6 \cdot 97^6 \cdot 233^6 \cdot 311^{12} \cdot 911^6 \cdot 1297^6 \\ p - 1 &amp;= 2 \cdot 3^2 \cdot 5\cdot 7\cdot 11^2 \cdot 23^2 \cdot 29\cdot 127\cdot 163\cdot 173\cdot 191\cdot 193\cdot 211\cdot 277\cdot 347\cdot 617 \\ &amp;\quad \quad \cdot 661\cdot 761\cdot 1039\cdot 4637\cdot 5821\cdot 15649\cdot 19139\cdot 143443\cdot 150151 \cdot\mathbf{3813769} \\ &amp; \quad \quad \cdot \mathbf{358244059}\cdot \mathbf{992456937347} \cdot \mathbf{353240481781965369823897507} \\ &amp; \quad \quad \cdot \mathbf{860102006951457440137165889140302} \end{align*}\] References Costello, C., 2020, December. B-SIDH: supersingular isogeny Diffie-Hellman using twisted torsion. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 440-463). Springer, Cham. &#8617; De Feo, L., Kohel, D., Leroux, A., Petit, C. and Wesolowski, B., 2020, December. SQISign: compact post-quantum signatures from quaternions and isogenies. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 64-93). Springer, Cham. &#8617; &#8617;2 &#8617;3 Størmer, C., 1897. Quelques théorèmes sur l’équation de Pell $x^2− Dy^2=\pm 1$ et leurs applications. Skrift. Vidensk. Christiania I. Math.-naturv. Klasse, (2), p.48. &#8617; Costello, C., Meyer, M. and Naehrig, M., 2021, October. Sieving for twin smooth integers with solutions to the Prouhet-Tarry-Escott problem. In Annual International Conference on the Theory and Applications of Cryptographic Techniques (pp. 272-301). Springer, Cham. &#8617; De Feo, L., Leroux, A. and Wesolowski, B., 2022. New algorithms for the Deuring correspondence: SQISign twice as fast. Cryptology ePrint Archive. &#8617;]]></summary></entry><entry><title type="html">SuperSolver - accelerating the Delfs-Galbraith algorithm with fast subfield root detection</title><link href="https://www.mariascrs.com/2021/11/16/supersolver.html" rel="alternate" type="text/html" title="SuperSolver - accelerating the Delfs-Galbraith algorithm with fast subfield root detection" /><published>2021-11-16T00:00:00+00:00</published><updated>2021-11-16T00:00:00+00:00</updated><id>https://www.mariascrs.com/2021/11/16/supersolver</id><content type="html" xml:base="https://www.mariascrs.com/2021/11/16/supersolver.html"><![CDATA[<p>This blogpost aims to give a general overview of our new paper <em>“SuperSolver: accelerating the Delfs-Galbraith algorithm with fast subfield root detection”</em> (<a href="https://eprint.iacr.org/2021/1488">link</a>). This is joint work with my amazing coauthors Craig Costello and Jia Shi.</p>

<h2 id="the-supersingular-isogeny-problem-and-the-delfs-galbraith-algorithm">The supersingular isogeny problem and the Delfs-Galbraith algorithm</h2>

<p>The <em>supersingular isogeny problem</em> asks the following: given two supersingular curves $E_0/\bar{\mathbb{F}}_p$ and $E_1/\bar{\mathbb{F}}_p$, find an isogeny</p>

\[\phi: E_0 \rightarrow E_1.\]

<p>The best known classical attack against it is the Delfs-Galbraith algorithm <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>. In the general case, where $E_0, E_1$ are defined over $\mathbb{F}_{p^2}$, the Delfs-Galbraith algorithm has 2 steps:</p>

<ul>
  <li>
    <p><strong>Step 1:</strong> Compute simple self-avoiding random walks in the $\ell$-isogeny graph (for some choice of $\ell$) to find isogenies $\phi_0: E_0 \rightarrow E_0’$ and $\phi_1: E_1 \rightarrow E_1’$, such that $E_0’/\mathbb{F}_p$ and $E_1’/\mathbb{F}_p$ are <em>subfield curves</em>. You may be asking, what exactly is a subfield curve? In general the $j$-invariant of an elliptic curve $E$ lies in $\mathbb{F}_{p^2}$. If $j \in \mathbb{F}_p$, we say $E$ is a subfield curve. There are approximately $\lfloor p/12 \rfloor$ supersingular curves up to isomorphism and $O(p^{1/2})$ of them are subfield curves. This step, therefore, runs in $\tilde{O}(p^{1/2})$ bit operations.</p>
  </li>
  <li>
    <p><strong>Step 2:</strong> Search for a subfield isogeny $\phi’: E_0’ \rightarrow E_1’$ that connects $\phi_0$ and $\phi_1$. This step requires $\tilde{O}(p^{1/4})$ bit operations.</p>
  </li>
</ul>

<p>A full isogeny $\phi: E_0 \rightarrow E_1$ is then found as the composition 
\(\phi = \hat{\phi}_1 \circ \phi' \circ \phi_0\)
where $\hat{\phi}_1: E_1’ \rightarrow E_1$ is the dual of $\phi_1$.</p>

<p>The entire Delfs-Galbraith algorithm runs in $\tilde{O}(p^{1/2})$ operations on average, dominated by the first step.</p>

<h2 id="determining-the-concrete-complexity-of-delfs-galbraith">Determining the Concrete Complexity of Delfs-Galbraith</h2>

<p>One of our contributions is an optimised implementation of the Delfs-Galbraith algorithm, called <strong>Solver</strong>. This allows us to remove the $\tilde{O}$’s above and determine the concrete complexity of this algorithm.</p>

<p>In the paper, we focus on the optimisation and complexity of the bottleneck step: finding subfield curves (step 1 above). These optimisations are as follows.</p>

<p><strong>Choice of $\ell$</strong>. In their description of the algorithm, Delfs and Galbraith do not specify which $\ell$-isogeny graph to walk in. In general, at each point of this walk in the $\ell$-isogeny graph, we have $j_p$ (the previous node we were on) and $j_c$ (the current node we’re on). Taking a step from $j_c$ onto a new node in the $\ell$-isogeny graph is equivalent to computing the roots of the polynomial $\Phi_{\ell,p}(X,j_c)/(X-j_p)$, where $\Phi_{\ell, p}(X,Y)$ is the modular polynomial for level $\ell$ whose coefficients have been reduced modulo $p$, as we are working over $\mathbb{F}_{p^2}$ (click <a href="https://math.mit.edu/~drew/ClassicalModPolys.html">here</a> for more information on these modular polynomials). Writing $\ell$ in terms of its prime decompostion, say $\ell= \prod_{i=1}^n l_i^{e_i}$, the polynomial $\Phi_{\ell, p}(X,j_c)/(X-j_p)$ is of degree $N_\ell - 1$, where
\(N_\ell = \prod_{i=1}^n (l_i + 1)l_i^{e_i -1 }.\)
If $\ell$ is prime, then the polynomial $\Phi_{\ell, p}(X,j_c)/(X-j_p)$ is of degree $\ell$. We chose $\ell = 2$, as it is the simplest and most efficient choice. 
Note here that the first step is an exception as we do not know $j_p$, so we must instead factor an $N_\ell$-degree polynomial to find a neighbouring node.</p>

<p><strong>Fast square root finding in $\mathbb{F}_{p^2}$</strong>. We use techniques presented in Michael Scott’s <em>Tricks of the Trade</em> paper <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup> to construct an optimised algorithm for finding square roots in $\mathbb{F}_{p^2}$. Our algorithm requires only two $\mathbb{F}_p$ exponentiations and a few $\mathbb{F}_p$ multiplications and additions.</p>

<p><strong>Random walks in the $2$-isogeny graph</strong>. We use a depth-first search to find subfield nodes in the 2-isogeny graph. We bound the depth at $c \cdot \log(p)$ to reuse computations. This process parallelizes perfectly: for $P$ processors we can (pre)compute the leaves of a binary tree of depth $\lceil log(P)\rceil$ and assign each processor one of those as its root node.</p>

<h3 id="concrete-complexity-of-delfs-galbraith">Concrete Complexity of Delfs-Galbraith</h3>

<p>Using <strong>Solver</strong>, for each bitlength between 21 and 40, we solved 10,000 instances of the subfield search. In each of these, we chose 100 random primes and, for each prime, 100 pseudo-random $j$-invariants in $\mathbb{F}_{p^2}$.</p>

<p>For all bitlengths, we find the number of $\mathbb{F}_{p}$ multiplications to be:</p>

\[\#(\mathbb{F}_{p} \text{ muls.}) = c \cdot \sqrt{p} \cdot \log_2 p\]

<p>with $0.75 \leq c \leq 1.05$.</p>

<h2 id="supersolver-accelerating-the-delfs-galbraith-algorithm">SuperSolver: accelerating the Delfs-Galbraith algorithm</h2>

<p>The other contribution of our paper is an new attack, called <strong>SuperSolver</strong>, against the supersingular isogeny problem that improves on the concrete complexity of the Delfs-Galbraith algorithm. The core difference of <strong>SuperSolver</strong> lies in Step 1. Here, at each step of the random walk, <strong>SuperSolver</strong> inspects the $\ell$-isogeny graph for $\ell$ in a carefully chosen set, to efficiently detect whether $j_c$ has an $\ell$-isogenous neighbour in $\mathbb{F}_p$ ($j_c$ is the current node). We will describe how this set of <em>optimal</em> $\ell &gt; 2$ is chosen below.  Traditionally, conducting this inspection requires fully factorizing a degree-$(N_\ell-1)$ polynomial and determining whether any of the roots lie in $\mathbb{F}_{p}$. However, this is prohibitively costly for $\ell &gt; 2$, especially as $p$ grows large. In the paper, we introduce a novel method of conducting this inspection in $\ell$-isogeny graphs, which requires $O(\ell^2)$ multiplications in $\mathbb{F}_p$. Crucially, this is no longer dependent on $p$, meaning that as $p$ grows large, the set of $\ell$’s that are optimal to use also grows, and the more profitable (relatively speaking) <strong>SuperSolver</strong> becomes.</p>

<p>We now describe</p>

<ul>
  <li>how the rapid inspection of $\ell$-isogenous neighbours is conducted, and</li>
  <li>how the set of $\ell$’s to conduct this inspection on is chosen.</li>
</ul>

<h3 id="fast-subfield-root-detection">Fast Subfield Root Detection</h3>

<p>In Section 4 of the paper, we derive a method for determining whether a polynomial $f(X) = a_nX^n + \dots + a_1X + a_0 \in \mathbb{F}_{q^d}[X]$ has a root in the subfield $\mathbb{F}_{q}$, where $q$ is the power of a prime $p$. Here, for simplicity, I will describe it as needed for <strong>SuperSolver</strong>, i.e., where $q = p$ and $d=2$.</p>

<p>We first introduce the $p$-power Frobenius map $\pi$, which for $\alpha \in \mathbb{F}_{p^2}$ acts as
\(\pi(\alpha) = \alpha^{p}.\)
We can extend this to polynomials as follows: if $f(X) = a_nX^n + \dots + a_1X + a_0 \in \mathbb{F}_{p^2}[X]$, then 
\(\pi(f) = \pi(a_n)X^n + \dots + \pi(a_1)X + \pi(a_0).\)</p>

<p>The greatest common divisor of $f$ and $\pi(f)$ is the largest divisor of $f$ defined over $\mathbb{F}_p$. If this divisor is of degree one, $f$ has a root in $\mathbb{F}_p$. If this divisor is a constant, $f$ does not have a root in $\mathbb{F}_p$ In our target application, with overwhleming high probability, $\gcd(f, \pi(f))$ will have degree 0 or 1. Therefore, calculating $\gcd(f, \pi(f))$ will reveal whether or not $f$ has a root defined over $\mathbb{F}_p$.</p>

<p>The problem with caluclating this $\gcd$ is that $f$ and $\pi(f)$ are, in general, defined over $\mathbb{F}_{p^2}$. To avoid costly multiplications in $\mathbb{F}_{p^2}$, we want to, in some way, transform these into polynomials defined over $\mathbb{F}_p$.</p>

<p>A key observation is that the GCD of two polynomials is invariant under an invertible linear transformation. Consider $f_1,f_2 \in \mathbb{F}_{p^2}[X]$ and define</p>

\[g_1 = af_1 + bf_2, \ \ g_2 = cf_1 + df_2\]

<p>such that $ad-bc \neq 0$, i.e., $g_1, g_2$ are given by applying an invertible linear transformation to $f_1, f_2$. Then if $h \in  \mathbb{F}_{p^2}[X]$ divides $f_1$ and $f_2$, it must divide $g_1, g_2$. As the linear transformation is invertible, by swapping the roles of $f_i$ and $g_i$ we show that if $h \in  \mathbb{F}_{p^2}[X]$ divides $g_1, g_2$, it must divide $f_1, f_2$. Therefore,</p>

\[\gcd(f_1, f_2) = \gcd(g_1, g_2).\]

<p>This means that if we can find some invertible linear transformation that sends $f, \pi(f)$ to related polynomials, say $g_1, g_2$ defined over $\mathbb{F}_p$, then we will have<br />
\(\gcd(f, \pi(f)) = \gcd(g_1, g_2),\)</p>

<p>and will only have to compute the $\gcd$ in $\mathbb{F}_p$.</p>

<p>To find this linear transformation, consider $\beta$ such that $\mathbb{F}_{p^2} = \mathbb{F}_{p}(\beta)$ (i.e. $\beta$ is a primitive element of the extension $\mathbb{F}_{p^2}/\mathbb{F}_p$), and define</p>

\[g_1 = f + \pi(f) \ \ \text{ and } \ \ g_2 = \beta(f - \pi(f)).\]

<p>Then, the linear transformation is invertible and $g_1, g_2 \in \mathbb{F}_{p}[X]$. Note that the second statement is clear in the $d=2$ case, but for $d&gt;2$ we need Theorem 2.24 in <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup> to easily show the resulting polynomials are defined over the base field.</p>

<p>Concluding, we have</p>

\[\gcd(f, \pi(f)) = \gcd(f + \pi(f), \beta(f - \pi(f)),\]

<p>which will give us the largest divisor of $f$ defined over $\mathbb{F}_p$. We reiterate that, in our setting, this reveals with overwhleming probability whether $f$ has a root in $\mathbb{F}_p$.</p>

<h3 id="choosing-the-set-of-optimal-ells">Choosing the set of optimal $\ell$’s</h3>

<p>Though the inspection of the neighbours of $j_c$ in the $\ell$-isogeny graph increases the total number of $\mathbb{F}_p$ multiplications at each step, more nodes are checked. We therefore choose the list of $\ell$’s to minimise the number of $\mathbb{F}_p$ multiplications <em>per node inspected</em>.</p>

<p>To do this, we first determine the cost per node inspected of taking a step in the $2$-isogeny graph, as described above. Denote this cost by $\text{cost}_2$. We then determine a list of $\ell &gt; 2$ such that inspecting the $\ell$-isogeny graph (using the fast subfield root detection) has a lower cost per node inspected than $\text{cost}_2$. Once we have this list of $\ell$’s, we find the subset of this list which minimises the total cost of each step, calculated as:</p>

\[\text{cost} = \frac{\text{total # of } \mathbb{F}_p \text{ multiplications}}{\text{total # of nodes revealed}}.\]

<p>This subset will be the list of <em>optimal $\ell$’s</em> used in <strong>SuperSolver</strong>.</p>

<p>Calculating $\text{cost}_2$ depends only on the prime $p$, and the cost of inspecting the $\ell$-isogeny graph depends only on $\ell$. Therefore, this set of optimal $\ell$’s can be determined in the precomputation.</p>

<p>We also note here that we can view <strong>Solver</strong> as a special instance of <strong>SuperSolver</strong> where the set of $\ell&gt;2$ used is empty. In this way, we see that, in terms of the path length of Step 1, <strong>SuperSolver</strong> will never be outperformed by <strong>Solver</strong>: in <strong>SuperSolver</strong> either there exists an $\ell &gt; 2$ that finds a subfield node first or the random walk in the $2$-isogeny graph finds the subfield node at the same step it would have been found in <strong>Solver</strong>.</p>

<p>To see exactly how <strong>SuperSolver</strong> works in comparison to <strong>Solver</strong>, have a look at the worked example in Section 6 of the paper.</p>

<h2 id="solver-vs-supersolver">Solver vs. SuperSolver</h2>

<p>I’ll now summarise the results of our experiments in Section 7 of the paper. These experiments focused solely on the search for subfield nodes in Step 1 and showed the following:</p>

<ul>
  <li>By conducting experiments on small primes and many $j$-invaraints, we see that <strong>SuperSolver</strong> finds a subfield node with <em>much fewer</em> (on average, half) $\mathbb{F}_{p}$ multiplications and by visiting less nodes. For example, averaging over 5000 pseudo-random supersingular $j$-invarants in $\mathbb{F}_{p^2}$, for $p = 2^{24}-3$, <strong>SuperSolver</strong> (with the set of optimal $\ell$’s) used 53900 $\mathbb{F}_{p}$ multiplications and walked on 318 nodes. In comparison, <strong>Solver</strong> used 112878 $\mathbb{F}_{p}$ multiplications and walked on 1897 nodes.</li>
  <li>We also conducted experiments on large, cryptographic sized primes and one $j$-invariant, running <strong>SuperSolver</strong> and <strong>Solver</strong> until the number of $\mathbb{F}_{p}$ multiplications used exceeded $10^8$. We recorded the total number of nodes covered, i.e., both walked <em>and</em> inspected nodes. In these experiments we see how the advantage of <strong>SuperSolver</strong> grows as $p$ grows. For $p=2^{50}-27$, <strong>SuperSolver</strong> covers between 3 and 4 times the number of nodes that <strong>Solver</strong> does. For the largest prime tested, $p=2^{800}-105$, <strong>SuperSolver</strong> covers between 18 and 19 times the number of nodes!</li>
</ul>

<h2 id="new-concrete-security">New Concrete Security</h2>

<p>Our <strong>Solver</strong> and <strong>SuperSolver</strong> algorithms are written in Sage and Python and can be found <a href="https://github.com/microsoft/SuperSolver">here</a>.
By conducting experiments (as above) using our <strong>SuperSolver</strong> suite, it’s straightforward to obtain precise estimates on the concrete classical security offered by the general supersingular isogeny problem. Indeed, from these experiments, we can obtain accurate counts on the expected number of $\mathbb{F}_p$ multiplications, squarings
and additions that must be carried out during a full cryptanalytic attack. These $\mathbb{F}_p$ operations can then be costed with respect to the appropriate metric, for example, bit operations, cycle counts, gate counts, or circuit depth.</p>

<h2 id="bringing-it-all-together">Bringing it all together</h2>

<p>The Delfs-Galbraith algorithm can be used to attack and supersingular isogeny based cryptosystem, so what does this mean for isogeny-based cryptography?</p>

<ul>
  <li>There is no direct impact on SIDH and SIKE. There are much faster <em>claw-finding</em> algorithms <sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup> for solving the special problems that arise in these schemes.</li>
  <li>This paper does influence the classical bit security of other proposals, such as B-SIDH <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">5</a></sup> and SQISign <sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">6</a></sup> which have Delfs-Galbraith as their best attack.</li>
</ul>

<p>We stress that the asymptotic complexity of this algorithm has not changed. However, we give <em>significant</em> improvements on its concrete complexity, helping us to better understand the security of the fundamental problem underlying isogeny-based cryptography.</p>

<h1 id="references">References</h1>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Delfs, C., &amp; Galbraith, S. D. (2016). Computing isogenies between supersingular elliptic curves over ${\mathbb {F}}_p$. Designs, Codes and Cryptography, 78(2), 425-440. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>Scott, M. (2020). A note on the calculation of some functions in finite fields: Tricks of the Trade. IACR Cryptol. ePrint Arch., 2020, 1497. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>Lidl, R., &amp; Niederreiter, H. (1997). Finite fields (No. 20). Cambridge University Press. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:4" role="doc-endnote">
      <p>Jao, D., &amp; De Feo, L. (2011, November). Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. In International Workshop on Post-Quantum Cryptography (pp. 19-34). Springer, Berlin, Heidelberg. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:5" role="doc-endnote">
      <p>Costello, C. (2020, December). B-SIDH: supersingular isogeny Diffie-Hellman using twisted torsion. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 440-463). Springer, Cham. <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:6" role="doc-endnote">
      <p>De Feo, L., Kohel, D., Leroux, A., Petit, C., &amp; Wesolowski, B. (2020, December). SQISign: compact post-quantum signatures from quaternions and isogenies. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 64-93). Springer, Cham. <a href="#fnref:6" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="cryptography" /><category term="post-quantum" /><category term="paper" /><summary type="html"><![CDATA[This blogpost aims to give a general overview of our new paper “SuperSolver: accelerating the Delfs-Galbraith algorithm with fast subfield root detection” (link). This is joint work with my amazing coauthors Craig Costello and Jia Shi. The supersingular isogeny problem and the Delfs-Galbraith algorithm The supersingular isogeny problem asks the following: given two supersingular curves $E_0/\bar{\mathbb{F}}_p$ and $E_1/\bar{\mathbb{F}}_p$, find an isogeny \[\phi: E_0 \rightarrow E_1.\] The best known classical attack against it is the Delfs-Galbraith algorithm 1. In the general case, where $E_0, E_1$ are defined over $\mathbb{F}_{p^2}$, the Delfs-Galbraith algorithm has 2 steps: Step 1: Compute simple self-avoiding random walks in the $\ell$-isogeny graph (for some choice of $\ell$) to find isogenies $\phi_0: E_0 \rightarrow E_0’$ and $\phi_1: E_1 \rightarrow E_1’$, such that $E_0’/\mathbb{F}_p$ and $E_1’/\mathbb{F}_p$ are subfield curves. You may be asking, what exactly is a subfield curve? In general the $j$-invariant of an elliptic curve $E$ lies in $\mathbb{F}_{p^2}$. If $j \in \mathbb{F}_p$, we say $E$ is a subfield curve. There are approximately $\lfloor p/12 \rfloor$ supersingular curves up to isomorphism and $O(p^{1/2})$ of them are subfield curves. This step, therefore, runs in $\tilde{O}(p^{1/2})$ bit operations. Step 2: Search for a subfield isogeny $\phi’: E_0’ \rightarrow E_1’$ that connects $\phi_0$ and $\phi_1$. This step requires $\tilde{O}(p^{1/4})$ bit operations. A full isogeny $\phi: E_0 \rightarrow E_1$ is then found as the composition \(\phi = \hat{\phi}_1 \circ \phi' \circ \phi_0\) where $\hat{\phi}_1: E_1’ \rightarrow E_1$ is the dual of $\phi_1$. The entire Delfs-Galbraith algorithm runs in $\tilde{O}(p^{1/2})$ operations on average, dominated by the first step. Determining the Concrete Complexity of Delfs-Galbraith One of our contributions is an optimised implementation of the Delfs-Galbraith algorithm, called Solver. This allows us to remove the $\tilde{O}$’s above and determine the concrete complexity of this algorithm. In the paper, we focus on the optimisation and complexity of the bottleneck step: finding subfield curves (step 1 above). These optimisations are as follows. Choice of $\ell$. In their description of the algorithm, Delfs and Galbraith do not specify which $\ell$-isogeny graph to walk in. In general, at each point of this walk in the $\ell$-isogeny graph, we have $j_p$ (the previous node we were on) and $j_c$ (the current node we’re on). Taking a step from $j_c$ onto a new node in the $\ell$-isogeny graph is equivalent to computing the roots of the polynomial $\Phi_{\ell,p}(X,j_c)/(X-j_p)$, where $\Phi_{\ell, p}(X,Y)$ is the modular polynomial for level $\ell$ whose coefficients have been reduced modulo $p$, as we are working over $\mathbb{F}_{p^2}$ (click here for more information on these modular polynomials). Writing $\ell$ in terms of its prime decompostion, say $\ell= \prod_{i=1}^n l_i^{e_i}$, the polynomial $\Phi_{\ell, p}(X,j_c)/(X-j_p)$ is of degree $N_\ell - 1$, where \(N_\ell = \prod_{i=1}^n (l_i + 1)l_i^{e_i -1 }.\) If $\ell$ is prime, then the polynomial $\Phi_{\ell, p}(X,j_c)/(X-j_p)$ is of degree $\ell$. We chose $\ell = 2$, as it is the simplest and most efficient choice. Note here that the first step is an exception as we do not know $j_p$, so we must instead factor an $N_\ell$-degree polynomial to find a neighbouring node. Fast square root finding in $\mathbb{F}_{p^2}$. We use techniques presented in Michael Scott’s Tricks of the Trade paper 2 to construct an optimised algorithm for finding square roots in $\mathbb{F}_{p^2}$. Our algorithm requires only two $\mathbb{F}_p$ exponentiations and a few $\mathbb{F}_p$ multiplications and additions. Random walks in the $2$-isogeny graph. We use a depth-first search to find subfield nodes in the 2-isogeny graph. We bound the depth at $c \cdot \log(p)$ to reuse computations. This process parallelizes perfectly: for $P$ processors we can (pre)compute the leaves of a binary tree of depth $\lceil log(P)\rceil$ and assign each processor one of those as its root node. Concrete Complexity of Delfs-Galbraith Using Solver, for each bitlength between 21 and 40, we solved 10,000 instances of the subfield search. In each of these, we chose 100 random primes and, for each prime, 100 pseudo-random $j$-invariants in $\mathbb{F}_{p^2}$. For all bitlengths, we find the number of $\mathbb{F}_{p}$ multiplications to be: \[\#(\mathbb{F}_{p} \text{ muls.}) = c \cdot \sqrt{p} \cdot \log_2 p\] with $0.75 \leq c \leq 1.05$. SuperSolver: accelerating the Delfs-Galbraith algorithm The other contribution of our paper is an new attack, called SuperSolver, against the supersingular isogeny problem that improves on the concrete complexity of the Delfs-Galbraith algorithm. The core difference of SuperSolver lies in Step 1. Here, at each step of the random walk, SuperSolver inspects the $\ell$-isogeny graph for $\ell$ in a carefully chosen set, to efficiently detect whether $j_c$ has an $\ell$-isogenous neighbour in $\mathbb{F}_p$ ($j_c$ is the current node). We will describe how this set of optimal $\ell &gt; 2$ is chosen below. Traditionally, conducting this inspection requires fully factorizing a degree-$(N_\ell-1)$ polynomial and determining whether any of the roots lie in $\mathbb{F}_{p}$. However, this is prohibitively costly for $\ell &gt; 2$, especially as $p$ grows large. In the paper, we introduce a novel method of conducting this inspection in $\ell$-isogeny graphs, which requires $O(\ell^2)$ multiplications in $\mathbb{F}_p$. Crucially, this is no longer dependent on $p$, meaning that as $p$ grows large, the set of $\ell$’s that are optimal to use also grows, and the more profitable (relatively speaking) SuperSolver becomes. We now describe how the rapid inspection of $\ell$-isogenous neighbours is conducted, and how the set of $\ell$’s to conduct this inspection on is chosen. Fast Subfield Root Detection In Section 4 of the paper, we derive a method for determining whether a polynomial $f(X) = a_nX^n + \dots + a_1X + a_0 \in \mathbb{F}_{q^d}[X]$ has a root in the subfield $\mathbb{F}_{q}$, where $q$ is the power of a prime $p$. Here, for simplicity, I will describe it as needed for SuperSolver, i.e., where $q = p$ and $d=2$. We first introduce the $p$-power Frobenius map $\pi$, which for $\alpha \in \mathbb{F}_{p^2}$ acts as \(\pi(\alpha) = \alpha^{p}.\) We can extend this to polynomials as follows: if $f(X) = a_nX^n + \dots + a_1X + a_0 \in \mathbb{F}_{p^2}[X]$, then \(\pi(f) = \pi(a_n)X^n + \dots + \pi(a_1)X + \pi(a_0).\) The greatest common divisor of $f$ and $\pi(f)$ is the largest divisor of $f$ defined over $\mathbb{F}_p$. If this divisor is of degree one, $f$ has a root in $\mathbb{F}_p$. If this divisor is a constant, $f$ does not have a root in $\mathbb{F}_p$ In our target application, with overwhleming high probability, $\gcd(f, \pi(f))$ will have degree 0 or 1. Therefore, calculating $\gcd(f, \pi(f))$ will reveal whether or not $f$ has a root defined over $\mathbb{F}_p$. The problem with caluclating this $\gcd$ is that $f$ and $\pi(f)$ are, in general, defined over $\mathbb{F}_{p^2}$. To avoid costly multiplications in $\mathbb{F}_{p^2}$, we want to, in some way, transform these into polynomials defined over $\mathbb{F}_p$. A key observation is that the GCD of two polynomials is invariant under an invertible linear transformation. Consider $f_1,f_2 \in \mathbb{F}_{p^2}[X]$ and define \[g_1 = af_1 + bf_2, \ \ g_2 = cf_1 + df_2\] such that $ad-bc \neq 0$, i.e., $g_1, g_2$ are given by applying an invertible linear transformation to $f_1, f_2$. Then if $h \in \mathbb{F}_{p^2}[X]$ divides $f_1$ and $f_2$, it must divide $g_1, g_2$. As the linear transformation is invertible, by swapping the roles of $f_i$ and $g_i$ we show that if $h \in \mathbb{F}_{p^2}[X]$ divides $g_1, g_2$, it must divide $f_1, f_2$. Therefore, \[\gcd(f_1, f_2) = \gcd(g_1, g_2).\] This means that if we can find some invertible linear transformation that sends $f, \pi(f)$ to related polynomials, say $g_1, g_2$ defined over $\mathbb{F}_p$, then we will have \(\gcd(f, \pi(f)) = \gcd(g_1, g_2),\) and will only have to compute the $\gcd$ in $\mathbb{F}_p$. To find this linear transformation, consider $\beta$ such that $\mathbb{F}_{p^2} = \mathbb{F}_{p}(\beta)$ (i.e. $\beta$ is a primitive element of the extension $\mathbb{F}_{p^2}/\mathbb{F}_p$), and define \[g_1 = f + \pi(f) \ \ \text{ and } \ \ g_2 = \beta(f - \pi(f)).\] Then, the linear transformation is invertible and $g_1, g_2 \in \mathbb{F}_{p}[X]$. Note that the second statement is clear in the $d=2$ case, but for $d&gt;2$ we need Theorem 2.24 in 3 to easily show the resulting polynomials are defined over the base field. Concluding, we have \[\gcd(f, \pi(f)) = \gcd(f + \pi(f), \beta(f - \pi(f)),\] which will give us the largest divisor of $f$ defined over $\mathbb{F}_p$. We reiterate that, in our setting, this reveals with overwhleming probability whether $f$ has a root in $\mathbb{F}_p$. Choosing the set of optimal $\ell$’s Though the inspection of the neighbours of $j_c$ in the $\ell$-isogeny graph increases the total number of $\mathbb{F}_p$ multiplications at each step, more nodes are checked. We therefore choose the list of $\ell$’s to minimise the number of $\mathbb{F}_p$ multiplications per node inspected. To do this, we first determine the cost per node inspected of taking a step in the $2$-isogeny graph, as described above. Denote this cost by $\text{cost}_2$. We then determine a list of $\ell &gt; 2$ such that inspecting the $\ell$-isogeny graph (using the fast subfield root detection) has a lower cost per node inspected than $\text{cost}_2$. Once we have this list of $\ell$’s, we find the subset of this list which minimises the total cost of each step, calculated as: \[\text{cost} = \frac{\text{total # of } \mathbb{F}_p \text{ multiplications}}{\text{total # of nodes revealed}}.\] This subset will be the list of optimal $\ell$’s used in SuperSolver. Calculating $\text{cost}_2$ depends only on the prime $p$, and the cost of inspecting the $\ell$-isogeny graph depends only on $\ell$. Therefore, this set of optimal $\ell$’s can be determined in the precomputation. We also note here that we can view Solver as a special instance of SuperSolver where the set of $\ell&gt;2$ used is empty. In this way, we see that, in terms of the path length of Step 1, SuperSolver will never be outperformed by Solver: in SuperSolver either there exists an $\ell &gt; 2$ that finds a subfield node first or the random walk in the $2$-isogeny graph finds the subfield node at the same step it would have been found in Solver. To see exactly how SuperSolver works in comparison to Solver, have a look at the worked example in Section 6 of the paper. Solver vs. SuperSolver I’ll now summarise the results of our experiments in Section 7 of the paper. These experiments focused solely on the search for subfield nodes in Step 1 and showed the following: By conducting experiments on small primes and many $j$-invaraints, we see that SuperSolver finds a subfield node with much fewer (on average, half) $\mathbb{F}_{p}$ multiplications and by visiting less nodes. For example, averaging over 5000 pseudo-random supersingular $j$-invarants in $\mathbb{F}_{p^2}$, for $p = 2^{24}-3$, SuperSolver (with the set of optimal $\ell$’s) used 53900 $\mathbb{F}_{p}$ multiplications and walked on 318 nodes. In comparison, Solver used 112878 $\mathbb{F}_{p}$ multiplications and walked on 1897 nodes. We also conducted experiments on large, cryptographic sized primes and one $j$-invariant, running SuperSolver and Solver until the number of $\mathbb{F}_{p}$ multiplications used exceeded $10^8$. We recorded the total number of nodes covered, i.e., both walked and inspected nodes. In these experiments we see how the advantage of SuperSolver grows as $p$ grows. For $p=2^{50}-27$, SuperSolver covers between 3 and 4 times the number of nodes that Solver does. For the largest prime tested, $p=2^{800}-105$, SuperSolver covers between 18 and 19 times the number of nodes! New Concrete Security Our Solver and SuperSolver algorithms are written in Sage and Python and can be found here. By conducting experiments (as above) using our SuperSolver suite, it’s straightforward to obtain precise estimates on the concrete classical security offered by the general supersingular isogeny problem. Indeed, from these experiments, we can obtain accurate counts on the expected number of $\mathbb{F}_p$ multiplications, squarings and additions that must be carried out during a full cryptanalytic attack. These $\mathbb{F}_p$ operations can then be costed with respect to the appropriate metric, for example, bit operations, cycle counts, gate counts, or circuit depth. Bringing it all together The Delfs-Galbraith algorithm can be used to attack and supersingular isogeny based cryptosystem, so what does this mean for isogeny-based cryptography? There is no direct impact on SIDH and SIKE. There are much faster claw-finding algorithms 4 for solving the special problems that arise in these schemes. This paper does influence the classical bit security of other proposals, such as B-SIDH 5 and SQISign 6 which have Delfs-Galbraith as their best attack. We stress that the asymptotic complexity of this algorithm has not changed. However, we give significant improvements on its concrete complexity, helping us to better understand the security of the fundamental problem underlying isogeny-based cryptography. References Delfs, C., &amp; Galbraith, S. D. (2016). Computing isogenies between supersingular elliptic curves over ${\mathbb {F}}_p$. Designs, Codes and Cryptography, 78(2), 425-440. &#8617; Scott, M. (2020). A note on the calculation of some functions in finite fields: Tricks of the Trade. IACR Cryptol. ePrint Arch., 2020, 1497. &#8617; Lidl, R., &amp; Niederreiter, H. (1997). Finite fields (No. 20). Cambridge University Press. &#8617; Jao, D., &amp; De Feo, L. (2011, November). Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. In International Workshop on Post-Quantum Cryptography (pp. 19-34). Springer, Berlin, Heidelberg. &#8617; Costello, C. (2020, December). B-SIDH: supersingular isogeny Diffie-Hellman using twisted torsion. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 440-463). Springer, Cham. &#8617; De Feo, L., Kohel, D., Leroux, A., Petit, C., &amp; Wesolowski, B. (2020, December). SQISign: compact post-quantum signatures from quaternions and isogenies. In International Conference on the Theory and Application of Cryptology and Information Security (pp. 64-93). Springer, Cham. &#8617;]]></summary></entry><entry><title type="html">Trusted Setup with Isogenies</title><link href="https://www.mariascrs.com/2021/01/23/Trusted-Setup.html" rel="alternate" type="text/html" title="Trusted Setup with Isogenies" /><published>2021-01-23T00:00:00+00:00</published><updated>2021-01-23T00:00:00+00:00</updated><id>https://www.mariascrs.com/2021/01/23/Trusted-Setup</id><content type="html" xml:base="https://www.mariascrs.com/2021/01/23/Trusted-Setup.html"><![CDATA[<p>Trusted parties are fundamental in setting up secure communication among parties. For instance, a trusted setup is needed when establishing a trusted relationship between users and certain public information in a public-key infrastructure (PKI) for public-key encryption and signature schemes.</p>

<p>The risk with placing trust on a third party can be seen when they misbehave, causing the security of the scheme to be compromised. For example, if the trusted certificate authority of a PKI is corrupted and issues certificates for users without verifying their identities, there is no longer a guarantee on the privacy and authenticity of the communication.</p>

<h2 id="supersingular-isogeny-graph">Supersingular Isogeny Graph</h2>

<p>Before discussing trusted setups in isogeny-based cryptography, we will take a slight detour and talk about the supersingular isogeny graph. For a more in depth discussion on isogenies for cryptography see my previous blogpost <a href="https://mariascrs.github.io/2020/11/06/isogenies-for-crypto.html">here</a>.</p>

<p>Let $p$ be prime and consider supersingular elliptic curves defined over $\mathbb{F}_{p^2}$ (up to $\mathbb{F}_{p^2}$-isomorphism). For any prime $l \neq p$, we can construct an $l$-isogeny graph, where:</p>

<ul>
  <li>each vertex is associated to the $j$-invariant of a supersingular elliptic curve. We note that supersingular curves have the same $j$-invariant <strong>if and only if</strong> they are $\mathbb{F}_{p^2}$-isomorphic. Therefore, each vertex actually represents all $\mathbb{F}_{p^2}$-isomorphic supersingular curves with this $j$-invariant.</li>
  <li>we have an edge between two vertices $j, j’$ if there is a degree $l$ isogeny $\phi: E \rightarrow E’$ where $E, E’$ have corresponding invariants $j, j’$.</li>
</ul>

<p>We note that due to the existence of a dual isogeny $\hat{\phi}: E’ \rightarrow E$, the graph is undirected. This graph has a variety of properties that make it good for use in cryptography:</p>

<ul>
  <li>we can walk efficiently on these graphs;</li>
  <li>the graph has fast mixing, which intuitively means that there is a <em>short</em> path to <em>almost</em> all nodes;</li>
  <li>given the end point of a path on the graph, there is no known classical or quantum efficient algorithm to recover this path;</li>
  <li>we can navigate the graphs as they have enough structure.</li>
</ul>

<p>In fact, letting $p = l_A^{e_A}l_B^{e_B}\cdot f \pm 1$ as in my <a href="https://mariascrs.github.io/2020/12/04/sidh.html">previous blogpost</a> on SIDH, this key exchange can be rephrased as Alice and Bob constructing paths from $e_A$ and $e_B$ edges on the supersingular $l_A$- and $l_B$-isogeny graph, respectively.</p>

<p>If this seems very abstract, click <a href="https://isogenies.enricflorit.com/visualizations/index.html">here</a> to see some wonderful visualisations of this graph and how it’s used in the SIDH key exchange, created by Enric Florit and Gerard Finol.</p>

<h2 id="the-need-for-a-trusted-setup">The Need for a Trusted Setup</h2>

<p>In many isogeny-based protocols, the setup involves generating a supersingular elliptic curve whose endomorphism ring is unknown. Currently, the only way this can be done is by using a trusted third party that performs a random walk on the isogeny graph from a base curve and then forgets it.</p>

<p>The need for this trusted setup has been highlighted by the following two constructions:</p>

<ul>
  <li>
    <p>De Feo, Masson, Petit and Sanso’s Verifiable Delay Function from supersingular isogenies and pairings in <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>.</p>
  </li>
  <li>
    <p>A new primitive called ‘Delay Encryption’ introduced by Burdges and De Feo in <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>.</p>
  </li>
</ul>

<p>Though this is not ideal we must note that protocols with trusted setups have seen practical applications. Indeed, Ethereum is considering standardizing the verifiable delay function based on RSA, which needs a trusted setup.</p>

<h3 id="removing-trusted-setup">Removing Trusted Setup</h3>

<p>Removing the trusted setup in isogeny-based cryptography schemes is an active area of research and can be achieved by finding a way to ‘hash’ into a supersingular isogeny graph without revealing a path to a known base curve. This later condition is needed as it has been shown that knowing the path on the isogeny graph allows us to compute the endomorphism ring of the supersingular elliptic curve in polynomial time <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup> <sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup>.</p>

<p>Charles, Goren and Lauter (CGL) introduced a hash function <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">5</a></sup> that can be used to hash any string into the supersingular isogeny graph. However, by contruction, this hash function leaks the isogeny path from a base elliptic curve and so cannot be used to remove the trusted setup.</p>

<p>Besides the CGL approach, an efficient algorithm used to construct elliptic curves for cryptographic schemes is the complex-multiplication (CM) method (see for example <a href="https://crypto.stanford.edu/pbc/notes/ep/cm.html">this website</a>). It is natural to ask whether this can instead be used to hash into the supersingular isogeny graph. In ‘Rational Isogenies from Irrational Endomorphisms’, however, Castryck, Panny and Vercauteren show it can’t by proving curves constructed using the CM method can be located in the graph in a “suprisingly explicit manner” <sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">6</a></sup>. In addition, Love and Boneh ruled another class of supersingular elliptic curves as “reasonable candidates” for constructing such a hash function (namely, <em>roots of low-degree Hilbert class polynomials</em>) <sup id="fnref:7" role="doc-noteref"><a href="#fn:7" class="footnote" rel="footnote">7</a></sup>.</p>

<p>Though hashing to a supersingular curve directly is preferable, another way to remove the trusted setup is by doing distributed parameter generation, as described in the paper ‘Delay Encryption’ <sup id="fnref:2:1" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>. The proposed setup is secure if at least one participant is honest and is updateable. However, the computation scales linearly with the number of participants.</p>

<h2 id="conclusion">Conclusion</h2>

<p>Currently, finding a way to hash into the supersingular isogeny graph without leaking the path taken is an open problem and so trusted setups are still needed. There is currently no reason to believe that removing this trusted setup is not possible, but one thing is certain: any advances in this area of research would be pivotal and allow many interesting schemes to be built from isogeny-based cryptography.</p>

<h2 id="references-and-further-reading">References and Further Reading</h2>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Luca De Feo, Simon Masson, Christophe Petit and Antonio Sanso. “Verifiable delay functions from supersingular isogenies and pairings.” In International Conference on the Theory and Application of Cryptology and Information Security, pp. 248-277. Springer, Cham, 2019. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>Jeffrey Burdges and Luca De Feo. “Delay encryption.” Cryptology ePrint Archive, Report 2020/638, 2020. https://eprint. iacr. org/2020/638. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:2:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>David Kohel, Kristin Lauter, Christophe Petit, and Jean-Pierre Tignol. “On the quaternion $\ell$-isogeny path problem.” LMS Journal of Computation and Mathematics 17, no. A (2014): 418-432. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:4" role="doc-endnote">
      <p>Kirsten Eisenträger, Sean Hallgren, Kristin Lauter, Travis Morrison and Christophe Petit. “Supersingular isogeny graphs and endomorphism rings: reductions and solutions.” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 329-368. Springer, Cham, 2018. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:5" role="doc-endnote">
      <p>Denis X. Charles, Kristin E. Lauter and Eyal Z. Goren. “Cryptographic hash functions from expander graphs.” Journal of CRYPTOLOGY 22, no. 1 (2009): 93-113. <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:6" role="doc-endnote">
      <p>Wouter Castryck, Lorenz Panny, and Frederik Vercauteren. “Rational isogenies from irrational endomorphisms.” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 523-548. Springer, Cham, 2020. <a href="#fnref:6" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:7" role="doc-endnote">
      <p>Jonathan Love and Dan Boneh. “Supersingular curves with small noninteger endomorphisms.” Open Book Series 4, no. 1 (2020): 7-22. <a href="#fnref:7" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="cryptography" /><category term="post-quantum" /><summary type="html"><![CDATA[Trusted parties are fundamental in setting up secure communication among parties. For instance, a trusted setup is needed when establishing a trusted relationship between users and certain public information in a public-key infrastructure (PKI) for public-key encryption and signature schemes. The risk with placing trust on a third party can be seen when they misbehave, causing the security of the scheme to be compromised. For example, if the trusted certificate authority of a PKI is corrupted and issues certificates for users without verifying their identities, there is no longer a guarantee on the privacy and authenticity of the communication. Supersingular Isogeny Graph Before discussing trusted setups in isogeny-based cryptography, we will take a slight detour and talk about the supersingular isogeny graph. For a more in depth discussion on isogenies for cryptography see my previous blogpost here. Let $p$ be prime and consider supersingular elliptic curves defined over $\mathbb{F}_{p^2}$ (up to $\mathbb{F}_{p^2}$-isomorphism). For any prime $l \neq p$, we can construct an $l$-isogeny graph, where: each vertex is associated to the $j$-invariant of a supersingular elliptic curve. We note that supersingular curves have the same $j$-invariant if and only if they are $\mathbb{F}_{p^2}$-isomorphic. Therefore, each vertex actually represents all $\mathbb{F}_{p^2}$-isomorphic supersingular curves with this $j$-invariant. we have an edge between two vertices $j, j’$ if there is a degree $l$ isogeny $\phi: E \rightarrow E’$ where $E, E’$ have corresponding invariants $j, j’$. We note that due to the existence of a dual isogeny $\hat{\phi}: E’ \rightarrow E$, the graph is undirected. This graph has a variety of properties that make it good for use in cryptography: we can walk efficiently on these graphs; the graph has fast mixing, which intuitively means that there is a short path to almost all nodes; given the end point of a path on the graph, there is no known classical or quantum efficient algorithm to recover this path; we can navigate the graphs as they have enough structure. In fact, letting $p = l_A^{e_A}l_B^{e_B}\cdot f \pm 1$ as in my previous blogpost on SIDH, this key exchange can be rephrased as Alice and Bob constructing paths from $e_A$ and $e_B$ edges on the supersingular $l_A$- and $l_B$-isogeny graph, respectively. If this seems very abstract, click here to see some wonderful visualisations of this graph and how it’s used in the SIDH key exchange, created by Enric Florit and Gerard Finol. The Need for a Trusted Setup In many isogeny-based protocols, the setup involves generating a supersingular elliptic curve whose endomorphism ring is unknown. Currently, the only way this can be done is by using a trusted third party that performs a random walk on the isogeny graph from a base curve and then forgets it. The need for this trusted setup has been highlighted by the following two constructions: De Feo, Masson, Petit and Sanso’s Verifiable Delay Function from supersingular isogenies and pairings in 1. A new primitive called ‘Delay Encryption’ introduced by Burdges and De Feo in 2. Though this is not ideal we must note that protocols with trusted setups have seen practical applications. Indeed, Ethereum is considering standardizing the verifiable delay function based on RSA, which needs a trusted setup. Removing Trusted Setup Removing the trusted setup in isogeny-based cryptography schemes is an active area of research and can be achieved by finding a way to ‘hash’ into a supersingular isogeny graph without revealing a path to a known base curve. This later condition is needed as it has been shown that knowing the path on the isogeny graph allows us to compute the endomorphism ring of the supersingular elliptic curve in polynomial time 3 4. Charles, Goren and Lauter (CGL) introduced a hash function 5 that can be used to hash any string into the supersingular isogeny graph. However, by contruction, this hash function leaks the isogeny path from a base elliptic curve and so cannot be used to remove the trusted setup. Besides the CGL approach, an efficient algorithm used to construct elliptic curves for cryptographic schemes is the complex-multiplication (CM) method (see for example this website). It is natural to ask whether this can instead be used to hash into the supersingular isogeny graph. In ‘Rational Isogenies from Irrational Endomorphisms’, however, Castryck, Panny and Vercauteren show it can’t by proving curves constructed using the CM method can be located in the graph in a “suprisingly explicit manner” 6. In addition, Love and Boneh ruled another class of supersingular elliptic curves as “reasonable candidates” for constructing such a hash function (namely, roots of low-degree Hilbert class polynomials) 7. Though hashing to a supersingular curve directly is preferable, another way to remove the trusted setup is by doing distributed parameter generation, as described in the paper ‘Delay Encryption’ 2. The proposed setup is secure if at least one participant is honest and is updateable. However, the computation scales linearly with the number of participants. Conclusion Currently, finding a way to hash into the supersingular isogeny graph without leaking the path taken is an open problem and so trusted setups are still needed. There is currently no reason to believe that removing this trusted setup is not possible, but one thing is certain: any advances in this area of research would be pivotal and allow many interesting schemes to be built from isogeny-based cryptography. References and Further Reading Luca De Feo, Simon Masson, Christophe Petit and Antonio Sanso. “Verifiable delay functions from supersingular isogenies and pairings.” In International Conference on the Theory and Application of Cryptology and Information Security, pp. 248-277. Springer, Cham, 2019. &#8617; Jeffrey Burdges and Luca De Feo. “Delay encryption.” Cryptology ePrint Archive, Report 2020/638, 2020. https://eprint. iacr. org/2020/638. &#8617; &#8617;2 David Kohel, Kristin Lauter, Christophe Petit, and Jean-Pierre Tignol. “On the quaternion $\ell$-isogeny path problem.” LMS Journal of Computation and Mathematics 17, no. A (2014): 418-432. &#8617; Kirsten Eisenträger, Sean Hallgren, Kristin Lauter, Travis Morrison and Christophe Petit. “Supersingular isogeny graphs and endomorphism rings: reductions and solutions.” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 329-368. Springer, Cham, 2018. &#8617; Denis X. Charles, Kristin E. Lauter and Eyal Z. Goren. “Cryptographic hash functions from expander graphs.” Journal of CRYPTOLOGY 22, no. 1 (2009): 93-113. &#8617; Wouter Castryck, Lorenz Panny, and Frederik Vercauteren. “Rational isogenies from irrational endomorphisms.” In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 523-548. Springer, Cham, 2020. &#8617; Jonathan Love and Dan Boneh. “Supersingular curves with small noninteger endomorphisms.” Open Book Series 4, no. 1 (2020): 7-22. &#8617;]]></summary></entry><entry><title type="html">Pseudorandom Functions from Isogenies</title><link href="https://www.mariascrs.com/2021/01/05/PRFs.html" rel="alternate" type="text/html" title="Pseudorandom Functions from Isogenies" /><published>2021-01-05T00:00:00+00:00</published><updated>2021-01-05T00:00:00+00:00</updated><id>https://www.mariascrs.com/2021/01/05/PRFs</id><content type="html" xml:base="https://www.mariascrs.com/2021/01/05/PRFs.html"><![CDATA[<p>In this blogpost we will assume knowledge of CSIDH  (see <a href="https://mariascrs.github.io/2020/12/23/CSIDH.html">previous blogpost</a>). Basic knowledge of pseudorandom functions will be useful.</p>

<h2 id="what-is-a-pseudorandom-function">What is a Pseudorandom Function?</h2>

<p>Intuitively, a pseudorandom function (PRF) is a function that “looks like” a random function. We now define it more formally.</p>

<p>Firstly, we let $F: ${$0,1$}$^* \times ${$0,1$}$^* \rightarrow ${$0,1$}$^*$. We then define $F_k(x) = F(k,x)$, and the first input is called the key. For simplicitly of notation we assume $F$ is length preserving, meaning that F(k, x) is only defined if $\vert k \vert = \vert x \vert$, in which case $\vert F(k, x) \vert = \vert k \vert = \vert x \vert$. It is important to note that choosing a uniform $k \in ${$0,1$}$^n$ is equivalent to choosing the function $F_k: ${$0,1$}$^n \rightarrow ${$0,1$}$^n$.</p>

<p>Let $\text{Func}_n$ be the set of all functions mapping {$0,1$}$^n$ to {$0,1$}$^n$.</p>

<p><strong>Definition:</strong> $F = ${$F_k$} is a <em>pseudorandom function</em> if $F_k$, for uniform key $k \in ${$0,1$}$^n$ is indistinguishable from a uniform function $f \in \text{Func}_n$</p>

<p>Formally, $F$ is a <em>pseudorandom function</em> if, for all polynomial time $\mathcal{D}$</p>

\[\vert \mathbb{P}_{f \leftarrow \{0,1\}^n}[\mathcal{D}^{F_k}=1] - \mathbb{P}_{f \leftarrow \text{Func}_n}[\mathcal{D}^{f(\cdot)}=1] \vert &lt; \epsilon(n)\]

<p>where $\epsilon$ is a negligible function. Here $\mathcal{D}^{F_k}$ means $\mathcal{D}$ is given ‘oracle access’ to $F_k$ where $k$ is chosen uniformly. This means that $\mathcal{D}$ is allowed to give inputs to the fucntion and get back the corresponding outputs. $\mathcal{D}$ cannot, however, look ‘inside’ the funtion and cannot see anything about the value $k$ being used, apart from what it learns from the inputs and outputs it sees. We define $\mathcal{D}^{f(\cdot)}$ similarly.</p>

<p>We also want this function family to be efficiently computable, meaning that given $k$ and $x$, $F_k(x)$ can be evaluated efficietly.</p>

<h2 id="application-of-prfs">Application of PRFs</h2>

<p>PRFs can be used for encryption. Indeed, let $F_k$ be a PRF where $k$ is the private key and let $r$ be random string in the domain of $F_k$. For a message $m$, we define the ciphertext to be $(F_k(r) \oplus m, r)$. If {$F_k$} is a pseudorandom function family then this encryption scheme is semantically secure, meaning that if an adversary is allowed to choose between two plaintexts $m_0$ and $m_1$, and they receive an encryption of either plaintext, they cannot guess if it was $m_0$ or $m_1$ with probability better than $1/2$.</p>

<p>Other applications include key-exchange and message authentication codes (let $\text{MAC}_k(m) = F_k(m)$).</p>

<h2 id="naor-reingold-prf">Naor-Reingold PRF</h2>

<p>In 1997, Naor and Reingold construsted a family of pseudorandom functions [1], which take as input {$0, 1$}$^n$ (for some parameter $n$) and output an element in a multiplicative group $\mathbb{G}$ of prime order $l$, generated by $g \in \mathcal{G}$.</p>

<p>The construction is as follows.</p>

<p>Set the secret key to be the vector $\textbf{a} = (a_1, \dots, a_n) \in ((\mathbb{Z}/l\mathbb{Z})^*)^n$. The Naor-Reingold function $F_{\textbf{a}}:${$0,1$}$^n \rightarrow \mathbb{G}$ is defined by</p>

\[F_{\textbf{a}}(x_1, \dots, x_n) = g^{\prod_{i=1}^n a_i^{x_i} \mod l}\]

<p>This defines a family of functions {$F_{\textbf{a}}$}.</p>

<p>To lighten notation we often use an integer $x \in ${$0, 1, \dots, 2^n - 1$}, which implicitly defines $(x_1, \dots, x_n) \in ${$0, 1$}$^n$, the bit representation of $x$ with extra leading zeros if necessary.</p>

<h3 id="security">Security</h3>

<p>Naor and Reingold showed this function is a pseudorandom function assuming the hardness of the Decisional Diffie-Hellman (DDH) problem. This assumption states that given a cyclic group $\mathbb{G} = \langle g \rangle$ and elements $g$, $g^x$ and $g^y$, no efficient algorithm can distinguish between $g^{xy}$ and an element picked uniformly at random in $\mathbb{G}$. This assumption has been used in proving the security of other cryptographic schemes, such as the ElGamal encryption scheme <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">1</a></sup>.</p>

<h3 id="efficiency">Efficiency</h3>

<p>The evaluation of $F_{\textbf{a}}$ consists of <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">2</a></sup>:</p>
<ul>
  <li>$n$ modular multiplications in $\mathbb{Z}/l\mathbb{Z}$, from calculating $\prod_{i=1}^n a_i^{x_i} \mod l$ in the exponent;</li>
  <li>1 modular exponentiation in $\mathbb{G}$, from calculating $g^P$ where $P = \prod_{i=1}^n a_i^{x_i} \mod l$.</li>
</ul>

<p>These can be efficiently calculated, and therefore the evaluation of $F_{\textbf{a}}$ is efficient for all $\textbf{a} \in ((\mathbb{Z}/l\mathbb{Z})^*)$.</p>

<h2 id="prfs-from-isogenies">PRFs from Isogenies</h2>

<p>At Asiacrypt 2020 there were three papers that proposed PRFs using isogeny-based cryptography, which are conjecturally post-quantum:</p>

<ul>
  <li>‘Cryptographic Group Actions and Applications’ by Alamati, De Feo, Montgomery and Patranabis. <sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">3</a></sup></li>
  <li>‘Oblivious Pseudorandom Functions from Isogenies’ by Boneh, Kogan and Woo. <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">4</a></sup></li>
  <li>‘SiGamal: A supersingular isogeny-based PKE and its application to a PRF’ by Moriya, Onuki and Takagi. <sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">5</a></sup></li>
</ul>

<p>Here we will present the construction by Boneh, Kogan and Woo.</p>

<p>We recall the definition of a group action: $G$ acts on a set $S$ is there is a map $\star: G \times S \rightarrow S$ such that for all $s \in S$ and $g, h \in G$, we have:</p>
<ul>
  <li>$g \star (h \star s)) =(gh) \star s$</li>
  <li>$1 \star s = s$, where 1 is the identity in $G$.</li>
</ul>

<p>We say $\star$ is <em>transitive</em> if, for all $s, s’ \in S$, there exists $g \in G$ such that $g \star s = s’$.</p>

<p>We say $\star$ is <em>faithful</em> if $g \star s = s$ if and only if $g = 1$.</p>

<p>Boneh, Kogan and Woo showed how to build a Naor-Reingold-like PRF using group actions. Let $G$ be an abelian finite group that acts on $S$ transitively and faithfully. Let $s_0 \in S$ be a fixed element. Then, we define $F_k$, where $k = (k_0, \dots, k_n)$ is our secret key, with input space is {$0, 1$}$^n$ as:</p>

\[F_k(x_1, \dots, x_n) = (k_0k_1^{x_1}k_2^{x_2}\cdots k_n^{x_n}) \star s_0\]

<p>This construction defines a secure PRF provided that the group-action variant of the DDH assumption holds in $G$. Namely, with $G$, $S$ as above and $s \in S$, if $a, b, c$ are sampled randomly from $G$ then the following two tuples are computationally indistinguishable:</p>
<ul>
  <li>$(a \star s,  b \star s, (ab) \star s)$</li>
  <li>$(a \star s,  b \star s, c \star s)$</li>
</ul>

<p>We can then instantiate this using isogenies via the CSIDH group action <sup id="fnref:7" role="doc-noteref"><a href="#fn:7" class="footnote" rel="footnote">6</a></sup>. More precisely, let $p = 4l_1 \cdots l_n - 1$ be prime with $l_i$ small distinct odd primes and $p \cong 3 \mod 8$. Fix a supersingular elliptic curve $E_0: y^2 = x^3 + x$ over $\mathbb{F}_p$. This will be our fixed element ‘$s_0$’. Let End$_{\mathbb{F}_p}(E_0)$ be the $\mathbb{F}_p$-rational endomorphisms of $E_0$. We will denote this as $\mathcal{O}$. Then the class group $Cl(\mathcal{O})$ is a finite abelian group that acts transitively and faithfully on $S$, the set of supersingular elliptic curves over $\mathbb{F}_p$.</p>

<p>We will set our key ‘$k$’ to be $([\mathfrak{a}_0], …, [\mathfrak{a}_n])$, for $[\mathfrak{a}_i] \in Cl(\mathcal{O})$. We, therefore, have</p>

\[F_k(x_1, ..., x_n) = j([\mathfrak{a}_n]^{x_n}\cdots [\mathfrak{a}_1]^{x_1} [\mathfrak{a}_0] \cdot E_0)\]

<p>where $j(\cdot)$ means we are taking the $j$-invariant of the resulting elliptic curve.</p>

<p>Assuming that the Group-Action DDH is hard in the CSIDH setting, this construction gives us a PRF.</p>

<p>Boneh, Kogan and Woo use this PRF to build an oblivious pseudorandom function, which informally means that information is concealed from two parties involved in a PRF.</p>

<p>Alamati, De Feo, Montgomery and Patranabis <sup id="fnref:4:1" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">3</a></sup> explore other cryptographic primitives that can be built from group actions, whilst Moriya, Onuki and Takagi <sup id="fnref:6:1" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">5</a></sup> implement and evaluate their constriction based on the supersingular isogeny-based PKE called SiGamal, a variant of CSIDH.</p>

<h2 id="references">References</h2>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:2" role="doc-endnote">
      <p>“A public key cryptosystem and a signature scheme based on discrete logarithms” by Taher ElGamal. IEEE transactions on information theory (1985). <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>“Pseudo-random generators and pseudo-random functions: cryptanalysis and complexity measures” by Thierry Mefenza Nountu. (2017). <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:4" role="doc-endnote">
      <p>“Cryptographic Group Actions and Applications” by Navid Alamati, Luca De Feo, Hart Montgomery, and Sikhar Patranabis. International Conference on the Theory and Application of Cryptology and Information Security (2020). <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:4:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p>
    </li>
    <li id="fn:5" role="doc-endnote">
      <p>“Oblivious Pseudorandom Functions from Isogenies” by Dan Boneh, Dmitry Kogan, and Katharine Woo. International Conference on the Theory and Application of Cryptology and Information Security (2020). <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:6" role="doc-endnote">
      <p>“SiGamal: A supersingular isogeny-based PKE and its application to a PRF” by Tomoki Moriya, Hiroshi Onuki, and Tsuyoshi Takagi. International Conference on the Theory and Application of Cryptology and Information Security (2020). <a href="#fnref:6" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:6:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p>
    </li>
    <li id="fn:7" role="doc-endnote">
      <p>“CSIDH: an efficient post-quantum commutative group action” by Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny, and Joost Renes. International Conference on the Theory and Application of Cryptology and Information Security (2018). <a href="#fnref:7" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="cryptography" /><category term="post-quantum" /><category term="asiacrypt" /><category term="pseudorandom" /><category term="function" /><summary type="html"><![CDATA[In this blogpost we will assume knowledge of CSIDH (see previous blogpost). Basic knowledge of pseudorandom functions will be useful. What is a Pseudorandom Function? Intuitively, a pseudorandom function (PRF) is a function that “looks like” a random function. We now define it more formally. Firstly, we let $F: ${$0,1$}$^* \times ${$0,1$}$^* \rightarrow ${$0,1$}$^*$. We then define $F_k(x) = F(k,x)$, and the first input is called the key. For simplicitly of notation we assume $F$ is length preserving, meaning that F(k, x) is only defined if $\vert k \vert = \vert x \vert$, in which case $\vert F(k, x) \vert = \vert k \vert = \vert x \vert$. It is important to note that choosing a uniform $k \in ${$0,1$}$^n$ is equivalent to choosing the function $F_k: ${$0,1$}$^n \rightarrow ${$0,1$}$^n$. Let $\text{Func}_n$ be the set of all functions mapping {$0,1$}$^n$ to {$0,1$}$^n$. Definition: $F = ${$F_k$} is a pseudorandom function if $F_k$, for uniform key $k \in ${$0,1$}$^n$ is indistinguishable from a uniform function $f \in \text{Func}_n$ Formally, $F$ is a pseudorandom function if, for all polynomial time $\mathcal{D}$ \[\vert \mathbb{P}_{f \leftarrow \{0,1\}^n}[\mathcal{D}^{F_k}=1] - \mathbb{P}_{f \leftarrow \text{Func}_n}[\mathcal{D}^{f(\cdot)}=1] \vert &lt; \epsilon(n)\] where $\epsilon$ is a negligible function. Here $\mathcal{D}^{F_k}$ means $\mathcal{D}$ is given ‘oracle access’ to $F_k$ where $k$ is chosen uniformly. This means that $\mathcal{D}$ is allowed to give inputs to the fucntion and get back the corresponding outputs. $\mathcal{D}$ cannot, however, look ‘inside’ the funtion and cannot see anything about the value $k$ being used, apart from what it learns from the inputs and outputs it sees. We define $\mathcal{D}^{f(\cdot)}$ similarly. We also want this function family to be efficiently computable, meaning that given $k$ and $x$, $F_k(x)$ can be evaluated efficietly. Application of PRFs PRFs can be used for encryption. Indeed, let $F_k$ be a PRF where $k$ is the private key and let $r$ be random string in the domain of $F_k$. For a message $m$, we define the ciphertext to be $(F_k(r) \oplus m, r)$. If {$F_k$} is a pseudorandom function family then this encryption scheme is semantically secure, meaning that if an adversary is allowed to choose between two plaintexts $m_0$ and $m_1$, and they receive an encryption of either plaintext, they cannot guess if it was $m_0$ or $m_1$ with probability better than $1/2$. Other applications include key-exchange and message authentication codes (let $\text{MAC}_k(m) = F_k(m)$). Naor-Reingold PRF In 1997, Naor and Reingold construsted a family of pseudorandom functions [1], which take as input {$0, 1$}$^n$ (for some parameter $n$) and output an element in a multiplicative group $\mathbb{G}$ of prime order $l$, generated by $g \in \mathcal{G}$. The construction is as follows. Set the secret key to be the vector $\textbf{a} = (a_1, \dots, a_n) \in ((\mathbb{Z}/l\mathbb{Z})^*)^n$. The Naor-Reingold function $F_{\textbf{a}}:${$0,1$}$^n \rightarrow \mathbb{G}$ is defined by \[F_{\textbf{a}}(x_1, \dots, x_n) = g^{\prod_{i=1}^n a_i^{x_i} \mod l}\] This defines a family of functions {$F_{\textbf{a}}$}. To lighten notation we often use an integer $x \in ${$0, 1, \dots, 2^n - 1$}, which implicitly defines $(x_1, \dots, x_n) \in ${$0, 1$}$^n$, the bit representation of $x$ with extra leading zeros if necessary. Security Naor and Reingold showed this function is a pseudorandom function assuming the hardness of the Decisional Diffie-Hellman (DDH) problem. This assumption states that given a cyclic group $\mathbb{G} = \langle g \rangle$ and elements $g$, $g^x$ and $g^y$, no efficient algorithm can distinguish between $g^{xy}$ and an element picked uniformly at random in $\mathbb{G}$. This assumption has been used in proving the security of other cryptographic schemes, such as the ElGamal encryption scheme 1. Efficiency The evaluation of $F_{\textbf{a}}$ consists of 2: $n$ modular multiplications in $\mathbb{Z}/l\mathbb{Z}$, from calculating $\prod_{i=1}^n a_i^{x_i} \mod l$ in the exponent; 1 modular exponentiation in $\mathbb{G}$, from calculating $g^P$ where $P = \prod_{i=1}^n a_i^{x_i} \mod l$. These can be efficiently calculated, and therefore the evaluation of $F_{\textbf{a}}$ is efficient for all $\textbf{a} \in ((\mathbb{Z}/l\mathbb{Z})^*)$. PRFs from Isogenies At Asiacrypt 2020 there were three papers that proposed PRFs using isogeny-based cryptography, which are conjecturally post-quantum: ‘Cryptographic Group Actions and Applications’ by Alamati, De Feo, Montgomery and Patranabis. 3 ‘Oblivious Pseudorandom Functions from Isogenies’ by Boneh, Kogan and Woo. 4 ‘SiGamal: A supersingular isogeny-based PKE and its application to a PRF’ by Moriya, Onuki and Takagi. 5 Here we will present the construction by Boneh, Kogan and Woo. We recall the definition of a group action: $G$ acts on a set $S$ is there is a map $\star: G \times S \rightarrow S$ such that for all $s \in S$ and $g, h \in G$, we have: $g \star (h \star s)) =(gh) \star s$ $1 \star s = s$, where 1 is the identity in $G$. We say $\star$ is transitive if, for all $s, s’ \in S$, there exists $g \in G$ such that $g \star s = s’$. We say $\star$ is faithful if $g \star s = s$ if and only if $g = 1$. Boneh, Kogan and Woo showed how to build a Naor-Reingold-like PRF using group actions. Let $G$ be an abelian finite group that acts on $S$ transitively and faithfully. Let $s_0 \in S$ be a fixed element. Then, we define $F_k$, where $k = (k_0, \dots, k_n)$ is our secret key, with input space is {$0, 1$}$^n$ as: \[F_k(x_1, \dots, x_n) = (k_0k_1^{x_1}k_2^{x_2}\cdots k_n^{x_n}) \star s_0\] This construction defines a secure PRF provided that the group-action variant of the DDH assumption holds in $G$. Namely, with $G$, $S$ as above and $s \in S$, if $a, b, c$ are sampled randomly from $G$ then the following two tuples are computationally indistinguishable: $(a \star s, b \star s, (ab) \star s)$ $(a \star s, b \star s, c \star s)$ We can then instantiate this using isogenies via the CSIDH group action 6. More precisely, let $p = 4l_1 \cdots l_n - 1$ be prime with $l_i$ small distinct odd primes and $p \cong 3 \mod 8$. Fix a supersingular elliptic curve $E_0: y^2 = x^3 + x$ over $\mathbb{F}_p$. This will be our fixed element ‘$s_0$’. Let End$_{\mathbb{F}_p}(E_0)$ be the $\mathbb{F}_p$-rational endomorphisms of $E_0$. We will denote this as $\mathcal{O}$. Then the class group $Cl(\mathcal{O})$ is a finite abelian group that acts transitively and faithfully on $S$, the set of supersingular elliptic curves over $\mathbb{F}_p$. We will set our key ‘$k$’ to be $([\mathfrak{a}_0], …, [\mathfrak{a}_n])$, for $[\mathfrak{a}_i] \in Cl(\mathcal{O})$. We, therefore, have \[F_k(x_1, ..., x_n) = j([\mathfrak{a}_n]^{x_n}\cdots [\mathfrak{a}_1]^{x_1} [\mathfrak{a}_0] \cdot E_0)\] where $j(\cdot)$ means we are taking the $j$-invariant of the resulting elliptic curve. Assuming that the Group-Action DDH is hard in the CSIDH setting, this construction gives us a PRF. Boneh, Kogan and Woo use this PRF to build an oblivious pseudorandom function, which informally means that information is concealed from two parties involved in a PRF. Alamati, De Feo, Montgomery and Patranabis 3 explore other cryptographic primitives that can be built from group actions, whilst Moriya, Onuki and Takagi 5 implement and evaluate their constriction based on the supersingular isogeny-based PKE called SiGamal, a variant of CSIDH. References “A public key cryptosystem and a signature scheme based on discrete logarithms” by Taher ElGamal. IEEE transactions on information theory (1985). &#8617; “Pseudo-random generators and pseudo-random functions: cryptanalysis and complexity measures” by Thierry Mefenza Nountu. (2017). &#8617; “Cryptographic Group Actions and Applications” by Navid Alamati, Luca De Feo, Hart Montgomery, and Sikhar Patranabis. International Conference on the Theory and Application of Cryptology and Information Security (2020). &#8617; &#8617;2 “Oblivious Pseudorandom Functions from Isogenies” by Dan Boneh, Dmitry Kogan, and Katharine Woo. International Conference on the Theory and Application of Cryptology and Information Security (2020). &#8617; “SiGamal: A supersingular isogeny-based PKE and its application to a PRF” by Tomoki Moriya, Hiroshi Onuki, and Tsuyoshi Takagi. International Conference on the Theory and Application of Cryptology and Information Security (2020). &#8617; &#8617;2 “CSIDH: an efficient post-quantum commutative group action” by Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny, and Joost Renes. International Conference on the Theory and Application of Cryptology and Information Security (2018). &#8617;]]></summary></entry><entry><title type="html">CSIDH</title><link href="https://www.mariascrs.com/2020/12/23/CSIDH.html" rel="alternate" type="text/html" title="CSIDH" /><published>2020-12-23T00:00:00+00:00</published><updated>2020-12-23T00:00:00+00:00</updated><id>https://www.mariascrs.com/2020/12/23/CSIDH</id><content type="html" xml:base="https://www.mariascrs.com/2020/12/23/CSIDH.html"><![CDATA[<p>For this blogpost we will assume knowledge of</p>

<ul>
  <li>
    <p>Preview blogpost on <a href="https://mariascrs.github.io/2020/11/06/isogenies-for-crypto.html">Isogenies for Cryptography</a></p>
  </li>
  <li>
    <p><em>Optional: Previous blogpost on <a href="https://mariascrs.github.io/2020/12/04/sidh.html">SIDH</a></em></p>
  </li>
</ul>

<p>We will also need a basic understanding of ideal class groups.</p>

<h2 id="ideal-class-groups">Ideal Class Groups</h2>

<p>We briefly introduce ideal class groups in the context needed for CSIDH. For a more general treatment and precise definition, the reader is encouraged to refer to ‘Primes of the form $x^2 + ny^2$: Fermat, Class Field Theory, and Complex Multiplication’ by Cox. We consider a supersingular curve $E$ over $\mathbb{F}_p$ with End($E$) having a subring $\mathcal{O} := \mathbb{Z}[\pi]$, where $\pi$ is the Frobenius endomorphism.</p>

<p>The <em>norm</em> of an $\mathcal{O}$-ideal $\mathfrak{a} \subseteq \mathcal{O}$ is defined as $N(\mathfrak{a}) = \mid \mathcal{O}/\mathfrak{a} \mid$ and is equal to gcd{$N(\alpha) \mid \alpha \in \mathfrak{a}$}. Norms are multiplicative, meaning $N(\mathfrak{a}\mathfrak{b}) = N(\mathfrak{a})N(\mathfrak{b})$.</p>

<p>A <em>fractional $\mathcal{O}$-ideal</em> is an $\mathcal{O}$-submodule of End($E$) of the form $\alpha \mathfrak{a}$, with $\alpha \in \text{End}(E)$ non-zero and $\mathfrak{a}$ an $\mathcal{O}$-ideal. A fractional $\mathcal{O}$-ideal $\mathfrak{a}$ is <em>invertible</em> if there exists a $\mathcal{O}$-fractional ideal $\mathfrak{b}$ such that $\mathfrak{a}\mathfrak{b} = \mathcal{O}$. All <em>principal fractional $\mathcal{O}$-ideals</em>, i.e. ideals of the form $\alpha \mathcal{O}$, are invertible. The sets of invertible fractional $\mathcal{O}$-ideals, $I(\mathcal{O})$, and principal fractional $\mathcal{O}$-ideals, $P(\mathcal{O})$, form groups. 
We can, therefore, define the <em>ideal class group</em> of $\mathcal{O}$ as the quotient</p>

\[cl(\mathcal{O}) := I(\mathcal{O})/P(\mathcal{O})\]

<h2 id="hard-homogenous-spaces">Hard Homogenous Spaces</h2>

<p>A hard homogeneous space <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> is an efficiently computable action $\star: G \times S \rightarrow S$ of a finite commutative group $G$ on a set $S$, with the following propoerties:</p>

<ul>
  <li>
    <p>it’s free: for all $s \in S$, $gs = s$ implies $g$ is the identity.</p>
  </li>
  <li>
    <p>it’s transitive: for every pair of elements $s_0$ and $s_1$, there is a group element $g$ such that $gs_0 = s_1$.</p>
  </li>
  <li>
    <p>the parallelization problem is hard: given $s_0, s_1, s_2 \in S$, it should be infeasible to find $g_1g_2 \star s_0$, where $g_1, g_2 \in S$ are such that $s_1 = g_1 \star s_0$ and $s_2 = g_2 \star s_0$.</p>
  </li>
</ul>

<p>This generalizes the notion of a cyclic group in which the Diffie-Hellman problem is hard. Indeed, any such space gives rise to a Diffie-Hellman-like protocol. The main appeal of hard homogeneous spaces is due to the potential for them to give post-quantum cryptographic schemes. This is because, whilst Shor’s developed a polynomial-time quantum attack against the exponentiation-based Diffie-Hellman, in the more general setting the best attack is Kuperberg’s subexponential-time hidden shift attack.</p>

<p>Apart from exponentiation, currently we only know one other candidate hard homogenous space: isogeny-based actions by ideal-class groups on sets of elliptic curves over finite fields. The first use of this to create cryptographic schemes was proposed independently by Couveignes <sup id="fnref:1:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> and Rostovtsev-Stolbunov <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>. However, they considered ordinary elliptic curves, which led to an extremely slow scheme. Even despite speed-ups due to De Feo, Kieffer and Smith <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup>, several minutes are needed for one key exchange with 128-bit classical security. Due to the simplicity and flexibility of the Couveignes-Rostovtsev-Stolbunov scheme, Castryck, Lange, Martindale, Panny and Renes <sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup> constructed a similar scheme using supersingular elliptic curves called CSIDH (pronounced seaside). They let $S$ be the set of supersingular elliptic curves $E$ defined over $\mathbb{F}_p$ (up to $\mathbb{F}_{p}$-isomorphism). Then, restricting to $\mathbb{F}_p$, we get endomorphism ring End$_{\mathbb{F}_p}(E)$ whose corresponding ideal class group $G$ is commutative. For an ideal class $[\mathfrak{a}] \in G$ and $E \in S$ we get the action $[\mathfrak{a}] \star E$, which defines an elliptic curve $E/\mathfrak{a} \in S$ and an isogeny $\phi_{\mathfrak{a}}: E \rightarrow E/\mathfrak{a}$, defined over $\mathbb{F}_p$. The CSIDH paper showed this gives a hard homogeneous space <sup id="fnref:2:1" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>, so Couveignes’ framework <sup id="fnref:1:2" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> can be applied to supersingular isogeny-based cryptography, giving us, for example, a non-interactive Diffie-Hellman-like key exchange.</p>

<h2 id="non-interative-key-exchange-protocol">Non-Interative Key Exchange Protocol</h2>

<p><strong>Set-up:</strong> Let $p = 4\cdot l_1\cdots l_n - 1$ be a large prime, with $l_i$ small distinct odd primes, such that $p \equiv 3 \mod 8$. Fix supersingular curve $E_0: y^2 = x^3 + x$ over $\mathbb{F}_{p}$. This has End$_{\mathbb{F}_p}(E_0) = \mathbb{Z}[\sqrt{-p}]$.</p>

<p><strong>Key Generation:</strong> The secret key is the ideal class $\texttt{sk} = [\mathfrak{a}]$. In CSIDH, for efficient evaluation of the action, $[\mathfrak{a}]$ is a product of small norm ideals. The public key is $\texttt{pk} = [\mathfrak{a}] \star E_0 =: E_A$.</p>

<p><strong>Key Exchange:</strong> Suppose Alice and Bob have public/secret key pairs $(E_A, [\mathfrak{a}])$ and $(E_B, [\mathfrak{b}])$. On receiving $E_B$, Alice verifies it is defined over $\mathbb{F}_{p}$ with End$_{\mathbb{F}_{p}}(E_B) = \mathbb{Z}[\sqrt{-p}]$. If so, she computes the action $[\mathfrak{a}]\star E_B = [\mathfrak{a}]\star [\mathfrak{b}]\star E_0$. Bob proceeds analogously to get $[\mathfrak{b}]\star [\mathfrak{a}]\star E_0$. Commutativity of $G$ ensures</p>

\[[\mathfrak{b}]\star [\mathfrak{a}]\star E_0 = [\mathfrak{a}]\star [\mathfrak{b}]\star E_0\]

<p>so this can be used as their secret shared key.</p>

<h2 id="security">Security</h2>

<p>The security of CSIDH is based on the hardness of the CSSDDH problem, defined below.</p>

<p><strong>Commutative SSDDH (CSSDDH) Problem:</strong></p>

<p>Let $p$, $E_0$ be as the CSIDH set-up. Given a tuple sampled with probability $\frac{1}{2}$ from one of the following two distributions</p>
<ul>
  <li>($E_0$, $[\mathfrak{a}]\star E_0$, $[\mathfrak{b}] \star E_0$, $[\mathfrak{a}]\star [\mathfrak{b}]\star E_0$)</li>
  <li>($E_0$, $[\mathfrak{a}]\star E_0$, $[\mathfrak{b}] \star E_0$, $[\mathfrak{c}]\star E_0$)</li>
</ul>

<p>where $[\mathfrak{a}], [\mathfrak{b}], [\mathfrak{c}]$ are random elements from End$_{\mathbb{F}_p}(E_0)$, determine from which distribution the tuple is sampled. We remark that the ideal classes have a special form, as described in §4.1, so the sampling method is not uniform.</p>

<p>No torsion-point images are published during the protocol, meaning it will be immune to any attacks that make use of this extra information, for example the attack by Petit on SIDH-like constructions <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">5</a></sup>. Nevertheless, in CSIDH the key spaces are also limited to around $\sqrt{p}$ supersingular points, giving us a classical attack of $\tilde{O}(p^{1/4})$. In August 2020, Colò and Kohel proposed OSIDH <sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">6</a></sup>. This combines CSIDH and SIDH, but is defined over arbitrarily large subset of <em>oriented</em> supersingular elliptic curves over $\mathbb{F}_{p^2}$, which covers essentially all possible corresponding $j$-invariants. As a result, there is no limit to size of key space. OSIDH, however, needs further security analysis and research into implementation before becoming a viable alternative to CSIDH or SIDH.</p>

<p>The commutativity of $G$ in CSIDH allows for hidden shift quantum attacks that are asymptotically sub-exponential. Implicit constants in attack complexities, the infeasibility of long sequential quantum operations and the large memory requirements are therefore taken into account to find quantum secure CSIDH parameters. The original CSIDH paper proposed parameter sets $\texttt{CSIDH-512}$, $\texttt{-1024}$ and $\texttt{-1792}$, giving NIST 1-3 level security, respectively <sup id="fnref:2:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>. Recent strides in the quantum cryptanalysis of CSIDH by Peikert <sup id="fnref:7" role="doc-noteref"><a href="#fn:7" class="footnote" rel="footnote">7</a></sup> and Bonnetain and Schrottenloher <sup id="fnref:8" role="doc-noteref"><a href="#fn:8" class="footnote" rel="footnote">8</a></sup> have called these parameter sets into question.</p>

<h2 id="efficiency">Efficiency</h2>

<p>The choice of $E_0$ means $[\mathfrak{a}] \star E_0$ can be represented in Montgomery form $y^2 = x^3 + Ax^2 + x$ for any $[\mathfrak{a}] \in G$, so it suffices to specify the coefficient $A \in \mathbb{F}_p$. Pairing this with a space-efficient representation of $[\mathfrak{a}]$, CSIDH has small keys compared to SIDH, which is currently the NIST submission with the smallest combined key and ciphertext length. However, it is slow. Considering NIST level 1 parameters, it takes around 80ms compared to 10ms for SIDH <sup id="fnref:9" role="doc-noteref"><a href="#fn:9" class="footnote" rel="footnote">9</a></sup>.</p>

<p>To increase the speed of the protocol, Castryck and Decru considered taking prime $p \equiv 7 \mod 8$ <sup id="fnref:10" role="doc-noteref"><a href="#fn:10" class="footnote" rel="footnote">10</a></sup>. Elliptic curves are can now be represented in the form $y^2 = x^3 +Ax^2 -x$ and there are two possible endomorphism rings. Proposed NIST level 1 secure parameters $\texttt{CSURF-512}$, give a speed-up of about 5.68% compared to $\texttt{CSIDH-512}$ when sampling from a specific set up.  As highlighted above, the parameter sets may beed to be reconsidered, which may decrease efficiency. Therefore, advancements in this area are highly desirable for CSIDH to compete with other post-quantum secure key-exchange protocols.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Jean-Marc Couveignes. Hard homogeneous spaces. Cryptology ePrint Archive, Report 2006/291, 2006. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:1:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a> <a href="#fnref:1:2" class="reversefootnote" role="doc-backlink">&#8617;<sup>3</sup></a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>Alexander Rostovtsev and Anton Stolbunov. Public-Key Cryptosystem Based on Isogenies. Cryptology ePrint Archive, Report 2006/145, 2006. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:2:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a> <a href="#fnref:2:2" class="reversefootnote" role="doc-backlink">&#8617;<sup>3</sup></a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>Luca De Feo and Jean Kieffer and Benjamin Smith. Towards practical key exchange from ordinary isogeny graphs. Cryptology ePrint Archive: Report 2018/485, 2018. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:4" role="doc-endnote">
      <p>Wouter Castryck and Tanja Lange and Chloe Martindale and Lorenz Panny and Joost Renes. CSIDH: An Efficient Post-Quantum Commutative Group Action. Cryptology ePrint Archive: Report 2018/383, 2018. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:5" role="doc-endnote">
      <p>Christophe Petit. Faster Algorithms for Isogeny Problems using Torsion Point Images. Cryptology ePrint Archive: Report 2017/571, 2017. <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:6" role="doc-endnote">
      <p>Leonardo Colò and David Kohel. Orienting supersingular isogeny graphs. Cryptology ePrint Archive: Report 2020/985, 2020. <a href="#fnref:6" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:7" role="doc-endnote">
      <p>Chris Peikert. He gives C-Sieves on the CSIDH. In <em>Annual International Conference on the Theory and Applications of Cryptographic Techniques</em>, pages 463-492. Springer, 2020. <a href="#fnref:7" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:8" role="doc-endnote">
      <p>Xavier Bonnetain and André Schrottenloher. Quantum Security Analysis of CSIDH. In <em>Annual International Conference on the Theory and Applications of Cryptographic Techniques</em>, pages 293-522. Springer, 2020. <a href="#fnref:8" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:9" role="doc-endnote">
      <p>Chloe Martindale. CSIDH: An efficient post-quantum commutative group action. Oxford PQC Workshop, March 2019. <a href="#fnref:9" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:10" role="doc-endnote">
      <p>Wouter Castryck and Thomas Decru. CSIDH on the surface. In <em>International Conference on Post-Quantum Cryptography</em>, pages 111-129. Springer, 2020. <a href="#fnref:10" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="cryptography" /><category term="post-quantum" /><category term="conference" /><category term="asiacrypt" /><summary type="html"><![CDATA[For this blogpost we will assume knowledge of Preview blogpost on Isogenies for Cryptography Optional: Previous blogpost on SIDH We will also need a basic understanding of ideal class groups. Ideal Class Groups We briefly introduce ideal class groups in the context needed for CSIDH. For a more general treatment and precise definition, the reader is encouraged to refer to ‘Primes of the form $x^2 + ny^2$: Fermat, Class Field Theory, and Complex Multiplication’ by Cox. We consider a supersingular curve $E$ over $\mathbb{F}_p$ with End($E$) having a subring $\mathcal{O} := \mathbb{Z}[\pi]$, where $\pi$ is the Frobenius endomorphism. The norm of an $\mathcal{O}$-ideal $\mathfrak{a} \subseteq \mathcal{O}$ is defined as $N(\mathfrak{a}) = \mid \mathcal{O}/\mathfrak{a} \mid$ and is equal to gcd{$N(\alpha) \mid \alpha \in \mathfrak{a}$}. Norms are multiplicative, meaning $N(\mathfrak{a}\mathfrak{b}) = N(\mathfrak{a})N(\mathfrak{b})$. A fractional $\mathcal{O}$-ideal is an $\mathcal{O}$-submodule of End($E$) of the form $\alpha \mathfrak{a}$, with $\alpha \in \text{End}(E)$ non-zero and $\mathfrak{a}$ an $\mathcal{O}$-ideal. A fractional $\mathcal{O}$-ideal $\mathfrak{a}$ is invertible if there exists a $\mathcal{O}$-fractional ideal $\mathfrak{b}$ such that $\mathfrak{a}\mathfrak{b} = \mathcal{O}$. All principal fractional $\mathcal{O}$-ideals, i.e. ideals of the form $\alpha \mathcal{O}$, are invertible. The sets of invertible fractional $\mathcal{O}$-ideals, $I(\mathcal{O})$, and principal fractional $\mathcal{O}$-ideals, $P(\mathcal{O})$, form groups. We can, therefore, define the ideal class group of $\mathcal{O}$ as the quotient \[cl(\mathcal{O}) := I(\mathcal{O})/P(\mathcal{O})\] Hard Homogenous Spaces A hard homogeneous space 1 is an efficiently computable action $\star: G \times S \rightarrow S$ of a finite commutative group $G$ on a set $S$, with the following propoerties: it’s free: for all $s \in S$, $gs = s$ implies $g$ is the identity. it’s transitive: for every pair of elements $s_0$ and $s_1$, there is a group element $g$ such that $gs_0 = s_1$. the parallelization problem is hard: given $s_0, s_1, s_2 \in S$, it should be infeasible to find $g_1g_2 \star s_0$, where $g_1, g_2 \in S$ are such that $s_1 = g_1 \star s_0$ and $s_2 = g_2 \star s_0$. This generalizes the notion of a cyclic group in which the Diffie-Hellman problem is hard. Indeed, any such space gives rise to a Diffie-Hellman-like protocol. The main appeal of hard homogeneous spaces is due to the potential for them to give post-quantum cryptographic schemes. This is because, whilst Shor’s developed a polynomial-time quantum attack against the exponentiation-based Diffie-Hellman, in the more general setting the best attack is Kuperberg’s subexponential-time hidden shift attack. Apart from exponentiation, currently we only know one other candidate hard homogenous space: isogeny-based actions by ideal-class groups on sets of elliptic curves over finite fields. The first use of this to create cryptographic schemes was proposed independently by Couveignes 1 and Rostovtsev-Stolbunov 2. However, they considered ordinary elliptic curves, which led to an extremely slow scheme. Even despite speed-ups due to De Feo, Kieffer and Smith 3, several minutes are needed for one key exchange with 128-bit classical security. Due to the simplicity and flexibility of the Couveignes-Rostovtsev-Stolbunov scheme, Castryck, Lange, Martindale, Panny and Renes 4 constructed a similar scheme using supersingular elliptic curves called CSIDH (pronounced seaside). They let $S$ be the set of supersingular elliptic curves $E$ defined over $\mathbb{F}_p$ (up to $\mathbb{F}_{p}$-isomorphism). Then, restricting to $\mathbb{F}_p$, we get endomorphism ring End$_{\mathbb{F}_p}(E)$ whose corresponding ideal class group $G$ is commutative. For an ideal class $[\mathfrak{a}] \in G$ and $E \in S$ we get the action $[\mathfrak{a}] \star E$, which defines an elliptic curve $E/\mathfrak{a} \in S$ and an isogeny $\phi_{\mathfrak{a}}: E \rightarrow E/\mathfrak{a}$, defined over $\mathbb{F}_p$. The CSIDH paper showed this gives a hard homogeneous space 2, so Couveignes’ framework 1 can be applied to supersingular isogeny-based cryptography, giving us, for example, a non-interactive Diffie-Hellman-like key exchange. Non-Interative Key Exchange Protocol Set-up: Let $p = 4\cdot l_1\cdots l_n - 1$ be a large prime, with $l_i$ small distinct odd primes, such that $p \equiv 3 \mod 8$. Fix supersingular curve $E_0: y^2 = x^3 + x$ over $\mathbb{F}_{p}$. This has End$_{\mathbb{F}_p}(E_0) = \mathbb{Z}[\sqrt{-p}]$. Key Generation: The secret key is the ideal class $\texttt{sk} = [\mathfrak{a}]$. In CSIDH, for efficient evaluation of the action, $[\mathfrak{a}]$ is a product of small norm ideals. The public key is $\texttt{pk} = [\mathfrak{a}] \star E_0 =: E_A$. Key Exchange: Suppose Alice and Bob have public/secret key pairs $(E_A, [\mathfrak{a}])$ and $(E_B, [\mathfrak{b}])$. On receiving $E_B$, Alice verifies it is defined over $\mathbb{F}_{p}$ with End$_{\mathbb{F}_{p}}(E_B) = \mathbb{Z}[\sqrt{-p}]$. If so, she computes the action $[\mathfrak{a}]\star E_B = [\mathfrak{a}]\star [\mathfrak{b}]\star E_0$. Bob proceeds analogously to get $[\mathfrak{b}]\star [\mathfrak{a}]\star E_0$. Commutativity of $G$ ensures \[[\mathfrak{b}]\star [\mathfrak{a}]\star E_0 = [\mathfrak{a}]\star [\mathfrak{b}]\star E_0\] so this can be used as their secret shared key. Security The security of CSIDH is based on the hardness of the CSSDDH problem, defined below. Commutative SSDDH (CSSDDH) Problem: Let $p$, $E_0$ be as the CSIDH set-up. Given a tuple sampled with probability $\frac{1}{2}$ from one of the following two distributions ($E_0$, $[\mathfrak{a}]\star E_0$, $[\mathfrak{b}] \star E_0$, $[\mathfrak{a}]\star [\mathfrak{b}]\star E_0$) ($E_0$, $[\mathfrak{a}]\star E_0$, $[\mathfrak{b}] \star E_0$, $[\mathfrak{c}]\star E_0$) where $[\mathfrak{a}], [\mathfrak{b}], [\mathfrak{c}]$ are random elements from End$_{\mathbb{F}_p}(E_0)$, determine from which distribution the tuple is sampled. We remark that the ideal classes have a special form, as described in §4.1, so the sampling method is not uniform. No torsion-point images are published during the protocol, meaning it will be immune to any attacks that make use of this extra information, for example the attack by Petit on SIDH-like constructions 5. Nevertheless, in CSIDH the key spaces are also limited to around $\sqrt{p}$ supersingular points, giving us a classical attack of $\tilde{O}(p^{1/4})$. In August 2020, Colò and Kohel proposed OSIDH 6. This combines CSIDH and SIDH, but is defined over arbitrarily large subset of oriented supersingular elliptic curves over $\mathbb{F}_{p^2}$, which covers essentially all possible corresponding $j$-invariants. As a result, there is no limit to size of key space. OSIDH, however, needs further security analysis and research into implementation before becoming a viable alternative to CSIDH or SIDH. The commutativity of $G$ in CSIDH allows for hidden shift quantum attacks that are asymptotically sub-exponential. Implicit constants in attack complexities, the infeasibility of long sequential quantum operations and the large memory requirements are therefore taken into account to find quantum secure CSIDH parameters. The original CSIDH paper proposed parameter sets $\texttt{CSIDH-512}$, $\texttt{-1024}$ and $\texttt{-1792}$, giving NIST 1-3 level security, respectively 2. Recent strides in the quantum cryptanalysis of CSIDH by Peikert 7 and Bonnetain and Schrottenloher 8 have called these parameter sets into question. Efficiency The choice of $E_0$ means $[\mathfrak{a}] \star E_0$ can be represented in Montgomery form $y^2 = x^3 + Ax^2 + x$ for any $[\mathfrak{a}] \in G$, so it suffices to specify the coefficient $A \in \mathbb{F}_p$. Pairing this with a space-efficient representation of $[\mathfrak{a}]$, CSIDH has small keys compared to SIDH, which is currently the NIST submission with the smallest combined key and ciphertext length. However, it is slow. Considering NIST level 1 parameters, it takes around 80ms compared to 10ms for SIDH 9. To increase the speed of the protocol, Castryck and Decru considered taking prime $p \equiv 7 \mod 8$ 10. Elliptic curves are can now be represented in the form $y^2 = x^3 +Ax^2 -x$ and there are two possible endomorphism rings. Proposed NIST level 1 secure parameters $\texttt{CSURF-512}$, give a speed-up of about 5.68% compared to $\texttt{CSIDH-512}$ when sampling from a specific set up. As highlighted above, the parameter sets may beed to be reconsidered, which may decrease efficiency. Therefore, advancements in this area are highly desirable for CSIDH to compete with other post-quantum secure key-exchange protocols. Jean-Marc Couveignes. Hard homogeneous spaces. Cryptology ePrint Archive, Report 2006/291, 2006. &#8617; &#8617;2 &#8617;3 Alexander Rostovtsev and Anton Stolbunov. Public-Key Cryptosystem Based on Isogenies. Cryptology ePrint Archive, Report 2006/145, 2006. &#8617; &#8617;2 &#8617;3 Luca De Feo and Jean Kieffer and Benjamin Smith. Towards practical key exchange from ordinary isogeny graphs. Cryptology ePrint Archive: Report 2018/485, 2018. &#8617; Wouter Castryck and Tanja Lange and Chloe Martindale and Lorenz Panny and Joost Renes. CSIDH: An Efficient Post-Quantum Commutative Group Action. Cryptology ePrint Archive: Report 2018/383, 2018. &#8617; Christophe Petit. Faster Algorithms for Isogeny Problems using Torsion Point Images. Cryptology ePrint Archive: Report 2017/571, 2017. &#8617; Leonardo Colò and David Kohel. Orienting supersingular isogeny graphs. Cryptology ePrint Archive: Report 2020/985, 2020. &#8617; Chris Peikert. He gives C-Sieves on the CSIDH. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 463-492. Springer, 2020. &#8617; Xavier Bonnetain and André Schrottenloher. Quantum Security Analysis of CSIDH. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 293-522. Springer, 2020. &#8617; Chloe Martindale. CSIDH: An efficient post-quantum commutative group action. Oxford PQC Workshop, March 2019. &#8617; Wouter Castryck and Thomas Decru. CSIDH on the surface. In International Conference on Post-Quantum Cryptography, pages 111-129. Springer, 2020. &#8617;]]></summary></entry><entry><title type="html">Asiacrypt 2020</title><link href="https://www.mariascrs.com/2020/12/11/asiacrypt-2020.html" rel="alternate" type="text/html" title="Asiacrypt 2020" /><published>2020-12-11T00:00:00+00:00</published><updated>2020-12-11T00:00:00+00:00</updated><id>https://www.mariascrs.com/2020/12/11/asiacrypt-2020</id><content type="html" xml:base="https://www.mariascrs.com/2020/12/11/asiacrypt-2020.html"><![CDATA[<p>This year at Asiacrypt a total of 7 papers on isogeny-based cryptography were presented. For those who couldn’t attend, I’ve briefly described each paper. I also give links to the papers and corresponding talks (on YouTube) for more details.</p>

<h2 id="sqisign-compact-post-quantum-signatures-from-quaternions-and-isogenies">SQISign: Compact Post Quantum signatures from Quaternions and Isogenies</h2>
<p><a href="https://eprint.iacr.org/2020/1240">[Paper]</a></p>

<p>Winning the best paper award, De Feo, Kohel, Leroux, Petit and Wesolowski introduce a new signature scheme from isogeny graphs of supersingular elliptic curves. This paper builds on work by Galbraith, Petit and Silva (GPS) <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> who proposed a signature scheme constructed from the KLPT algorithm <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>. We note that the KLPT algorithm solves the quaternion analog of the $l$-isogeny path problem under the Deuring correspondence. The GPS scheme was mainly theoretical and was not implemented (to the best of my knowledge).</p>

<p>In the SQISign paper, a new generic KLPT algorithm is presented, which produces a smaller output than the original algorithm. Using this, the authors construct a new interactive zero knowledge identification protocol, resulting in an unforgeable signature scheme. New algorithms for efficient instantiation of the protocol, parameters targeting NIST-1 level post-quantum security and a complete implementation of the signature scheme in both C and Magma are also given in the paper.</p>

<h2 id="cryptographic-group-actions-and-applications">Cryptographic Group Actions and Applications</h2>

<p><a href="https://eprint.iacr.org/2020/1188">[Paper]</a> <a href="https://www.youtube.com/watch?v=Pjwtk782FVk">[Talk]</a></p>

<p>In my opinion this paper tackles two issues with isogeny-based cryptography:</p>

<ul>
  <li>
    <p>For someone without a strong Maths background, who for example doesn’t know what an isogeny is, it’s quite a difficult to get into this field and develop cryptographic primitives based on isogenies.</p>
  </li>
  <li>
    <p>Isogenies are not as expressive as lattices, so it is harder (and maybe not even possible) to construct certain primitives with isogenies. However, having primitives with post-quantum instantiations based only on lattice assumptions is dangerous as an attack on the underlying hardness problems for lattices <em>may</em> be found in the future.</p>
  </li>
</ul>

<p>This paper by Alamati, De Feo, Montgomery and Patranabis proposes a new framework based on group actions that enables the use of isogeny-based assumptions, even for those who aren’t extremely familiar with the underlying maths. The authors achieve this by abstracting the group action and hardness assumptions in CSIDH <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup> and CSI-FiSh <sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup>. This new framework can be leveraged to construct several primitives not previously known from isogeny-based assumptions, such as smooth projective hashing, dual-mode PKE and a Naor-Raingold style PRF.</p>

<p>In addition, they introduce a new assumption over group actions, called the <em>Linear Hidden Shift</em> assumption. This can be used to obtain symmetric KDM-secure encryption, which in turn enables the construction of many other primitives.</p>

<h2 id="b-sidh-supersingular-isogeny-diffie-hellman-using-twisted-torsion">B-SIDH: Supersingular Isogeny Diffie-Hellman Using Twisted Torsion</h2>
<p><a href="https://eprint.iacr.org/2019/1145.pdf">[Paper]</a> <a href="https://www.youtube.com/watch?v=bjkLZ8Lg3Jg&amp;t=4s">[Talk]</a></p>

<p>In SIDH, a prime $p = 2^m3^n - 1$ is used and Alice and Bob represent each isomorphism class by a supersingular curve $E/\mathbb{F}_{p^2}$ with group order #$E(\mathbb{F}_{p^2}) = (p+1)^2 = (2^m3^n)^2$. This choice was made by Jao and De Feo to allow full $\mathbb{F}_{p^2}$-rational $2^m$-torsion and full $\mathbb{F}_{p^2}$-rational $3^n$-torsion. This means that the corresponding isogeny computations are also $\mathbb{F}_{p^2}$-rational, and so can be done efficiently.</p>

<p>However, Costello observes that there are in general two choices of $\mathbb{F}_{p^2}$-rational elliptic curve groups corresponding to every node in the supersingular isogeny graph: those whose group orders are $(p+1)^2$ and those whose groups orders are $(p-1)^2$. Elliptic curves from these two sets are not isomorphic over $\mathbb{F}_{p^2}$, but they are isomorphic over $\mathbb{F}_{p^4}$ and so have the same $j$-invariant.</p>

<p>Using this, a variant of SIDH, called B-SIDH, is constucted. An important fact shown by Costello is that we can still work over $\mathbb{F}_{p^2}$ while using both curves. The use of both curves unlocks a wealth of trade-offs. For example, B-SIDH can give significantly smaller key sizes with no known loss of security. Adj, Chi-Domínguez and Rodríguez-Henríquez present a concrete analysis of B-SIDH’s efficiency <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">5</a></sup>, showing B-SIDH outperforms any CSIDH instantiation. However, it is still less efficient than SIDH. Techniques developed in eSIDH <sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">6</a></sup> could also be used to introduce parallelisation and facilitate computations.</p>

<p>The search for smooth parameters that will give a reasonably efficient B-SIDH protocol is non-trivial and is a key focus of the paper, as well as a topic of subsequent research <sup id="fnref:7" role="doc-noteref"><a href="#fn:7" class="footnote" rel="footnote">7</a></sup>. With respect to security, as at least one of Alice or Bob must now perform walks comprised of steps in multiple $l$-isogeny graphs, the underlying hardness assumption is slightly different. However, there is no reason to believe this modification makes the problem easier as long as the number of destination nodes remains roughly the same size as in SIDH.</p>

<h2 id="calamari-and-falafl-logarithmic-linkable-ring-signatures-from-isogenies-and-lattices">Calamari and Falafl: Logarithmic (Linkable) Ring Signatures from Isogenies and Lattices</h2>
<p><a href="https://eprint.iacr.org/2020/646">[Paper]</a> <a href="https://www.youtube.com/watch?v=NCTSeI4mP7I">[Talk]</a></p>

<p>This paper constructs concretely efficient logarithmic ring signatures and linkable ring signatures from isogeny-based and lattice-based hardness assumptions, giving Calamari and Falafl respectively. First, Beullens, Katsumata and Pintore construct a (linkable) ring signature scheme based on a group action that satisfies certain cryptographic propoerties and then instantiate with the CSIDH group action or a MLWE-bsaed group action.</p>

<p>A key advantage of this scheme is that the signature scheme scales well with the ring size $N$ compared to other logarithmic (linkable) ring signatures. Indeed, the term in the signature size that depends on $\log N$ is independent of the SIDH or lattice parameters. Instead, it is due to to the signatures containing a small number of paths in Merkle trees of depth $\log N$.</p>

<p>For the isogeny istantiation, they consider the CSIDH-512 parameter set used in CSI-FiSh <sup id="fnref:4:1" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup>. The authors then give an estimate for the signature size: $\log N + 3.5$ KB, and a signing time of 79s for $N = 8$. As is usually the case, we get smaller signatures but longer signing time compared to the lattice-based instantiation.</p>

<h2 id="radical-isogenies">Radical Isogenies</h2>
<p><a href="https://eprint.iacr.org/2020/1108">[Paper]</a> <a href="https://www.youtube.com/watch?v=lSccKqJrgEo">[Talk]</a></p>

<p>This paper is mainly concerned with improving the efficiency of isogeny computations.  Castryck, Decru, and Vercauteren introduce a new approach called ‘radical isogenies’ and a corresponding method to compute chains of $N$-isogenies, which is very efficient for small $N$. Indeed, compared to the state-of-the-art, their method results in an order of magnitude speed-up for $N \leq 13$.  When applied to CSIDH, it gives a speed-up of about 19\% over the implementation in <sup id="fnref:8" role="doc-noteref"><a href="#fn:8" class="footnote" rel="footnote">8</a></sup> for the CSURF-512 parameters <sup id="fnref:9" role="doc-noteref"><a href="#fn:9" class="footnote" rel="footnote">9</a></sup>.</p>

<h2 id="oblivious-pseudorandom-functions-from-isogenies">Oblivious Pseudorandom Functions from Isogenies</h2>
<p><a href="https://eprint.iacr.org/2020/1532">[Paper]</a> <a href="https://www.youtube.com/watch?v=0JLAO8GoUQo">[Talk]</a></p>

<p>In this paper, Boneh, Kogan and Woo construct an oblivious PRF (OPRF) and a verifiable OPRF from isognies. The first construction uses isogenies of supersingular curves over $\mathbb{F}_{p^2}$ and adapted the Diffie-Hellman OPRF to this setting. In order to overcome the attack due to Galbraith, Petit, Shani and Ti presented at Asiacrypt 2016 <sup id="fnref:10" role="doc-noteref"><a href="#fn:10" class="footnote" rel="footnote">10</a></sup>, they develop two zero-knowledge protocols to convince each party they were sent valid messages. This construction results in an OPRF in the SIDH setting. The second construction is a Naor-Reingold-like PRF in the CSIDH setting.</p>

<h2 id="sigamal-a-supersingular-isogeny-based-pke-and-its-application-to-a-prf">SiGamal: A Supersingular Isogeny-Based PKE and Its Application to a PRF</h2>
<p><a href="https://eprint.iacr.org/2020/613">[Paper]</a> <a href="https://www.youtube.com/watch?v=CECk2Igbqxs&amp;t=658s">[Talk]</a></p>

<p>SiGamal is a PKE scheme, similar to ElGamal, which is based on CSIDH and provides IND-CPA security without using hash functions. The paper also constructs a compressed version of SiGamal called C-SiGamal. The security is based on decisional problem closely related to that of CSIDH, which arises from the assumed difficulty of computing the image of a given point under a hidden isogeny.</p>

<p>There is, however, a trade-off with efficiency. The computational costs of group actions in SiGamal-512 sending 256-bit plaintexts are around $2.6 \times$ that of a group action in CSIDH-512. Furthermore, SiGamal is not IND-CCA secure. Increasing efficiency and finding a PKE scheme that achieves IND-CCA security without the use of hash functions are possible directions of future research.</p>

<p>In the paper, Moriya, Onuki and Takagi also propose a Naor-Reingold type PRF based on SiGamal. They defined a new hardness assumption and show their proposed function is a PRF provided it holds. This new assumption guarantees the security of CSIDH that uses a prime $p$ in the setting of SiGamal. The authors also estimate the computational costs of the group actions needed to compute the PRF.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>‘Identification Protocols and Signature Schemes Based on Supersingular Isogeny Problems’ by Steven D. Galbraith, Christophe Petit and Javier Silva. <a href="https://eprint.iacr.org/2016/1154.pdf">ePrint</a> <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>‘On the quaternion ‘$l$-isogeny path problem’ by David Kohel, Kristin Lauter, Christophe Petit and Jean-Pierre Tignol. <a href="https://eprint.iacr.org/2014/505.pdf">ePrint</a> <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>‘CSIDH: An Efficient Post-Quantum Commutative Group Action’ by Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny and Joost Renes. <a href="https://eprint.iacr.org/2018/383.pdf">ePrint</a> <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:4" role="doc-endnote">
      <p>‘CSI-FiSh: Efficient Isogeny based Signatures through Class Group Computations’ by Ward Beullens and Thorsten Kleinjung and Frederik Vercauteren. <a href="https://eprint.iacr.org/2019/498.pdf">ePrint</a> <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:4:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p>
    </li>
    <li id="fn:5" role="doc-endnote">
      <p>‘On new Velu’s formulae and their applications to CSIDH and B-SIDH constant-time implementations’ by Gora Adj, Jesús-Javier Chi-Domínguez and Francisco Rodríguez-Henríquez. <a href="https://eprint.iacr.org/2020/1109.pdf">ePrint</a> <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:6" role="doc-endnote">
      <p>‘eSIDH: the revenge of the SIDH’ by Daniel Cervantes-Vázquez Eduardo Ochoa-Jiménez, Francisco and Rodríguez-Henríquez. <a href="https://eprint.iacr.org/2020/021.pdf">ePrint</a> <a href="#fnref:6" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:7" role="doc-endnote">
      <p>‘Sieving for twin smooth integers with solutions to the Prouhet-Tarry-Escott problem’ by Carig Costello, Michael Meyer and Michael Naehrig. <a href="https://eprint.iacr.org/2020/1283.pdf">ePrint</a> <a href="#fnref:7" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:8" role="doc-endnote">
      <p>‘Faster computation of isogenies of large prime degree’ by Daniel J. Bernstein and Luca De Feo and Antonin Leroux and Benjamin Smith. <a href="https://eprint.iacr.org/2020/341.pdf">ePrint</a> <a href="#fnref:8" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:9" role="doc-endnote">
      <p>‘CSIDH on the surface’ by Wouter Castryck and Thomas Decru. <a href="https://eprint.iacr.org/2019/1404.pdf">ePrint</a> <a href="#fnref:9" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:10" role="doc-endnote">
      <p>‘On the Security of Supersingular Isogeny Cryptosystems’ by Steven D. Galbraith and Christophe Petit and Barak Shani and Yan Bo Ti. <a href="https://eprint.iacr.org/2016/859.pdf">ePrint</a> <a href="#fnref:10" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="cryptography" /><category term="post-quantum" /><category term="conference" /><category term="asiacrypt" /><summary type="html"><![CDATA[This year at Asiacrypt a total of 7 papers on isogeny-based cryptography were presented. For those who couldn’t attend, I’ve briefly described each paper. I also give links to the papers and corresponding talks (on YouTube) for more details. SQISign: Compact Post Quantum signatures from Quaternions and Isogenies [Paper] Winning the best paper award, De Feo, Kohel, Leroux, Petit and Wesolowski introduce a new signature scheme from isogeny graphs of supersingular elliptic curves. This paper builds on work by Galbraith, Petit and Silva (GPS) 1 who proposed a signature scheme constructed from the KLPT algorithm 2. We note that the KLPT algorithm solves the quaternion analog of the $l$-isogeny path problem under the Deuring correspondence. The GPS scheme was mainly theoretical and was not implemented (to the best of my knowledge). In the SQISign paper, a new generic KLPT algorithm is presented, which produces a smaller output than the original algorithm. Using this, the authors construct a new interactive zero knowledge identification protocol, resulting in an unforgeable signature scheme. New algorithms for efficient instantiation of the protocol, parameters targeting NIST-1 level post-quantum security and a complete implementation of the signature scheme in both C and Magma are also given in the paper. Cryptographic Group Actions and Applications [Paper] [Talk] In my opinion this paper tackles two issues with isogeny-based cryptography: For someone without a strong Maths background, who for example doesn’t know what an isogeny is, it’s quite a difficult to get into this field and develop cryptographic primitives based on isogenies. Isogenies are not as expressive as lattices, so it is harder (and maybe not even possible) to construct certain primitives with isogenies. However, having primitives with post-quantum instantiations based only on lattice assumptions is dangerous as an attack on the underlying hardness problems for lattices may be found in the future. This paper by Alamati, De Feo, Montgomery and Patranabis proposes a new framework based on group actions that enables the use of isogeny-based assumptions, even for those who aren’t extremely familiar with the underlying maths. The authors achieve this by abstracting the group action and hardness assumptions in CSIDH 3 and CSI-FiSh 4. This new framework can be leveraged to construct several primitives not previously known from isogeny-based assumptions, such as smooth projective hashing, dual-mode PKE and a Naor-Raingold style PRF. In addition, they introduce a new assumption over group actions, called the Linear Hidden Shift assumption. This can be used to obtain symmetric KDM-secure encryption, which in turn enables the construction of many other primitives. B-SIDH: Supersingular Isogeny Diffie-Hellman Using Twisted Torsion [Paper] [Talk] In SIDH, a prime $p = 2^m3^n - 1$ is used and Alice and Bob represent each isomorphism class by a supersingular curve $E/\mathbb{F}_{p^2}$ with group order #$E(\mathbb{F}_{p^2}) = (p+1)^2 = (2^m3^n)^2$. This choice was made by Jao and De Feo to allow full $\mathbb{F}_{p^2}$-rational $2^m$-torsion and full $\mathbb{F}_{p^2}$-rational $3^n$-torsion. This means that the corresponding isogeny computations are also $\mathbb{F}_{p^2}$-rational, and so can be done efficiently. However, Costello observes that there are in general two choices of $\mathbb{F}_{p^2}$-rational elliptic curve groups corresponding to every node in the supersingular isogeny graph: those whose group orders are $(p+1)^2$ and those whose groups orders are $(p-1)^2$. Elliptic curves from these two sets are not isomorphic over $\mathbb{F}_{p^2}$, but they are isomorphic over $\mathbb{F}_{p^4}$ and so have the same $j$-invariant. Using this, a variant of SIDH, called B-SIDH, is constucted. An important fact shown by Costello is that we can still work over $\mathbb{F}_{p^2}$ while using both curves. The use of both curves unlocks a wealth of trade-offs. For example, B-SIDH can give significantly smaller key sizes with no known loss of security. Adj, Chi-Domínguez and Rodríguez-Henríquez present a concrete analysis of B-SIDH’s efficiency 5, showing B-SIDH outperforms any CSIDH instantiation. However, it is still less efficient than SIDH. Techniques developed in eSIDH 6 could also be used to introduce parallelisation and facilitate computations. The search for smooth parameters that will give a reasonably efficient B-SIDH protocol is non-trivial and is a key focus of the paper, as well as a topic of subsequent research 7. With respect to security, as at least one of Alice or Bob must now perform walks comprised of steps in multiple $l$-isogeny graphs, the underlying hardness assumption is slightly different. However, there is no reason to believe this modification makes the problem easier as long as the number of destination nodes remains roughly the same size as in SIDH. Calamari and Falafl: Logarithmic (Linkable) Ring Signatures from Isogenies and Lattices [Paper] [Talk] This paper constructs concretely efficient logarithmic ring signatures and linkable ring signatures from isogeny-based and lattice-based hardness assumptions, giving Calamari and Falafl respectively. First, Beullens, Katsumata and Pintore construct a (linkable) ring signature scheme based on a group action that satisfies certain cryptographic propoerties and then instantiate with the CSIDH group action or a MLWE-bsaed group action. A key advantage of this scheme is that the signature scheme scales well with the ring size $N$ compared to other logarithmic (linkable) ring signatures. Indeed, the term in the signature size that depends on $\log N$ is independent of the SIDH or lattice parameters. Instead, it is due to to the signatures containing a small number of paths in Merkle trees of depth $\log N$. For the isogeny istantiation, they consider the CSIDH-512 parameter set used in CSI-FiSh 4. The authors then give an estimate for the signature size: $\log N + 3.5$ KB, and a signing time of 79s for $N = 8$. As is usually the case, we get smaller signatures but longer signing time compared to the lattice-based instantiation. Radical Isogenies [Paper] [Talk] This paper is mainly concerned with improving the efficiency of isogeny computations. Castryck, Decru, and Vercauteren introduce a new approach called ‘radical isogenies’ and a corresponding method to compute chains of $N$-isogenies, which is very efficient for small $N$. Indeed, compared to the state-of-the-art, their method results in an order of magnitude speed-up for $N \leq 13$. When applied to CSIDH, it gives a speed-up of about 19\% over the implementation in 8 for the CSURF-512 parameters 9. Oblivious Pseudorandom Functions from Isogenies [Paper] [Talk] In this paper, Boneh, Kogan and Woo construct an oblivious PRF (OPRF) and a verifiable OPRF from isognies. The first construction uses isogenies of supersingular curves over $\mathbb{F}_{p^2}$ and adapted the Diffie-Hellman OPRF to this setting. In order to overcome the attack due to Galbraith, Petit, Shani and Ti presented at Asiacrypt 2016 10, they develop two zero-knowledge protocols to convince each party they were sent valid messages. This construction results in an OPRF in the SIDH setting. The second construction is a Naor-Reingold-like PRF in the CSIDH setting. SiGamal: A Supersingular Isogeny-Based PKE and Its Application to a PRF [Paper] [Talk] SiGamal is a PKE scheme, similar to ElGamal, which is based on CSIDH and provides IND-CPA security without using hash functions. The paper also constructs a compressed version of SiGamal called C-SiGamal. The security is based on decisional problem closely related to that of CSIDH, which arises from the assumed difficulty of computing the image of a given point under a hidden isogeny. There is, however, a trade-off with efficiency. The computational costs of group actions in SiGamal-512 sending 256-bit plaintexts are around $2.6 \times$ that of a group action in CSIDH-512. Furthermore, SiGamal is not IND-CCA secure. Increasing efficiency and finding a PKE scheme that achieves IND-CCA security without the use of hash functions are possible directions of future research. In the paper, Moriya, Onuki and Takagi also propose a Naor-Reingold type PRF based on SiGamal. They defined a new hardness assumption and show their proposed function is a PRF provided it holds. This new assumption guarantees the security of CSIDH that uses a prime $p$ in the setting of SiGamal. The authors also estimate the computational costs of the group actions needed to compute the PRF. ‘Identification Protocols and Signature Schemes Based on Supersingular Isogeny Problems’ by Steven D. Galbraith, Christophe Petit and Javier Silva. ePrint &#8617; ‘On the quaternion ‘$l$-isogeny path problem’ by David Kohel, Kristin Lauter, Christophe Petit and Jean-Pierre Tignol. ePrint &#8617; ‘CSIDH: An Efficient Post-Quantum Commutative Group Action’ by Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny and Joost Renes. ePrint &#8617; ‘CSI-FiSh: Efficient Isogeny based Signatures through Class Group Computations’ by Ward Beullens and Thorsten Kleinjung and Frederik Vercauteren. ePrint &#8617; &#8617;2 ‘On new Velu’s formulae and their applications to CSIDH and B-SIDH constant-time implementations’ by Gora Adj, Jesús-Javier Chi-Domínguez and Francisco Rodríguez-Henríquez. ePrint &#8617; ‘eSIDH: the revenge of the SIDH’ by Daniel Cervantes-Vázquez Eduardo Ochoa-Jiménez, Francisco and Rodríguez-Henríquez. ePrint &#8617; ‘Sieving for twin smooth integers with solutions to the Prouhet-Tarry-Escott problem’ by Carig Costello, Michael Meyer and Michael Naehrig. ePrint &#8617; ‘Faster computation of isogenies of large prime degree’ by Daniel J. Bernstein and Luca De Feo and Antonin Leroux and Benjamin Smith. ePrint &#8617; ‘CSIDH on the surface’ by Wouter Castryck and Thomas Decru. ePrint &#8617; ‘On the Security of Supersingular Isogeny Cryptosystems’ by Steven D. Galbraith and Christophe Petit and Barak Shani and Yan Bo Ti. ePrint &#8617;]]></summary></entry><entry><title type="html">SIDH</title><link href="https://www.mariascrs.com/2020/12/04/sidh.html" rel="alternate" type="text/html" title="SIDH" /><published>2020-12-04T00:00:00+00:00</published><updated>2020-12-04T00:00:00+00:00</updated><id>https://www.mariascrs.com/2020/12/04/sidh</id><content type="html" xml:base="https://www.mariascrs.com/2020/12/04/sidh.html"><![CDATA[<p>Stolbunov proposed a Diffie-Hellman type scheme based on the difficulty of computing isogenies between <em>ordinary</em> elliptic curves, with the aim of obtaining quantum-resistant cryptographic protocols <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">1</a></sup>. The fastest known classical probabilitic algorithm for solving this problem is an algorithm of Galbraith and Stolbunov <sup id="fnref:8" role="doc-noteref"><a href="#fn:8" class="footnote" rel="footnote">2</a></sup>, which is exponential with a worst-case running time of $O(^4\sqrt{q})$. However, on a quantum computer, Childs, Jao, and Soukharev. <sup id="fnref:9" role="doc-noteref"><a href="#fn:9" class="footnote" rel="footnote">3</a></sup> showed that the private keys in Stolbunov’s system can be recovered in subexponential time.</p>

<p>Another issue is efficieny: even if we only consider classical attacks in assessing security levels, Stolbunov’s scheme requires 229 seconds (even with precomputation) to perform a single key exchange operation at the 128-bit security level on a desktop computer.</p>

<p>In 2011, De Feo, Jao and Plût published a paper entitled ‘Towards Quantum-Resistant Cryptosystems from Supersingular Elliptic Curve Isogenies’, which presented isogeny-based key-exchange and encryption schemes that address both the performance and security drawbacks of Stolbunov’s system.  They named their key-exchange protocol SIDH, for Supersingular Isogeny Diffie-Hellman.</p>

<p>Assumed knowledge:</p>
<ul>
  <li><a href="https://mariascrs.github.io/2020/11/06/isogenies-for-crypto.html">Isogenies for Cryptography</a></li>
</ul>

<p>Throughout this we will assume that we are working over a finite field $\mathbb{F}_q$.</p>

<h2 id="background">Background</h2>

<h3 id="supersingular-vs-ordinary">Supersingular vs. Ordinary</h3>

<p>There are two types of elliptic curves that we can have are <strong>ordinary</strong> or <strong>supersingular</strong>. The precise definitions are unimportant for cryptographic purposes, however it is useful to note that supersingular curves are all defined over $\mathbb{F}_{p^2}$, so for the finite field we’re working over, we can take $q = p^2$.</p>

<p>If we have two elliptic curves $E_1$ and $E_2$ such that there exists an isogeny $\phi$ connecting them, then we say that $E_1$ and $E_2$ are in the same <strong>isogeny class</strong>.</p>

<p><strong>FACT:</strong> Ellitpic curves in the same isogeny class are either all supersingular or all ordinary.</p>

<p>In SIDH we will be going from one ellitpic curve, say $E$ , to another via an isogeny (or a composition of various isogenies). The fact above tells us that if we start with a supersingular curve, we will end up at another supersingular curve. This is a highly desirable property as it means we don’t have to make any restrictions on the isogenies we choose from $E$ to ensure we end up at a supersingular curve.</p>

<h3 id="non-commutative">Non-Commutative</h3>

<p>The main technical difficulty is that, in the supersingular case, the endomorphism ring is noncommutative, whereas Diffie-Hellman type protocols require commutativity. In the paper, they propose overcoming this obstacle by providing the outputs of the isogeny on certain points as auxiliary input to the protocols. Provided this auxiliary input does not make the problem of finding isogenies any easier, the added difficulty arising from the anticommutativity actually makes the protocol stronger.</p>

<p>Before analysing the security of the scheme in greater detail, we describe how to get various types of protocols using supersingular elliptic curves.</p>

<h2 id="schemes-using-supersingular-elliptic-curves">Schemes using Supersingular Elliptic Curves</h2>

<p>In this section we present a key-exchange protocol and a public-ley cryptosystem using supersingular elliptic curves.</p>

<h3 id="setup">Setup</h3>

<p>We first discuss the <strong>choice of prime</strong> $p$ in <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">4</a></sup>. Fix the finite field $\mathbb{F}_{p^2}$, where</p>

\[p = l_A^{e_A}l_B^{e_B}\cdot f \pm 1\]

<p>In the original SIDH paper $(l_A, l_B) = (2,3)$, to exploit efficient isogeny computations. To provide the same security level for both Alice and Bob we set $2^{e_A} \approx 3^{e_B}$. An integer $f$ is then chosen so $p$ is prime. This choice of $p$ ensures isogeny computations can be done over $\mathbb{F}_{p^2}$.</p>

<p>We also fix supersingular curve $E_0$ and bases {$P_A, Q_A$} and {$P_B, Q_B$} which generate $E_0[l_A^{e_A}]$ and $E_0[l_B^{e_B}]$ respectively. Such bases can be found as</p>

\[E_0[l_i^{e_i}] \cong \mathbb{Z}/l_i^{e_i}\mathbb{Z} \times \mathbb{Z}/l_i^{e_i}\mathbb{Z}\]

<h3 id="key-exchange-protocol">Key-Exchange Protocol</h3>

<p><strong>Step 1:</strong>  Alice chooses random elements $m_A, n_A \in \mathbb{Z}/l_A^{e_A}\mathbb{Z}$, not both divisible by $l_A$ and computes $\phi_A: E_0 \rightarrow E_A$ with kernel $K_A := \langle [m_A]P_A + [n_A]Q_A \rangle$. Bob similarly computes $\phi_B$ with kernel $K_B$.</p>

<p>Alice then computes $\phi_A(P_B), \phi_A(Q_B) \in E_A$ and sends them to Bob. Bob proceeds analogously. This step was proposed by Jao and De Feo to overcome the fact that $\phi_A$ and $\phi_B$ cannot be composed due to mismatching domains and codomains.</p>

<p><strong>Step 2:</strong> Alice computes $\phi$’$_A: E_B \rightarrow E_{BA}$ with kernel $\langle [m_A]\phi_B(P_A) + [n_A]\phi_B(Q_A) \rangle$. Similarly, Bob computes $\phi$’$_B: E_A \rightarrow E_{AB}$. Noting $E_{AB} = E_{BA}$, Alice and Bob use the common $j$-invariant of $E_{AB}$ as the secret shared key.</p>

<h3 id="public-key-encryption">Public Key Encryption</h3>

<p>Jao, De Feo and Plût adapted the key-exchange protocol above to give a PKE scheme, in a similar vein to constructing ElGamal Encryption from Diffie-Hellman. In the setup we also need a family of hash functions $\mathcal{H}$ = {$H_k$}$_{k \in K}$, where $K$ is a finite set and each $H_k$ is a function from $\mathbb{F}_{p^2}$ to the message space.</p>

<p><strong>Key Generation:</strong> Let $m_A, n_A, E_A, \phi_A(P_B), \phi_A(Q_B)$ be as above and choose a random element $k \in K$. The public key and secret key are</p>

\[\texttt{pk} = (E_A, \phi_A(P_B), \phi_A(Q_B), k) \text{, }
\texttt{sk} = (m_A, n_A, k)\]

<p><strong>Encryption:</strong> Given $\texttt{pk}$ and message $m$, choose $m_B, n_B$ as above and compute $j$-invariant $j(E_{AB})$. Set</p>

\[h = H_k(j(E_{AB})) \text{, } c = h \oplus m\]

<p>The ciphertext is $\texttt{ct} = (E_B, \phi_B(P_A), \phi_B(Q_A), c)$.</p>

<p><strong>Decryption:</strong> Given $\texttt{ct}$ and $\texttt{sk}$, compute $j(E_{AB})$ and set</p>

\[h = H_k(j(E_AB)) \text{, } m = h \oplus c\]

<p>The plaintext is $m$.</p>

<h2 id="security">Security</h2>

<p>Using the same notation, we define computational problems these schemes are based on.</p>

<p><strong>Supersingular Computational Diffie-Hellman (SSCDH) Problem:</strong> Given the curves $E_A, E_B$ and the points $\phi_A(P_B), \phi_A(Q_B), \phi_B(P_A), \phi_B(Q_B)$, find the $j$-invariant of $E_0/\langle [m_A]P_A + [n_A]Q_A, [m_B]P_B + [n_B]Q_B \rangle$.</p>

<p><strong>Supersingular Decision Diffie-Hellman (SSDDH) Problem:</strong> Given a tuple sampled with probability $\frac{1}{2}$ from one of the following two distributions:</p>
<ul>
  <li>
    <p>$(E_A, E_B, \phi_A(P_B), \phi_A(Q_B), \phi_B(P_A), \phi_B(Q_A), E_{AB})$, where</p>

\[E_{AB} \cong E_0/\langle [m_A]P_A + [n_A]Q_A, [m_B]P_B + [n_B]QB \rangle\]
  </li>
  <li>
    <p>$(E_A, E_B, \phi_A(P_B), \phi_A(Q_B), \phi_B(P_A), \phi_B(Q_A), E_C)$, where</p>

\[E_C \cong E_0/\langle [m'\_A]P_A + [n'\_A]Q_A, [m'\_B]P_B + [n'\_B]Q_B \rangle\]

    <p>where $m’_A, n’_A$ are chosen at random from $\mathbb{Z}/l_A^{e_A}\mathbb{Z}$ and not both divisible by $l_A$, and similarly for $m’_B, n’_B$,</p>
  </li>
</ul>

<p>determine from which distribution the tuple is sampled.</p>

<p>We first note that given an SSCDH solver, we can solve SSDDH. Jao, De Feo and Plût proved that given the SSDDH assumption holds, for a particular class of hash function families $\mathcal{H}$ (namely, they must be <em>entropy-smoothing</em>), the PKE scheme is IND-CPA. The proof is routine and an easy adaptation from the corresponding proofs given by Stolbunov for ordinary elliptic curves <sup id="fnref:2:1" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">1</a></sup>. We therefore omit it and ask an interested reader to refer to pg. 19, <sup id="fnref:1:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">4</a></sup>.</p>

<h3 id="active-attacks-on-sidh">Active Attacks on SIDH</h3>

<p>Galbraith, Petit, Shani, and Ti gave a polynomial-time active attack against SIDH with static keys <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">5</a></sup> using the additional torsion-point information revealed during the protocol. To mitigate the affects of this attack, the authors proposed applying a transformation to SIDH to generate a IND-CCA secure scheme called Supersingular Isogeny Key Encapsulation, or SIKE. Details of how this is done can be found in the SIKE proposal for NIST’s post-quantum standardization effort <sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">6</a></sup>. Essentially, a key encapsulation mechanism (KEM) uses the public key to create a ciphertext containing a randomly chosen symmetric key, called encapsulation.</p>

<p>In July 2020, Round 3 finalists for NISTs post-quantum cryptography standardization effort were announced and included SIKE as an alternative candidate. Compared to other candidates, the main practical advantage of SIKE is its relatively small key sizes. However, although SIKE can be seen to be practical enough for many applications, it is still at least an order of magnitude slower than lattice- and code-based round 3 candidates.</p>

<h3 id="passive-attacks-on-sidh">Passive Attacks on SIDH</h3>

<p>When constructing the isogenies of degree $l_A^{e_A}$, we take kernels of a special form. This means that there are only around $\sqrt{p}$ possible choices for the ending curve $E_A$, whereas there are around $\frac{p}{12}$ supersingular $j$-invariants over $\mathbb{F}_{p^2}$. Using this, Jao, De Feo and Plût determined the best classical and quantum attacks had complexity $\tilde{O}(p^{1/4})$ and $\tilde{O}(p^{1/6})$ respectively for a generic curve pair <sup id="fnref:1:2" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">4</a></sup>. However, these attacks do not use the extra torsion point information.</p>

<p>In 2017, Petit analysed the impact of providing extra points in the hardness of the underlying assumptions <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">7</a></sup>. He proposed a classical algorithm that, for certain choices of parameters, solves the following problem in polynomial-time:
For a large prime $p$, smooth coprime integers $A$ and $B$, given two supersingular elliptic curves $E_0$ and $E$ over $\mathbb{F}_{p^2}$ connected by a degree-$A$ isogeny $\phi: E_0 \rightarrow E$, and given the action of $\phi$ on the $B$-torsion of $E_0$ recover $\phi$.</p>

<p>Petit’s attack only works for non-standard variants of SIDH satisfying $B &gt; A^4 &gt; p^4$. For efficiency, Jao and Feo proposed taking $A, B \approx \sqrt{p}$, so this passive polynomial-attack does not apply to SIDH/SIKE parameters.</p>

<p>In 2020, Kutas, Martindale, Panny, Petit, and Stange improved on this, providing polynomial-time attacks with more relaxed the conditions on $A, B$ <sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">8</a></sup>. They also demonstrate how choosing an <em>insecure</em> starting curve $E_0$ can lead to polynomial-time attacks for certain $A$ and $B$. Another attack recently proposed in ANTS-XIV 2020 by Kutas, Merz, Petit, and Weitkämper consists of a hidden shift quantum attack when $A$ and $B$ are unbalanced <sup id="fnref:7" role="doc-noteref"><a href="#fn:7" class="footnote" rel="footnote">9</a></sup>. Currently it is not better than previous attacks but is fundamentally different and disproves the claim in the original SIDH paper that the hidden shift attack could not be adapted to an attack on SIDH. The restrictions on $A$ and $B$ mean both these results still do not affect the security of SIKE, but in anticipation of future cryptanalysis progress it is desirable to design variants of SIDH that rely on the original general isogeny problem.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:2" role="doc-endnote">
      <p>Anton Stolbunov. Reductionist security arguments for public-key cryptographic schemes based on group actions. <em>Norsk informasjonssikkerhetskonferanse (NISK)</em>, pages 97-109, 2009. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:2:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p>
    </li>
    <li id="fn:8" role="doc-endnote">
      <p>Steven D Galbraith and Anton Stolbunov. Improved algorithm for the isogeny problem for ordinary elliptic curves. <em>Applicable Algebra in Engineering, Communication and Computing 24</em>(2), pages 107-131, 2013. <a href="#fnref:8" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:9" role="doc-endnote">
      <p>Andrew Childs, David Jao, and Vladimir Soukharev. Constructing elliptic curve isogenies in quantum subexponential time. <em>Journal of Mathematical Cryptology, 8</em>(1), pages 1-29, 2014. <a href="#fnref:9" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:1" role="doc-endnote">
      <p>David Jao, Luca De Feo and Jérôme Plût. Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. In Springer, editor, <em>International Workshop on Post-Quantum Cryptography</em>, pages 19-34, 2011. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:1:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a> <a href="#fnref:1:2" class="reversefootnote" role="doc-backlink">&#8617;<sup>3</sup></a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>Steven D Galbraith, Christophe Petit, Barak Shani, and Yan Bo Ti. On the security of supersingular isogeny cryptosystems. In Springer, editor, <em>International Conference on the Theory and Application of Cryptology and Information Security</em>, pages 63-91, 2016. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:4" role="doc-endnote">
      <p>David Jao et al. Supersingular isogeny key encapsulation October 1, 2020. <em>NIST Round 3</em>, 2020. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:5" role="doc-endnote">
      <p>Christophe Petit. Faster algorithms for isogeny problems using torsion point images. In Springer, editor, <em>International Conference on the Theory and Application of Cryptology and Information Security</em>, pages 330-353, 2017. <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:6" role="doc-endnote">
      <p>Péter Kutas, Chloe Martindale, Lorenz Panny, Christophe Petit, and Katherine E Stange. Weak instances of SIDH variants under improved torsion-point attacks. <em>arXiv preprint arXiv:2005.14681</em>, 2020. <a href="#fnref:6" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:7" role="doc-endnote">
      <p>Péter Kutas, Simon-Philipp Merz, Christophe Petit, and Charlotte Weitkämper. A hidden shift quantum attack on unbalanced SIDH. Rump session, ANTS-XIV, July 2020. <a href="#fnref:7" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="cryptography" /><category term="post-quantum" /><summary type="html"><![CDATA[Stolbunov proposed a Diffie-Hellman type scheme based on the difficulty of computing isogenies between ordinary elliptic curves, with the aim of obtaining quantum-resistant cryptographic protocols 1. The fastest known classical probabilitic algorithm for solving this problem is an algorithm of Galbraith and Stolbunov 2, which is exponential with a worst-case running time of $O(^4\sqrt{q})$. However, on a quantum computer, Childs, Jao, and Soukharev. 3 showed that the private keys in Stolbunov’s system can be recovered in subexponential time. Another issue is efficieny: even if we only consider classical attacks in assessing security levels, Stolbunov’s scheme requires 229 seconds (even with precomputation) to perform a single key exchange operation at the 128-bit security level on a desktop computer. In 2011, De Feo, Jao and Plût published a paper entitled ‘Towards Quantum-Resistant Cryptosystems from Supersingular Elliptic Curve Isogenies’, which presented isogeny-based key-exchange and encryption schemes that address both the performance and security drawbacks of Stolbunov’s system. They named their key-exchange protocol SIDH, for Supersingular Isogeny Diffie-Hellman. Assumed knowledge: Isogenies for Cryptography Throughout this we will assume that we are working over a finite field $\mathbb{F}_q$. Background Supersingular vs. Ordinary There are two types of elliptic curves that we can have are ordinary or supersingular. The precise definitions are unimportant for cryptographic purposes, however it is useful to note that supersingular curves are all defined over $\mathbb{F}_{p^2}$, so for the finite field we’re working over, we can take $q = p^2$. If we have two elliptic curves $E_1$ and $E_2$ such that there exists an isogeny $\phi$ connecting them, then we say that $E_1$ and $E_2$ are in the same isogeny class. FACT: Ellitpic curves in the same isogeny class are either all supersingular or all ordinary. In SIDH we will be going from one ellitpic curve, say $E$ , to another via an isogeny (or a composition of various isogenies). The fact above tells us that if we start with a supersingular curve, we will end up at another supersingular curve. This is a highly desirable property as it means we don’t have to make any restrictions on the isogenies we choose from $E$ to ensure we end up at a supersingular curve. Non-Commutative The main technical difficulty is that, in the supersingular case, the endomorphism ring is noncommutative, whereas Diffie-Hellman type protocols require commutativity. In the paper, they propose overcoming this obstacle by providing the outputs of the isogeny on certain points as auxiliary input to the protocols. Provided this auxiliary input does not make the problem of finding isogenies any easier, the added difficulty arising from the anticommutativity actually makes the protocol stronger. Before analysing the security of the scheme in greater detail, we describe how to get various types of protocols using supersingular elliptic curves. Schemes using Supersingular Elliptic Curves In this section we present a key-exchange protocol and a public-ley cryptosystem using supersingular elliptic curves. Setup We first discuss the choice of prime $p$ in 4. Fix the finite field $\mathbb{F}_{p^2}$, where \[p = l_A^{e_A}l_B^{e_B}\cdot f \pm 1\] In the original SIDH paper $(l_A, l_B) = (2,3)$, to exploit efficient isogeny computations. To provide the same security level for both Alice and Bob we set $2^{e_A} \approx 3^{e_B}$. An integer $f$ is then chosen so $p$ is prime. This choice of $p$ ensures isogeny computations can be done over $\mathbb{F}_{p^2}$. We also fix supersingular curve $E_0$ and bases {$P_A, Q_A$} and {$P_B, Q_B$} which generate $E_0[l_A^{e_A}]$ and $E_0[l_B^{e_B}]$ respectively. Such bases can be found as \[E_0[l_i^{e_i}] \cong \mathbb{Z}/l_i^{e_i}\mathbb{Z} \times \mathbb{Z}/l_i^{e_i}\mathbb{Z}\] Key-Exchange Protocol Step 1: Alice chooses random elements $m_A, n_A \in \mathbb{Z}/l_A^{e_A}\mathbb{Z}$, not both divisible by $l_A$ and computes $\phi_A: E_0 \rightarrow E_A$ with kernel $K_A := \langle [m_A]P_A + [n_A]Q_A \rangle$. Bob similarly computes $\phi_B$ with kernel $K_B$. Alice then computes $\phi_A(P_B), \phi_A(Q_B) \in E_A$ and sends them to Bob. Bob proceeds analogously. This step was proposed by Jao and De Feo to overcome the fact that $\phi_A$ and $\phi_B$ cannot be composed due to mismatching domains and codomains. Step 2: Alice computes $\phi$’$_A: E_B \rightarrow E_{BA}$ with kernel $\langle [m_A]\phi_B(P_A) + [n_A]\phi_B(Q_A) \rangle$. Similarly, Bob computes $\phi$’$_B: E_A \rightarrow E_{AB}$. Noting $E_{AB} = E_{BA}$, Alice and Bob use the common $j$-invariant of $E_{AB}$ as the secret shared key. Public Key Encryption Jao, De Feo and Plût adapted the key-exchange protocol above to give a PKE scheme, in a similar vein to constructing ElGamal Encryption from Diffie-Hellman. In the setup we also need a family of hash functions $\mathcal{H}$ = {$H_k$}$_{k \in K}$, where $K$ is a finite set and each $H_k$ is a function from $\mathbb{F}_{p^2}$ to the message space. Key Generation: Let $m_A, n_A, E_A, \phi_A(P_B), \phi_A(Q_B)$ be as above and choose a random element $k \in K$. The public key and secret key are \[\texttt{pk} = (E_A, \phi_A(P_B), \phi_A(Q_B), k) \text{, } \texttt{sk} = (m_A, n_A, k)\] Encryption: Given $\texttt{pk}$ and message $m$, choose $m_B, n_B$ as above and compute $j$-invariant $j(E_{AB})$. Set \[h = H_k(j(E_{AB})) \text{, } c = h \oplus m\] The ciphertext is $\texttt{ct} = (E_B, \phi_B(P_A), \phi_B(Q_A), c)$. Decryption: Given $\texttt{ct}$ and $\texttt{sk}$, compute $j(E_{AB})$ and set \[h = H_k(j(E_AB)) \text{, } m = h \oplus c\] The plaintext is $m$. Security Using the same notation, we define computational problems these schemes are based on. Supersingular Computational Diffie-Hellman (SSCDH) Problem: Given the curves $E_A, E_B$ and the points $\phi_A(P_B), \phi_A(Q_B), \phi_B(P_A), \phi_B(Q_B)$, find the $j$-invariant of $E_0/\langle [m_A]P_A + [n_A]Q_A, [m_B]P_B + [n_B]Q_B \rangle$. Supersingular Decision Diffie-Hellman (SSDDH) Problem: Given a tuple sampled with probability $\frac{1}{2}$ from one of the following two distributions: $(E_A, E_B, \phi_A(P_B), \phi_A(Q_B), \phi_B(P_A), \phi_B(Q_A), E_{AB})$, where \[E_{AB} \cong E_0/\langle [m_A]P_A + [n_A]Q_A, [m_B]P_B + [n_B]QB \rangle\] $(E_A, E_B, \phi_A(P_B), \phi_A(Q_B), \phi_B(P_A), \phi_B(Q_A), E_C)$, where \[E_C \cong E_0/\langle [m'\_A]P_A + [n'\_A]Q_A, [m'\_B]P_B + [n'\_B]Q_B \rangle\] where $m’_A, n’_A$ are chosen at random from $\mathbb{Z}/l_A^{e_A}\mathbb{Z}$ and not both divisible by $l_A$, and similarly for $m’_B, n’_B$, determine from which distribution the tuple is sampled. We first note that given an SSCDH solver, we can solve SSDDH. Jao, De Feo and Plût proved that given the SSDDH assumption holds, for a particular class of hash function families $\mathcal{H}$ (namely, they must be entropy-smoothing), the PKE scheme is IND-CPA. The proof is routine and an easy adaptation from the corresponding proofs given by Stolbunov for ordinary elliptic curves 1. We therefore omit it and ask an interested reader to refer to pg. 19, 4. Active Attacks on SIDH Galbraith, Petit, Shani, and Ti gave a polynomial-time active attack against SIDH with static keys 5 using the additional torsion-point information revealed during the protocol. To mitigate the affects of this attack, the authors proposed applying a transformation to SIDH to generate a IND-CCA secure scheme called Supersingular Isogeny Key Encapsulation, or SIKE. Details of how this is done can be found in the SIKE proposal for NIST’s post-quantum standardization effort 6. Essentially, a key encapsulation mechanism (KEM) uses the public key to create a ciphertext containing a randomly chosen symmetric key, called encapsulation. In July 2020, Round 3 finalists for NISTs post-quantum cryptography standardization effort were announced and included SIKE as an alternative candidate. Compared to other candidates, the main practical advantage of SIKE is its relatively small key sizes. However, although SIKE can be seen to be practical enough for many applications, it is still at least an order of magnitude slower than lattice- and code-based round 3 candidates. Passive Attacks on SIDH When constructing the isogenies of degree $l_A^{e_A}$, we take kernels of a special form. This means that there are only around $\sqrt{p}$ possible choices for the ending curve $E_A$, whereas there are around $\frac{p}{12}$ supersingular $j$-invariants over $\mathbb{F}_{p^2}$. Using this, Jao, De Feo and Plût determined the best classical and quantum attacks had complexity $\tilde{O}(p^{1/4})$ and $\tilde{O}(p^{1/6})$ respectively for a generic curve pair 4. However, these attacks do not use the extra torsion point information. In 2017, Petit analysed the impact of providing extra points in the hardness of the underlying assumptions 7. He proposed a classical algorithm that, for certain choices of parameters, solves the following problem in polynomial-time: For a large prime $p$, smooth coprime integers $A$ and $B$, given two supersingular elliptic curves $E_0$ and $E$ over $\mathbb{F}_{p^2}$ connected by a degree-$A$ isogeny $\phi: E_0 \rightarrow E$, and given the action of $\phi$ on the $B$-torsion of $E_0$ recover $\phi$. Petit’s attack only works for non-standard variants of SIDH satisfying $B &gt; A^4 &gt; p^4$. For efficiency, Jao and Feo proposed taking $A, B \approx \sqrt{p}$, so this passive polynomial-attack does not apply to SIDH/SIKE parameters. In 2020, Kutas, Martindale, Panny, Petit, and Stange improved on this, providing polynomial-time attacks with more relaxed the conditions on $A, B$ 8. They also demonstrate how choosing an insecure starting curve $E_0$ can lead to polynomial-time attacks for certain $A$ and $B$. Another attack recently proposed in ANTS-XIV 2020 by Kutas, Merz, Petit, and Weitkämper consists of a hidden shift quantum attack when $A$ and $B$ are unbalanced 9. Currently it is not better than previous attacks but is fundamentally different and disproves the claim in the original SIDH paper that the hidden shift attack could not be adapted to an attack on SIDH. The restrictions on $A$ and $B$ mean both these results still do not affect the security of SIKE, but in anticipation of future cryptanalysis progress it is desirable to design variants of SIDH that rely on the original general isogeny problem. Anton Stolbunov. Reductionist security arguments for public-key cryptographic schemes based on group actions. Norsk informasjonssikkerhetskonferanse (NISK), pages 97-109, 2009. &#8617; &#8617;2 Steven D Galbraith and Anton Stolbunov. Improved algorithm for the isogeny problem for ordinary elliptic curves. Applicable Algebra in Engineering, Communication and Computing 24(2), pages 107-131, 2013. &#8617; Andrew Childs, David Jao, and Vladimir Soukharev. Constructing elliptic curve isogenies in quantum subexponential time. Journal of Mathematical Cryptology, 8(1), pages 1-29, 2014. &#8617; David Jao, Luca De Feo and Jérôme Plût. Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. In Springer, editor, International Workshop on Post-Quantum Cryptography, pages 19-34, 2011. &#8617; &#8617;2 &#8617;3 Steven D Galbraith, Christophe Petit, Barak Shani, and Yan Bo Ti. On the security of supersingular isogeny cryptosystems. In Springer, editor, International Conference on the Theory and Application of Cryptology and Information Security, pages 63-91, 2016. &#8617; David Jao et al. Supersingular isogeny key encapsulation October 1, 2020. NIST Round 3, 2020. &#8617; Christophe Petit. Faster algorithms for isogeny problems using torsion point images. In Springer, editor, International Conference on the Theory and Application of Cryptology and Information Security, pages 330-353, 2017. &#8617; Péter Kutas, Chloe Martindale, Lorenz Panny, Christophe Petit, and Katherine E Stange. Weak instances of SIDH variants under improved torsion-point attacks. arXiv preprint arXiv:2005.14681, 2020. &#8617; Péter Kutas, Simon-Philipp Merz, Christophe Petit, and Charlotte Weitkämper. A hidden shift quantum attack on unbalanced SIDH. Rump session, ANTS-XIV, July 2020. &#8617;]]></summary></entry><entry><title type="html">Vélu’s Formulas for SIDH</title><link href="https://www.mariascrs.com/2020/11/07/velus-formulas.html" rel="alternate" type="text/html" title="Vélu’s Formulas for SIDH" /><published>2020-11-07T00:00:00+00:00</published><updated>2020-11-07T00:00:00+00:00</updated><id>https://www.mariascrs.com/2020/11/07/velus-formulas</id><content type="html" xml:base="https://www.mariascrs.com/2020/11/07/velus-formulas.html"><![CDATA[<p>In this blog post I will assume knowledge on:</p>
<ul>
  <li>Elliptic curves (over finite fields)</li>
  <li>A <a href="https://mariascrs.github.io/2020/11/06/isogenies-for-crypto.html">previous blogpost</a> on isogenies for cryptography</li>
  <li>Polynomials</li>
</ul>

<p>Suppose we have an  elliptic curve $E_1$ over a finite field $\mathbb{F}_{p^2}$. Given the kernel of an isogeny (a finite subgroup of the group of points on $E_1$), Vélu’s formulas give us a way to determine the codomain of the isogeny, as well as compute the isogeny. This technique is used in the Supersingular Isogeny Diffie-Hellman (SIDH) protocol proposed by Feo, Jao and Plût [2], which I will introduce in a future blog post.</p>

<h2 id="weierstrass-form">Weierstrass Form</h2>

<p>The input of Vélu’s formulas is an elliptic curve $E_1$ in general Weierstrass form and a finite subgroup of the group of points on $E_1$, let’s call it $G$.</p>

<p>A curve $E_1$ is said to be in general Weierstrass form over $\mathbb{F}_{p^2}$ if</p>

\[E_1: y^2 + axy + by = x^3 + cx^2 + dx + e\]

<p>where $a, b, c, d, e \in \mathbb{F}_{p^2}$ and the discriminant (a polynomial in $a, b, c, d, e$) is non-zero. This second condition ensures that the ellitpic curve is non-singular, which geometrically means the curve has no cusps or self-intersections.</p>

<p>When we consider the SIDH protocol, we will use elliptic curves in Montgomery form, namely</p>

\[by^2 = x^3 + ax^2 + x\]

<p>which is isomorphic to a curve in Weierstrass form over $\mathbb{F}_{p^2}$, via the isomorphism</p>

\[\phi(x, y) = (\frac{x}{b}, \frac{y}{b^2})\]

<p>Don’t worry about the details of the isomorphism as it won’t be necessary for the SIDH protocol.</p>

<p>Remembering that what we are interested in for cryptography is the <em>isomorphism class</em> of the elliptic curves, the main takeaway is that for the SIDH protocol we will use elliptic curves in a form that will allow us to use Vélu’s formulas.</p>

<h2 id="vélus-formulas">Vélu’s Formulas</h2>
<p>I will now explain the steps proposed by Vélu to compute the isogeny and codomain, given</p>

\[E_1: y^2 + axy + by = x^3 + cx^2 + dx + e\]

<p>and a finite set of points $G$.</p>

<p>For those not interested in implementing these formulas, the details are not that important. However, it is worth noting that these formulas are just rational functions of the inputs mentioned above, and the degrees of these functions are the same size as the size of $G$. Therefore, they are quite <em>nice</em> and <em>easy to implement</em>. Without these formulas it would be hard to implement any cryptography scheme based on isogenies.</p>

<h3 id="step-1">Step 1</h3>
<p>Partition the set of points $G$</p>

<ol>
  <li>
    <p>Discard the identity point $\mathcal{O}$</p>
  </li>
  <li>
    <p>Let $G_2$ be all the 2-torsion points and let $R$ be the rest of the points in $G$</p>
  </li>
  <li>
    <p>Split $R$ into two equal sized sets, which we will call $R_+$ and $R_-$, such that if $P \in R_+$ then $-P \in R_-$.</p>
  </li>
  <li>
    <p>Let $S$ be the union $R_+ \cup G_2$.</p>
  </li>
</ol>

<h3 id="step-2">Step 2</h3>
<p>Now given $Q = (x_Q, y_Q) \in S$ we define the following quatities</p>

<ul>
  <li>$f_Q = 3x^2_Q + 2cx_Q + d - ay_Q$</li>
  <li>$g_Q = -2y_Q - ax_Q - b$</li>
</ul>

<p>If $Q$ is a 2-torsion point (i.e. in $G_2$), then let</p>

\[v_Q = f_Q\]

<p>Otherwise, let</p>

\[v_Q = 2f_Q - ag_Q\]

<p>Then let $u_Q = (g_Q)^2$. Finally we compute</p>

\[v = \sum_{Q \in S} v_Q, \text{    } w = \sum_{Q \in S} (u_Q + x_Qv_Q)\]

<h3 id="step-3">Step 3</h3>

<p>We can now compute the target image.</p>

<p>Define the following values:</p>

<ul>
  <li>$A = a$</li>
  <li>$B = b$</li>
  <li>$C = c$</li>
  <li>$D = d - 5v$</li>
  <li>$E = e - (a^2 + 4c)v - 7w$</li>
</ul>

<p>Then the Weierstrass quation for the codomain of the isogeny is</p>

\[E_2: y^2 + Axy + By = x^3 + Cx^2 + Dx + E\]

<h3 id="step-4">Step 4</h3>

<p>The image point of the point $(x, y)$ under the isogeny is given by $(\alpha, \beta)$ where</p>

\[\alpha = x+ \sum_{Q \in S} (\frac{v_Q}{x - x_Q} + \frac{u_Q}{(x - x_Q)^2})\]

<p>and</p>

\[\beta = y - \sum_{Q \in S} (u_Q \frac{2y+ax + b}{(x - x_Q)^3} + v_Q\frac{a(x - x_Q) + y - y_Q}{(x - x_Q)^2}+ \frac{au_Q - f_Qg_Q}{(x - x_Q)^2})\]

<p>For the proof of the correctness of these formulas, see Washington’s treatment in [23].</p>

<h2 id="concluding-thoughts">Concluding Thoughts</h2>

<p>Though the details of these formulas are not that important, it helps us bridge the gap between theory and implementation. In theory, a cryptographic scheme based on isogenies can be found to be secure and sound, but if it cannot be implemented then it is of little practical use.</p>

<h2 id="further-reading">Further Reading</h2>

<p>[1] <strong>Isogenies of Elliptic Curves: A Computational Approach</strong>, by Daniel Shumow.</p>

<p>[2] <strong>Towards Quantum-Resistant Cryptosystems from Supersingular Elliptic Curve Isogenies</strong>, by Luca de Feo, David Jao and Jérôme Plût.</p>

<p>[3] <strong>Elliptic curves: Number theory and cryptography</strong>, by Lawrence Washington.</p>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="elliptic" /><category term="curve" /><category term="cryptography" /><category term="post-quantum" /><summary type="html"><![CDATA[In this blog post I will assume knowledge on: Elliptic curves (over finite fields) A previous blogpost on isogenies for cryptography Polynomials Suppose we have an elliptic curve $E_1$ over a finite field $\mathbb{F}_{p^2}$. Given the kernel of an isogeny (a finite subgroup of the group of points on $E_1$), Vélu’s formulas give us a way to determine the codomain of the isogeny, as well as compute the isogeny. This technique is used in the Supersingular Isogeny Diffie-Hellman (SIDH) protocol proposed by Feo, Jao and Plût [2], which I will introduce in a future blog post. Weierstrass Form The input of Vélu’s formulas is an elliptic curve $E_1$ in general Weierstrass form and a finite subgroup of the group of points on $E_1$, let’s call it $G$. A curve $E_1$ is said to be in general Weierstrass form over $\mathbb{F}_{p^2}$ if \[E_1: y^2 + axy + by = x^3 + cx^2 + dx + e\] where $a, b, c, d, e \in \mathbb{F}_{p^2}$ and the discriminant (a polynomial in $a, b, c, d, e$) is non-zero. This second condition ensures that the ellitpic curve is non-singular, which geometrically means the curve has no cusps or self-intersections. When we consider the SIDH protocol, we will use elliptic curves in Montgomery form, namely \[by^2 = x^3 + ax^2 + x\] which is isomorphic to a curve in Weierstrass form over $\mathbb{F}_{p^2}$, via the isomorphism \[\phi(x, y) = (\frac{x}{b}, \frac{y}{b^2})\] Don’t worry about the details of the isomorphism as it won’t be necessary for the SIDH protocol. Remembering that what we are interested in for cryptography is the isomorphism class of the elliptic curves, the main takeaway is that for the SIDH protocol we will use elliptic curves in a form that will allow us to use Vélu’s formulas. Vélu’s Formulas I will now explain the steps proposed by Vélu to compute the isogeny and codomain, given \[E_1: y^2 + axy + by = x^3 + cx^2 + dx + e\] and a finite set of points $G$. For those not interested in implementing these formulas, the details are not that important. However, it is worth noting that these formulas are just rational functions of the inputs mentioned above, and the degrees of these functions are the same size as the size of $G$. Therefore, they are quite nice and easy to implement. Without these formulas it would be hard to implement any cryptography scheme based on isogenies. Step 1 Partition the set of points $G$ Discard the identity point $\mathcal{O}$ Let $G_2$ be all the 2-torsion points and let $R$ be the rest of the points in $G$ Split $R$ into two equal sized sets, which we will call $R_+$ and $R_-$, such that if $P \in R_+$ then $-P \in R_-$. Let $S$ be the union $R_+ \cup G_2$. Step 2 Now given $Q = (x_Q, y_Q) \in S$ we define the following quatities $f_Q = 3x^2_Q + 2cx_Q + d - ay_Q$ $g_Q = -2y_Q - ax_Q - b$ If $Q$ is a 2-torsion point (i.e. in $G_2$), then let \[v_Q = f_Q\] Otherwise, let \[v_Q = 2f_Q - ag_Q\] Then let $u_Q = (g_Q)^2$. Finally we compute \[v = \sum_{Q \in S} v_Q, \text{ } w = \sum_{Q \in S} (u_Q + x_Qv_Q)\] Step 3 We can now compute the target image. Define the following values: $A = a$ $B = b$ $C = c$ $D = d - 5v$ $E = e - (a^2 + 4c)v - 7w$ Then the Weierstrass quation for the codomain of the isogeny is \[E_2: y^2 + Axy + By = x^3 + Cx^2 + Dx + E\] Step 4 The image point of the point $(x, y)$ under the isogeny is given by $(\alpha, \beta)$ where \[\alpha = x+ \sum_{Q \in S} (\frac{v_Q}{x - x_Q} + \frac{u_Q}{(x - x_Q)^2})\] and \[\beta = y - \sum_{Q \in S} (u_Q \frac{2y+ax + b}{(x - x_Q)^3} + v_Q\frac{a(x - x_Q) + y - y_Q}{(x - x_Q)^2}+ \frac{au_Q - f_Qg_Q}{(x - x_Q)^2})\] For the proof of the correctness of these formulas, see Washington’s treatment in [23]. Concluding Thoughts Though the details of these formulas are not that important, it helps us bridge the gap between theory and implementation. In theory, a cryptographic scheme based on isogenies can be found to be secure and sound, but if it cannot be implemented then it is of little practical use. Further Reading [1] Isogenies of Elliptic Curves: A Computational Approach, by Daniel Shumow. [2] Towards Quantum-Resistant Cryptosystems from Supersingular Elliptic Curve Isogenies, by Luca de Feo, David Jao and Jérôme Plût. [3] Elliptic curves: Number theory and cryptography, by Lawrence Washington.]]></summary></entry><entry><title type="html">Isogenies for Cryptography</title><link href="https://www.mariascrs.com/2020/11/06/isogenies-for-crypto.html" rel="alternate" type="text/html" title="Isogenies for Cryptography" /><published>2020-11-06T00:00:00+00:00</published><updated>2020-11-06T00:00:00+00:00</updated><id>https://www.mariascrs.com/2020/11/06/isogenies-for-crypto</id><content type="html" xml:base="https://www.mariascrs.com/2020/11/06/isogenies-for-crypto.html"><![CDATA[<p>On July 22, 2020, the <a href="https://csrc.nist.gov/projects/post-quantum-cryptography/round-3-submissions">Round 3 finalists</a> for the NIST Post-quantum Cryptography Standardization effort were announced. One of the alternate candidates for public-key encryption and key-establishement algorithms is <strong>SIKE</strong>, a key encapsulation mechanism (KEM) based on <em>isogenies</em>. A non-specialist wanting a basic understanding of the schemes may find that SIKE protocol has one of the highest barriers of entry due to the sheer amount of mathematical background you need to understand before getting to the cryptography part. This post is aimed at providing a <em>hopefully</em> short introduction to isogenies and other related concepts. In a future post I’ll apply this to cryptography and indroduce SIDH (the key exchange protocol that SIKE is based on).</p>

<p>Assumed knowledge:</p>
<ul>
  <li>Elliptic Curves (over Finite Fields)
    <ul>
      <li>What they are</li>
      <li>How they form a group under addition of point</li>
    </ul>
  </li>
  <li><em>A little bit of</em> group theory</li>
  <li>Basic properties of functions like surjectivity, injectivity, bijectivity etc.</li>
</ul>

<h2 id="isogenies">Isogenies</h2>

<p>Let $E_1$ and $E_2$ be elliptic curves defined over a finite field $\mathbb{F}_q$. Here, $q$ is some prime power. We note that $E_1$ and $E_2$ form groups under the addition of points and as $\mathbb{F}_q$ is finite, so are these groups.</p>

<p><strong>Note:</strong> Normally in maths papers,we write $E_i(K)$ to specify we are talking about $K$-valued points. I’ll drop this notation because we will only be considering the elliptic curves over a finite field.</p>

<p>Say we now want to consider a map between these two elliptic curves:</p>

\[\phi: E_1 \longrightarrow E_2\]

<p>But wait, what do we even mean by a map from one elliptic curve to another? We might also wonder what properties should this map have for it to ‘behave well’ in both the geometric and algebraic sense?</p>

<ul>
  <li>$\phi$ acts on points on the elliptic curve, which have an $x$ and a $y$ coordinate. So we can write $\phi = (\phi_1, \phi_2)$, which acts on a point $P = (x, y)$ on $E_1$ in the following way:</li>
</ul>

\[\phi(P) = \phi((x, y)) = (\phi_1(x), \phi_2(y))\]

<ul>
  <li>We want this map to be <em>rational</em>. By this we mean that if $\phi = (\phi_1, \phi_2)$, then $\phi_1$ and $\phi_2$ are just algebraic fractions where the denominator and numerator are polynomials. For example</li>
</ul>

\[\frac{x^3+4x+1}{2x+5}\]

<ul>
  <li>
    <p>We want $\phi$ to have this property, because it is a well known fact in maths that a rational map is either <strong>surjective or constant</strong>. Though this may not seem important, once we define a few more properties and start looking at isogenies, this becomes really useful.</p>
  </li>
  <li>
    <p>As $E_1$ and $E_2$ form groups, ideally we would like $\phi$ to be a group homomorphism. Intuitively this means thats $\phi$ will preserve the group structure. Mathematically, if $+_i$ is the group operation on $E_i$ (namely, the addition of points on $E_i$), and $P, Q$ are two points on $E_1$ then</p>
  </li>
</ul>

\[\phi(P +_1 Q) = \phi(P) +_2 \phi(Q)\]

<p>If we label the identity of the group $E_i$ as $\mathcal{O}_i$ we can make the following definition.</p>

<p><strong>Definition:</strong> A rational map $\phi: E_1 \longrightarrow E_2$ is called an <em>isogeny</em> if $\phi(\mathcal{O}_1) = \mathcal{O}_2$.</p>

<p>It turns out that a map being <em>rational</em> and <em>sending the identity to itself</em> automatically makes the isogeny a <strong>group homomorphism</strong>, which is one of the propoerties we wanted. Also, the isogeny is either the identity map (it is a constant map that sends the identity to itself) OR it must be surjective.</p>

<p>A really famous example of an isogeny when we’re working over a finite field $\mathbb{F_q}$ is the <strong>Frobenius Map</strong>. If $P = (x, y)$, this map is given by</p>

\[\phi(P) = (x^q, y^q)\]

<p>It’s an easy check to see that this is in fact an isogeny so I encourage you to try show this to make sure you understand the definition!</p>

<h2 id="endomorphisms">Endomorphisms</h2>

<p><strong>Definition:</strong> If $E_1 = E_2$ then $\phi$ is called an <em>endomorphism</em>.</p>

<p><strong>Definition</strong>: An endomorphism $\phi$ is an <em>isomorphism</em> if it is bijective. Remember that  $\phi$ is either the identity or surjective, so we only need to check if $\phi$ is injective.</p>

<p>These endomorphisms are really cool because the set of endomorphisms of an elliptic curve $E$ together with the zero map (that map that sends everything to zero) actually forms a <em>ring</em> under the operations of pointwise addition and ‘multiplication’ given by composing the endomorphisms (i.e. $(f \times g) = f(g(x))$. Intuitively, being a ring means that the addition and multiplication behave nicely and interact well with each other. More precisely, being a ring means that:</p>
<ul>
  <li>it is a group under the addition</li>
  <li>the multiplication is associative and has an identity</li>
  <li>multiplication is distributive with respect to addition</li>
</ul>

<p>We denote this ring by $End(E)$.</p>

<h3 id="j-invariants">j-Invariants</h3>

<p>For our purposes, we let $p \equiv 3 \mod 4$ be a prime and we consider the finite field $\mathbb{F}_{p^2}$.</p>

<p>Note: To get some intuition as to what this field looks like we can show that $\mathbb{F}_{p^2}$ is equivalent adjoining $i$ to $\mathbb{F}_{p}$, where $i^2 + 1 = 0$, which we write as $\mathbb{F}_{p}(i)$. This means that we can view elements of $\mathbb{F}_{p^2}$ as being of the form $u + iv$ where $u, v \in \mathbb{F}_p$. Unless stated otherwise, we now assume all elliptic curves are over this finite field.</p>

<p>Instead of considering each individual elliptic curve, what we actually want to do is consider $E_1$ and $E_2$ to be the ‘same’ elliptic curves <strong>if and only if</strong> they are isomorphic. More precisely, we consider the equivalence classes of elliptic curves, where $E_1$ and $E_2$ are equivalent <strong>if and only if</strong> they are isomorphic.  To do this we need some sort of invariant that will be the same for $E_1$ and $E_2$ <strong>if and only if</strong> they are isomorphic to allow us to label each equivalence class. So, we introduce the <strong>$j$-invariant</strong>!</p>

<p>Writing the elliptic curve $E$ in <em>Weierstrass Form</em>, namely</p>

\[y^2 = x^3 +ax^2 +bx + c \text{ where } a, b, c \in \mathbb{F}_{p^2},\]

<p>we have</p>

\[j(E) = 1728 \frac{4a^3}{4a^3 + 27b^2}\]

<p>Then, over $\mathbb{F}_{p^2}$, two elliptic curves are isomorphic <strong>if and only if</strong> they have the same $j$-invaraint, which is exactly the property we were looking for.</p>

<h2 id="properties-of-isogenies">Properties of Isogenies</h2>

<h3 id="separable-vs-inseparable">Separable vs. Inseparable</h3>

<p>A word that is used a lot in papers on isogeny cryptography is <em>separable</em>. In general, an isogeny can be either <em>separable</em> or <em>inseparable</em>. The definitions aren’t really that important, but for the maths to work out and be nice, we want the isogenies to be <em>separable</em>.</p>

<p>The most important thing about separable isogenies is the fact that they are in one-to-one correspondence with finite subgroups. <em>What does this mean?</em> Basically, every subgroup $G$ of the points on an elliptic curve $E_1$ gives rise to a unique isogeny $\phi: E_1 \longrightarrow E_2$ whose kernel is $G$ (recall that a kernel of $\phi$ is the set of points in $E$ that get mapped to the identity $\mathcal{O}_1$), and vice versa. If this is the case, the codomain is sometimes written as $E_1/G$ rather than $E_2$.</p>

<p>This is made explicit by Velu’s formulas: given an elliptic curve $E_1: y^2 = x^3 +ax^2 +bx + c$,  these formulas output an elliptic curve $E_2 = E_1/G$ and the explicit maps for $\phi$. In a future blog post I will go into more detail on these formulas.</p>

<h3 id="degree">Degree</h3>

<p><strong>Definition:</strong> The <em>degree</em> of a non-zero separable isogeny is the number of elements in the kernel. Equivalently, though less importantly for our purposes, it is the degree of the isogeny as a rational map (if you want a precise definition of what this means see page 21 Silverman’s ‘Arithmetic of Elliptic Curves’).</p>

<p>We can view isomorphisms as being special isogenies whose kernel is just ${\mathcal{O}}$, i.e. an isogeny of degree 1.</p>

<p>Degree interacts really nicely with composition of isogenies in the sense that</p>

\[\deg(\phi \circ \psi) = \deg(\phi) \times \deg(\psi)\]

<h2 id="dual-isogenies">Dual Isogenies</h2>

<p>We know that isomorphisms have an inverse and that composing them together gives us the identity map. But what about isogenies? Is there an analogue?</p>

<p>In general, isogenies do not have an inverse, however every isogeny $\phi$ has a unique <em>dual</em> isogeny, which we denote as $\hat{\phi}$. Rather than composing to give the identity, if</p>

\[\phi: E_1 \longrightarrow E_2\]

<p>is an isogeny of degree $d$, then $\hat{\phi}$ is an isogeny of degree $d$ and the composition gives us</p>

\[\phi \circ \hat{\phi} = [d],\]

<p>where $[d]: E_1 \longrightarrow E_2$ is the multiplication by $d$ map.</p>

<h2 id="torsion-points">Torsion Points</h2>

<p>Consider the multiplication-by-$d$ map. Then the group of all points $P$ on $E_1$ such that $[d]P = \mathcal{O}_1$ is denoted by $E_1[d]$ and are called the <em>$d$-torsion points</em>. In other words, these are the points that are in the <em>kernel</em> of (are sent zero by) the multiplication-by-$d$ map. In essence, $d$-torsion points are just <em>elements of order $d$</em>, however in most papers they are referred to as $d$-torsion points so I thought I would introduce this terminology now.</p>

<p>A useful fact to remember is that if <strong>$d$ is coprime to $q$</strong> (recall this is the size of the finite field we are working over), then</p>

\[\# E_1[d] = d^2\]

<p>and furthermore</p>

\[E_1[d] \cong (\mathbb{Z}/d\mathbb{Z}) \times (\mathbb{Z}/d\mathbb{Z})\]

<h2 id="further-reading">Further Reading</h2>

<p>[1] <strong>Supersingular Isogeny Key Exchange for Beginners</strong>, by Craig Costello (https://eprint.iacr.org/2019/1321.pdf)</p>

<p>[2] <strong>Rational Points on Elliptic Curves</strong>, by Joseph H. Silverman and John Tate</p>

<p>[3] <strong>Arithmetic of Elliptic Curves</strong>, by Joseph H. Silverman</p>]]></content><author><name>Maria Corte-Real Santos</name><email>maria.corte_real_santos@ens-lyon.fr</email></author><category term="maths" /><category term="isogeny" /><category term="cryptography" /><category term="post-quantum" /><summary type="html"><![CDATA[On July 22, 2020, the Round 3 finalists for the NIST Post-quantum Cryptography Standardization effort were announced. One of the alternate candidates for public-key encryption and key-establishement algorithms is SIKE, a key encapsulation mechanism (KEM) based on isogenies. A non-specialist wanting a basic understanding of the schemes may find that SIKE protocol has one of the highest barriers of entry due to the sheer amount of mathematical background you need to understand before getting to the cryptography part. This post is aimed at providing a hopefully short introduction to isogenies and other related concepts. In a future post I’ll apply this to cryptography and indroduce SIDH (the key exchange protocol that SIKE is based on). Assumed knowledge: Elliptic Curves (over Finite Fields) What they are How they form a group under addition of point A little bit of group theory Basic properties of functions like surjectivity, injectivity, bijectivity etc. Isogenies Let $E_1$ and $E_2$ be elliptic curves defined over a finite field $\mathbb{F}_q$. Here, $q$ is some prime power. We note that $E_1$ and $E_2$ form groups under the addition of points and as $\mathbb{F}_q$ is finite, so are these groups. Note: Normally in maths papers,we write $E_i(K)$ to specify we are talking about $K$-valued points. I’ll drop this notation because we will only be considering the elliptic curves over a finite field. Say we now want to consider a map between these two elliptic curves: \[\phi: E_1 \longrightarrow E_2\] But wait, what do we even mean by a map from one elliptic curve to another? We might also wonder what properties should this map have for it to ‘behave well’ in both the geometric and algebraic sense? $\phi$ acts on points on the elliptic curve, which have an $x$ and a $y$ coordinate. So we can write $\phi = (\phi_1, \phi_2)$, which acts on a point $P = (x, y)$ on $E_1$ in the following way: \[\phi(P) = \phi((x, y)) = (\phi_1(x), \phi_2(y))\] We want this map to be rational. By this we mean that if $\phi = (\phi_1, \phi_2)$, then $\phi_1$ and $\phi_2$ are just algebraic fractions where the denominator and numerator are polynomials. For example \[\frac{x^3+4x+1}{2x+5}\] We want $\phi$ to have this property, because it is a well known fact in maths that a rational map is either surjective or constant. Though this may not seem important, once we define a few more properties and start looking at isogenies, this becomes really useful. As $E_1$ and $E_2$ form groups, ideally we would like $\phi$ to be a group homomorphism. Intuitively this means thats $\phi$ will preserve the group structure. Mathematically, if $+_i$ is the group operation on $E_i$ (namely, the addition of points on $E_i$), and $P, Q$ are two points on $E_1$ then \[\phi(P +_1 Q) = \phi(P) +_2 \phi(Q)\] If we label the identity of the group $E_i$ as $\mathcal{O}_i$ we can make the following definition. Definition: A rational map $\phi: E_1 \longrightarrow E_2$ is called an isogeny if $\phi(\mathcal{O}_1) = \mathcal{O}_2$. It turns out that a map being rational and sending the identity to itself automatically makes the isogeny a group homomorphism, which is one of the propoerties we wanted. Also, the isogeny is either the identity map (it is a constant map that sends the identity to itself) OR it must be surjective. A really famous example of an isogeny when we’re working over a finite field $\mathbb{F_q}$ is the Frobenius Map. If $P = (x, y)$, this map is given by \[\phi(P) = (x^q, y^q)\] It’s an easy check to see that this is in fact an isogeny so I encourage you to try show this to make sure you understand the definition! Endomorphisms Definition: If $E_1 = E_2$ then $\phi$ is called an endomorphism. Definition: An endomorphism $\phi$ is an isomorphism if it is bijective. Remember that $\phi$ is either the identity or surjective, so we only need to check if $\phi$ is injective. These endomorphisms are really cool because the set of endomorphisms of an elliptic curve $E$ together with the zero map (that map that sends everything to zero) actually forms a ring under the operations of pointwise addition and ‘multiplication’ given by composing the endomorphisms (i.e. $(f \times g) = f(g(x))$. Intuitively, being a ring means that the addition and multiplication behave nicely and interact well with each other. More precisely, being a ring means that: it is a group under the addition the multiplication is associative and has an identity multiplication is distributive with respect to addition We denote this ring by $End(E)$. j-Invariants For our purposes, we let $p \equiv 3 \mod 4$ be a prime and we consider the finite field $\mathbb{F}_{p^2}$. Note: To get some intuition as to what this field looks like we can show that $\mathbb{F}_{p^2}$ is equivalent adjoining $i$ to $\mathbb{F}_{p}$, where $i^2 + 1 = 0$, which we write as $\mathbb{F}_{p}(i)$. This means that we can view elements of $\mathbb{F}_{p^2}$ as being of the form $u + iv$ where $u, v \in \mathbb{F}_p$. Unless stated otherwise, we now assume all elliptic curves are over this finite field. Instead of considering each individual elliptic curve, what we actually want to do is consider $E_1$ and $E_2$ to be the ‘same’ elliptic curves if and only if they are isomorphic. More precisely, we consider the equivalence classes of elliptic curves, where $E_1$ and $E_2$ are equivalent if and only if they are isomorphic. To do this we need some sort of invariant that will be the same for $E_1$ and $E_2$ if and only if they are isomorphic to allow us to label each equivalence class. So, we introduce the $j$-invariant! Writing the elliptic curve $E$ in Weierstrass Form, namely \[y^2 = x^3 +ax^2 +bx + c \text{ where } a, b, c \in \mathbb{F}_{p^2},\] we have \[j(E) = 1728 \frac{4a^3}{4a^3 + 27b^2}\] Then, over $\mathbb{F}_{p^2}$, two elliptic curves are isomorphic if and only if they have the same $j$-invaraint, which is exactly the property we were looking for. Properties of Isogenies Separable vs. Inseparable A word that is used a lot in papers on isogeny cryptography is separable. In general, an isogeny can be either separable or inseparable. The definitions aren’t really that important, but for the maths to work out and be nice, we want the isogenies to be separable. The most important thing about separable isogenies is the fact that they are in one-to-one correspondence with finite subgroups. What does this mean? Basically, every subgroup $G$ of the points on an elliptic curve $E_1$ gives rise to a unique isogeny $\phi: E_1 \longrightarrow E_2$ whose kernel is $G$ (recall that a kernel of $\phi$ is the set of points in $E$ that get mapped to the identity $\mathcal{O}_1$), and vice versa. If this is the case, the codomain is sometimes written as $E_1/G$ rather than $E_2$. This is made explicit by Velu’s formulas: given an elliptic curve $E_1: y^2 = x^3 +ax^2 +bx + c$, these formulas output an elliptic curve $E_2 = E_1/G$ and the explicit maps for $\phi$. In a future blog post I will go into more detail on these formulas. Degree Definition: The degree of a non-zero separable isogeny is the number of elements in the kernel. Equivalently, though less importantly for our purposes, it is the degree of the isogeny as a rational map (if you want a precise definition of what this means see page 21 Silverman’s ‘Arithmetic of Elliptic Curves’). We can view isomorphisms as being special isogenies whose kernel is just ${\mathcal{O}}$, i.e. an isogeny of degree 1. Degree interacts really nicely with composition of isogenies in the sense that \[\deg(\phi \circ \psi) = \deg(\phi) \times \deg(\psi)\] Dual Isogenies We know that isomorphisms have an inverse and that composing them together gives us the identity map. But what about isogenies? Is there an analogue? In general, isogenies do not have an inverse, however every isogeny $\phi$ has a unique dual isogeny, which we denote as $\hat{\phi}$. Rather than composing to give the identity, if \[\phi: E_1 \longrightarrow E_2\] is an isogeny of degree $d$, then $\hat{\phi}$ is an isogeny of degree $d$ and the composition gives us \[\phi \circ \hat{\phi} = [d],\] where $[d]: E_1 \longrightarrow E_2$ is the multiplication by $d$ map. Torsion Points Consider the multiplication-by-$d$ map. Then the group of all points $P$ on $E_1$ such that $[d]P = \mathcal{O}_1$ is denoted by $E_1[d]$ and are called the $d$-torsion points. In other words, these are the points that are in the kernel of (are sent zero by) the multiplication-by-$d$ map. In essence, $d$-torsion points are just elements of order $d$, however in most papers they are referred to as $d$-torsion points so I thought I would introduce this terminology now. A useful fact to remember is that if $d$ is coprime to $q$ (recall this is the size of the finite field we are working over), then \[\# E_1[d] = d^2\] and furthermore \[E_1[d] \cong (\mathbb{Z}/d\mathbb{Z}) \times (\mathbb{Z}/d\mathbb{Z})\] Further Reading [1] Supersingular Isogeny Key Exchange for Beginners, by Craig Costello (https://eprint.iacr.org/2019/1321.pdf) [2] Rational Points on Elliptic Curves, by Joseph H. Silverman and John Tate [3] Arithmetic of Elliptic Curves, by Joseph H. Silverman]]></summary></entry></feed>