Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Small usually means any size that fits in machine word.
References
Blahut, R.E.: Algebraic codes for data transmission. Cambridge University Press, New York (2003)
Daemen, J., Rijmen, V.: The Design of Rijndael: AES-The Advanced Encryption Standard. Springer Science & Business Media (2013)
Lyubashevsky, V., Peikert, C., Regev, O.: On ideal lattices and learning with errors over rings. Cryptology ePrint Archive, Report 2012/230 (2012)
Hernández, M.: Chebyshev’s approximation algorithms and applications. Comput. Math. Appl. 41(3–4), 433–445 (2001)
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)
Lyubashevsky, V., Peikert, C., Regev, O.: On ideal lattices and learning with errors over rings. J. ACM (JACM) 60(6), 43 (2013)
Lyubashevsky, P., Regev, O.: A toolkit for ring-LWE cryptography. In: EUROCRYPT, vol. 7881, pp. 35–54. Springer (2013)
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)
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)
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)
Fan, J., Vercauteren, F.: Somewhat practical fully homomorphic encryption. IACR Cryptology ePrint Archive 2012, 144 (2012)
Shoup, V., et al.: NTL: a library for doing number theory (2001)
Hart, W.B.: Flint: fast library for number theory. Computeralgebra Rundbrief (2013)
Karabutsa, A., Ofman, Y.: Multiplication of many-digital numbers by automatic computers. DOKLADY AKADEMII NAUK SSSR, vol. 145, no. 2, p. 293 (1962)
Toom, A.L.: The complexity of a scheme of functional elements realizing the multiplication of integers. Soviet Mathematics Doklady 3(4), 714–716 (1963)
Schönhage, A., Strassen, V.: Schnelle multiplikation grosser zahlen. Computing 7(3–4), 281–292 (1971)
Gathen, J.V.Z., Gerhard, J.: Modern Computer Algebra. Cambridge University Press, New York (2013)
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)
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)
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 Paper
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)
Winkler, F.: Polynomial algorithms in computer algebra. Springer Science & Business Media (2012)
Crandall, R.E.: Integer convolution via split-radix fast Galois transform. Center for Advanced Computation Reed College (1999)
Crandall, R., Pomerance, C.: Prime Numbers: A Computational Perspective, vol. 182. Springer Science & Business Media (2006)
Creutzburg, R., Tasche, M.: Parameter determination for complex number-theoretic transforms using cyclotomic polynomials. Math. Comput. 52(185), 189–200 (1989)
Solinas, J.A., et al.: Generalized mersenne numbers. University of Waterloo, Faculty of Mathematics (1999)
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)
Cooley, J.W., Tukey, J.W.: An algorithm for the machine calculation of complex fourier series. Math. Comput. 19(90), 297–301 (1965)
Acknowledgement
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.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Al Badawi, A., Veeravalli, B., Aung, K.M.M. (2019). Efficient Polynomial Multiplication via Modified Discrete Galois Transform and Negacyclic Convolution. In: Arai, K., Kapoor, S., Bhatia, R. (eds) Advances in Information and Communication Networks. FICC 2018. Advances in Intelligent Systems and Computing, vol 886. Springer, Cham. https://doi.org/10.1007/978-3-030-03402-3_47
Download citation
DOI: https://doi.org/10.1007/978-3-030-03402-3_47
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03401-6
Online ISBN: 978-3-030-03402-3
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)