Skip to main content
Log in

Individual discrete logarithm with sublattice reduction

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

Abstract

The Number Field Sieve and its numerous variants is the best algorithm to compute discrete logarithms in medium and large characteristic finite fields. When the extension degree n is composite and the characteristic p is of medium size, the Tower variant (TNFS) is asymptotically the most efficient one. Our work deals with the last main step, namely the individual logarithm step, that computes a smooth decomposition of a given target T in the finite field thanks to two distinct phases: an initial splitting step, and a descent tree. In this article, we improve on the current state-of-the-art Guillevic’s algorithm dedicated to the initial splitting step for composite n. While still exploiting the proper subfields of the target finite field, we modify the lattice reduction subroutine that creates a lift in a number field of the target T. Our algorithm returns lifted elements with lower degrees and coefficients, resulting in lower norms in the number field. The lifted elements are not only much likely to be smooth because they have smaller norms, but it permits to set a smaller smoothness bound for the descent tree. Asymptotically, our algorithm is faster and works for a larger area of finite fields than Guillevic’s algorithm, being now relevant even when the medium characteristic p is such that \(L_{p^n}(1/3) \le p< L_{p^n}(1/2)\). In practice, we conduct experiments on 500-bit to 2048-bit composite finite fields: Our method becomes more efficient as the largest non trivial divisor of n grows, being thus particularly adapted to even extension degrees.

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
Algorithm 1
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Data Availability

The datasets generated during the study are available in the ”Smoothing step in NFS for composite extension degree finite fields” git lab repository, [1].

Notes

  1. We use \(L_Q(\alpha )\) instead of \(L_Q(\alpha , c)\) when the value of c is not important.

  2. In medium characteristics, NFS has a complexity of \(L_{p^n}(1/3, (96/9)^{1/3})\).

  3. This is the asymptotic complexity for the initial splitting step of NFS, given by Waterloo algorithm.

  4. The counter part of this enumeration algorithm is its exponential space complexity.

  5. Waterloo algorithm is designed for smoothing in small characteristic finite fields but is usable in this area too.

  6. This is the value chosen in the 521-bit TNFS record on \({\mathbb F}_{p^6}\) [13]

References

  1. Al Aswad, H., Pierrot, C.: Smoothness step in NFS for composite extenion finite fields. https://gitlab.inria.fr/halaswad/smoothing-step-in-nfs-for-composite-extension-degree-finite-fields. GitLab (2022).

  2. Boneh, D., Franklin, M.K.: Identity-based encryption from the Weil pairing. In: Kilian J. (ed.) CRYPTO 2001, vol. 2139, pp. 213–229. LNCS. Springer, Heidelberg (2001).

  3. Blake I., Fuji-Hara R., Mullin R., Vanstone S.: Computing logarithms in finite fields of characteristic two. Siam J. Algebraic Discret. Methods 6, 5 (1984).

    MathSciNet  MATH  Google Scholar 

  4. Boudot, F., Gaudry, P., Guillevic, A., Heninger, N., Thomé, E., Zimmermann, P.: Comparing the difficulty of factorization and discrete logarithm: a 240-digit experiment. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2020, pp. 62–91. Part II, LNCS. Springer, Heidelberg (2020).

  5. Barbulescu, R., Gaudry, P., Guillevic, A., Morain, F.: DL record computation in \(\mathbb{F}_{p^4}\) of \(392\) bits. http://www.lix.polytechnique.fr/~guillevic/docs/guillevic-catrel15-talk.pdf (2015).

  6. 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, pp. 129–155. Part I, volume 9056 of LNCS. Springer, Heidelberg (2015).

  7. Barbulescu, R., Gaudry, P., Joux, A., Thomé, E.: A heuristic quasi-polynomial algorithm for discrete logarithm in finite fields of small characteristic. In: Nguyen, P.Q., Oswald, E. (eds.) EUROCRYPT 2014, vol. 8441, pp. 1–16. LNCS. Springer, Heidelberg (2014).

  8. Barbulescu, R.G., Pierrick, K.T.: The tower number field sieve. In: Tetsu, I., Jung, H.C. (eds.), ASIACRYPT 2015, Part II, volume 9453 of LNCS, pp. 31–55. Springer, Heidelberg (2015).

  9. Boneh, D., Lynn, B., Shacham, H.: Short signatures from the Weil pairing. In: Boyd, C. (ed.) ASIACRYPT 2001, vol. 2248, pp. 514–532. LNCS. Springer, Heidelberg (2001).

  10. Blake, I.F., Mullin, R.C., Vanstone, S.A.: Computing logarithms in \(\text{GF}(2^n)\). In: Blakley, G.R., David C. (eds.) CRYPTO’84, volume 196 of LNCS, pp. 73–82. Springer, Heidelberg (1984).

  11. Barbulescu Razvan, Pierrot Cécile.: The multiple number field sieve for medium and high characteristic finite fields. LMS J. Comput. Math. 17, 230–246 (2014).

    Article  MathSciNet  MATH  Google Scholar 

  12. Canfield E.R., Erdös P., Pomerance C.: On a problem of Oppenheim concerning “factorisatio numerorum’’. J. Number Theory 17(1), 1–28 (1983).

    Article  MathSciNet  MATH  Google Scholar 

  13. De Micheli, G., Gaudry, P., Pierrot, C.: Lattice enumeration for tower NFS: A 521-bit discrete logarithm computation. In Mehdi, T., Huaxiong, W. (ed.) Advances in Cryptology-ASIACRYPT 2021-27th International Conference on the Theory and Application of Cryptology and Information Security, Singapore, December 6–10, 2021, Proceedings, Part I, volume 13090 ofLecture Notes in Computer Science, pp. 67–96. Springer (2021).

  14. Fincke U., Pohst M.E.: Improved methods for calculating vectors of short length in a lattice. Math. Comput. 8, 463–471 (1985).

    Article  MATH  Google Scholar 

  15. Granger, R., Kleinjung, T., Zumbrägel J.: Breaking ‘128-bit secure’ supersingular binary curves - (or how to solve discrete logarithms in \(\mathbb{F} _{2^{4 \cdot 1223}}\) and \(\mathbb{F} _{2^{12 \cdot 367}}\)). In: Garay, J.A., Gennaro, R, (eds.) CRYPTO 2014, pp. 126–145. Part II, volume 8617 of LNCS. Springer, Heidelberg (2014).

  16. Grémy, L.: Computations of discrete logarithms sorted by date. https://dldb.loria.fr/.

  17. Guillevic Aurore, Singh Shashank: On the alpha value of polynomials in the tower number field sieve algorithm. Math. Cryptol. 1(1), 39 (2021).

    Google Scholar 

  18. Guillevic, A.: Computing individual discrete logarithms faster in \(\text{ GF }(p^n)\) with the NFS-DL algorithm. In: Tetsu, I., Jung H.C. (eds.) ASIACRYPT 2015, Part I, volume 9452 of LNCS, pp 149–173. Springer, Heidelberg (2015).

  19. Guillevic Aurore: Faster individual discrete logarithms in finite fields of composite extension degree. Math. Comput. 88(317), 1273–1301 (2019).

    Article  MathSciNet  MATH  Google Scholar 

  20. Hanrot, G., Pujol X., Stehlé D.: Analyzing blockwise lattice algorithms using dynamical systems. In: Rogaway, P. (ed.) CRYPTO 2011, vol. 6841, pp. 447–464. LNCS. Springer, Heidelberg (2011).

  21. Joux, A., Lercier, R., Smart, N., Vercauteren, F.: The number field sieve in the medium prime case. In: Dwork, C. (ed.) CRYPTO 2006, vol. 4117, pp. 326–344. LNCS. Springer, Heidelberg (2006).

  22. Joux Antoine: A one round protocol for tripartite Diffie–Hellman. J. Cryptol. 17(4), 263–276 (2004).

    Article  MathSciNet  MATH  Google Scholar 

  23. 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, vol. 8365, pp. 45–61. LNCS. Springer, Heidelberg (2014).

  24. Kannan Ravi: Minkowski’s convex body theorem and integer programming. Math. Oper. Res. 12(3), 415–440 (1987).

    Article  MathSciNet  MATH  Google Scholar 

  25. 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, pp. 543–571. Part I, volume 9814 of LNCS. Springer, Heidelberg (2016).

  26. Kim, T., Jeong, J.: Extended tower number field sieve with application to finite fields of arbitrary composite extension degree. In: Fehr, S. (ed.) PKC 2017, pp. 388–408. Part I, volume 10174 of LNCS. Springer, Heidelberg (2017).

  27. Thorsten, K., Benjamin, W.: Discrete logarithms in quasi-polynomial time in finite fields of fixed characteristic. Cryptology ePrint Archive, Report 2019/751. https://eprint.iacr.org/2019/751 (2019).

  28. Lenstra A.K., Lenstra H.W., Lovasz L.: Factoring polynomials with rational coefficients. Math. Ann. 261, 515–534 (1982).

    Article  MathSciNet  MATH  Google Scholar 

  29. Miller Victor: The weil pairing, and its efficient calculation. J. Cryptol. 17, 235–261 (2004).

    Article  MathSciNet  MATH  Google Scholar 

  30. Mukhopadhyay M., Sarkar P.: Faster initial splitting for small characteristic composite extension degree fields. Finite Fields Their Appl. 62, 101629 (2020).

    Article  MathSciNet  MATH  Google Scholar 

  31. Mukhopadhyay M., Sarkar P., Singh S., Thomé E.: New discrete logarithm computation for the medium prime case using the function field sieve. Adv. Math. Commun. 16(3), 449–464 (2022).

    Article  MathSciNet  MATH  Google Scholar 

  32. Micciancio, D., Voulgaris, P..: A deterministic single exponential time algorithm for most lattice problems based on voronoi cell computations. In: Schulman, L.J. (ed.), 42nd ACM STOC, pp. 351–358. ACM Press (2010).

  33. Micciancio, D., Walter, M.: Fast lattice point enumeration with minimal overhead. In: P. Indyk (ed.), 26th SODA, pp. 276–294. ACM-SIAM (2015).

  34. Micciancio, D.,, Walter, M.,: Practical, predictable lattice basis reduction. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016, pp. 820–849. Part I, volume 9665 of LNCS. Springer, Heidelberg (2016).

  35. Pierrot, C.: The multiple number field sieve with conjugation and generalized Joux–Lercier methods. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015, pp. 156–170. Part I, volume 9056 of LNCS. Springer, Heidelberg (2015).

  36. Schirokauer O.: Using number fields to compute logarithms in finite fields. Math. Comput. 69, 1267–1283 (2000).

    Article  MathSciNet  MATH  Google Scholar 

  37. Claus-Peter S., Euchner M.: Lattice basis reduction: improved practical algorithms and solving subset sum problems. Math. Program. 66, 181–199 (1994).

    Article  MathSciNet  MATH  Google Scholar 

  38. Sarkar, P., Singh, S.: A general polynomial selection method and new asymptotic complexities for the tower number field sieve algorithm. In: Jung H.C., Tsuyoshi T. (eds.), ASIACRYPT 2016, Part I, volume 10031 of LNCS, pp. 37–62. Springer, Heidelberg (2016).

  39. Sarkar, P., Singh, S.: A unified polynomial selection method for the (tower) number field sieve algorithm (2019).

  40. Trusted platform module. https://trustedcomputinggroup.org/resource/tpm-library-specification/. Latest Version (2019).

  41. Wiedemann D.H.: Solving sparse linear equations over finite fields. IEEE Trans. Inform. Theory 32(1), 54–62 (1986).

    Article  MathSciNet  MATH  Google Scholar 

Download references

Funding

Haetham Al Aswad is funded by French Ministry of Army-AID Agence de l’Innovation de Défense. Cécile Pierrot did not receive support from any organization for the submitted work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Haetham Al Aswad.

Ethics declarations

Conflictof interest

The authors declare they have no financial interests.

Additional information

Communicated by O. Ahmadi.

Publisher's Note

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

Funded by French Ministry of Army-AID Agence de l’Innovation de Défense.

Appendices

Appendix A: Example

We give a concrete example to better understand Algorithm 1 and to see how decreasing the degree while allowing larger coefficients can result is smaller norms. Take the finite field \({\mathbb F}_{p^{28}}\) of size 476 bits where \(p = 131101\).

Construction of finite field and number fields: After running JLSV\(_1\) polynomial selection to find 100 pairs of suitable polynomials. We choose the pair with the highest score for a notion of score based on the alpha value [17] and the coefficient sizes. The code to select the pair of polynomials can be found at [1].

\(f_1(X) = X^{28} + 349X^{27} + 348X^{26} + 1040X^{25} + 349X^{24} + 348X^{23} + 1040X^{22} + 1040X^{21} + 695X^{20} + 1041X^{19} + 695X^{18} + 347X^{17} + 349X^{16} + 347X^{15} + 348X^{14} + 694X^{13} + 1039X^{12} + 348X^{11} + 347X^{10} + 348X^9 + 1039X^8 + 347X^7 + 695X^6 + 1041X^5 + 349X^4 + 1039X^3 + 347X^2 + 1041X + 349\).

\(f_2(X) = -379X^{28} - 1170X^{27} - 791X^{26} - 857X^{25} - 1170X^{24} - 791X^{23} - 857X^{22} - 857X^{21} - 1203X^{20} - 1236X^{19} - 1203X^{18} - 412X^{17} - 1170X^{16} - 412X^{15} - 791X^{14} - 824X^{13} - 478X^{12} - 791X^{11} - 412X^{10} - 791X^9 - 478X^8 - 412X^7 - 1203X^6 - 1236X^5 - 1170X^4 - 478X^3 - 412X^2 - 1236X - 1170\).

Moreover, \(f_1\) is also irreducible in \({\mathbb F}_p[X]\), thus \({\mathbb F}_{p^{28}}\) is represented as:

$$\begin{aligned} {\mathbb F}_p[X]/(f_1) := {\mathbb F}_p(\alpha ). \end{aligned}$$

Since \(f_1\) has smaller coefficients than \(f_2\), it is natural to perform the smoothing step in \(\mathcal {K}= {\mathbb Q}[X]/(f_1) := {\mathbb Q}(x)\). Denote by \(\mathcal {N}\) the norm defined in \(\mathcal {K}\) and for any element Y in \({\mathbb F}_p(\alpha )\), \(\bar{Y}\) denotes its natural preimage in \(\mathcal {K}\).

Generator selection: Finding a generator of \({\mathbb F}_{p^n}^*\) requires factoring \(p^n -1\) which is out of reach. Instead one chooses a random element \(g \in {\mathbb F}_{p^n}^*\) and tests if \(g^{(p^n - 1)/m} \not = 1\) for all m running over small divisors of \(p^n - 1\) (say all divisors smaller than \(10^9\)). Such an element has a very high probability of being a generator of \({\mathbb F}_{p^n}^*\), and is called a pseudo generator. Running our code that is available at [1], we find the following pseudo generator of \({\mathbb F}_{p^{28}}^*\): \(g = 44501\alpha ^{27} + 17288\alpha ^{26} + 79714\alpha ^{25} + 15355\alpha ^{24} + 100146\alpha ^{23} + 87012\alpha ^{22} + 18126\alpha ^{21} + 125995\alpha ^{20} + 12941\alpha ^{19} + 86746\alpha ^{18} + 22260\alpha ^{17} + 8816\alpha ^{16} + 41799\alpha ^{15} + 19116\alpha ^{14} + 45121\alpha ^{13} + 116926\alpha ^{12} + 11767\alpha ^{11} + 64435\alpha ^{10} + 16296\alpha ^9 + 33812\alpha ^8 + 96819\alpha ^7 + 40474\alpha ^6 + 105343\alpha ^5 + 71563\alpha ^4 + 48599\alpha ^3 + 102954\alpha ^2 + 36712\alpha + 3594\).

Target selection: We choose a target constructed from the decimal digits of \(\pi \).

\(T = 1415926\alpha ^{27} + 5358979\alpha ^{26} + 3238462\alpha ^{25} + 6433832\alpha ^{24} + 7950288\alpha ^{23} + 4197169\alpha ^{22} + 3993751\alpha ^{21} + 582097\alpha ^{20} + 4944592\alpha ^{19} + 3078164\alpha ^{18} + 628620\alpha ^{17} + 8998628\alpha ^{16} + 348253\alpha ^{15} + 4211706\alpha ^{14} + 7982148\alpha ^{13} + 865132\alpha ^{12} + 8230664\alpha ^{11} + 7093844\alpha ^{10} + 6095505\alpha ^9 + 8223172\alpha ^8 + 5359408\alpha ^7 + 1284811\alpha ^6 + 1745028\alpha ^5 + 4102701\alpha ^4 + 9385211\alpha ^3 + 555964\alpha ^2 + 4622948\alpha + 9549303\).

After reducing each coefficient modulo p, the target T becomes: \(T = 104916\alpha ^{27} + 114939\alpha ^{26} + 92038\alpha ^{25} + 9883\alpha ^{24} + 84228\alpha ^{23} + 1937\alpha ^{22} + 60721\alpha ^{21} + 57693\alpha ^{20} + 93855\alpha ^{19} + 62841\alpha ^{18} + 104216\alpha ^{17} + 83760\alpha ^{16} + 86051\alpha ^{15} + 16474\alpha ^{14} + 116088\alpha ^{13} + 78526\alpha ^{12} + 102402\alpha ^{11} + 14390\alpha ^{10} + 64859\alpha ^9 + 94910\alpha ^8 + 115368\alpha ^7 + 104902\alpha ^6 + 40715\alpha ^5 + 38570\alpha ^4 + 77040\alpha ^3 + 31560\alpha ^2 + 34413\alpha + 110031\).

Outputs: To run our code [1], one starts by creating an instance from smoothness.sage: diag = Smoothness(p, n, f1, f1, g), and then one calls the method smoothness_lattice_n: \(R_1\), \(R_2\), \(s_{best}\) = diag.smoothness_lattice_n(T). We get \(\overline{R_1}\) the output of the algorithm of [19] (i.e: Algorithm 1 with \(s=0\)) and \(\overline{R_2}\) the output of Algorithm 1 for the best choice of s, that is \(s_{practical}\). We recall that \(s_{practical}\) is the number of columns erased from the lattice that results in the output of the smallest element, that is \(\overline{R_2}\). We get:

\(\overline{R_1} = -13x^{27} - 51x^{26} - 10x^{25} + 100x^{24} + 219x^{23} + 80x^{22} + 98x^{21} + 54x^{20} - 5x^{19} + 113x^{18} - 195x^{17} + 92x^{16} - 46x^{15} - 99x^{14} + 9x^{13} + 77x^{12} - 173x^{11} + 77x^{10} + 57x^9 + 213x^8 - 82x^7 - 107x^6 - 76x^5 - 58x^4 - 8x^3 + 34x^2 - 64x - 28\).

\(\overline{R_2} = 175x^{23} - 87x^{22} - 10x^{21} + 305x^{20} + 233x^{19} - 37x^{18} - 151x^{17} - 123x^{16} - 30x^{15} + 105x^{14} + 145x^{13} - 214x^{12} + 143x^{11} + 432x^{10} + 63x^9 - 222x^8 - 17x^7 - 303x^6 - 309x^5 - 239x^4 + 25x^3 - 373x^2 - 330x - 174\), where \(s_{practical} = 4\).

Norms of the target and the outputs: The norm of the target is \(\mathcal {N}\left( \bar{T} \right) \approx 2^{769}\), the norm of \(\overline{R_1}\) is \(\mathcal {N}\left( \overline{R_1} \right) \approx 2^{507}\), and the norm of \(R_2\) is \(\mathcal {N}\left( \overline{R_2} \right) \approx 2^{492}\). Our algorithm outputs here an element of norm 15 bits smaller than the one output by [19]. We emphasize that \(\overline{R_1}\) is of degree maximal 27 whereas \(\overline{R_2}\) is of degree \(27-4 = 23\) and has slightly larger coefficients.

Probability of smoothness: Fix a smoothness bound \(B = 2^{35}\). Then using the dickman_rho function implemented is sage, the probability of \(\mathcal {N}\left( \overline{R_1}\right) \) being B-smooth is about \(6.45 \times 10^{-19}\) and the probability of \(\mathcal {N}\left( \overline{R_2}\right) \) being B-smooth is about \(3.77 \times 10^{-18}\). Our output is 5.8 more likely to be smooth.

Larger example: As shown in Sect. 6, our algorithm performs the best as the degree extension n grows. For instance let us look at the 2050-bits finite field \({\mathbb F}_{p^n} = {\mathbb F}_{2199023255579^{50}}\). All the parameters for this setting, such as the polynomials selected and the generator, can be found in the GitLab repository [1]. Similarly as above, applying Algorithm 1 leads to the following:

  1. 1.

    The norm of the target chosen with the decimals of \(\pi \) is \(\mathcal {N}\left( \overline{T}\right) \approx 2^{3152}\)

  2. 2.

    The norm of the output \(\overline{R_1}\) of [19]’s algorithm is \(\mathcal {N}\left( \overline{R_1} \right) \approx 2^{2138}\)

  3. 3.

    The norm of the output \(\overline{R_2}\) of Algorithm 1 with the best s is \(\mathcal {N}\left( \overline{R_2} \right) \approx 2^{2121}\), where the best s is \(s_{practical} = 4\).

In this example our output is \(2^{17}\) times smaller. If the smoothness bound is set to \(B=2^{70}\), then our output is about 3.5 times more likely to be B-smooth. Since the smoothness probability is higher, one can set a lower smoothness bound in order to get a smaller descent tree.

Appendix B: Data

The next two tables present the results of our experiments: n is the extension degree, d is the largest divisor of n, p in bits is the number of bits of the characteristic p, Bitsize of the field is the size of the finite field \({\mathbb F}_{p^n}\) in bits, Input norms in bits is the mean in bits of the norms in the number field of the 1000 targets, Output norms with [Guil19] in bits is the mean in bits of the norms output by [Guil19], Our norms in bits is the mean in bits of the norms output by Algorithm 1, \(s_{practical}\) is the mean of the best choice of s in Algorithm 1 in practice rounded to one decimal place, and \(s_{theoretical}\) is the optimal s given from the asymptotic formula rounded to the integer below. Each given norm in a given finite field is a mean of the norms of 1000 elements. The data is sorted in respect to n the extension degree. Moreover, the polynomials selected for the experiments, the pseudo generators of the multiplicative group in each finite field, and the implementation that produced this data are available at [1].

Table 3 Experiments are run on 460 to 500-bit finite fields
Table 4 Experiments are run on 2050 to 2080-bit finite fields

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Al Aswad, H., Pierrot, C. Individual discrete logarithm with sublattice reduction. Des. Codes Cryptogr. 91, 4059–4091 (2023). https://doi.org/10.1007/s10623-023-01282-w

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10623-023-01282-w

Keywords

Mathematics Subject Classification

Navigation