Efficient Polynomial Multiplication via Modified Discrete Galois Transform and Negacyclic Convolution

  • Ahmad Al Badawi
  • Bharadwaj Veeravalli
  • Khin Mi Mi Aung
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 886)


Univariate polynomial multiplication in \(\mathbb {Z}_q[x]/\langle x^n+1 \rangle \) has brought great attention recently. Thanks to new construction of cryptographic solutions based on lattice and ring-learning with errors problems. A number of software libraries, such as NTL and FLINT, implements fast multiplication algorithms to perform this operation efficiently. The basic notion behind fast polynomial multiplication algorithms is based on the relation between multiplication and convolution which can be computed efficiently via fast Fourier transform (FFT) algorithms. Hence, efficient FFT is crucial to improve fast multiplication performance. An interesting algorithm that cuts FFT length in half is based on the discrete Gaussian transform (DGT). DGT was first proposed to work only with primes that support Gaussian integers arithmetic known as Gaussian primes. We modify this algorithm to work with not necessarily Gaussian primes and show how its parameters can be found efficiently. We introduce an array of optimization techniques to enhance the performance on commodity 64-bit machines. The proposed algorithm is implemented in C++ and compared with mature and highly optimized number theory libraries, namely, NTL and FLINT. The experiments show that our algorithm performs faster than both libraries and achieves speedup factors ranging from 1.01x–1.2x and 1.18x–1.55x compared to NTL and FLINT, respectively.


Polynomial multiplication Discrete Galois transform Discrete Fourier transform Negacyclic convolution Negative wrapped convolution 



This work was supported by Data Storage Institute, A*STAR and the National University of Singapore. The authors would like to thank the stackexchange users: Ofir and D_S on math and J.M. \(\Diamond \) on Mathematica.


  1. 1.
    Blahut, R.E.: Algebraic codes for data transmission. Cambridge University Press, New York (2003)Google Scholar
  2. 2.
    Daemen, J., Rijmen, V.: The Design of Rijndael: AES-The Advanced Encryption Standard. Springer Science & Business Media (2013)Google Scholar
  3. 3.
    Lyubashevsky, V., Peikert, C., Regev, O.: On ideal lattices and learning with errors over rings. Cryptology ePrint Archive, Report 2012/230 (2012)Google Scholar
  4. 4.
    Hernández, M.: Chebyshev’s approximation algorithms and applications. Comput. Math. Appl. 41(3–4), 433–445 (2001)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Ailon, N.: A lower bound for Fourier transform computation in a linear model over 2x2 unitary gates using matrix entropy. arXiv preprint, arXiv:1305.4745 (2013)
  6. 6.
    Lyubashevsky, V., Peikert, C., Regev, O.: On ideal lattices and learning with errors over rings. J. ACM (JACM) 60(6), 43 (2013)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Lyubashevsky, P., Regev, O.: A toolkit for ring-LWE cryptography. In: EUROCRYPT, vol. 7881, pp. 35–54. Springer (2013)Google Scholar
  8. 8.
    Lyubashevsky, V., Micciancio, D., Peikert, C., Rosen, A.: Swifft: a modest proposal for FFT hashing. In: International Workshop on Fast Software Encryption, pp. 54–72. Springer (2008)Google Scholar
  9. 9.
    Brakerski, Z., Gentry, C., Vaikuntanathan, V.: (Leveled) fully homomorphic encryption without bootstrapping. In: Proceedings of the 3rd Innovations in Theoretical Computer Science Conference, pp. 309–325. ACM (2012)Google Scholar
  10. 10.
    Bos, J.W., Lauter, K., Loftus, J., Naehrig, M.: Improved security for a ring-based fully homomorphic encryption scheme. In: IMA International Conference on Cryptography and Coding, pp. 45–64. Springer (2013)Google Scholar
  11. 11.
    Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. IACR Cryptology ePrint Archive 2012, 144 (2012)Google Scholar
  12. 12.
    Shoup, V., et al.: NTL: a library for doing number theory (2001)Google Scholar
  13. 13.
    Hart, W.B.: Flint: fast library for number theory. Computeralgebra Rundbrief (2013)Google Scholar
  14. 14.
    Karabutsa, A., Ofman, Y.: Multiplication of many-digital numbers by automatic computers. DOKLADY AKADEMII NAUK SSSR, vol. 145, no. 2, p. 293 (1962)Google Scholar
  15. 15.
    Toom, A.L.: The complexity of a scheme of functional elements realizing the multiplication of integers. Soviet Mathematics Doklady 3(4), 714–716 (1963)zbMATHGoogle Scholar
  16. 16.
    Schönhage, A., Strassen, V.: Schnelle multiplikation grosser zahlen. Computing 7(3–4), 281–292 (1971)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Gathen, J.V.Z., Gerhard, J.: Modern Computer Algebra. Cambridge University Press, New York (2013)Google Scholar
  18. 18.
    Dai, W., Sunar, B.: cuHE: a homomorphic encryption accelerator library. In: International Conference on Cryptography and Information Security in the Balkans, pp. 169–186. Springer (2015)Google Scholar
  19. 19.
    Emmart, N., Weems, C.C.: High precision integer multiplication with a GPU using Strassen’s algorithm with multiple FFT sizes. Parallel Process. Lett. 21(03), 359–375 (2011)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Chen, D.D., Mentens, N., Vercauteren, F., Roy, S.S., Cheung, R.C., Pao, D., Verbauwhede, I.: High-speed polynomial multiplication architecture for ring-LWE and SHE cryptosystems. IEEE Trans. Circuits Syst. I 62(1), 157–166 (2015). Regular PaperCrossRefGoogle Scholar
  21. 21.
    Akleylek, S., Dağdelen, Ö., Tok, Z.Y.: On the efficiency of polynomial multiplication for lattice-based cryptography on GPUs using CUDA. In: International Conference on Cryptography and Information Security in the Balkans, pp. 155–168. Springer (2015)Google Scholar
  22. 22.
    Winkler, F.: Polynomial algorithms in computer algebra. Springer Science & Business Media (2012)Google Scholar
  23. 23.
    Crandall, R.E.: Integer convolution via split-radix fast Galois transform. Center for Advanced Computation Reed College (1999)Google Scholar
  24. 24.
    Crandall, R., Pomerance, C.: Prime Numbers: A Computational Perspective, vol. 182. Springer Science & Business Media (2006)Google Scholar
  25. 25.
    Creutzburg, R., Tasche, M.: Parameter determination for complex number-theoretic transforms using cyclotomic polynomials. Math. Comput. 52(185), 189–200 (1989)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Solinas, J.A., et al.: Generalized mersenne numbers. University of Waterloo, Faculty of Mathematics (1999)Google Scholar
  27. 27.
    Gentleman, W.M., Sande, G.: Fast Fourier transforms: for fun and profit, pp. 563–578. In: Proceedings of the November 7-10, 1966, Fall Joint Computer Conference. ACM (1966)Google Scholar
  28. 28.
    Cooley, J.W., Tukey, J.W.: An algorithm for the machine calculation of complex fourier series. Math. Comput. 19(90), 297–301 (1965)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Ahmad Al Badawi
    • 1
  • Bharadwaj Veeravalli
    • 1
  • Khin Mi Mi Aung
    • 2
  1. 1.Department of Electrical and Computer EngineeringNational University of SingaporeSingaporeSingapore
  2. 2.Data Storage Institute A*StarSingaporeSingapore

Personalised recommendations