Abstract
In this article, we present a method for implementation of FFT based big integer multiplication acceleration for RSA encryption and decryption. The DIF (Decimation-In-Frequency) based FFT was utilized to compute the multiplication operation for two big integers. The algorithm is implemented on Graphics Processing Units (GPUs) by utilizing the CUDA programming model. This DIF method is similar to divide-and-conquer approach. In addition, we have concentrated on the efficiency of our proposed method by dealing with the optimal time use, efficient memory utilization and the data transfer time between host (CPU) to device (GPU) which has an impact on the complete computation time on the GPU. We compare our implementation between GPU and CPU and present the performance results.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Rivest, R.L., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21(2), 120–126 (1987)
Diffie, W., Hellman, M.E.: New directions in cryptography. IEEE Trans. Inf. Theor. IT 22, 644–654 (1976)
Koblitz, N.: Elliptic curve cryptosystems. Math. Comput. 48(177), 203–209 (1987)
Knuth, D.E.: The Art of Computer Programming: Seminumerical Algorithms, 3rd edn. Addison-Wesley, Boston (1997)
Karatsuba, A., Ofman, Y.: Multiplication of multidigit numbers on automata. Doklady Akademii Nauk SSSR 145(2), 293–294 (1962). (in Russian). English translation in Sov. Phys.-Dokl. 7, 595–596 (1963)
Toom, A.L.: The complexity of a scheme of functional elements realizing the multiplication of integers. Sov. Math. 3, 714–716 (1963)
Cook, S.A.: On the minimum computation time of functions. Ph.D. thesis, Harvard University (1966)
Schönhage, A., Strassen, V.: Schnelle Multiplikation grosser Zahlen. Computing 7, 281–292 (1971)
Cooley, J.W., Tukey, J.W.: An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19(90), 297–301 (1965)
Nukada, A., Ogata, Y., Endo, T., Matsuoka, S.: Bandwidth intensive 3-D FFT kernel for GPUs using CUDA. In: Proceedings of the ACM/IEEE Conference on Supercomputing (SC-2008), High Performance Computing, Networking, Storage and Analysis, pp. 1–11. ACM/IEEE (2008)
Nukada, A., Matsuoka, S.: Auto-tuning 3-D FFT library for CUDA GPUs. In: Proceedings of the ACM/IEEE Conference on Supercomputing (SC-2009), High Performance Computing, Networking, Storage and Analysis, pp. 1–10. ACM/IEEE (2009)
Govindaraju, N.K., Lloyd, B., Dotsenko, Y., Smith, B., Manferdelli, J.: High performance discrete Fourier transforms on graphics processors. In: Proceedings of the ACM/IEEE Conference on Supercomputing, pp. 1–12. ACM/IEEE (2009)
Volkov, V., Kazian, B.: Fitting FFT onto the G80 architecture (2008). www.cs.berkeley.edu/~kubitron/courses/cs258S08/projects/reports/project6_report.pdf
Tembhurne, J.V., Sathe, S.R.: Performance evaluation of long integer multiplication using OpenMP and MPI on shared memory architecture. In: Proceedings of the 7th International Conference on Contemporary Computing, pp. 283–288. IEEE (2014)
Tembhurne, J.V., Sathe, S.R.: High throughput long integer multiplication using fast Fourier transform on parallel workstation. In: Proceedings of the 11th Annual IEEE India Conference on (INDICON), pp. 1–6. IEEE (2014)
Sutter, G.D., Deschamps, J., Imana, J.L.: modular mutlitplicatio and exponentiation architecture for fast RSA cryptosyatem based on digit serial computation. IEEE Trans. Ind. Electron. 58(7), 3101–3109 (2011)
Lou, D.C., Chang, C.C.: Fast exponentiation method obtained by folding the exponent in half. Electron. Lett. 32(11), 984–985 (1996)
Comba, P.G.: Exponentiation cryptosystems on the IBM PC. IBM Syst. J. 29(4), 526–538 (1990)
Bunimov, V., Schimmler, M.: Efficient parallel multiplication algorithm for large integers. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 923–928. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45209-6_127
Jahani, S., Samsudin, A., Subramanian, K.G.: Efficient big integer multiplication and squaring algorithms for cryptographic applications. J. Appl. Math. 2014, 9 (2014). Article ID 107109
Brumnik, R., Kovtun, V., Okhrimenko, A., Kavun, S.: Techniques for performance improvement of integer multiplication in cryptographic applications. Math. Prob. Eng. 2012, 7 (2014). Article ID 863617
Baktir, S., Savas, E.: Highly-parallel montgomery multiplication for multi-core general-purpose microprocessors. In. Proceedings of the 27th International Symposium on Computer and Information Sciences, pp. 467–476 (2012)
Maza, M.M., Xie, Y.: Balanced dense polynomial multiplication on multi-cores. In: Proceedings of the International Conference on Parallel and Distributed Computing, Applications and Technologies, pp. 1–9 (2009)
Chmielowiec, A.: Fast, parallel algorithm for multiplying polynomials with integer coefficients. In: Proceedings of the World Congress on Engineering, WCE-2012, vol. II, pp. 1136–1140 (2012)
Maza, M.M., Pan, W.: Fast polynomial multiplication on a GPU, high performance computing symposium. J. Phys: Conf. Ser. 256, 012009 (2010)
Giorgi, P., Izard, T., Tisserand, A.: Comparison of modular arithmetic algorithms on GPUs. In: Proceedings of the International Conference on Parallel Computing, pp. 315–322 (2009)
Kitano, K., Fujimoto, N.: Multiple precision integer multiplication on GPUs. In: Proceedings of the 2014 World Congress in Computer Science, Computer Engineering, and Applied Computing, PDPTA-2014 (2014)
Emmart, N., Weems, C.C.: High precision integer multiplication with a GPU using Strassen’s algorithm with multiple FFT sizes. Parallel Process. Lett. 21(3), 359–375 (2011)
Bracewell, R.: The Fourier Transform and Its Applications, 3rd edn. McGraw-Hill Science/Engineering/Math, New York City (1999)
Chu, E., George, A.: Inside the FFT Black Box: Serial and Parallel Fast Fourier Transform Algorithms (Computational Mathematics), 1st edn. CRC Press, Boca Raton (1999)
NVIDIA Corporation, CUDA cuFFT library 4.0 (2014). http://docs.nvidia.com/cuda/pdf/CUFFT_Library.pdf
FFTW3 Library. http://www.fftw.org/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Tembhurne, J.V. (2018). Parallel Multiplication of Big Integer on GPU. In: Bhattacharyya, P., Sastry, H., Marriboyina, V., Sharma, R. (eds) Smart and Innovative Trends in Next Generation Computing Technologies. NGCT 2017. Communications in Computer and Information Science, vol 827. Springer, Singapore. https://doi.org/10.1007/978-981-10-8657-1_21
Download citation
DOI: https://doi.org/10.1007/978-981-10-8657-1_21
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-8656-4
Online ISBN: 978-981-10-8657-1
eBook Packages: Computer ScienceComputer Science (R0)