Abstract
The Successive Resultants Algorithm (SRA) is a root-finding algorithm for polynomials over \(\mathbb {F}_{p^n}\) and was introduced at ANTS in 2014 [19]. The algorithm is efficient when the characteristic p is small and \(n > 1\). In this paper, we abstract the core SRA algorithm to arbitrary finite fields and present three instantiations of our general algorithm, one of which is novel and makes use of a series of isogenies derived from elliptic curves with sufficiently smooth order.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Arora, M., Ivanyos, G., Karpinski, M., Saxena, N.: Deterministic polynomial factoring and association schemes. Electron. Colloq. Computat. Complex. 19, 68 (2012)
Bach, E., von zur Gathen, J., Lenstra, H.: Deterministic factorization of polynomials over special finite fields. University of Wisconsin-Madison, Computer Sciences Department (1988)
Berlekamp, E.: Factoring polynomials over large finite fields. Math. Comput. 111, 713–735 (1970)
Bröker, R.: Constructing elliptic curves of prescribed order. Ph.D. thesis, University of Leiden (2006)
Cantor, D.G., Zassenhaus, H.: A new algorithm for factoring polynomials over finite fields. Math. Comput. 36(154), 587–592 (1981)
Cornacchia, G.: Su di un metodo per la risoluzione in numeri interi dell’ equazione \(\sum _{h=0}^nc_hx^{n-h}y^h=p\). Giornale di Matematiche di Battaglini 46, 33–90 (1903)
The Sage Developers: SageMath, the Sage Mathematics Software System (Version 6.8) (2015). http://www.sagemath.org
Evdokimov, S.: Factorization of polynomials over finite fields in subexponential time under GRH. In: Adleman, L.M., Huang, M.-D. (eds.) ANTS 1994. LNCS, vol. 877, pp. 209–219. Springer, Heidelberg (1994). doi:10.1007/3-540-58691-1_58
Gao, S.: On the deterministic complexity of factoring polynomials. J. Symb. Comput. 31, 19–36 (2001)
von zur Gathen, J., Gerhard, J.: Modern Computer Algebra. Cambridge University Press, Cambridge (2013)
von zur Gathen, J., Panario, D.: Factoring polynomials over finite fields: a survey. J. Symb. Comput. 31(1/2), 3–17 (2001)
Grenet, B., van der Hoeven, J., Lecerf, G.: Randomized root finding over finite FFT-fields using tangent Graeffe transforms. In: Proceedings of ISSAC, pp. 197–204. ACM (2015)
Grenet, B., van der Hoeven, J., Lecerf, G.: Deterministic root finding over finite fields using Graeffe transforms. Appl. Algebra Eng. Commun. Comput. 27(3), 237–257 (2016)
Harasawa, R., Sueyoshi, Y., Aichi, K.: Root computation in finite fields. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 96(6), 1081–1087 (2013)
Icart, T.: How to hash into elliptic curves. In: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 303–316. Springer, Heidelberg (2009). doi:10.1007/978-3-642-03356-8_18
Kedlaya, K.S., Umans, C.: Fast polynomial factorization and modular composition. SIAM J. Comput. 40(6), 1767–1802 (2011)
Lidl, R., Niederreiter, H.: Finite Fields, vol. 20. Cambridge University Press, Cambridge (1997)
De Feo, L., Petit, C., Quisquater, M.: Application of the affine geometry of \({GF}(q^n)\) to root finding. Poster presented at International Symposium on Symbolic and Algebraic Computation (2015)
Petit, C.: Finding roots in \(GF(p^n)\) with the successive resultant algorithm. LMS J. Comput. Math. (Spec. Issue ANTS XI) 17A, 203–217 (2014)
Petit, C., Kosters, M., Messeng, A.: Algebraic approaches for the elliptic curve discrete logarithm problem over prime fields. In: Cheng, C.-M., Chung, K.-M., Persiano, G., Yang, B.-Y. (eds.) PKC 2016. LNCS, vol. 9615, pp. 3–18. Springer, Heidelberg (2016). doi:10.1007/978-3-662-49387-8_1
Rónyai, L.: Galois groups and factoring polynomials over finite fields. SIAM J. Disc. Math. 5(3), 345–365 (1992)
Shanks, D.: Five number-theoretic algorithms. In: Proceedings of the Second Manitoba Conference on Numerical Mathematics, pp. 51–70 (1972)
Shoup, V.: On the deterministic complexity of factoring polynomials over finite fields. Inf. Process. Lett. 33(5), 261–267 (1990)
Shoup, V.: Smoothness and factoring polynomials over finite fields. Inf. Process. Lett. 38(1), 39–42 (1991)
Silverman, J.H.: Heights and elliptic curves. In: Cornell, G., Silverman, J.H. (eds.) Arithmetic Geometry, pp. 253–265. Springer, Heidelberg (1986)
Tonelli, A.: Bemerkung über die Auflösung quadratischer Congruenzen. Nachrichten von der Königl. Gesellschaft der Wissenschaften und der Georg-Augusts-Universität zu Göttingen 1891, pp. 344–346 (1891)
Vélu, J.: Isogénies entre courbes elliptiques. Communications de l’Académie royale des Sciences de Paris. CR Acad. Sci. Paris Sér. AB 273, A238–A241 (1971)
Washington, L.C.: Elliptic Curves: Number Theory and Cryptography. CRC Press, Boca Raton (2008)
Acknowledgements
Christophe Petit is supported by a GCHQ research grant and Benjamin Pring is supported by an EPSRC doctoral research grant. The authors would like to thank the anonymous reviewers both for their time and for their helpful advice, much of which was incorporated into the final paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Example of SRA with \(|\mathbb {F}_{p} ^*|\) Smooth
We demonstrate the \(p-1\) instantiation of SRA with a toy example. We use the finite field \(\mathbb {F} _{37}\), where \(36 = 2 \cdot 2 \cdot 3 \cdot 3\) is 3-smooth. Precomputation for \(\mathbb {F} _{37}\) gives us the series of rational maps (in fact polynomials)
The composed map is \(K^{[4]}(x_1) = x_1^{36}\), which gives us \(B = \text {Image}(K^{[t]}) = \{0,1\}\). We wish to find the roots of
We first compute \(f^{(i+1)}(x_{i+1}) = \mathsf {Res}_{x_i}(f^{(x_i)}, x_i^{n_i} - x_{i+1})\) with \(f^{(1)}(x_1) = f(x_1)\).
We then compute \(g^{(i)}(x_i) = \mathsf {gcd}(f^{(i)}(x_i), x_i^{n_i} - \hat{x}^{i+1})\) for \(i=4,3,2,1\), where \(\hat{x}_5 \in B\) for \(i=4\) and \(\hat{x}^{i+1}\) is a root of \(g^{(i+1)}(x_i)\) for \(i=3,2,1\).
We will note the solutions of these polynomials to the right of each equation.
giving us the values for \(\hat{x_4}: \{0,1,10,26\}\). We use these roots to calculate
giving us the values for \(\hat{x}_3: \{0,7,9,10,12,33,34\}\). We use these roots to calculate
giving us the values for \(\hat{x}_2: \{0,3,7,9,11,12,21\}\). We use these roots to calculate
whose union is the set of roots \(\hat{x}_1: \{0,3,7,14,15,22,23,24,28,30\}\) which are the roots of of our original polynomial f(x).
B Example of SRA with \(p=2 \text { mod } 3\)
We provide the toy example for the case of finding solutions for \(h(u) \in \mathbb {F} _{41}[x]\), which fulfils our initial condition that \(p = 41 = 2 \text { mod } 3\).
We first perform the precomputation stage for the given p. A value of N is computed so that a large enough proportion of N is smooth and allows a suitable curve to be constructed. We find that \(N = 32\) is a such a value and compute the auxiliary curve
whose rational points we will convert our points in \(\mathbb {F} _{41}\) to via Icart’s map [15] as in Eq. 18,
The final step of the precomputation is to compute suitable elliptic curves and successive isogenies between them such that their degree is bounded by our smoothness bound. We will only use the rational map representations of the x-coordinate for these maps. The following series of isogenies with their rational-map representations of the mappings from x-coordinate to x-coordinates give rise to the following system of equations
After this precomputation is completed, we may begin the process of calculating the roots of h(u). We seek to find the roots of the polynomial
We first use the Icart map \(K_0\) to create our polynomial \(f^{(1)}(x_1)\), whose roots represent solutions of both h(u) and \(K_0(u,x)\) by means of taking the resultant with regards to u.
we note that we now have a polynomial three times the degree of our original one, but we are only interested in linear factors hence we may obtain
which is of degree bounded by deg(h). We then compute the roots of f using the SRA algorithm with the maps \(M = \{K_i\}_{i=1}^5\), the set \(B = \emptyset \) and the flag \(\text {ParSeq} = \text {True}\).
As described in the generic case of SRA, we now apply the resultant stage to obtain our \(f^{(2)}(x_2),f^{(3)}(x_3),f^{(4)}(x_4),f^{(5)}(x_5)\) polynomials using the map structure we have derived from the rational maps of the isogenies as described in system 19. To do this we successively compute
This results in the series of polynomials
We may then begin the gcd stage of the algorithm. We note that at each stage we must repeatedly extract those values in the kernel as these values are not picked up by the root merging process. Our first set of roots is therefore calculated via
giving us the candidate roots \(\hat{x}_5\): \(\{25\}\). We use this to compute the polynomial
These give us \(\hat{x}_4: \{4\}\). We perform the same procedure to compute
Giving us the candidate solutions \(\hat{x}_3: \{35,39\}\). We perform the same procedure to compute
Giving us the candidate solutions \(\{32\}\) and \(\{18,23\}\) respectively. Finally we compute
Solving these provides us with solutions \(\{20\},\{2,21\},\{13\}\) for f(x).
We then must convert these back into solutions for h(u). We now possess x-coordinate solutions and may retrieve the corresponding y-coordinates via substitution of x into the auxiliary curve and taking square roots. These lead to the solutions
each of which we substitute into the precomputed map \(L(x,y) = u^4 - 6xu^2 + 6uy - 3\) and take the gcd with h(u) to obtain the list of equations whose roots are precisely those of h(u) (excluding 0, which may be specially checked for).
The roots of h(u) are therefore \(\{21,24,26,34,40\}\).
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Davenport, J.H., Petit, C., Pring, B. (2016). A Generalised Successive Resultants Algorithm. In: Duquesne, S., Petkova-Nikova, S. (eds) Arithmetic of Finite Fields. WAIFI 2016. Lecture Notes in Computer Science(), vol 10064. Springer, Cham. https://doi.org/10.1007/978-3-319-55227-9_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-55227-9_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-55226-2
Online ISBN: 978-3-319-55227-9
eBook Packages: Computer ScienceComputer Science (R0)