Abstract
In a previous joint article with Abu Salem, we gave efficient algorithms for Jacobian group arithmetic of “typical” divisor classes on \(C_{3,4}\) curves, improving on similar results by other authors. At that time, we could only state that a general divisor was typical, and hence unlikely to be encountered if one implemented these algorithms over a very large finite field. This article pins down an explicit characterization of these typical divisors, for an arbitrary smooth projective curve of genus \(g \ge 1\) having at least one rational point. We give general algorithms for Jacobian group arithmetic with these typical divisors, and prove not only that the algorithms are correct if various divisors are typical, but also that the success of our algorithms provides a guarantee that the resulting output is correct and that the resulting input and/or output divisors are also typical. These results apply in particular to our earlier algorithms for \(C_{3,4}\) curves. As a byproduct, we obtain a further speedup of approximately 15% on our previous algorithms for \(C_{3,4}\) curves.
Similar content being viewed by others
Notes
Actually, the algorithm there also assumes that the top left \(1\times 1\) and \(2\times 2\) minors, \(A_1\) and \(D = \Delta _{12}\), are also invertible, and replaces inverting all three quantities \(A_1, D, U\) by one field inversion combined with several multiplications. To genuinely only compute \(\ker M\) while checking that \(U \ne 0\), one can exchange rows of M as needed, which does not change the kernel or the fact that \(U\ne 0\) Thus, possibly after a first row exchange, one can first ensure that \(A_1 \ne 0\), then one computes \(\Delta _{12}\) and \(\Delta _{13}\), which are both needed anyhow for the computation. One then exchanges rows 2 and 3 if needed to ensure that \(\Delta _{12} \ne 0\).
Possibly allowing as before for row operations, so the only condition that really gets checked is \(U \ne 0\).
References
Abu Salem, F.K., Khuri-Makdisi, K.: Fast Jacobian group operations for \(C_{3,4}\) curves over a large finite field. LMS J. Comput. Math. 10, 307–328 (2007)
Basiri, A., Enge, A., Faugère, J.-C., Gürel, N.: Implementing the arithmetic of \(C_{3,4}\) curves. In: Buell, D. (ed) Algorithmic Number Theory (ANTS-VI), Lecture Notes in Computer Science, vol. 3076, pp. 87–101. Springer, Berlin (2004)
Basiri, A., Enge, A., Faugère, J.-C., Gürel, N.: The arithmetic of Jacobian groups of superelliptic cubics. Math. Comput. 74(249), 389–410 (2005)
Flon, S., Oyono, R.: Fast arithmetic on Jacobians of Picard curves. In: Bao, F., Deng, R., Zhou, J. (eds.) Public Key Cryptography - PKC 2004. Lecture Notes in Computer Science, vol. 2947, pp. 55–68. Springer, Berlin (2004)
Flon, S., Oyono, R., Ritzenthaler, C.: Fast addition on non-hyperelliptic genus 3 curves. In: Chaumine, J., Hirschfeld, J., Rolland, R. (eds.) Algebraic geometry and its applications, Series on Number Theory and its Applications, pp. 1–28. World Science Publications, Hackensack (2008)
Khuri-Makdisi, K.: Linear algebra algorithms for divisors on an algebraic curve. Math. Comput. 73(245), 333–357 (2004)
Khuri-Makdisi, K.: Asymptotically fast group operations on Jacobians of general curves. Math. Comput. 76(260), 2213–2239 (2007)
Khuri-Makdisi, K.: Upper bounds for some Brill–Noether loci over a finite field, available from arXiv:1609.03349. Int. J. Number Theory. https://doi.org/10.1142/S1793042118500471 (2016)
Oyono, R., Thériault, N.: Group arithmetic in \(C_{3,5}\) curves. J. Symbolic Comput. 56, 1–26 (2013)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix: Speedup of the algorithms for \(C_{3,4}\) curves
Appendix: Speedup of the algorithms for \(C_{3,4}\) curves
In this appendix, we describe a method to combine the computations of Sects. 8, 9, and 10 of [1] into a single more efficient computation. The context here is that we currently know \(s,t \in W^{10}_{D+D'}\) (where D might equal \(D'\), and we know that \(D+D'\) is semi-typical). In our previous algorithms, we did two flips to the pair \(\{s,t\}\) to obtain first \(D''\) and then \(D'''\). By a modification of Propositions 3.14 and 3.18, we can combine these two flips into one computation. We do not know whether these techniques generalize to give a certifiably correct result for other curves, even though they will work generically. In the setting of \(C_{3,4}\) curves, however, it is easy to analyze when a divisor is typical, and we can show that the results obtained are correct.
To start, let us change notation to write \((\tilde{D},D,A)\) in this appendix, instead of the notation \((D+D',D'',D''')\) from [1]. Thus we have elements \(s \in W^9_{\tilde{D}}, t \in W^{10}_{\tilde{D}}\) of the form
Our goal is to find the “flip” A of D. Thus A is a divisor with \(\deg A = 3\), and we wish to compute \(F \in W^6_{A+D}, G_0 \in W^7_{A+E}\) for which \(F t + G_0 s = 0\). We want to do so while certifying in the process that \(\{s,t\}\) is an IGS for \(\tilde{D}\) (i.e., D and E are disjoint) and that \(\tilde{D}\) is typical, whence so is A. (The reason for writing \(G_0\) is that the final \(G \in W^7_A\) will be a slight modification.) As usual, we will compute with the apparently weaker system of equations \(Ft + G_0 s \equiv 0 \bmod W^8\). This amounts to finding a linear combination of \(t,xt,yt,x^2 t\) and \(s,xs,ys,x^2 s, xys\) that vanishes when viewed in the quotient space \(W^{16}/W^8\). We represent elements of this quotient space as column vectors with respect to the basis \(\{x^3, x^2 y, xy^2, y^3, x^3 y, x^2 y^2, xy^3, y^4\}\), analogously to Eq. (17) of [1]. Adapting the entries of the matrix N in Lemma 8.1 of that article, we have that our desired images of \(t,xt,yt,x^2 t, s,xs,ys,x^2 s, xys\) are the columns \(C_1, \dots , C_9\) of the matrix
Note that these columns are different from those in Sect. 9 of [1], where we had 11 columns representing elements of \(W^{17}/W^9\). The \(p_i\) and \(q_i\) are constants arising from the equation of the curve C. We emphasize that we do not compute the above matrix directly, since this would involve the two products \(t_3 p_2\) and \(s_3 p_2\), which we do not need separately, but can fold into other parts of the computation.
As in our earlier article, we count the complexity of a computation in terms of the number of multiplications M and inversions I it takes in the field \(\mathbb {K}\). We ignore additions and subtractions, as well as multiplications and divisions by 2 in \(\mathbb {K}\); recall that we assume in [1] that \(\mathbb {K}\) does not have characteristic 2 or 3.
The first stage of the computation is to compute three quantities \(\ell _1, \ell _2, \ell _3\) that will be useful later, for which nonvanishing of \(\ell _1\) is equivalent to \(\tilde{D}\) (and hence A) being typical:
Lemma A.1
Using 3M, we can compute
We then have:
-
(1)
The combination of columns \(C'_2 = C_2 - C_7 + s_1 C_6\), which represents \(xt - ys + s_1 xs\), is equal to the column vector \((\ell _3, \ell _2, \ell _1, 0, 0, 0, 0, 0)^\mathbf {T}\);
-
(2)
Similarly, \(C'_4 = C_4 - C_9 + s_1 C_8\), which represents \(x(xt - ys + s_1 xs)\), has the form \((*,*,*,\ell _3, \ell _2, \ell _1, 0, 0)^\mathbf {T}\);
-
(3)
The divisor \(\tilde{D}\) is typical if and only if \(\ell _1 \ne 0\).
Proof
Statements (1) and (2) are direct computations. Only statement (3), about typicality, needs proof. Now \(\tilde{D}\) is typical if and only if we have invertibility of the \(7\times 7\) submatrix of (A.2) obtained from the columns corresponding to \(\{t, xt, yt, s, xs, ys, x^2s\}\) and the first seven rows, since this corresponds to having \(sW^6 + tW^5 + W^8 = W^{15}\). The columns in question are all except \(C_4\) and \(C_9\), and we can further replace \(C_2\) by \(C'_2\), as given above, without affecting the invertibility; but in that case the columns can be rearranged to form a triangular matrix with diagonal entries all 1, except for a single \(\ell _1\). This proves our result. \(\square \)
We now define four more quantities \(m_0, m_1, m_2, m_3\) by:
The motivation for the above quantities is that \(C''_4 = C'_4 - \ell _1 C_3 - \ell _2 C_2\) has the form \((*,*,*,m_0,0,0,0,0)^\mathbf {T}\), while \(C'''_4 = C''_4 - m_0 C_6 = (m_3, m_2, m_1, 0,0,0,0,0)^\mathbf {T}\). However, this fact is not needed to verify our proof below.
Lemma A.2
One can compute \(m_0, \dots , m_3\) using only 10M, as opposed to the 12M apparent in (A.4).
Proof
The point is that the four expressions \(\alpha = \ell _1 t_1, \beta = \ell _1 t_2 + \ell _2 t_1, \gamma = \ell _1 t_3 + \ell _2 t_2, \delta = \ell _2 t_3\) can be computed using just 4M instead of the apparent 6M. This is equivalent to Toom–Cook multiplication of polynomials via interpolation at 0, 1, \(-1\), and “\(\infty \)”. Explicitly, use 4M to compute \(t_1 \ell _1\), \(\ell _2 t_3\), \((t_1 + t_2 + t_3)(\ell _1 + \ell _2)\), and \((t_1 - t_2 + t_3)(\ell _1 - \ell _2)\). Thus we know the quantities \(\alpha , \delta , \alpha +\beta +\gamma +\delta , \alpha - \beta + \gamma - \delta \). Hence we also know \(\beta \pm \gamma \) at no extra cost (of multiplications M), and can determine \(\beta , \gamma \) at no further cost, because division by 2 is also “free” in our model. \(\square \)
Proposition A.3
Given \(\ell _1, \ell _2, \ell _3, m_0, m_1, m_2, m_3\) as above, one can at a further cost of 1I, 4M compute \(\ell _1^{-1}, m_1/\ell _1, (m_1/\ell _1)\ell _2, (m_1/\ell _1)\ell _3, (m_1/\ell _1)s_1\), thereby obtaining the following values of \(F, G_0\):
Being able to invert \(\ell _1\) certifies that \(\tilde{D}\) is typical, and that the above computation correctly finds \(F \in W^6_{D}\). Writing \({{\mathrm{div}}}F = D+A\), we also obtain that \({{\mathrm{div}}}G_0 = A+E\), and that the pair (F, G) with \(G = -G_0 + s_1 F\) is an IGS for the typical divisor A. It costs a further 3M to compute the coefficients of G from F and \(G_0\). Thus the total cost of this proposition is 1I, 7M, if done in two stages. However, it is possible to bring the total cost down to 1I, 6M, by combining both parts of the computation to yield F and G directly.
Proof
One can check that \(F t + G_0 s \equiv 0 \bmod W^8\) by a lengthy calculation (preferably using a computer); this amounts to checking that the appropriate linear combination of columns of (A.2) vanishes. We have already shown that invertibility of \(\ell _1\) implies that \(\tilde{D}\) is typical. This implies that the divisors D and E from (A.1) are disjoint, and that \(W^8_{\tilde{D}} = 0\), so we obtain as usual that \(F t + G_0 s = 0\), and that \(F \in W^6_D\). The statement about \({{\mathrm{div}}}G_0\) follows. Computing G from \(G_0\) involves 3M because we need to multiply \(s_1\) by each of the coefficients \(\ell _1, (\frac{m_1}{\ell _1} + \ell _2), ((\frac{m_1}{\ell _1}) \ell _2 - m_2)\) of F. We thus obtain a pair (F, G) in \(W^7_A\) whose F has a coefficient \(-\ell _1\) for the y monomial. Thus we have obtained a description of the divisor A as in [1], with the equivalent of \(a\ne 0\) from Proposition 2.12, and no added cost to compute \(a^{-1} = -\ell _1^{-1}\).
We now explain the extra saving of 1M from folding the computations together. This comes from the coefficient of x in G. As currently stated, it appears to take 2M to compute this coefficient: (i) the first M comes from the multiplication \((m_1/\ell _1)\cdot s_1\), to compute the coefficient of x in \(G_0\), which is \(-(m_0 + (m_1/\ell _1)s_1)\); (ii) the second M comes when we compute \(G = -G_0 + s_1 F\), since we multiply \(s_1\) by the coefficient of x in F, which is \(-((m_1/\ell _1) + \ell _2)\). However it is immediate that the coefficient of x in G that results from this is
which can naturally be computed using the single M of \(s_1 \cdot \ell _2\). This concludes the proof. \(\square \)
Combining Lemmas A.1 and A.2 with Proposition A.3, we obtain the following result:
Theorem A.4
The above procedure produces the same effect as Proposition 9.3 and Proposition 10.1(i) of [1]. This means that we can use a total of 19M, 1I to replace what took us 38M, 1I in [1]. Consequently, the cost of Jacobian operations in a \(C_{3,4}\) curve can be reduced by 19M to obtain that addition of typical elements can be carried out using 98M, 2I while doubling can be carried out using 110M, 2I. The results are certified to be correct and typical, provided all inverses can be computed. This represents a further speedup of approximately 15% over the results of that article.
Competing interests
The author declares that he has no competing interests.
Ethics approval and consent to participate
Not applicable.
Rights and permissions
About this article
Cite this article
Khuri-Makdisi, K. On Jacobian group arithmetic for typical divisors on curves. Res. number theory 4, 3 (2018). https://doi.org/10.1007/s40993-018-0101-6
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s40993-018-0101-6