Skip to main content

RSA Public Key Acceleration on CUDA GPU

  • Conference paper
  • First Online:
Artificial Intelligence and Evolutionary Computations in Engineering Systems

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 394))

Abstract

Cryptography is a technique of using number theoretical mathematics for the key generation, encryption and decryption of confidential information. Cryptography has many uses in real-world applications such as Digital Right Management, E-Commerce, Secret Broadcasting and Financial Cryptography, etc. In this paper, we mainly focus on the speedup of the RSA public-key cryptosystem algorithm. We proposed the high-performance parallel RSA algorithms on parallel hardware such as Graphics Processing Units (GPUs). We used NVIDIA GPU Quadro FX 3800 to exploit the many-core parallelism for the implementation of highly parallel and efficient RSA algorithm on Compute Unified Device Architecture (CUDA). The experiments conducted on many-core GPUs show the enhanced speedup of proposed parallel RSA algorithms compared to single CPU RSA algorithm implementation. We observed that the speedup achieved by the GPU dominates the single CPU RSA implementation.

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 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.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 RL, Shamir A, Adleman L. A method for obtaining digital signatures and public-key cryptosystems. Commun ACM. 1978;21(2):120–6 New York, NY.

    Article  MathSciNet  MATH  Google Scholar 

  2. Kunth DE. Seminumerical algorithms: the art of computer programming, 3rd edn. vol. 2. Reading: Addison-Wesley; 2008.

    Google Scholar 

  3. Gathen J, Gerhard J. Modern computer algebra, 3rd edn. Cambridge University Press: Cambridge; 1999.

    Google Scholar 

  4. Menezes AJ, Oorschot PC, Vanstone SA. Handbook of applied cryptography, CRC Press: Boca Raton; 1996.

    Google Scholar 

  5. Buttlar D, Farrell J, Nichols B. Pthreads programming: a POSIX standard for better multiprocessing, O’Reilly Media, 1996.

    Google Scholar 

  6. OpenMP Application Program Interface, Version 4.0, July 2013.

    Google Scholar 

  7. Berkeley UPC—Unified Parallel C, http://upc.lbl.gov/.

  8. Open MPI: Open Source High Performance Computing, http://www.open-mpi.org/.

  9. Sanders J, Kandrot E, CUDA by example: an introduction to general-purpose GPU programming, 1st edn. Addison-Wesley: Upper Saddle River; 2010.

    Google Scholar 

  10. Shand M, Vuillemin J. Fast implementations of RSA cryptography. In: 11th symposium on computer arithmetic, Windsor, Ontario, p. 252–9, July 1993.

    Google Scholar 

  11. Pearson D. A parallel implementation of RSA. Computer Science Department, Cornell University, Ithaca, NY, Technical Report, July 1996.

    Google Scholar 

  12. Cilardo A, Mazzeo A, Mazzocca N, Romano L. A novel unified architecture for public-key cryptography. In: Proceedings of the design, automation and test in Europe, Italy, 2005, vol. 3, p. 52–7.

    Google Scholar 

  13. Wu C-L, Lou D-C, Lai J-C, Chang T-J. Fast parallel exponentiation algorithm for RSA public-key cryptosystem. Informatica. 2006;17(3):445–62.

    MathSciNet  MATH  Google Scholar 

  14. Savas E, Tenca AF, Koc CK. A scalable and unified multiplier architecture for finite field GF(p) and GF(2 m). In: International workshop on cryptographic hardware and embedded systems, Worcester, MA, USA, LNCS, Springer, vol. 1965, pp. 277–292, August 2000.

    Google Scholar 

  15. Fan W, Chen X, Li X. Parallelization of RSA algorithm based on compute unified device architecture. In: 9th international conference on grid and cooperative computing (GCC-2010), Nanjing, pp. 174–8, Nov 2010.

    Google Scholar 

  16. Lin Y-S, Lin C-Y, Lou D-C. Efficient parallel RSA decryption algorithm for many-core GPUs with CUDA. In: Proceeding of the international conference on telecommunication systems, modeling and analysis, American telecommunications systems management association, Czech Technical University, Prague, Czech Republic, May 2012.

    Google Scholar 

  17. Boneh D. Twenty years of attacks on the RSA cryptosystem. Not Am Math Soc. 1999;46(2):203–13.

    MathSciNet  MATH  Google Scholar 

  18. NVIDIA Corporation, CUDA C Programming guide, Version 6.0, February 2014.

    Google Scholar 

Download references

Acknowledgments

This work was financially supported by the TEQIP-II scheme (2011–2012) for technical quality improvement by Ministry of Human Resource Development (MHRD), Government of India.

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

© 2016 Springer India

About this paper

Cite this paper

Tembhurne, J.V., Sathe, S.R. (2016). RSA Public Key Acceleration on CUDA GPU. In: Dash, S., Bhaskar, M., Panigrahi, B., Das, S. (eds) Artificial Intelligence and Evolutionary Computations in Engineering Systems. Advances in Intelligent Systems and Computing, vol 394. Springer, New Delhi. https://doi.org/10.1007/978-81-322-2656-7_33

Download citation

  • DOI: https://doi.org/10.1007/978-81-322-2656-7_33

  • Published:

  • Publisher Name: Springer, New Delhi

  • Print ISBN: 978-81-322-2654-3

  • Online ISBN: 978-81-322-2656-7

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics