Derivative-Free Richelot Isogenies via Subresultants
with Algebraic Certification


Abstract

The classical Richelot \((2,2)\)-isogeny step for genus-\(2\) curves constructs a codomain triple \((U,V,W)\) from a factorization \(f=uvw\) via Wronskian derivatives. We give a completely derivative-free reformulation over prime fields \(\mathbb{F}_p\), \(p>2\), by expressing the Wronskian output through the \(2\times 2\) minors of the coefficient matrix and recovering them from first subresultants and a linear syzygy. The resulting Remainder-Polynomial Route (RPR) is proven to produce the identical output triple in \(\mathbb{F}_p[x]\) not merely up to units, but as an exact polynomial identity. Building on this equivalence, we introduce the Guarded Subresultant Route (GSR), a deterministic evaluator that certifies admissibility through constant-size algebraic guards, a lightweight post-check, and at most one bounded affine retry. All routes execute \(O(1)\) field operations per step. A prototype over \(10^6\) matched trials per prime confirms a \(4.75\)\(6\times\) kernel speedup for RPRover the classical Wronskian formula, and the full GSRpipeline remains \(1.4\)\(3\times\) faster than WROdespite the certification overhead. Correctness is independently verified by a double-Richelot involution test on \(2.5\times10^5\) random triples across five primes.

Richelot isogeny ,subresultant ,finite field arithmetic , polynomial remainder sequence ,genus-2 curve ,deterministic certification

1 Introduction↩︎

The Richelot \((2,2)\)-isogeny is the canonical gateway to explicit genus-2 isogenies: starting from a square-free sextic \(f=uvw\) with monic quadratics \(u,v,w\in\mathbb{F}_p[x]\), one obtains a codomain \(C':y^2=UVW\) by algebraic relations among the factors. The classical route forms the Wronskian minors \[U=v'w-vw',\qquad V=w'u-wu',\qquad W=u'v-uv',\] a construction that is elegant and well understood over odd characteristic. Yet it relies on polynomial differentiation and offers no intrinsic mechanism to certify that the output triple \((U,V,W)\) satisfies the admissibility conditions guaranteeing a smooth, separable codomain.

These limitations become relevant in settings that demand deterministic, certifiable implementations of the \((2,2)\)-step, such as hash functions built from Richelot isogeny chains [1] and related isogeny-based protocols [2], [3]. This motivates two design goals: first, to remove differentiation from the critical path while preserving the exact algebraic output of the classical step; second, to provide a local, lightweight certificate enforcing the standard soundness criterion (pairwise coprime quadratics with nonzero discriminants), rather than assuming it or detecting failure only downstream.

1.0.0.1 Approach

We work within the subresultant framework and interpret the Richelot step in terms of the \(2\times2\) minors: in degree \(2\), the three Plücker coordinates of the coefficient matrix encode the Wronskian output polynomial directly, and the first subresultant delivers two of the three coordinates via a single pseudo-remainder. This viewpoint naturally suggests a derivative-free reconstruction and an explicit way to check admissibility locally.

1.0.0.2 Contributions

Our contribution is primarily algebraic and algorithmic in nature: we provide a subresultant-based reinterpretation of the Richelot step over finite fields, together with a certified evaluator enforcing the classical admissibility conditions.

  1. Algebraic equality without derivatives. We recast the Richelot \((2,2)\) step via the \(2\times2\) minors (Plücker coordinates) of the coefficient matrix. The first subresultant encodes two of the three minors, and a linear syzygy relation recovers the third; assembling them yields the remainder-polynomial route (RPR), which is proven equal in \(\mathbb{F}_p[x]\) to the classical Wronskian output (Sect. 3). To our knowledge, this is the first completely derivative-free Richelot construction via subresultants.

  2. A guarded route with local certification. We introduce the Guarded Subresultant Route (GSR), which inserts constant-size algebraic guards (discriminants, resultants, and subresultant degree) and a lightweight post-check; a single bounded affine retry is allowed. The route either returns a certified \((U,V,W)\) or explicitly rejects non-admissible instances, with a fixed and verifiable control flow (Sect. 4).

  3. Empirical behavior and scaling. A Python prototype over \(10^6\) matched trials per prime demonstrates a \(4.75\)\(6\times\) kernel speedup for the derivative-free RPRover the classical Wronskian formula, while the full GSRpipeline with certification remains \(1.4\)\(3\times\) faster. Degeneracy is concentrated at very small primes; at larger primes the route behaves reliably (Sect. 5).

1.0.0.3 Positioning

The classical soundness statement (see, e.g., Cassels–Flynn [4] and Gaudry et al. [5]) asserts that under pairwise coprimality and nonzero discriminants, any triple of pairwise coprime quadratics yields a smooth genus-2 codomain \((2,2)\)-isogenous to the source. Our contribution is complementary: we show how to construct that triple without derivatives and how to enforce the hypothesis by a local, explicit certificate within the same asymptotic cost.

1.0.0.4 Scope and terminology

All algebraic equalities and guards are established for \(p>2\). Throughout we use “route” to denote an algorithmic realization of the Richelot step; thus WRO(Wronskian Route), RPR(Remainder-Polynomial Route), and GSR (Guarded Subresultant Route) refer to concrete, interchangeable procedures that implement the same algebraic map under a shared normalization.

1.0.0.5 Paper organization

Section 2 recalls the relevant background. Section 3 develops the subresultant framework and proves equality to the Wronskian formulation. Section 4 formalizes the guarded evaluator, its certification policy, and correctness. Section 5 reports experimental verification, and Section 6 concludes.

2 Background and Degree-2 Specialization↩︎

Throughout, we work over a finite field \(\mathbb{F}_q\) of odd characteristic \(p>2\), and restrict to prime fields \(\mathbb{F}_p\) in all algorithmic and experimental settings; characteristic \(2\) is excluded since the middle coefficients in the Wronskian polynomials vanish identically (cf.Remark 2). Equalities between polynomials are understood up to a nonzero unit in \(\mathbb{F}_p^\times\) unless stated otherwise.

2.0.0.1 Notation

For \(P\in\mathbb{F}_p[x]\), write \(\deg P\) for its degree, \(\mathop{\mathrm{lc}}(P)\) for its leading coefficient, and \(\mathop{\mathrm{ct}}(P)\) for its constant term. For a quadratic \(q(x)=q_2x^2+q_1x+q_0\) we set \(\mathop{\mathrm{Disc}}(q)=q_1^2-4q_2q_0\). We use \(\mathop{\mathrm{Res}}(f,g)\) for the resultant and \(\mathop{\mathrm{Sres}}_1(f,g)\) for the first subresultant of \((f,g)\); see §2.3. When the greatest common divisor is computed via a pseudo-remainder sequence (PRS) and compared modulo units, we write \(\gcd^\ast(\cdot,\cdot)\). We reserve \(\Delta\) for discriminants, e.g.\(\Delta_u=\mathop{\mathrm{Disc}}(u)\) and \(\Delta_f=\mathop{\mathrm{Disc}}(f)\). Vectors of coefficients of a quadratic \(q\) are denoted \((q_2,q_1,q_0)\).

2.1 Genus-2 curves and Richelot’s classical step↩︎

A genus-\(2\) curve over \(\mathbb{F}_p\) admits an affine model \[C:\; y^2 = f(x),\qquad f\in\mathbb{F}_p[x],\quad \deg f=6,\quad f \text{ square-free}.\] We focus on the widely used situation where \(f\) factors as a product of three pairwise coprime quadratics: \[\label{eq:uvw} \begin{align} &f = u\,v\,w, \quad u,v,w\in\mathbb{F}_p[x],\quad \deg u=\deg v=\deg w=2,\\ &\gcd(u,v)=\gcd(v,w)=\gcd(w,u)=1, \end{align}\tag{1}\] with all three taken as monic for a consistent normalization. Given 1 , the classical Richelot step constructs \[\label{eq:wronskians} U = v'w - v w', \qquad V = w'u - w u', \qquad W = u'v - u v',\tag{2}\] where derivatives are with respect to \(x\), and defines the codomain curve \(C':y^2=UVW\).

Proposition 1. Under the non-degeneracy conditions \(\Delta_u\Delta_v\Delta_w\neq0\) and pairwise coprimality of \((u,v,w)\), one has \(\deg U=\deg V=\deg W=2\) and \(\deg(UVW)=6\). Thus \(C': y^2 = UVW\) is smooth of genus \(2\), and the induced map on Jacobians is a separable \((2,2)\)-isogeny (see, e.g., [4], [5]).

Remark 2. Let \(v(x)=a_2x^2+a_1x+a_0\) and \(w(x)=b_2x^2+b_1x+b_0\). A direct expansion gives \[v'w-vw' \;=\; (a_2b_1-a_1b_2)\,x^2 \;+\; 2(a_2b_0-a_0b_2)\,x \;+\; (a_1b_0-a_0b_1).\footnote{The expansion may vary by sign depending on the order of terms (e.g., swapping to \(v w' - v' w\) inverts all coefficients). However, the resulting polynomials are equal up to a nonzero unit in \(\mathbb{F}_p^\times\), preserving the codomain under our normalization.}\] In characteristic \(2\), the middle coefficient vanishes identically, causing a degree drop even when \(v,w\) are coprime. All algebraic statements and proofs in this paper therefore assume \(p>2\); whenever we refer to identities such as \(U=M_2x^2+2M_1x+M_0\), the factor \(2\) is invertible, so degree behavior and normalizations (leading/constant minors) are stable. For the structured degree-drop that occurs in odd characteristic when middle coefficients align, see Sect. 3.4.

2.2 Discriminants, resultants, and coprimality tests↩︎

For a quadratic \(q(x)=q_2x^2+q_1x+q_0\), its discriminant is \(\mathop{\mathrm{Disc}}(q)=q_1^2-4q_2q_0\); it vanishes iff \(q\) has a double root. For \(f,g\in\mathbb{F}_p[x]\), the resultant \(\mathop{\mathrm{Res}}(f,g)\) is nonzero iff \(\gcd(f,g)=1\) and can be computed as the determinant of the Sylvester matrix. In degree \(2\), both \(\mathop{\mathrm{Res}}\) and the first subresultant \(\mathop{\mathrm{Sres}}_1\) admit constant-cost formulas in terms of \(2\times2\) minors (see §2.3). We will use the following well-known implications for quadratics:

  • \(\mathop{\mathrm{Disc}}(q)=0 \iff q\) has a double root;

  • \(\mathop{\mathrm{Res}}(f,g)=0 \iff \gcd(f,g)\ne1\);

  • \(\deg \mathop{\mathrm{Sres}}_1(f,g)=1\) if and only if \(M_2=a_2b_1-a_1b_2\neq0\). In particular, for generic coprime quadratics this holds; it can fail only in the aligned case \(M_2=0\) (see Lemma 2).

These facts underlie the lightweight guard predicates employed later in Sect. 4.

2.3 Polynomial remainder sequences and first subresultants↩︎

Let \(f,g\in\mathbb{F}_p[x]\) with \(\deg f\ge \deg g\ge 1\). The (pseudo-)polynomial remainder sequence (PRS) is defined by \(r_{-1}=f\), \(r_0=g\), and \[\label{eq:PRS} r_{i+1} \;=\; -\,\operatorname{prem}(r_{i-1}, r_i),\qquad i\ge0,\tag{3}\] where \(\operatorname{prem}\) is the pseudo-remainder (it avoids coefficient division by clearing leading coefficients). The \(k\)-th subresultant \(\mathop{\mathrm{Sres}}_k(f,g)\) can be defined as a signed minor of the Sylvester matrix, and it is well-known to coincide (up to a unit in \(\mathbb{F}_p^\times\)) with the unique nonzero \(r_i\) of degree \(k\) in the PRS [6][11].

When \(f\) and \(g\) are quadratics, the first subresultant \(\mathop{\mathrm{Sres}}_1(f,g)\) has degree at most \(1\). By direct computation (see Lemma 1), \(\deg \mathop{\mathrm{Sres}}_1(f,g)=1\) if and only if the leading minor \(M_2=a_2b_1-a_1b_2\) is nonzero; this holds generically for coprime inputs, though it can fail in the “aligned” case when \(M_2=0\) (Lemma 2). Moreover, there exist (uniquely determined) cofactors \(C_f,C_g\in\mathbb{F}_p[x]\) with \(\deg C_f,\deg C_g\le1\) such that \[\label{eq:sres-identity-prelim} \mathop{\mathrm{Sres}}_1(f,g) \;=\; C_f(x)\,f(x)\;+\;C_g(x)\,g(x),\tag{4}\] and, up to a unit (\(\sim_{\text{unit}}\)), \(\mathop{\mathrm{Sres}}_1\) equals the linear minor \[\label{eq:sres-minor-prelim} \mathop{\mathrm{Sres}}_1(v,w)\sim_{\text{unit}}(a_2b_1-a_1b_2)\,x \;+\; (a_2b_0-a_0b_2),\tag{5}\] for \(v=a_2x^2+a_1x+a_0\) and \(w=b_2x^2+b_1x+b_0\). We will frequently exploit 45 in Sect. 3 to relate subresultants to Wronskian images.

All operations above are constant-time in the field: a single pseudo-division suffices to extract \(M_2\) and \(M_1\), and the minor syzygy recovers \(M_0\); normalization to monic outputs can be done via a single batched inversion of the three leading coefficients of \((U,V,W)\) (see Sect. 4). These constant-factor considerations will be reflected in our experimental comparisons.

2.4 Normalization and equality up to units↩︎

Because the Richelot step is defined only up to nonzero scalars, we systematically make image quadratics \((U,V,W)\) monic. To avoid redundant inversions, we multiply the three nonzero leading coefficients, invert once, and distribute the inverse (batched inversion). When comparing formulas (Wronskian vs.subresultant), “equality” always means equality up to a nonzero scalar in \(\mathbb{F}_p^\times\); we write \(A \mathrel{\sim_{\mathrm{unit}}}B\) when \(A=c\,B\) for some \(c\in\mathbb{F}_p^\times\). Normalizations are chosen consistently across all methods.

3 Algebraic Equivalence and Derivative-Free Formulation↩︎

We show that the classical Wronskian description of a Richelot \((2,2)\) step is algebraically equivalent to a derivative-free construction based on the \(2\times 2\) minors of the coefficient matrix. The first subresultant \(\mathop{\mathrm{Sres}}_1\) encodes two of the three Plücker coordinates of the input pair, and the third is recovered via the minor syzygy a linear relation among \(2\times 2\) minors that holds for any \(2\times 3\) matrix over a field. This yields a canonical, derivative-free realization of the Richelot step over odd characteristic.

3.1 Explicit minors for degree-2 inputs↩︎

We fix two quadratics and spell out the three \(2\times3\) minors that will serve as building blocks throughout the paper.

Lemma 1. Let \(v(x)=a_2x^2+a_1x+a_0\) and \(w(x)=b_2x^2+b_1x+b_0\) over \(\mathbb{F}_p\). Set \[M_2:=a_2b_1-a_1b_2,\qquad M_1:=a_2b_0-a_0b_2,\qquad M_0:=a_1b_0-a_0b_1 .\] Then \[\label{eq:wronskian-form} U(x):=v'(x)w(x)-v(x)w'(x)=M_2x^2+2M_1x+M_0 ,\tag{6}\] and the pseudo-remainder of the polynomial remainder sequence satisfies \[\label{eq:sres1-minor} \mathop{\mathrm{prem}}(v,w):=b_2\,v-a_2\,w = -M_2\,x - M_1,\tag{7}\] so that \(\mathop{\mathrm{lc}}(\mathop{\mathrm{prem}}(v,w))=-M_2\) and, in particular, \(\deg\mathop{\mathrm{Sres}}_1(v,w)=1\) if and only if \(M_2\neq0\). Moreover, \((M_2,M_1,M_0)\) are precisely the \(2\times2\) minors of the \(2\times3\) coefficient matrix of \((v,w)\).

Proof. Expand \(v'(x)=2a_2x+a_1\) and \(w'(x)=2b_2x+b_1\), then compute \(U=v'w-vw'\): \[\begin{align} U &= (2a_2 x+a_1)(b_2 x^2+b_1 x+b_0) - (a_2 x^2+a_1 x+a_0)(2b_2 x+b_1) \\ &= (a_2 b_1-a_1 b_2)\,x^2 + 2(a_2 b_0-a_0 b_2)\,x + (a_1 b_0-a_0 b_1) \\ &= M_2\,x^2 + 2M_1\,x + M_0, \end{align}\] confirming 6 ; the cubic terms cancel. For the pseudo-remainder, since \(\deg v=\deg w=2\): \[b_2\,v - a_2\,w = (a_1 b_2 - a_2 b_1)\,x + (a_0 b_2 - a_2 b_0) = -M_2\,x - M_1,\] which is 7 . The three \(2\times 2\) minors of \(\bigl(\begin{smallmatrix}a_2&a_1&a_0\\b_2&b_1&b_0\end{smallmatrix}\bigr)\) are, by direct computation, \(M_2=a_2b_1-a_1b_2\) (columns 1,2), \(M_1=a_2b_0-a_0b_2\) (columns 1,3), \(M_0=a_1b_0-a_0b_1\) (columns 2,3). ◻

Remark 3. In odd characteristic, the middle coefficient of \(U\) equals \(2M_1\); in characteristic \(2\) it vanishes identically, explaining the typical degree drop (cf.§3.4).

Observe that \(U=M_2x^2+2M_1x+M_0\) depends on the coefficients of \(v\) and \(w\) only through the three Plücker coordinates \((M_2,M_1,M_0)\), and two of these are already given by the pseudo-remainder. The following identity recovers the third from the other two.

Proposition 4 (Minor syzygy). Let \(v(x)=a_2x^2+a_1x+a_0\) and \(w(x)=b_2x^2+b_1x+b_0\) over \(\mathbb{F}_p\) with \(a_2\neq0\), and let \((M_2,M_1,M_0)\) be as in Lemma 1. Then \[\label{eq:plucker} a_2\,M_0 \;-\; a_1\,M_1 \;+\; a_0\,M_2 \;=\; 0.\qquad{(1)}\] The same identity holds with \((a_2,a_1,a_0)\) replaced by \((b_2,b_1,b_0)\). In particular, \(M_0\) is uniquely determined by \(M_2\), \(M_1\), and the coefficients of either* input: \[\label{eq:M0-recovery} M_0 \;=\; \frac{a_1\,M_1-a_0\,M_2}{a_2}.\tag{8}\] *

Proof. Consider the \(3\times 3\) matrix obtained by adjoining the first row of the coefficient matrix as a third row: \[A=\begin{pmatrix}a_2&a_1&a_0\\b_2&b_1&b_0\\a_2&a_1&a_0\end{pmatrix}.\] Since rows 1 and 3 coincide, \(\det(A)=0\). Expanding \(\det(A)\) along the third row gives \[0 = a_2\,(a_1b_0-a_0b_1) - a_1\,(a_2b_0-a_0b_2) + a_0\,(a_2b_1-a_1b_2) = a_2\,M_0 - a_1\,M_1 + a_0\,M_2,\] which is ?? . Replacing the third row by \((b_2,b_1,b_0)\) gives the symmetric identity. Since \(a_2\neq0\), solving for \(M_0\) yields 8 . ◻

Remark 5. Identity ?? is the Plücker relation on \(\mathrm{Gr}(2,3)\): the row space of \(\bigl(\begin{smallmatrix}a_2&a_1&a_0\\b_2&b_1&b_0\end{smallmatrix}\bigr)\) has Plücker coordinates \((M_2,-M_1,M_0)\), and \(U=M_2 x^2+2M_1x+M_0\) is the linear image of \(v\wedge w\in\bigwedge^2\!(\mathbb{F}_p[x]_{\le2})\) under the monomial pairing.

3.2 Derivative-free reconstruction via subresultant minors↩︎

We now give the construction at the heart of this paper: a reconstruction of the Wronskian output \(U\) that uses only the pseudo-remainder and the minor syzygy, avoiding all polynomial derivatives.

Definition 1. Let \(v,w\in\mathbb{F}_p[x]\) be coprime quadratics with \(a_2\neq0\) and \(M_2=a_2b_1-a_1b_2\neq0\) (i.e., \(\deg\mathop{\mathrm{Sres}}_1(v,w)=1\)). The remainder-polynomial reconstruction (RPR) of \(U\) from \((v,w)\) is performed in three steps:

  1. Pseudo-remainder. Compute \(\mathop{\mathrm{prem}}(v,w)=b_2\,v-a_2\,w=-M_2\,x-M_1\) and extract \(M_2=-\mathop{\mathrm{lc}}(\mathop{\mathrm{prem}})\), \(M_1=-\mathop{\mathrm{ct}}(\mathop{\mathrm{prem}})\).

  2. Minor syzygy. Recover \(M_0=(a_1\,M_1-a_0\,M_2)/a_2\) using 8 .

  3. Assembly. Set \(U_{\mathrm{RPR}}:=M_2\,x^2+2\,M_1\,x+M_0\).

Define \(V_{\mathrm{RPR}}\) and \(W_{\mathrm{RPR}}\) cyclically from \((w,u)\) and \((u,v)\).

Remark 6. No derivative of \(v\) or \(w\) is evaluated at any point. The only arithmetic operations are one pseudo-division (step 1), one multiplication and one subtraction (step 2), and one doubling (step 3). The construction generalizes to non-monic inputs: replace the \(1/a_2\) in step 2 by a Montgomery-style deferred inversion across the three pairs (see Sect. 3.5).

Example 1. Over \(\mathbb{F}_{101}\), take \(v=x^2+3x+2\) and \(w=x^2+5x+1\). We calculate:

  1. \(\mathop{\mathrm{prem}}(v,w)=v-w=-2x+1\) (since both monic, \(b_2=a_2=1\)). Hence \(M_2=2\), \(M_1=100\equiv-1\).

  2. \(M_0=(3\cdot100-2\cdot2)/1=296\equiv94\) via 8 .

  3. \(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi}=2x^2+2\cdot100\cdot x+94=2x^2+99x+94\).

Verification: \(U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=v'w-vw'=(2x+3)(x^2+5x+1)-(x^2+3x+2)(2x+5)=2x^2-2x-7\equiv2x^2+99x+94\) in \(\mathbb{F}_{101}[x]\). Thus \(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi}=U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}\).

The preceding example illustrates a single pair; the following theorem establishes the identity in full generality.

Theorem 7. Let \(p\) be odd and let \((u,v,w)\) be pairwise coprime monic quadratics over \(\mathbb{F}_p\) with \(\deg\mathop{\mathrm{Sres}}_1=1\) for each cyclic pair, i.e., \[\deg\mathop{\mathrm{Sres}}_1(v,w)=\deg\mathop{\mathrm{Sres}}_1(w,u) =\deg\mathop{\mathrm{Sres}}_1(u,v)=1.\] Let \((U_{\mathrm{WRO}},V_{\mathrm{WRO}}, W_{\mathrm{WRO}})\) be the classical Wronskian outputs and \((U_{\mathrm{RPR}},V_{\mathrm{RPR}},\) \(W_{\mathrm{RPR}})\) the subresultant–minor outputs of Definition 1, both with the same normalization (leading and constant minors \(M_2,M_0\) for each coordinate). Then \[(U_{\mathrm{RPR}},V_{\mathrm{RPR}},W_{\mathrm{RPR}}) \;=\; (U_{\mathrm{WRO}},V_{\mathrm{WRO}},W_{\mathrm{WRO}}) \quad\text{in }\mathbb{F}_p[x]\;\text{(coordinate-wise)}.\] In particular, both induce the same Richelot \((2,2)\) step on the Jacobian.

Proof. It suffices to show \(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi}=U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}\) for the pair \((v,w)\); the argument for \(V\) and \(W\) is identical by cyclic symmetry.

By Lemma 1, \(U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=v'w-vw'=M_2\,x^2+2M_1\,x+M_0\) where \(M_2=a_2b_1-a_1b_2\), \(M_1=a_2b_0-a_0b_2\), \(M_0=a_1b_0-a_0b_1\).

By Definition 1, \[U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi}=M_2'\,x^2+2M_1'\,x+M_0'\] where \(M_2'=-\mathop{\mathrm{lc}}(\mathop{\mathrm{prem}}(v,w))\), \(M_1'=-\mathop{\mathrm{ct}}(\mathop{\mathrm{prem}}(v,w))\), and \(M_0'=(a_1M_1'-a_0M_2')/a_2\).

From Lemma 1, \(\mathop{\mathrm{prem}}(v,w)=-M_2\,x-M_1\), hence \(M_2'=M_2\) and \(M_1'=M_1\). By Proposition 4, \(M_0'=(a_1M_1-a_0M_2)/a_2=M_0\).

Therefore \(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi}=M_2x^2+2M_1x+M_0=U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}\) in \(\mathbb{F}_p[x]\). ◻

Remark 8. The proof is a direct algebraic identity: no residue classes, no Bézout cofactors, and no normalization lemmas are required. The derivative-free character of RPRfollows from the observation that Lemma 1 expresses \(U\) entirely through the minors \((M_2,M_1,M_0)\) of the coefficient matrix, and Proposition 4 recovers \(M_0\) from \(M_2,M_1\) without any differentiation. Thus the classical Wronskian formula and the subresultant-minor formula are not merely “equivalent up to units” they yield the same polynomial in \(\mathbb{F}_p[x]\).

3.3 Residue characterization via Bézout cofactors↩︎

For additional algebraic insight beyond the main proof chain, we record a residue characterization of \(U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}\) modulo \(\mathop{\mathrm{Sres}}_1\).

Proposition 9. Let \(v,w\in\mathbb{F}_p[x]\) be coprime quadratics with \(S=\mathop{\mathrm{Sres}}_1(v,w)\) of degree \(1\). Write \(S=C_v\,v+C_w\,w\) with \(\deg C_v,\deg C_w\le 1\) and set \(K=\mathbb{F}_p[x]/(S)\). Then there exists \(\lambda\in K^\times\) such that, in \(K\), \[\label{eq:bezout-full} v'w-vw'\;\equiv\;\lambda\big(C_v\,v'+C_w\,w'\big)\pmod{S}.\qquad{(2)}\]

Proof. Let \(\xi\in\overline{\mathbb{F}_p}\) be the root of \(S\), so that \(K\cong\mathbb{F}_p\) via \(x\mapsto\xi\). Since \(\deg S=1\), we have \(S'(\xi)=\mathop{\mathrm{lc}}(S)=:\alpha\in\mathbb{F}_p^\times\).

Evaluating \(S(\xi)=C_v(\xi)\,v(\xi)+C_w(\xi)\,w(\xi)=0\) and using the coprimality of \(v,w\) (so they do not both vanish at \(\xi\)), we find \(t\in K^\times\) such that \((C_v(\xi),C_w(\xi))=t\,(w(\xi),-v(\xi))\).

From \(S=C_v v+C_w w\), differentiation gives \[S'=C_v' v+C_v v'+C_w' w+C_w w'.\] Evaluating at \(x=\xi\) and substituting \((C_v(\xi),C_w(\xi))=t\,(w(\xi),-v(\xi))\): \[\alpha = C_v'(\xi)\,v(\xi)+C_w'(\xi)\,w(\xi) +\,t\bigl(v'(\xi)w(\xi)-v(\xi)w'(\xi)\bigr).\] Rearranging: \(U(\xi)=t^{-1}\bigl[\alpha-C_v'(\xi)v(\xi)-C_w'(\xi)w(\xi)\bigr]\).

We get \(\alpha=[C_v'v+C_w'w](\xi)+[C_vv'+C_ww'](\xi)\). Hence \(U(\xi) = t^{-1}\bigl[C_v(\xi)\,v'(\xi)+C_w(\xi)\,w'(\xi)\bigr]\). Setting \(\lambda=t^{-1}\in K^\times\) gives ?? . ◻

Identity ?? involves derivatives \(v',w'\) on the right-hand side; the derivative-free character of RPRrests instead on the minor-syzygy approach of Theorem 7. The cofactor-residue formula links the PRS to the tangent structure of the inputs in the quotient \(K\), providing geometric context for the algebraic identity.

3.4 Structured degree drop via aligned monic pairs↩︎

Beyond the characteristic-2 collapse of the Wronskian middle coefficient, there is a distinct algebraic locus present also in odd characteristic where \(\deg \mathop{\mathrm{Sres}}_1\) drops to 0 despite coprimality, namely when two inputs share their middle coefficient. The following lemma captures this case.

Lemma 2. Let \(p\) be odd and \(v(x)=x^2+b\,x+r\), \(w(x)=x^2+b\,x+s\) with \(r\ne s\) in \(\mathbb{F}_p\). Then \(\gcd(v,w)=1\), \(\deg \mathop{\mathrm{Sres}}_1(v,w)=0\), and \(\deg(v'w-vw')=1\).

Proof. If \(\alpha\) were a common root, then \(0=v(\alpha)-w(\alpha)=r-s\), contradiction; hence \(\gcd(v,w)=1\). In the PRS with monic inputs the first nonzero remainder is \(-(v-w)=s-r\in\mathbb{F}_p^\times\), so \(\deg \mathop{\mathrm{Sres}}_1(v,w)=0\). Finally, \(v'(x)=w'(x)=2x+b\) yields \[v'w-vw'=(2x+b)(w-v)=(2x+b)(s-r).\] Since \(p\) is odd, the linear factor \(2x+b\not\equiv 0\) as a polynomial, hence \(\deg U=\deg(v'w-vw')=1\). ◻

Remark 10. Lemma 2 describes exactly the algebraic locus where \(\deg \mathop{\mathrm{Sres}}_1(v,w)=0\) despite \(\gcd(v,w)=1\). When this locus is encountered for any pair, \(M_2=0\) and the RPRlift produces a non-quadratic output; the affine retry \(x\mapsto x+\delta\) does not change \(\deg\mathop{\mathrm{Sres}}_1\) (Lemma 3), so it cannot repair this degeneracy. The evaluator detects the degree violation via the post-check and returns FAIL.

The retry mechanism is instead designed for the more common scenario where \(M_2^{(k)}\neq0\) for all three pairs but some mid-coefficient \(2M_1^{(k)}\) happens to vanish at the current evaluation point; in that case, a shift \(\delta\notin B\) restores nonvanishing (Proposition 13).

3.5 Operation counts↩︎

We give a precise field-operation count for each route per single \((2,2)\)-step on a monic quadratic triple \((u,v,w)\). Let \(\mathbf{M}\) denote a multiplication in \(\mathbb{F}_p\), \(\mathbf{S}\) a squaring, \(\mathbf{A}\) an addition or subtraction, and \(\mathbf{I}\) an inversion. Following standard practice in isogeny-based cryptography, we write \(\mathbf{S}\approx 0.8\,\mathbf{M}\) and treat \(\mathbf{A}\) as negligible relative to \(\mathbf{M}\). For a single pair \((v,w)\), the per-pair costs are:

Method Idea Cost (per pair)
Wronskian form \(v',w'\); compute \(v'w\!-\!vw'\) \(6\mathbf{M}+6\mathbf{A}+1\) dbl
Minors use \((M_2,M_1,M_0)\) and 6 \(6\mathbf{M}+3\mathbf{A}+1\) dbl
PRS/Sres pseudo-rem.\(+\) minor syzygy \(O(1)\) ops in degree \(2\)

Over three cyclic pairs, the totals are:

For each pair \((v,w)\), computing \(U=v'w-vw'\) via polynomial products of \(v'\) (degree 1) with \(w\) (degree 2) and vice versa costs \(6\,\mathbf{M}+9\,\mathbf{A}\) per pair. Over three cyclic pairs: \[\label{eq:wro-cost} C_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi} = 18\,\mathbf{M} + 27\,\mathbf{A} + 0\,\mathbf{I}.\tag{9}\]

Computing the three boundary minors \((M_2,M_1,M_0)\) from the \(2\times 3\) coefficient matrix and reconstructing the quadratic lift via \(U_1=2M_1\) costs \(6\,\mathbf{M}+4\,\mathbf{A}\) per pair. Over three pairs: \[\label{eq:rpr-cost} C_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi} = 18\,\mathbf{M} + 12\,\mathbf{A} + 0\,\mathbf{I}.\tag{10}\] The multiplication count matches WRO; the saving of \(15\,\mathbf{A}\) per step contributes to a measured \(4.75\)\(6\times\) kernel speedup (Sect. 5), which exceeds the \(15/27\approx 56\%\) reduction in additions because the classical WROroute also requires constructing intermediate degree-\(3\) products \(v'w\) and \(vw'\) (each involving a polynomial multiplication loop) and an explicit derivative computation that the closed-form RPRbypasses entirely.

The guard layer evaluates: three discriminants \(\mathop{\mathrm{Disc}}(q)=q_1^2-4q_2q_0\), each costing \(1\,\mathbf{S}+1\,\mathbf{M}+1\,\mathbf{A}\) (subtotal \(3\,\mathbf{S}+3\,\mathbf{M}+3\,\mathbf{A}\)); three pairwise resultants of monic quadratics via minor expansion, each costing \(6\,\mathbf{M}+2\,\mathbf{S}+5\,\mathbf{A}\) (subtotal \(18\,\mathbf{M}+6\,\mathbf{S}+15\,\mathbf{A}\)); and three subresultant degree checks (free, reusing minors \(M_2\)). The post-check re-evaluates three resultants for coprimality and three discriminants on the output triple, totaling \(23\,\mathbf{M}+12\,\mathbf{S}+20\,\mathbf{A}\). Combined with the RPRcore: \[\label{eq:gsr-cost} C_{\ifmmode\mathrm{GSR}\else\textrm{\mathrm{\small GSR}}\fi} = 62\,\mathbf{M} + 21\,\mathbf{S} + 50\,\mathbf{A} \;\approx\; 79\,\mathbf{M}.\tag{11}\] With a retry (probability \(\le 3/(p{-}1)\) for \(p>10^3\); see Sect. 4.5), the worst case is \(\le 2\,C_{\ifmmode\mathrm{GSR}\else\textrm{\mathrm{\small GSR}}\fi}\approx 158\,\mathbf{M}\). No inversions or square roots are required in any route.

All routes store at most \(15\) intermediate field elements (minors, guard predicates) in addition to the \(6\) input coefficients: \(O(1)\) elements, i.e.\(O(\log p)\) bits.

3.5.0.1 Summary

Table 1 collects the per-step operation counts for the three routes.

Table 1: Per-step field operation count for a single Richelot \((2,2)\)-step on monic quadratic triples over \(\F_p\), \(p>2\). \(\mathbf{M}\) = multiplication, \(\mathbf{S}\) = squaring, \(\mathbf{A}\) = addition/subtraction, \(\mathbf{I}\) = inversion. and share the same multiplication count; saves \(15\,\mathbf{A}\) per step by bypassing intermediate polynomial products. includes guard evaluation and post-check (\({\approx}79\,\mathbf{M}\) when \(\mathbf{S}\approx 0.8\,\mathbf{M}\)). No inversions or square roots are required in any route.
Route \(\mathbf{M}\) \(\mathbf{S}\) \(\mathbf{A}\) \(\mathbf{I}\)
18 0 27 0
18 0 12 0
62 21 50 0

5pt

The core step (WRO/RPR) uses \(18\,\mathbf{M}\) with no inversions or square roots, and the GSRprovides certified individual Richelot steps at \({\sim}79\,\mathbf{M}\) including full guard evaluation.

3.5.0.2 Relation to prior work

Castryck, Decru, and Smith [1] employ the same sextic-model Richelot step in a CGL hash function over \(\mathbb{F}_{p^2}\), but do not provide a detailed field-operation breakdown; their cost analysis focuses on square-root extractions (\(3\) per \(3\)-bit block), which dominate the per-step cost in their setting. Dartois et al. [3] compute \((2,2)\)-isogenies in the theta model on products of elliptic curves a fundamentally different algebraic representation that precludes direct numerical comparison with the sextic model. Our contribution is orthogonal to both: we provide a derivative-free reformulation and certified evaluator for the classical sextic-model step, rather than proposing an alternative representation.

3.5.0.3 Asymptotic complexity

All three routes execute \(O(1)\) field operations per \((2,2)\)-step. For an \(n\)-step isogeny chain, the total cost is \(O(n)\) multiplications in \(\mathbb{F}_p\).

4 Guarded Evaluation and Correctness↩︎

This section formalizes the Guarded Subresultant Evaluator (GSR) for the Richelot \((2,2)\) step, building on the algebraic foundations of Sect. 3. The evaluator enforces smoothness and separability through explicit algebraic guards and a single bounded affine retry, with proofs of correctness, algebraic consistency, and deterministic runtime behavior. All statements hold over finite fields \(\mathbb{F}_p\) for \(p>2\).

4.1 Design objectives and guiding principles↩︎

Let \(u,v,w\in\mathbb{F}_p[x]\) be monic, pairwise coprime quadratics and write \(f=uvw\). The goal of the evaluator is to compute \((U,V,W)\) such that \(C':y^2=UVW\) is \((2,2)\)-isogenous to \(C:y^2=uvw\), while guaranteeing correctness for every admissible input. Its design is guided by four principles:

  1. Soundness. The output \(C'\) must be smooth of genus 2 and \((2,2)\)-isogenous to \(C\).

  2. Determinism. The control flow follows a fixed pattern with at most one affine retry drawn from a deterministic schedule.

  3. Local certification. A lightweight post-check validates degrees, coprimality, and discriminants.

  4. Implementation independence. Algebraic guarantees hold independently of the arithmetic implementation; empirical constants appear in Sect. 5.

The evaluator therefore acts as a deterministic safeguard around the classical Wronskian route, combining algebraic equivalence (Sect. 3) with explicit runtime certification.

4.2 Guard system and preconditions↩︎

For \(q(x)=q_2x^2+q_1x+q_0\), set \(\mathop{\mathrm{Disc}}(q)=q_1^2-4q_2q_0\). We define seven algebraic predicates, each computed from fixed polynomial patterns: \[\setlength{\jot}{0.25ex} \begin{alignedat}{2} G_1:&\;\mathop{\mathrm{Disc}}(u)\neq 0, &\qquad G_2:&\;\mathop{\mathrm{Disc}}(v)\neq 0,\\ G_3:&\;\mathop{\mathrm{Disc}}(w)\neq 0, &\qquad G_4:&\;\mathop{\mathrm{Res}}(u,v)\neq 0,\\ G_5:&\;\mathop{\mathrm{Res}}(v,w)\neq 0, &\qquad G_6:&\;\mathop{\mathrm{Res}}(w,u)\neq 0,\\ \multicolumn{4}{l}{ G_7:\;\deg \mathop{\mathrm{Sres}}_1(u,v)=\deg \mathop{\mathrm{Sres}}_1(v,w)=\deg \mathop{\mathrm{Sres}}_1(w,u)=1. } \end{alignedat}\] Guards \(G_1\)\(G_6\) ensure smoothness and pairwise coprimality, while \(G_7\) excludes the degree-drop locus \(\deg\mathop{\mathrm{Sres}}_1=0\) characterized in Sect. 3. Each guard is deterministic, input-independent, and evaluated in constant time. Table 2 summarizes the complete guard map.

Table 2: Guard map for the evaluator. Pre-guards \(G_1\)\(G_7\) are evaluated on the input triple before computation; post-checks \(P_1\)\(P_3\) certify the output triple (Definition [def:postcheck]).
Guard Condition enforced Failure trigger
Pre-guards (evaluated on input triple)
\(G_1\) \(\Disc(u)\neq 0\) double root in \(u\)
\(G_2\) \(\Disc(v)\neq 0\) double root in \(v\)
\(G_3\) \(\Disc(w)\neq 0\) double root in \(w\)
\(G_4\) \(\Res(u,v)\neq 0\) \(u,v\) share a root
\(G_5\) \(\Res(v,w)\neq 0\) \(v,w\) share a root
\(G_6\) \(\Res(w,u)\neq 0\) \(w,u\) share a root
\(G_7\) \(\deg\Sres_1=1\) for all pairs aligned monic pair (\(M_2=0\))
Post-checks (evaluated on output triple)
\(P_1\) \(\deg U=\deg V=\deg W=2\) degree collapse
\(P_2\) pairwise coprimality of \((U,V,W)\) shared root in output
\(P_3\) \(\Disc(U)\Disc(V)\Disc(W)\neq0\) double root in output

4.2.0.1 Affine retry

If any pre-guard or post-check fails, an affine translation \(x \mapsto x+\delta\) is applied to avoid mid-coefficient cancellations in the Wronskian factors. This retry step does not alter the degree of \(\mathop{\mathrm{Sres}}_1\); its sole purpose is to skip the finite set of \(\delta\) values that cause degenerate middle coefficients in \(U,V,W\). When \(\deg \mathop{\mathrm{Sres}}_1 = 0\) for a quadratic pair (the aligned case of Lemma 2), the RPR reconstruction produces a degenerate output, which the post-check detects; since affine retry cannot restore \(\deg\mathop{\mathrm{Sres}}_1=1\) (Lemma 3), the evaluator reports FAIL.

4.2.0.2 Retry set \(B\)

The retry set \(B \subset \mathbb{F}_p\) collects the at most three affine shifts that nullify the mid-coefficients of the Wronskian quadratics (Proposition 13). Affine translation does not change \(\deg\mathop{\mathrm{Sres}}_1\) (Lemma 3), so the retry addresses only mid-coefficient vanishing, not the aligned-pair degeneracy.

4.3 Derivative-free reconstruction↩︎

The guarded evaluator rests on the equivalence between the derivative-based and minor-based Richelot constructions. Recall from Sect. 3.2 that the RPR construction extracts \((M_2,M_1)\) from the pseudo-remainder \(\mathop{\mathrm{prem}}(v,w)\), recovers \(M_0\) via the Plücker syzygy (Proposition 4), and assembles \(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi}=M_2x^2+2M_1x+M_0\) (Definition 1). By Theorem 7, this equals \(U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=v'w-vw'\) in \(\mathbb{F}_p[x]\).

Remark 11. The equivalence (Theorem 7) requires \(M_2=\mathop{\mathrm{lc}}(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi})\neq0\), which holds if and only if \(\deg\mathop{\mathrm{Sres}}_1(v,w)=1\) (Lemma 1). In aligned monic pairs where \(M_2=0\) (Lemma 2), \(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi}\) degenerates to degree \(\le1\); such cases are detected by the pre-guard \(G_7\) and trigger an affine retry or a FAIL in Algorithm 1.

The guarded evaluator below relies on this identity.

4.4 Algorithm↩︎

The guarded evaluator wraps the RPRcore with pre-guards, a single bounded affine retry, and a post-check certifying the output triple. The following pseudocode (Algorithm 1) summarizes the control flow. Guards \(G_1\)\(G_7\) are detailed in Table 2; the retry policy in Sect. 4.5.

Figure 1: Guarded Subresultant Evaluator (GSR).

4.5 Affine retry and fallback↩︎

The affine retry mechanism handles rare degree collapses in the middle coefficients of \((U,V,W)\) rather than correcting \(\deg\mathop{\mathrm{Sres}}_1\), contrary to what is sometimes assumed in informal descriptions.

Lemma 3. Let \(v,w\in\mathbb{F}_p[x]\) be monic and coprime of degree \(2\), and let \(\tilde{v}(x)=v(x+\delta)\), \(\tilde{w}(x)=w(x+\delta)\) for some \(\delta\in\mathbb{F}_p\). Then \[\deg\mathop{\mathrm{Sres}}_1(\tilde{v},\tilde{w})=\deg\mathop{\mathrm{Sres}}_1(v,w).\] In particular, the condition \(\deg\mathop{\mathrm{Sres}}_1=0\) (aligned monic pair) is preserved under affine translation.

Proof. Write \(v(x)=x^2+a_1x+a_0\) and \(w(x)=x^2+b_1x+b_0\) (monic). By Lemma 1, \(\mathop{\mathrm{prem}}(v,w)=-M_2\,x - M_1\), so \(\mathop{\mathrm{Sres}}_1(v,w)\mathrel{\sim_{\mathrm{unit}}}M_2\,x + M_1\) where \(M_2=a_2 b_1 - a_1 b_2 = b_1-a_1\) (since \(a_2=b_2=1\)). The shifted polynomials have coefficients \[\tilde{a}_2=1,\quad \tilde{a}_1=2\delta+a_1,\quad \tilde{a}_0=\delta^2+a_1\delta+a_0,\] and analogously for \(\tilde{w}\). Applying Lemma 1 to \((\tilde{v},\tilde{w})\): \[\widetilde{M}_2 = \tilde{a}_2\,\tilde{b}_1 - \tilde{a}_1\,\tilde{b}_2 = (2\delta+b_1)-(2\delta+a_1) = b_1-a_1 = M_2.\] Hence \(\deg\mathop{\mathrm{Sres}}_1(\tilde{v},\tilde{w})=1\) if and only if \(M_2\neq0\), which holds if and only if \(\deg\mathop{\mathrm{Sres}}_1(v,w)=1\). Likewise, \(\deg\mathop{\mathrm{Sres}}_1(\tilde{v},\tilde{w})=0\) iff \(M_2=0\) iff \(\deg\mathop{\mathrm{Sres}}_1(v,w)=0\). ◻

Remark 12. Lemma 3 shows that affine retry cannot change \(\deg\mathop{\mathrm{Sres}}_1\): if \(\deg\mathop{\mathrm{Sres}}_1=0\) for a given pair, it remains \(0\) after any shift. In such cases RPRproduces a degenerate output (degree \(\le1\)), which the post-check (\(P_1\)) detects and the evaluator reports FAIL.

We now bound the set of shifts that can cause mid-coefficient vanishing.

Proposition 13. Let \(u,v,w\) be monic pairwise coprime quadratics over \(\mathbb{F}_p\), \(p>2\). For each Wronskian minor \[U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=v'w-vw',\quad V_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=w'u-wu',\quad W_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=u'v-uv',\] write \(U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}(x)=M_2 x^2+2M_1 x+M_0\) (cf.Lemma 1). After the affine change \(x\mapsto x+\delta\), the shifted triple \((u_\delta,v_\delta,w_\delta)=(u(x{+}\delta),v(x{+}\delta),w(x{+}\delta))\) yields Wronskian minors with mid-coefficients \(2\widetilde{M}_1^{(k)}(\delta)\), \(k=1,2,3\), each an affine function of \(\delta\). Let \[B=\bigl\{\delta\in\mathbb{F}_p:\text{at least one }\widetilde{M}_1^{(k)}(\delta)=0\bigr\}.\] Then \(|B|\le3\).

Moreover, the leading minor of each shifted Wronskian factor satisfies \(\widetilde{M}_2^{(k)}=M_2^{(k)}\) for all \(\delta\in\mathbb{F}_p\); in particular, affine translation cannot restore degree \(2\) if \(M_2^{(k)}=0\) (the aligned-pair case of Lemma 2).

Proof. We give the argument for the pair \((v,w)\); the remaining pairs follow by cyclic symmetry. Write \(v(x)=x^2+a_1x+a_0\) and \(w(x)=x^2+b_1x+b_0\) (monic, so \(a_2=b_2=1\)). By Lemma 1, \(M_2=b_1-a_1\), \(M_1=b_0-a_0\), \(M_0=a_1b_0-a_0b_1\).

After the shift \(x\mapsto x+\delta\): \[\begin{align} v_\delta(x)&=x^2+(2\delta+a_1)x+(\delta^2+a_1\delta+a_0),\\ w_\delta(x)&=x^2+(2\delta+b_1)x+(\delta^2+b_1\delta+b_0). \end{align}\] The shifted minors are therefore \[\begin{align} \widetilde{M}_2 &= (2\delta+b_1)-(2\delta+a_1)=b_1-a_1=M_2,\\ \widetilde{M}_1 &= (\delta^2+b_1\delta+b_0)-(\delta^2+a_1\delta+a_0)\\ &=(b_1-a_1)\delta+(b_0-a_0) = M_2\,\delta+M_1. \end{align}\] Hence \(\widetilde{M}_2\) is constant in \(\delta\) (proving the “moreover” clause), and the mid-coefficient \(2\widetilde{M}_1=2(M_2\delta+M_1)\) is affine in \(\delta\).

If \(M_2\neq0\), then \(\widetilde{M}_1(\delta)=0\) has exactly one solution \(\delta_0=-M_1/M_2\in\mathbb{F}_p\). If \(M_2=0\) (aligned pair), then \(\widetilde{M}_1=M_1\) is constant; it either never vanishes or always vanishes, contributing \(0\) or \(p\) elements to \(B\). In the generic (non-aligned) case each pair contributes at most one bad shift, so \(|B|\le 3\). ◻

Corollary 1. Let \(B\) be as in Proposition 13. If the retry schedule chooses any \(\delta\in\mathbb{F}_p^\times\setminus B\) (e.g., from a fixed deterministic list), then after at most one retry the post-check of Definition 2 succeeds whenever \(G_1\)\(G_7\) hold. If instead \(\delta\) is sampled uniformly from \(\mathbb{F}_p^\times\), then \[\Pr[\delta\in B]\le\frac{|B|}{p-1}\le\frac{3}{p-1},\] so the expected number of retries satisfies \(\mathbb{E}[T]\le1+\tfrac{3}{p-1}+O(p^{-2})\). For \(p\ge101\), \(\mathbb{E}[T]\le1.03\).

Proof. By Proposition 13, \(|B|\le3\). Suppose the pre-guards \(G_1\)\(G_7\) hold (so that all discriminants and resultants are nonzero and \(\deg\mathop{\mathrm{Sres}}_1=1\) for each pair). Then by Theorem 7, the RPRoutput coincides with the classical Wronskian triple, which has \(\deg U=\deg V=\deg W=2\) whenever \(M_2^{(k)}\neq0\) for each pair. The mid-coefficients \(2\widetilde{M}_1^{(k)}(\delta)\) are nonzero for every \(\delta\notin B\), ensuring that all three factors are nondegenerate quadratics. If \(\delta\in\mathbb{F}_p^\times\setminus B\), the resulting triple passes the post-check of Definition 2.

For the probabilistic bound, sampling \(\delta\) uniformly from \(\mathbb{F}_p^\times\) gives \(\Pr[\delta\in B]\le|B|/(p{-}1)\le3/(p{-}1)\). The number of retries \(T\) follows a geometric distribution truncated at \(1\), so \(\mathbb{E}[T]=1+\Pr[\text{first attempt fails}]\le1+\tfrac{3}{p-1}\). For \(p\ge101\): \(\mathbb{E}[T]\le 1+3/100=1.03\). ◻

Affine retry is a deterministic, bounded mechanism. It does not alter \(\deg\mathop{\mathrm{Sres}}_1\) (Lemma 3), so it cannot resolve the aligned-pair degeneracy (\(M_2=0\)); however, when \(M_2\neq0\), it avoids the finitely many shifts at which mid-coefficients vanish. Combined with the guard system, this ensures that GSRbehaves as a Las–Vegas process with expected cost within a constant factor of the fast path.

A retry is triggered whenever any pre-guard (\(G_1\)\(G_7\)) fails or a post-check (\(P_1\)\(P_3\)) reports invalid output. At most one affine retry is permitted (maxRetries\({}=1\)). For small primes (\(p<10^3\)), the empirical retry rate slightly exceeds the theoretical bound \(3/(p{-}1)\) because the broader degeneracy window activates the retry on any guard failure, not only mid-coefficient vanishing. All benchmarks in Sect. 5 use this unified retry policy.

4.6 Certification and classical soundness↩︎

We formalize what it means for an output triple to be admissible.

Definition 2. Let \(\gcd^\ast\) denote the gcd up to units. The triple \((U,V,W)\) is certified if \[\begin{gather} \deg U=\deg V=\deg W=2,\\ \mathrm{gcd}^\ast(U,V)=\mathrm{gcd}^\ast(V,W)=\mathrm{gcd}^\ast(W,U)=1,\\ \mathop{\mathrm{Disc}}(U)\mathop{\mathrm{Disc}}(V)\mathop{\mathrm{Disc}}(W)\neq0. \end{gather}\]

Certification suffices to guarantee that the codomain is smooth and the isogeny is separable.

Proposition 14. Let \((u,v,w)\in\mathbb{F}_p[x]^3\) be monic, pairwise coprime quadratics with \(p>2\), and let \((U,V,W)\) be the output of the Wronskian construction 2 (or, equivalently, of RPRvia Theorem 7). Suppose \((U,V,W)\) satisfies Definition 2. Then \(C':y^2=UVW\) is a smooth genus-2 curve, and \((u,v,w)\mapsto(U,V,W)\) defines the classical \((2,2)\)-Richelot isogeny from \(C:y^2=uvw\) to \(C'\).

Proof. Each \(U,V,W\) is quadratic by hypothesis. Because \(\mathop{\mathrm{Disc}}(U)\neq0\), the polynomial \(U\) has two distinct roots in \(\overline{\mathbb{F}_p}\); likewise for \(V\) and \(W\). The pairwise coprimality \(\gcd^\ast(U,V)=\gcd^\ast(V,W)=\gcd^\ast(W,U)=1\) ensures that no root is shared between distinct factors. Hence \(UVW\) has six distinct roots in \(\overline{\mathbb{F}_p}\): it is square-free of degree \(6\), and the affine curve \(C':y^2=U(x)V(x)W(x)\) is smooth of genus \(2\).

The Wronskian construction produces \((U,V,W)\) from \((u,v,w)\) via explicit polynomial operations (Lemma 1), and \((U,V,W)\) determines, up to isomorphism, a kernel subgroup \(G\cong(\mathbb{Z}/2\mathbb{Z})^2\) of \(\mathop{\mathrm{Jac}}(C)[2]\) spanned by the difference divisors of pairs of roots of \(u,v,w\). The quotient \(\mathop{\mathrm{Jac}}(C)/G\) is principally polarized and isomorphic to \(\mathop{\mathrm{Jac}}(C')\); this is the classical content of Richelot’s construction as developed in [4], [5]. The resulting map \(\mathop{\mathrm{Jac}}(C)\to\mathop{\mathrm{Jac}}(C')\) is a separable \((2,2)\)-isogeny. ◻

4.7 Correctness and determinism↩︎

Theorem 15 (Correctness of GSR). For all monic, pairwise coprime \((u,v,w)\in\mathbb{F}_p[x]^3\) with \(p>2\), Algorithm 1 either returns a certified \((U,V,W)\) satisfying Definition 2 or reports FAIL after at most one affine retry. In the certified case, \(C':y^2=UVW\) is smooth of genus 2 and \((2,2)\)-isogenous to \(C:y^2=uvw\).

Proof. We check soundness, termination, and correctness in turn.

Suppose the algorithm returns \((U,V,W)\neq\texttt{FAIL}\). By the control flow of Algorithm 1, the triple must have passed all three post-check conditions of Definition 2: \(\deg U=\deg V=\deg W=2\); \(\gcd^\ast(U,V)=\gcd^\ast(V,W)=\gcd^\ast(W,U)=1\); and \(\mathop{\mathrm{Disc}}(U)\mathop{\mathrm{Disc}}(V)\mathop{\mathrm{Disc}}(W)\neq0\). In particular, \(UVW\) is square-free of degree \(6\), and \(C':y^2=UVW\) is a smooth genus-\(2\) curve. By Proposition 14, \(C\) and \(C'\) are linked by a separable \((2,2)\)-isogeny.

The loop counter \(r\) is initialized to \(0\) and incremented by \(1\) each time a pre-guard or post-check fails. The loop exits when \(r>1\) (returning FAIL) or when the post-check passes (returning the certified triple). Hence the algorithm terminates after at most two complete iterations of the loop body.

On any iteration where the pre-guards pass so that \[\mathop{\mathrm{Disc}}(u)\mathop{\mathrm{Disc}}(v)\mathop{\mathrm{Disc}}(w)\neq0,\] all pairwise resultants are nonzero, and \(\deg\mathop{\mathrm{Sres}}_1=1\) for each pair Theorem 7 guarantees that the RPRoutput coincides with the classical Wronskian triple in \(\mathbb{F}_p[x]^3\). The post-check then verifies the codomain conditions independently. If \(\deg\mathop{\mathrm{Sres}}_1=0\) for some pair (aligned-pair degeneracy of Lemma 2), the RPRreconstruction may produce a non-quadratic output, which is caught by the \(\deg=2\) post-check and triggers a retry or FAIL. ◻

Proposition 16. Fix \(p\) and the retry schedule. Then the branch structure and multiset of base-field operations executed by GSR depend only on the boolean outcomes of \(G_1\)\(G_7\), the post-checks \(P_1\)\(P_3\), and the retry flag, not on secret coefficients.

Proof. Every computation in Algorithm 1 pre-guard evaluation, RPR core, and post-check uses fixed polynomial expressions in the input coefficients (straight-line arithmetic over \(\mathbb{F}_p\)). The only branch points are boolean zero-tests on discriminants, resultants, degrees, and coprimality outcomes; the retry schedule is a fixed deterministic function of \(p\). Hence the execution trace is fully determined by the tuple of boolean outcomes and the retry counter \(r\), independently of the specific coefficient values. ◻

4.8 Resultant identity and codomain equality↩︎

Proposition 17. Let \(u,v,w\in\mathbb{F}_p[x]\) be monic, pairwise coprime quadratics with \(p>2\) and \(\deg\mathop{\mathrm{Sres}}_1=1\) for each pair. Then the Wronskian product \[F'(x)\;:=\;U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}(x)\,V_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}(x)\,W_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}(x)\] is a degree-\(6\) polynomial in \(\mathbb{F}_p[x]\) uniquely determined by \((u,v,w)\), and for any realization \((\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi\), \(\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi\), or \(\ifmmode\mathrm{GSR}\else\textrm{\mathrm{\small GSR}}\fi)\) the certified output triple \((U,V,W)\) satisfies \(U\cdot V\cdot W = F'\) in \(\mathbb{F}_p[x]\). Hence all routes define the same codomain curve \(C':y^2=F'(x)\) up to isomorphism.

Proof. The Wronskian construction defines \(U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=v'w-vw'\), \(V_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=w'u-wu'\), \(W_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}=u'v-uv'\) via fixed polynomial formulas in the coefficients of \(u,v,w\). Hence \(F'=U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}\cdot V_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}\cdot W_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}\in\mathbb{F}_p[x]\) is uniquely determined. By Lemma 1, each factor is quadratic (with leading minor \(M_2\neq0\) when the pair is non-aligned), so \(\deg F'=6\).

By Theorem 7, under the hypotheses \(\deg\mathop{\mathrm{Sres}}_1=1\) and \(M_2\neq0\), \[(U_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi},V_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi},W_{\ifmmode\mathrm{RPR}\else\textrm{\mathrm{\small RPR}}\fi})=(U_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi},V_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi},W_{\ifmmode\mathrm{WRO}\else\textrm{\mathrm{\small WRO}}\fi}) \quad\text{in }\mathbb{F}_p[x]^3.\] Since GSRuses RPRas its algebraic core (Algorithm 1, line 11), any certified output \((U,V,W)\) from GSRalso satisfies \(UVW=F'\).

Since \(UVW=F'\) is the same polynomial in \(\mathbb{F}_p[x]\) for all three routes, the codomain curve \(C':y^2=F'(x)\) is identical not merely isomorphic across WRO, RPR, and GSR. ◻

4.9 Cost model↩︎

Let \(\alpha\) denote a base-field multiplication and \(\beta\) a linear operation. Each route executes \(O(1)\) work per quadratic step: the WROfast path uses closed-form minors, the RPRpath performs a constant-size minor-syzygy reconstruction, and GSRadds seven predicates, one normalization, and a post-check, with at most one retry. Concrete constant factors are verified experimentally in Sect. 5.

5 Experimental Verification↩︎

We verified both the algebraic equivalence (Theorem 7) and the practical performance of the three evaluators through a prototype implementation in Python 3.13. All experiments were executed on a single core with \(10^6\) matched trials per prime per configuration, using five independent seeds and round-robin scheduling to eliminate ordering and cache bias.

5.1 Correctness verification↩︎

Beyond the formal proof of Theorem 7, the implementation was subjected to two independent empirical tests over \(2.5\times10^5\) random monic quadratic triples across five primes (\(p=101\), \(65\,537\), \(10^6{+}3\), \(2^{31}{-}1\), \(2^{61}{-}1\)):

  1. For each trial, the RPRoutput was compared coefficient-wise against the classical WROoutput computed via explicit polynomial derivative and multiplication. All \(248\,537\) coprime trials produced exact agreement (after discarding \(1\,463\) non-coprime inputs), confirming Theorem 7 empirically.

  2. Applying the Wronskian construction twice \((u,v,w)\mapsto(U,V,W) \mapsto(U',V',W')\) must yield \(U'V'W'=\lambda\cdot uvw\) for some \(\lambda\in\mathbb{F}_p^\times\) (Richelot self-duality). This was verified for all \(245\,248\) admissible trials; the remaining \(3\,289\) were degenerate (non-admissible output, overwhelmingly at \(p=101\)) and were skipped. This test is strictly stronger than (1), as any implementation error in the Richelot step would be amplified by the second application.

A SageMath cross-validation script is also provided in the supplementary materials.

5.2 Benchmark design↩︎

Five benchmark configurations were executed, each over three representative primes: \(p_1=65\,537\) (\(17\) bits), \(p_2=10^6{+}3\) (\(20\) bits), and \(p_3=2^{255}{-}19\) (\(255\) bits, the Curve25519 prime). An additional multi-prime scaling experiment included \(p=101\) and \(p=2^{127}{-}1\).

  1. Kernel-only: WRO, RPR, and GSR-strict with guards and post-check disabled, measuring pure kernel computation time.

  2. GSR-strict: RPRkernel with full post-check (\(P_1\)\(P_3\)) and at most one affine retry.

  3. GSR-full: Full guards (\(G_1\)\(G_7\)) dispatch to WRO(closed-form) or RPR, with full post-check and retry.

  4. GSR-light: Light guards (\(G_1\)\(G_3\), two subresultant degree checks) with minimal post-check (\(P_1\)\(P_2\) only).

  5. Multi-prime scaling: Kernel-only across five primes (\(7\)\(255\) bits) to assess speedup stability.

We note that all benchmarks use an interpreted language (Python) with arbitrary-precision integers; absolute timings reflect interpreter overhead rather than optimized finite-field arithmetic. The relative comparisons between routes are nonetheless meaningful, as all share the same runtime environment and data representation; the observed ratios are consistent with the theoretical operation counts.

5.3 Kernel speedup↩︎

Table 3 reports kernel-only timings.

Table 3: Kernel-only timings (no guards or post-check). Speedup is the paired median of per-trial ratios \(t_{\WRO}/t_{\RPR}\), over \(10^6\) matched trials per prime.
Field Method
\((\mu s)\)
\((\mu s)\)
(paired)
\(\F_{65\,537}\) 13 15
2 3 6.0
\(\F_{10^6+3}\) 13 15
2 3 6.0
\(\F_{2^{255}-19}\) 19 22
4 5 4.75

The RPRkernel is \(4.75\)\(6.0\times\) faster than the classical WROroute. This exceeds the theoretical prediction from the \(15\,\mathbf{A}\) saving alone (Eq. 10 ), because the traditional WROimplementation requires constructing intermediate degree-\(3\) products \(v'w\) and \(vw'\) via polynomial multiplication and computing explicit derivatives, all of which the closed-form RPRbypasses. The speedup is largest at small primes, where these intermediate operations are comparable in cost to field multiplications; it decreases to \(4.75\times\) at \(p=2^{255}{-}19\), where big-integer arithmetic dominates.

5.4 Full pipeline: GSR modes↩︎

Table 4 reports full pipeline timings with certification enabled.

Table 4: pipeline timings and retry rates over \(10^6\) matched trials per prime. All modes include certification; speedup is paired median vs. .
Field Method
\((\mu s)\)
vs.
rate (%)
-strict (RPR kernel, full post-check)
\(\F_{65\,537}\) 18
6 3.000
6 3.000 0.011
\(\F_{10^6+3}\) 18
6 2.833
6 3.000 0.001
\(\F_{2^{255}-19}\) 30
14 2.071
14 2.143 0.000
-full (guard-dispatched, full post-check)
\(\F_{65\,537}\) 9 1.889 0.011
\(\F_{10^6+3}\) 9 1.889 0.001
\(\F_{2^{255}-19}\) 22 1.391 0.000
-light (light guards, minimal post-check)
\(\F_{65\,537}\) 6 2.833 0.011
\(\F_{10^6+3}\) 6 2.833 0.001
\(\F_{2^{255}-19}\) 14 2.071 0.000

Even with full certification, GSR-strict remains \(2.1\)\(3.0\times\) faster than the classical WRO, because the cheap RPRkernel more than compensates for the post-check overhead (Eq. 11 : \(62\,\mathbf{M}+21\,\mathbf{S}\) total vs.\(18\,\mathbf{M}+27\,\mathbf{A}\) for WROalone).

The GSR-full variant, which evaluates the complete guard set (\(G_1\)\(G_7\)) before dispatching, is \(1.4\)\(1.9\times\) faster than WRO; the guard evaluation adds measurable overhead, particularly at the \(255\)-bit prime where big-integer arithmetic dominates. When guards pass which occurs in \(99.99\)\(100\%\) of trials (Table 5) the WROclosed-form fast-path is used, so the overhead is limited to the guard predicates themselves.

The GSR-light variant nearly matches the raw RPRspeed, reaching \(2.1\)\(2.8\times\) the speed of WRO, by evaluating only discriminants and two subresultant degree checks in the guard phase and omitting discriminant checks in the post-check.

5.5 Guard dispatch and retry statistics↩︎

Table 5: Guard dispatch statistics and retry rates for -full and -light over \(10^6\) trials. Guard-pass rate is the proportion of trials dispatched to the closed-form fast-path.
Field
path
path
rate (%)
rate (%)
-full
\(\F_{65\,537}\) 999911 89 99.991 0.011
\(\F_{10^6+3}\) 999989 11 99.999 0.001
\(\F_{2^{255}-19}\) 1000000 0 100.000 0.000
-light
\(\F_{65\,537}\) 999920 80 99.992 0.011
\(\F_{10^6+3}\) 999989 11 99.999 0.001
\(\F_{2^{255}-19}\) 1000000 0 100.000 0.000

For fields of practical interest (\(p\ge 65\,537\)), the full guard set passes in at least \(99.99\%\) of trials, confirming that the RPR fallback path is rarely exercised. The retry rate is \(0.011\%\) at \(p=65\,537\), consistent with the theoretical bound \(3/(p{-}1)\approx 0.005\%\) from Corollary 1 (the modest excess accounts for guard failures discriminant or resultant vanishing that also trigger retries but lie outside the mid-coefficient analysis). At \(p=10^6{+}3\) the retry rate drops to \(0.001\%\), and at \(p=2^{255}{-}19\) no retry was triggered in \(10^6\) trials, confirming that the retry mechanism is algebraically negligible for fields of cryptographic interest.

5.6 Prime-size scaling↩︎

To assess whether the speedup is stable across field sizes, we measured kernel-only timings over five primes spanning \(7\) to \(255\) bits (Table 6).

Table 6: Kernel-only speedup across five primes (\(5\times10^5\) matched trials each). The speedup is stable at \(4.75\)\(6.5\times\) across five orders of magnitude in \(p\).
Field Bits
\((\mu s)\)
\((\mu s)\)
\(\F_{101}\) 7 12 2 6.00
\(\F_{65\,537}\) 17 13 2 6.00
\(\F_{10^6+3}\) 20 13 2 6.50
\(\F_{2^{127}-1}\) 127 16 3 5.33
\(\F_{2^{255}-19}\) 255 19 4 4.75

The speedup remains consistent: \(4.75\)\(6.5\times\) across five orders of magnitude in prime size. (The slight discrepancy with the \(4.75\times\) figure for \(p=2^{255}{-}19\) reported in Table 3 reflects different trial counts and the distinction between paired per-trial median ratios and ratios of aggregate medians.) The slight decrease at large primes reflects the dominance of big-integer multiplication cost, which is shared by both routes; in a compiled implementation with fixed-width field arithmetic, the relative advantage of RPRwould be even more pronounced.

6 Conclusion↩︎

We have presented an algebraic reinterpretation of the Richelot \((2,2)\)-isogeny step for genus–\(2\) curves over finite fields of odd characteristic. By expressing the classical Wronskian construction in terms of first subresultants and Plücker minors of the coefficient matrix, we obtained a completely derivative-free formulation that produces the same output polynomials in \(\mathbb{F}_p[x]\) under a natural normalization. The resulting Remainder–Polynomial Route (RPR) is shown to be algebraically identical to the classical Wronskian route, not merely up to units, but as an explicit identity in the polynomial ring.

Building on this equivalence, we introduced the Guarded Subresultant Route (GSR), a deterministic evaluator that augments the derivative-free core with a constant-size system of algebraic guards and a lightweight post-check. These guards enforce the classical admissibility conditions nonvanishing discriminants, pairwise coprimality, and correct degree behavior and ensure that the evaluator either returns a certified quadratic triple or explicitly rejects non-admissible inputs. The control flow is fixed, verifiable, and allows at most one bounded affine retry, whose algebraic role and failure modes are fully characterized.

All three routes run in constant time per step in degree \(2\). RPR matches WRO in multiplication count but avoids the intermediate degree-\(3\) products and explicit derivatives, which accounts for the measured \(4.75\)\(6\times\) kernel speedup. Adding the guard layer and post-check costs roughly \(79\,\mathbf{M}\) per step; the GSR-light variant keeps most of this certification at nearly the raw RPRspeed.

The subresultant viewpoint replaces derivatives by Plücker minors, the minor syzygy closes the reconstruction, and the guard layer certifies the output at bounded cost. Over \(10^6\) matched trials per prime, RPRruns \(4.75\)\(6\times\) faster than the classical Wronskian kernel, and the full GSRpipeline stays \(1.4\)\(3\times\) ahead of WROeven with certification enabled; retry rates fall below \(0.01\%\) for every prime \(p\ge 65\,537\). A double-Richelot involution test on \(2.5\times10^5\) triples across five primes independently confirms correctness.

6.0.0.1 Limitations

All results are established for odd characteristic; a systematic treatment of characteristic two, where the classical Wronskian construction degenerates and alternative notions of differentiation (e.g., Hasse derivatives) are required, remains open. The current framework is restricted to degree-\(2\) inputs; extensions to higher-degree or higher-genus settings would require generalizing the minor-syzygy framework. While the GSR control flow is deterministic and the branch structure depends only on boolean guard outcomes (Proposition 16), a fully constant-time implementation suitable for cryptographic deployment would require additional engineering (e.g., conditional moves to eliminate all data-dependent branches), which we do not address here. Our experimental validation uses a Python prototype; performance comparisons in optimized low-level implementations remain to be carried out.

6.0.0.2 Future work

The minor-syzygy framework should extend to higher-degree factors, though the number of Plücker coordinates grows and the syzygy relations become more involved. On the implementation side, a constant-time realization of GSR (replacing all branches by conditional moves) would be needed before deployment in isogeny-based protocols; combining it with tree-based chain algorithms is another natural direction.

Acknowledgements↩︎

The authors thank colleagues at University of Phuong Dong for helpful discussions during the preparation of this work.

CRediT authorship contribution statement↩︎

Hung T. Dang: Conceptualization, Methodology, Formal analysis, Investigation, Writing – original draft.

Diep V. Nguyen: Software implementation, Computational experiments, Validation, Writing – review & editing.

Declaration of competing interest↩︎

The authors declare that there is no conflict of interest.

Data availability↩︎

The Python source code for all experiments including the benchmark runner, the correctness verification script with double-Richelot involution test, and a SageMath cross-validation script is provided as supplementary material accompanying this submission. A public repository will be made available upon acceptance.

References↩︎

[1]
W. Castryck, T. Decru, and B. Smith, “Hash functions from superspecial genus-2 curves using richelot isogenies,” Journal of Mathematical Cryptology, vol. 14, no. 1, pp. 268–292, 2020, doi: 10.1515/jmc-2019-0021.
[2]
C. Costello and B. Smith, “The supersingular isogeny problem in genus 2 and beyond,” in Proceedings of PQCrypto 2020, lecture notes in computer science, vol. 12548, 2020, pp. 151–168, doi: 10.1007/978-3-030-44223-1_9.
[3]
P. Dartois, L. Maino, G. Pope, and D. Robert, “An algorithmic approach to (2, 2)-isogenies in the theta model and applications to isogeny-based cryptography,” in Advances in cryptology – ASIACRYPT 2024, 2025, vol. 15486, pp. 304–338, doi: 10.1007/978-981-96-0891-1_10.
[4]
J. W. S. Cassels and E. V. Flynn, Prolegomena to a middlebrow arithmetic of curves of genus 2, vol. 230. Cambridge: Cambridge University Press, 1996.
[5]
P. Gaudry, N. Houtmann, D. Kohel, C. Ritzenthaler, and A. Weng, “The 2-adic CM method for genus-2 curves,” in ASIACRYPT 2006, 2006, vol. 4284, pp. 114–129, doi: 10.1007/11935230_8.
[6]
G. E. Collins, “Subresultants and reduced polynomial remainder sequences,” Journal of the ACM, vol. 14, no. 1, pp. 128–142, 1967, doi: 10.1145/321371.321381.
[7]
W. S. Brown and J. F. Traub, “On euclid’s algorithm and the theory of subresultants,” Journal of the ACM, vol. 18, no. 4, pp. 505–514, 1971, doi: 10.1145/321662.321665.
[8]
E. Kaltofen, “Greatest common divisors of polynomials given by straight-line programs,” Journal of the ACM, vol. 35, no. 1, pp. 231–264, 1988.
[9]
T. Lickteig and M.-F. Roy, “Sylvester–habicht sequences and fast Cauchy index computation,” Journal of Symbolic Computation, vol. 31, no. 3, pp. 315–341, 2001, doi: 10.1006/jsco.2000.0456.
[10]
S. Basu, R. Pollack, and M.-F. Roy, Algorithms in real algebraic geometry, 2nd ed., vol. 10. Springer, 2006.
[11]
A. Bostan, F. Morain, B. Salvy, and É. Schost, “Fast algorithms for computing isogenies between elliptic curves,” Mathematics of Computation, vol. 77, no. 263, pp. 1755–1778, 2008, doi: 10.1090/S0025-5718-08-02066-8.