Skip to main content
Log in

Cocks–Pinch curves of embedding degrees five to eight and optimal ate pairing computation

  • Published:
Designs, Codes and Cryptography Aims and scope Submit manuscript

Abstract

Recent algorithmic improvements of discrete logarithm computation in special extension fields threaten the security of pairing-friendly curves used in practice. A possible answer to this delicate situation is to propose alternative curves that are immune to these attacks, without compromising the efficiency of the pairing computation too much. We follow this direction, and focus on embedding degrees 5 to 8; we extend the Cocks–Pinch algorithm to obtain pairing-friendly curves with an efficient ate pairing. We carefully select our curve parameters so as to thwart possible attacks by “special” or “tower” Number Field Sieve algorithms. We target a 128-bit security level, and back this security claim by time estimates for the DLP computation. We also compare the efficiency of the optimal ate pairing computation on these curves to \(k=12\) curves (Barreto–Naehrig, Barreto–Lynn–Scott), \(k=16\) curves (Kachisa–Schaefer–Scott) and \(k=1\) curves (Chatterjee–Menezes–Rodríguez-Henríquez).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. The approximation \(\mathbf{i} _1 \approx 25\mathbf{m} \) in Table 4 is clearly implementation-dependent. Since it has negligible bearing on the final cost anyway, we stick to that coarse estimate.

  2. In particular, the line computations involve some sparse products, e.g. \((\sum a_ix^i)\times (\sum b_ix^i)\) in \(\mathbb {F}_{p^8}\) over \(\mathbb {F}_{p^2}\) with \(a_1=0\) (see [21]), which costs 8\(\mathbf{m} _2\) by Karatsuba. Note that [54] claims 7\(\mathbf{m} _2\) but with no explicit formula. We were not able to match this. The work [35, §3.3] obtained 7\(\mathbf{m} _2\) in favorable cases at a cost of extra precomputations.

  3. The Edwards model is not available for a quartic or sextic twist because there is no 4-torsion point on these twists, only the quadratic twist can be in Edwards form [41]. The Jacobi quartic model is not available for a cubic or sextic twist because there is no 2-torsion point on the twist. The Hessian model is compatible with cubic twists but not sextic twists.

  4. We depart from the conventional notation \(\rho \) for the Dickman rho function, to avoid confusion with \(\rho = \log p/\log r\).

  5. For the RSA-768 record factorisation, we used the corrected value 46.7G instead of 47.7G, according to P. Zimmermann’s webpage https://members.loria.fr/PZimmermann/papers/#rsa768.

  6. We mention that there was a typo in [7, Table 3]: in the factorisation of \(2^{1039}-1\), there were 66.7M rows after filtering, not 82.8M, and the reduction factor of the filtering step is 143, not 167.

References

  1. Aoki K., Franke J., Kleinjung T., Lenstra A.K., Osvik D.A.: A kilobit special number field sieve factorization. In: Kurosawa K. (ed.) ASIACRYPT 2007. LNCS, vol. 4833, pp. 1–12. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-76900-2_1.

  2. Aranha D.F.: Pairings are not dead, just resting. Slides at ECC 2017 workshop. (2017). https://ecc2017.cs.ru.nl/.

  3. Aranha D.F., Fuentes-Castañeda L., Knapp E., Menezes A., Rodríguez-Henríquez F.: Implementing pairings at the 192-bit security level. In: Abdalla M., Lange T. (eds.) PAIRING 2012. LNCS, vol. 7708, pp. 177–195. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36334-4_11.

  4. Aranha D.F., Gouvêa C.P.L.: RELIC is an Efficient LIbrary for Cryptography. https://github.com/relic-toolkit/relic.

  5. Aranha D.F., Karabina K., Longa P., Gebotys C.H., López-Hernández J.C.: Faster explicit formulas for computing pairings over ordinary curves. In: Paterson, K.G. (ed.) EUROCRYPT 2011. LNCS, vol. 6632, pp. 48–68. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-20465-4_5.

  6. Bai S., Gaudry P., Kruppa A., Thomé E., Zimmermann P.: Factorization of RSA-220. Number Theory list (May 12 2016), https://listserv.nodak.edu/cgi-bin/wa.exe?A2=NMBRTHRY;d17fe291.1605, http://www.loria.fr/~zimmerma/papers/rsa220.pdf.

  7. Barbulescu R., Duquesne S.: Updating key size estimations for pairings. J. Cryptol. 32(4), 1298–1336 (2019). https://doi.org/10.1007/s00145-018-9280-5.

    Article  MathSciNet  MATH  Google Scholar 

  8. Barbulescu R., Gaudry P., Guillevic A., Morain F.: Improving NFS for the discrete logarithm problem in non-prime finite fields. In: Oswald E., Fischlin M. (eds.) EUROCRYPT 2015, Part I. LNCS, vol. 9056, pp. 129–155. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46800-5_6.

  9. Barbulescu R., Gaudry P., Kleinjung T.: The tower number field sieve. In: Iwata T., Cheon J.H. (eds.) ASIACRYPT 2015, Part II. LNCS, vol. 9453, pp. 31–55. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48800-3_2.

  10. Barreto P.S.L.M., Costello C., Misoczki R., Naehrig M., Pereira G.C.C.F., Zanon G.: Subgroup security in pairing-based cryptography. In: Lauter K.E., Rodríguez-Henríquez F. (eds.) LATINCRYPT 2015. LNCS, vol. 9230, pp. 245–265. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-319-22174-8_14.

  11. Bitansky, N., Canetti, R., Chiesa, A., Tromer, E.: From extractable collision resistance to succinct non-interactive arguments of knowledge, and back again. In: Goldwasser, S. (ed.) ITCS 2012. pp. 326–349. ACM (Jan 2012). https://doi.org/10.1145/2090236.2090263

  12. Boneh D., Franklin M.K.: Identity-based encryption from the Weil pairing. In: Kilian J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 213–229. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44647-8_13.

  13. Boneh D., Lynn B., Shacham H.: Short signatures from the Weil pairing. In: Boyd C. (ed.) ASIACRYPT 2001. LNCS, vol. 2248, pp. 514–532. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45682-1_30.

  14. Bouvier C., Gaudry P., Imbert L., Jeljeli H., Thomé E.: Discrete logarithms in GF\((p)\)—180 digits. Number Theory list, item 004703 (2014). https://listserv.nodak.edu/cgi-bin/wa.exe?A2=NMBRTHRY;615d922a.1406.

  15. Bowe S.: BLS12-381: New zk-SNARK elliptic curve construction. Zcash blog (2017). https://blog.z.cash/new-snark-curve/.

  16. Chatterjee S., Menezes A., Rodríguez-Henríquez F.: On instantiating pairing-based protocols with elliptic curves of embedding degree one. IEEE Trans. Comput. 66(6), 1061–1070 (2017). https://doi.org/10.1109/TC.2016.2633340.

    Article  MathSciNet  MATH  Google Scholar 

  17. Childers G.: Factorization of a 1061-bit number by the special number field sieve. Cryptology ePrint Archive, Report 2012/444 (2012). http://eprint.iacr.org/2012/444.

  18. Chuengsatiansup C., Martindale C.: Pairing-friendly twisted hessian curves. In: Chakraborty D., Iwata T. (eds.) INDOCRYPT 2018. LNCS, vol. 11356, pp. 228–247. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-030-05378-9_13.

  19. Chung J., Hasan M.A.: Asymmetric squaring formulae. In: 18th IEEE Symposium on Computer Arithmetic (ARITH ’07). pp. 113–122 (2007). https://doi.org/10.1109/ARITH.2007.11.

  20. Cohen H., Miyaji A., Ono T.: Efficient elliptic curve exponentiation using mixed coordinates. In: Ohta K., Pei D. (eds.) ASIACRYPT’98. LNCS, vol. 1514, pp. 51–65. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-49649-1_6.

  21. Costello C., Lange T., Naehrig M.: Faster pairing computations on curves with high-degree twists. In: Nguyen P.Q., Pointcheval D. (eds.) PKC 2010. LNCS, vol. 6056, pp. 224–242. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13013-7_14.

  22. Devegili A.J., Ó hÉigeartaigh C., Scott M., Dahab R.: Multiplication and squaring on pairing-friendly fields. Cryptology ePrint Archive, Report 2006/471 (2006). http://eprint.iacr.org/2006/471.

  23. Duquesne S., El Mrabet N., Fouotsa E.: Efficient computation of pairings on jacobi quartic elliptic curves. J. Math. Cryptol. 8(4), 331–362 (2014). https://doi.org/10.1515/jmc-2013-0033.

    Article  MathSciNet  MATH  Google Scholar 

  24. Fotiadis G., Konstantinou E.: TNFS resistant families of pairing-friendly elliptic curves. Theroretical Comput. Sci. 800, 73–89 (2019). https://doi.org/10.1016/j.tcs.2019.10.017.

    Article  MathSciNet  MATH  Google Scholar 

  25. Fotiadis G., Martindale C.: Optimal TNFS-secure pairings on elliptic curves with even embedding degree. Cryptology ePrint Archive, Report 2018/969 (2018). https://eprint.iacr.org/2018/969.

  26. Freeman D., Scott M., Teske E.: A taxonomy of pairing-friendly elliptic curves. J. Cryptol. 23(2), 224–280 (2010). https://doi.org/10.1007/s00145-009-9048-z.

    Article  MathSciNet  MATH  Google Scholar 

  27. Fried J., Gaudry P., Heninger N., Thomé E.: A kilobit hidden SNFS discrete logarithm computation. In: Coron J., Nielsen J.B. (eds.) EUROCRYPT 2017, Part I. LNCS, vol. 10210, pp. 202–231. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-56620-7_8.

  28. Gordon D.M.: Designing and detecting trapdoors for discrete log cryptosystems. In: Brickell E.F. (ed.) CRYPTO’92. LNCS, vol. 740, pp. 66–75. Springer, Heidelberg (1993). https://doi.org/10.1007/3-540-48071-4_5.

  29. Granger R., Scott M.: Faster squaring in the cyclotomic subgroup of sixth degree extensions. In: Nguyen P.Q., Pointcheval D. (eds.) PKC 2010. LNCS, vol. 6056, pp. 209–223. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13013-7_13.

  30. Guillevic A.: Simulating DL computation in \({{\rm GF}}(p^n)\) with the new variants of the Tower-NFS algorithm to deduce security level estimates (2017). Slides at ECC 2017 workshop. https://ecc2017.cs.ru.nl/.

  31. Joux A.: A one round protocol for tripartite Diffie-Hellman. J. Cryptol. 17(4), 263–276 (2004). https://doi.org/10.1007/s00145-004-0312-y.

    Article  MathSciNet  MATH  Google Scholar 

  32. Joux A., Lercier R.: Improvements to the general number field sieve for discrete logarithms in prime fields. A comparison with the Gaussian integer method. Math. Comput. 72(242), 953–967 (2003). https://doi.org/10.1090/S0025-5718-02-01482-5.

    Article  MathSciNet  MATH  Google Scholar 

  33. Joux A., Pierrot C.: The special number field sieve in \(\mathbb{F}_{p^n}\)—application to pairing-friendly constructions. In: Cao Z., Zhang F. (eds.) PAIRING 2013. LNCS, vol. 8365, pp. 45–61. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-319-04873-4_3.

  34. Karabina K.: Squaring in cyclotomic subgroups. Math. Comput. 82(281), 555–579 (2013). https://doi.org/10.1090/S0025-5718-2012-02625-1.

    Article  MathSciNet  MATH  Google Scholar 

  35. Khandaker M.A.A., Nanjo Y., Ghammam L., Duquesne S., Nogami Y.,Kodera Y.: Efficient optimal ate pairing at 128-bit security level. In: Patra A., Smart N.P. (eds.) INDOCRYPT 2017. LNCS, vol.10698, pp. 186–205. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-71667-1_10

  36. Kim T., Barbulescu R.: Extended tower number field sieve: a new complexity for the medium prime case. In: Robshaw M., Katz J. (eds.) CRYPTO 2016, Part I. LNCS, vol. 9814, pp. 543–571. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53018-4_20.

  37. Kiyomura Y., Inoue A., Kawahara Y., Yasuda M., Takagi T., Kobayashi T.: Secure and efficient pairing at 256-bit security level. In: Gollmann D., Miyaji A., Kikuchi H. (eds.) ACNS 17. LNCS, vol. 10355, pp. 59–79. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-61204-1_4.

  38. Kleinjung T., Aoki K., Franke J., Lenstra A.K., Thomé E., Bos J.W., Gaudry P., Kruppa A., Montgomery P.L., Osvik D.A., te Riele H.J.J., Timofeev A., Zimmermann P.: Factorization of a 768-bit RSA modulus. In: Rabin T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 333–350. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14623-7_18.

  39. Kleinjung T., Diem C., Lenstra A.K., Priplata C., Stahlke C.: Computation of a 768-bit prime field discrete logarithm. In: Coron J., Nielsen J.B. (eds.) EUROCRYPT 2017, Part I. LNCS, vol. 10210, pp. 185–201. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-56620-7_7.

  40. Lewko A.B.: Tools for simulating features of composite order bilinear groups in the prime order setting. In: Pointcheval D., Johansson T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 318–335. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29011-4_20.

  41. Li L., Wu H., Zhang F.: Pairing computation on edwards curves with high-degree twists. In: Lin D., Xu S., Yung M. (eds.) Inscrypt, LNCS, vol. 8567, pp. 185–200. Springer, Guangzhou, China (2013). https://doi.org/10.1007/978-3-319-12087-4_12.

  42. Menezes A., Sarkar P., Singh S.: Challenges with assessing the impact of NFS advances on the security of pairing-based cryptography. In: Phan R.C., Yung M. (eds.) Mycrypt Conference, LNCS, vol. 10311, pp. 83–108. Springer, Kuala Lumpur (2016). https://doi.org/10.1007/978-3-319-61273-7_5.

  43. Montgomery P.L.: Five, six, and seven-term Karatsuba-like formulae. IEEE Trans. Comput. 54, 362–369 (2005). https://doi.org/10.1109/TC.2005.49.

    Article  MATH  Google Scholar 

  44. National Institute of Standards and Technology: Recommendation Key Management (part 1: General); SP 800-57 Part 1, fourth revision (2016). https://doi.org/10.6028/NIST.SP.800-57pt1r4.

  45. Pereira G.C., Simplício M.A., Naehrig M., Barreto P.S.: A family of implementation-friendly BN elliptic curves. J. Syst. Softw. 84(8), 1319–1326 (2011). https://doi.org/10.1016/j.jss.2011.03.083.

    Article  Google Scholar 

  46. Sarkar P., Singh S.: A general polynomial selection method and new asymptotic complexities for the tower number field sieve algorithm. In: Cheon J.H., Takagi T. (eds.) ASIACRYPT 2016, Part I. LNCS, vol. 10031, pp. 37–62. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53887-6_2.

  47. Schirokauer O.: The number field sieve for integers of low weight. Math. Comput. 79(269), 583–602 (2010). https://doi.org/10.1090/S0025-5718-09-02198-X.

    Article  MathSciNet  MATH  Google Scholar 

  48. Scott M.: Implementing cryptographic pairings (invited talk). In: Takagi T., Okamoto T., Okamoto E., Okamoto T. (eds.) PAIRING 2007. LNCS, vol. 4575, pp. 177–196. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73489-5.

  49. Semaev I.A.: Special prime numbers and discrete logs in finite prime fields. Math. Comput. 71(737), 363–377 (2002). https://doi.org/10.1090/S0025-5718-00-01308-9.

    Article  MathSciNet  MATH  Google Scholar 

  50. Sutherland A.V.: Accelerating the CM method. LMS J. Comput. Math. 15, 172–204 (2012). https://doi.org/10.1112/S1461157012001015.

    Article  MathSciNet  MATH  Google Scholar 

  51. Tanaka S., Nakamula K.: Constructing pairing-friendly elliptic curves using factorization of cyclotomic polynomials. In: Galbraith S.D., Paterson K.G. (eds.) PAIRING 2008. LNCS, vol. 5209, pp. 136–145. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85538-5_10.

  52. Vercauteren F.: Optimal pairings. IEEE Trans. Inform. Theory 56(1), 455–461 (2010). https://doi.org/10.1109/TIT.2009.2034881.

    Article  MathSciNet  MATH  Google Scholar 

  53. Weber D., Denny T.F.: The solution of McCurley’s discrete log challenge. In: Krawczyk H. (ed.) CRYPTO’98. LNCS, vol. 1462, pp. 458–471. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0055747.

  54. Zhang X., Lin D.: Analysis of optimum pairing products at high security levels. In: Galbraith S.D., Nandi M. (eds.) INDOCRYPT 2012. LNCS, vol. 7668, pp. 412–430. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34931-7_24.

Download references

Acknowledgements

The second author thanks P. Zimmermann for his help with Pari/Gp, and P. Gaudry and T. Kleinjung for their contribution to Table 9.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Simon Masson.

Additional information

Communicated by S. D. Galbraith.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: second part of the final exponentiation for \(k=8\)

As an illustration, we give here pseudo-code that raises a finite field element a to the power \(c=(p+1-t_0)/r\), in the case \(k=8\) and \(i=1\) (code for all cases can be found in the code repository mentioned in Sect. 1.1). Recall that since the first part of the final exponentiation has been done, we know that \(a^{p^4+1}=0\) so that \(a^{-1}=a^{p^4}=\overline{a}\) where the conjugate is taken over the subfield \(\mathbb {F}_{p^4}\). The formula below is specific to \(i=1\), but we let \(T=4U+2V\) which is the most general form (with \(V\in \{0,1\}\)). If we apply this to the parameters in § 6.1, we can do some simplifications using \(V=0\) (in square brackets below).

$$\begin{aligned} \begin{array}{l@{}r} \displaystyle a_y = a^y ;\ a_u = a^u ;\ a_Q = a_y^y a_u^u ;\ b = a_Q \overline{a_u} ;\ &{}(2\mathbf{c} _u+2\mathbf{c} _y+2\mathbf{m} _k)\\ \displaystyle b = b^2 ;\ b = (b^2 a)^U b^V ;\ b = b {a_y} ;\ &{}(\mathbf{c} _T+2\mathbf{m} _k) \\ \displaystyle b = b^2 ;\ [b = b a^V] ;\ b = (b^2)^U b^V ;\ b = b \overline{a_y} ;\ &{}(\mathbf{c} _T+\mathbf{m} _k[+\mathbf{m} _k]) \\ \displaystyle b = b^2 ;\ b = (b^2 a)^U b^V ;\ b = b {a_u} ;\ b = b \overline{a} ;\ &{}(\mathbf{c} _T+3\mathbf{m} _k) \\ \displaystyle b = b^2 ;\ [b = b a^V] ;\ b = (b^2)^U b^V ;\ b = b a_Q ;\ &{}(\mathbf{c} _T+\mathbf{m} _k[+\mathbf{m} _k]) \end{array} \end{aligned}$$

The cost is \(11\mathbf{m} _k + 4\mathbf{c} _T + 2\mathbf{c} _u + 2\mathbf{c} _y\) in general, and \(2\mathbf{m} _k\) less if \(V=0\), using the notations of Sect. 5.2. Here we use \(\mathbf{c} _T\) to represent the cost of any set of operations whose cost is similar to \(b=b^2\) followed by \(b = (b^2)^U b^V\), although scheduling above is sometimes different.

Appendix B: estimating the cost of NFS, NFS-HD and TNFS

We would like to measure with the same methodology as Barbulescu and Duquesne in [7] the cost of computing a discrete logarithm in \(\mathbb {F}_{p_5^5}\), \(\mathbb {F}_{p_6^6}\), \(\mathbb {F}_{p_7^7}\), and \(\mathbb {F}_{p_8^8}\), and compare it with a prime field \(\mathbb {F}_{p_1}\) of 3072 bits. In our setting the primes \(p_1,p_5,p_7\) have no structure so we cannot use the Joux–Pierrot (JP) polynomial selection. We would like to show that the primes \(p_6\) and \(p_8\) have some structure but not enough to provide an advantage to the JP method (see Sect. 3). We compare the NFS, NFS-HD and TNFS variants. We give the best parameters we have found to minimise the running-time of the relation collection and the linear algebra steps, in the sense of [7]. Moreover we make available all the needed SageMath code to run our experiments (see Sect. 1.1)

Contrary to [37], we not only estimate the size of the norms but we generate polynomials for each polynomial selection method available, we find parameters (see Sect. B.2) so that enough relations are obtained, and we compare the estimated cost.

A remark about SpecialNFS and TNFS. We consider that a prime p in our set or primes (\(p_1,p_5,p_6,p_7,p_8\)) is special and provides a notable advantage to the SNFS or STNFS algorithm if it can be written \(p = P(u)\) where \(u \approx p^{1/d}\), and P is a polynomial of degree at least 3 and whose coefficients are much smaller than \(p^{1/d}\).

As a counterexample, for any prime p we can use the base-m polynomial selection method. It chooses \(m = \lfloor p^{1/d}\rceil \), writes p in basis m and outputs the corresponding polynomial P such that \(p=P(m)\). Then \(\Vert P\Vert _\infty = m\), and the coefficients are large.

The vulnerabilities of pairing-friendly curves are the following:

  • a special prime p given by a polynomial of degree \(> 2\) and tiny coefficients, for instance \(p(x) = 36x^4+36x^3+24x^2+6x+1\) for BN curves [26, Ex. 6.8]. In that case, the Joux–Pierrot polynomial selection method (SNFS) allows a better complexity of NFS, in \(L_{p^k}(1/3, 1.923)\) instead of \(L_{p^k}(1/3, 2.201)\).

  • a composite embedding degree k allowing the Kim–Barbulescu variant of TNFS. Note that the original TNFS algorithm where \(\deg h = k\) does apply but usually is not efficient when it is not combined with the Special variant.

  • We note that the effectiveness of STNFS is not very clear. In [7], the authors found that for the KSS curves with \(k=16\), the optimal choice is \(\deg h = k = 16\), which is the original setting of Tower NFS, as in [9]. The key point is the special form of p: the prime is given by a polynomial \(p(s) = (s^{10}+2s^9+5s^8+48s^6+152s^5+240s^4+625s^2+2398s+3125)/980\).

1.1 B.1 Choices of polynomials

Figure 3 shows the polynomials on the NFS setting and in the Tower–NFS setting.

Fig. 3
figure 3

Extensions of number fields for NFS and Tower variants

Polynomialh. In the Tower-NFS setting, the degree of the polynomial h divides the degree k of the extension. For \(k=6\), we can take \(\deg h \in \{2,3,6\}\) for example. We search for all monic polynomials h of chosen degree, coefficients in \(\{0,1,-1\}\) to minimise the norms, and of small Dedekind-zeta value \(\zeta _{K_h}(2)\), so that its inverse \(1/\zeta _{K_h}(2)\) is as close as possible to 1 (in practice, we observed that this value is in the interval ]0.4, 1.0[).

Polynomials\(f_0,f_1\). These two polynomials are selected according to a polynomial selection method: JLSV\(_1\), JLSV\(_2\), Joux–Lercier, Generalised Joux–Lercier, Conjugation, Joux–Pierrot (Special case), Sarkar–Singh (see for example [8, 33, 46]).

1.2 B.2 Methodology for cost estimation

Relation collection cost. To estimate this cost, we need first to discuss how relation collection will be performed. We make the conservative assumption that a sieving method can always be used. While this is of course commonplace for NFS computations, the same does not hold for TNFS, which needs \((2\deg h)\)-dimensional sieving for tuples of the form \((a_0,\ldots , a_{\deg h -1}, b_0, \ldots , b_{\deg h -1})\). As a consequence of this assumption, the relation collection cost can be approximated as the size of the set of tuples. (Alternatively, relation collection can also use smoothness detection algorithms based on remainder trees, which can perform well in practice, see e.g. [39].)

We estimate the size of the set of tuples \((a_0,\ldots , a_{\deg h -1}, b_0, \ldots , b_{\deg h -1})\) processed in the relation collection of the TNFS algorithm to be

$$\begin{aligned} S^0_{\mathrm {TNFS}}(h, A) = (2A+1)^{2\deg h}/2 \end{aligned}$$
(4)

and its core part (duplicates removed) to be

$$\begin{aligned} S^1_{\mathrm {TNFS}}(h, A) = (2A+1)^{2\deg h}/(2w(h) \zeta _{K_h}(2))~. \end{aligned}$$
(5)

We consider that the cost of the relation collection is proportional to the first quantity \(S^0_{\mathrm {TNFS}}(h, A)\), and to simplify, we assume that this is \(S^0_{\mathrm {TNFS}}(h, A)\). We estimate that the number of unique relations obtained is \(S^1_{\mathrm {TNFS}}(h, A)\) times the average smoothness probability. For the NFS-HD algorithm, we estimate the size of the set of tuples \((a_0, \ldots , a_{\dim -1})\) to be

$$\begin{aligned} S^0_{\mathrm {NFS-HD}}(\dim , A) = (2A+1)^{\dim }/2 \end{aligned}$$
(6)

and its core part (duplicates removed) to be

$$\begin{aligned} S^1_{\mathrm {NFS-HD}}(\dim , A) = (2A+1)^{\dim }/(2 \zeta (\dim ))~. \end{aligned}$$
(7)

Again, we consider that the cost of the relation collection is \(S^0_{\mathrm {NFS-HD}}(\dim , A)\), and the number of unique relations obtained is \(S^1_{\mathrm {NFS-HD}}(\dim , A)\) times the average smoothness probability.

In the NFS algorithm, the elements in the relation collection are pairs of integers (ab). We need ab to be coprime: the probability is \(1/\zeta (2) = 6/\pi ^2 \approx 0.60\). For NFS-HD, the probability that a tuple of random integers \((a_0, \ldots , a_{\dim -1})\) has \(\gcd \) 1 is \(1/\zeta (\dim )\). To avoid duplicates, the leading coefficient is chosen positive ((ab) and \((-a,-b)\) give the same relation).

The generalisation to pairs of coprime ideals depends on the number field \(K_h\) defined by h. The probability that two ideals of \(K_h\) are coprime is \(1/\zeta _{K_h}(2)\). In practice we observed that it can vary from 0.44 to 0.99. Then as in [7, §5.2], we consider torsion units of \(K_h\) (it happens if h is a cyclotomic polynomial). Let w be the index of \(\{1,-1\}\) in the group of roots of unity in \(K_h\). If \(\mathfrak {q}\) is a prime ideal in \(K_f\), then \(u \mathfrak {q}\) is also a prime ideal giving the same relation, where u is any root of unity of \(K_h\). We can detect and avoid the case \(u = -1\) but (up to now) there does not exist a way to avoid the other roots of unity. The number of tuples that will contribute to distinct relations is divided by 2w.

The non-torsion units do not contribute to duplicates: their coefficients being quite large, the coefficients of the ideal \(u_1 \mathfrak {q}\) overpass the bound A and are not considered in the relation collection.

Average smoothness probability. To compute an average smoothness probability, we took at random \(10^6\) coprime tuples a of coefficients in \([-A,A]\) and positive leading coefficient (this requires about \(\zeta (\dim )\cdot 10^6\) random tuples), resp. \(10^6\) pairs of coprime ideals of \(K_h\) (this requires about \(\zeta _{K_h}(2)\cdot 10^6\) random tuples). Then we compute the resultants \(N_f, N_g\) on both sides (f and g) and we compute the smoothness probability of that tuple as

$$\begin{aligned} \Pr (a) = \Pr (N_f \text{ is } B\text{-smooth }) \times \Pr (N_g \text{ is } B\text{-smooth })~. \end{aligned}$$
(8)

We compute the average smoothness probability as the average over all the random unique tuples, that is \(10^{-6}\sum _{\mathrm {random}~ a,~ \mathrm {coprime}}\Pr (a)\).

We estimate the smoothness probability on one side with the formula

$$\begin{aligned} \Pr (N \text{ is } B\text{-smooth }) \approx \delta (u) + (1-\gamma ) \frac{\delta (u-1)}{\log N}, \text{ where } u = \frac{\log N + \alpha }{\log B } \end{aligned}$$
(9)

where \(\gamma \approx 0.577\) is Euler’s constant, and \(\delta \) is the Dickman rho function.Footnote 4

Table 9 Data from recent record computations

Linear algebra cost (filtering, block-Wiedemann). We assume that the input of this step is a set of unique relations. Usually, a certain amount of excess is required: there are up to twice more relations than prime ideals involved in the relations (at this point, the matrix would be a vertical rectangle of twice more rows than columns). Before the linear algebra, the relations are processed to produce a dense matrix of good quality, in order to ease the linear algebra step. The filtering step removes the singletons (the prime ideals corresponding to columns that appear only in one relation). Doing this produces new singletons, so this step is done several times (two to ten times for example). Then a “clique removal” is performed, that also reduces part of the excess. Finally, a merge step increases the density of the matrix to some target density, reaching 125 to 200 non-zero entries per row in the recent record computations. The yield of the filtering step varies a lot in the literature: it reduced the size of the set of relations by a factor 9 for the SNFS-1024 DLP record [27], and by a factor 386 for the NFS-768 DLP record [39]

$$\begin{aligned} c_{\mathrm {filtering}, \min } = 9,~~ c_{\mathrm {filtering}, \max } = 386~. \end{aligned}$$

We summarise in Table 9 the parameters of the filtering step for the recent record-breaking integer factorisations and discrete logarithm computationsFootnote 5\(^,\)Footnote 6. When we were not able to collect the data we put a question mark. Contrary to [7], we propose a different interpretation of the filtering step yield: in our point of view, it is highly software-dependent and cryptanalyst-dependent. Indeed, the low values correspond to records by the cado-nfs team, while the high values correspond to Kleinjung et al. record computations (the software being not available in the latter case). At first glance, it seems to be due to software performance differences. To refine this impression, we decided to compare the two integer factorisation records of \(2^{1039}-1\) and \(2^{1061}-1\) by the SNFS algorithm: for \(2^{1039}-1\), Kleinjung et al. have chosen a large prime bound of \(2^{36}\) to \(2^{38}\), while Childers has chosen the lower value \(2^{33}\) for the larger integer \(2^{1061}-1\) (Table 9). We can also compare the RSA-220 and RSA-768 record factorisations (220 and 232 decimal digits resp.) and obtain the same conclusion.

In fact, a strategy of oversieving was deployed for the DLP-768 record computation. The large prime bound was increased to \(2^{36}\), while a bound of \(2^{31}\) could have been enough (but it would have required a much higher effort in the linear algebra step). The ratio of ratios is \(386.34/8.84 = 43.7\) and part of it is explained by the factor \(2^5=32\) in the large prime bound choice. The larger set of relations to feed the filtering step allowed to obtain a matrix of better quality, reducing the linear algebra step. The density of rows seems more under control: from 134 to 200. We choose an upper bound: we assume that the density of a row is

$$\begin{aligned} \text{ Weight } \text{ per } \text{ row } = 200~. \end{aligned}$$

We estimate the time of the matrix-vector multiplications in the block-Wiedemann algorithm of the linear algebra step to be

$$\begin{aligned} (\text{ number } \text{ of } \text{ rows })^2 \times \texttt {w} \times (\text{ weight } \text{ per } \text{ row }) \end{aligned}$$
(10)

where w is the word-size of subgroup order (in our case, \(\log _2 r= 256\) bits and \(\texttt {w}=4\) words of 64 bits).

Appendix C: comparison of (S)TNFS cost for curves with \(k=6,8\)

In this section we explain how we obtained Figs. 1 and 2.

We estimate the cost of STNFS for three families of curves of respective embedding degree \(k=6\) and \(k=8\). To put a long story short, the important parameters in STNFS are the three polynomials \(f_0,f_1,h\). The polynomial h is chosen to define the first extension, its degree is a divisor of k. With \(k=6\), we have \(\deg h \in \{2,3,6\}\) and with \(k=8\), then \(\deg h \in \{2,4,8\}\); moreover h is chosen with tiny coefficients, so that \(\Vert h\Vert _\infty = 1\) or 2. The two other polynomials \(f_0\) and \(f_1\) are chosen such that \(p^{k/\deg h} \mid {{\,\mathrm{Res}\,}}(f_0,f_1)\). One uses the Joux-Pierrot polynomial selection method to select them.

The relation collection step enumerates bivariate polynomials

$$\begin{aligned} a=(a_0+a_1y+...+a_7y^7)+(b_0+b_1y+...+b_7y^7)x: |a_i|, |b_i| \le A \end{aligned}$$

computes the integers \(N_{f_0} = | {{\,\mathrm{Res}\,}}({{\,\mathrm{Res}\,}}(\mathbf {a}, f_0),h)|, \quad N_{f_1} = | {{\,\mathrm{Res}\,}}({{\,\mathrm{Res}\,}}(\mathbf {a}, f_1),h)|\) and factors these integers. The B-smooth integers produce a relation, where B is the smoothness bound. The aim of setting the STNFS parameters is to find the optimal A and B associated to a triple of polynomials \((f_0,f_1,h)\). Without an implementation of STNFS, we can only simulate the parameters of the algorithm and estimate A and B. The quantity to minimize for a faster running-time of STNFS is

$$\begin{aligned} A^{(\deg h)(\deg f_0 + \deg f_1)} \Vert f_0\Vert _{\infty }^{\deg h} \Vert f_1\Vert _\infty ^{\deg h} \end{aligned}$$
(11)

under the constraint of collecting enough relations.

The BLS-6 curves have \(\deg p = 4\), while MNT-6 curves have \(\deg p = 2\). For a same bitlength of p, the seed u is two times larger for MNT-6 curves. The TN-8 curves have \(\deg p = 6\), while FK-8 curves (with \(D=4\)) have \(\deg p = 8\). For polynomial selection in NFS, it implies that for the same bit length of p, the seed u will be 33% smaller for the second curves. Since u appears in the coefficients of the low degree polynomial \(f_1\) in the Special setting, this second polynomial will produce smaller norms. On the contrary, the high degree polynomial \(f_0\) will have a higher degree for the second curves and will produce larger norms. So the yield of Special-TNFS polynomials will be different for these two families. For our modified Cocks–Pinch, we have chosen to increase the coefficients of the polynomial p(x) (that is, increasing \(h_t\) and \(h_y\)) in order to increase \(\Vert f_0\Vert _\infty ^{\deg h}\) in Eq. (11).

1.1 C.1 Comparison of curves with \(k=6\)

We compare MNT6 and BLS6 curves [26, Theorem 5.2, Construction 6.6] to Cocks–Pinch \(k=6\) curves (CP-6). The parameters are given in Tables 10 and 11. The polynomials for simulating the Tower-NFS are given in Table 12. The graph of results is given in Fig. 1.

Table 10 Parameters of families with \(k=6\)
Table 11 Parameter sizes for curves with \(k=6\) to obtain 128 bits of security
Table 12 Polynomial pairs for (S)TNFS in \(\mathbb {F}_{p^6}\)
Table 13 STNFS and TNFS parameters for curves with \(k=6\)
Table 14 Parameters of families with \(k=8\) and \(D=4\)
Table 15 Parameter sizes for curves with \(k=8\) to obtain 128 bits of security
Table 16 Polynomial pairs for (S)TNFS
Table 17 STNFS and TNFS parameters for curves with \(k=8\) and \(D=4\)

1.2 C.2 Comparison of curves with \(k=8\)

We compare Tanaka–Nakamula (TN-8) curves [51], Fotiadis–Konstantinou (FK-8, \(D=4\)) curves [24, Table 3 row 4] and our Cocks–Pinch \(k=8\) curves (CP-8). The parameters are given in Tables 13 and 14. The polynomials for simulating the Tower-NFS are given in Table 15 and 16. The experimental data is summarized in Tables 17. The graph of results is given in Fig. 2. We conclude that to target a 128-bit security level (with some margin error), one needs a TN-8 curve with p of 576 bits, or an FK-8 curve with \(D=4\) and p of 664 bits, or a Cocks–Pinch \(k=8\) curve with p of 544 bits. For each curve, the Miller loop length is the bit length of the seed u. This is (roughly) 96 bits for TN-8 curves, 84 bits for FK-8 curves, and 64 bits for our Cocks–Pinch curves. It means our Cocks–Pinch \(k=8\) curves have a shorter Miller loop over a smaller prime field: it will be much faster. For the hard part of the final exponentiation, the advantage of Cocks–Pinch curves is less straightforward concerning its length, but the extension field is smaller anyway: \(p^k\) has length 4352 bits for Cocks–Pinch curves, 4608 for TN curves and 5312 bits for FK curves.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Guillevic, A., Masson, S. & Thomé, E. Cocks–Pinch curves of embedding degrees five to eight and optimal ate pairing computation. Des. Codes Cryptogr. 88, 1047–1081 (2020). https://doi.org/10.1007/s10623-020-00727-w

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10623-020-00727-w

Keywords

Mathematics Subject Classification

Navigation