Skip to main content

Parallel Multiplication of Big Integer on GPU

  • Conference paper
  • First Online:
Smart and Innovative Trends in Next Generation Computing Technologies (NGCT 2017)

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Rivest, R.L., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21(2), 120–126 (1987)

    Article  MathSciNet  Google Scholar 

  2. Diffie, W., Hellman, M.E.: New directions in cryptography. IEEE Trans. Inf. Theor. IT 22, 644–654 (1976)

    Article  MathSciNet  Google Scholar 

  3. Koblitz, N.: Elliptic curve cryptosystems. Math. Comput. 48(177), 203–209 (1987)

    Article  MathSciNet  Google Scholar 

  4. Knuth, D.E.: The Art of Computer Programming: Seminumerical Algorithms, 3rd edn. Addison-Wesley, Boston (1997)

    MATH  Google Scholar 

  5. 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)

    Google Scholar 

  6. Toom, A.L.: The complexity of a scheme of functional elements realizing the multiplication of integers. Sov. Math. 3, 714–716 (1963)

    MATH  Google Scholar 

  7. Cook, S.A.: On the minimum computation time of functions. Ph.D. thesis, Harvard University (1966)

    Google Scholar 

  8. Schönhage, A., Strassen, V.: Schnelle Multiplikation grosser Zahlen. Computing 7, 281–292 (1971)

    Article  MathSciNet  Google Scholar 

  9. Cooley, J.W., Tukey, J.W.: An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19(90), 297–301 (1965)

    Article  MathSciNet  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Volkov, V., Kazian, B.: Fitting FFT onto the G80 architecture (2008). www.cs.berkeley.edu/~kubitron/courses/cs258S08/projects/reports/project6_report.pdf

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. Lou, D.C., Chang, C.C.: Fast exponentiation method obtained by folding the exponent in half. Electron. Lett. 32(11), 984–985 (1996)

    Article  Google Scholar 

  18. Comba, P.G.: Exponentiation cryptosystems on the IBM PC. IBM Syst. J. 29(4), 526–538 (1990)

    Article  Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. 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

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. Maza, M.M., Pan, W.: Fast polynomial multiplication on a GPU, high performance computing symposium. J. Phys: Conf. Ser. 256, 012009 (2010)

    Google Scholar 

  26. 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)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. 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)

    Article  MathSciNet  Google Scholar 

  29. Bracewell, R.: The Fourier Transform and Its Applications, 3rd edn. McGraw-Hill Science/Engineering/Math, New York City (1999)

    MATH  Google Scholar 

  30. 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)

    Book  Google Scholar 

  31. NVIDIA Corporation, CUDA cuFFT library 4.0 (2014). http://docs.nvidia.com/cuda/pdf/CUFFT_Library.pdf

  32. FFTW3 Library. http://www.fftw.org/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jitendra V. Tembhurne .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics