Table of Contents Author Guidelines Submit a Manuscript
Security and Communication Networks
Volume 2017, Article ID 3508786, 15 pages
https://doi.org/10.1155/2017/3508786
Research Article

Utilizing the Double-Precision Floating-Point Computing Power of GPUs for RSA Acceleration

1State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing, China
2Data Assurance and Communication Security Research Center, Chinese Academy of Sciences, Beijing, China
3School of Cyber Security, University of Chinese Academy of Sciences, Beijing, China

Correspondence should be addressed to Fangyu Zheng; nc.ca.si@gnehzyf

Received 23 May 2017; Accepted 8 August 2017; Published 17 September 2017

Academic Editor: Zhe Liu

Copyright © 2017 Jiankuo Dong et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Linked References

  1. N. Koblitz, “Elliptic curve cryptosystems,” Mathematics of Computation, vol. 48, no. 177, pp. 203–209, 1987. View at Publisher · View at Google Scholar · View at MathSciNet
  2. V. S. Miller, “Use of elliptic curves in cryptography,” in Advances in Cryptology (CRYPTO '85), H. C. Williams, Ed., vol. 218 of Lecture Notes in Computer Science, pp. 417–426, Springer, 1986. View at Publisher · View at Google Scholar · View at MathSciNet
  3. R. L. Rivest, A. Shamir, and L. Adleman, “A method for obtaining digital signatures and public-key cryptosystems,” Communications of the Association for Computing Machinery, vol. 21, no. 2, pp. 120–126, 1978. View at Publisher · View at Google Scholar · View at MathSciNet · View at Scopus
  4. 2013, NVIDIA: CUDA C programming guide 8.0, https://docs.nvidia.com/cuda/cuda-c-programming-guide/.
  5. D. J. Bernstein, T.-R. Chen, C.-M. Cheng, T. Lange, and B.-Y. Yang, “ECM on Graphics Cards,” in Advances in Cryptology-EUROCRYPT, pp. 483–501, Springer, Berlin, 2009. View at Google Scholar · View at MathSciNet
  6. D. J. Bernstein, H. C. Chen, M. S. Chen et al., “The Billion-Mulmod-Per-Second PC,” in Workshop record of SHARCS, vol. 9, pp. 131–144, 2009. View at Google Scholar
  7. N. Emmart and C. Weems, “Pushing the performance envelope of modular exponentiation across multiple generations of gpus,” in Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS '15), pp. 166–176, May 2015. View at Publisher · View at Google Scholar · View at Scopus
  8. S. Antão, J.-C. Bajard, and L. Sousa, “Elliptic curve point multiplication on GPUs,” in Proceedings of the 21st IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP '10), pp. 192–199, July 2010. View at Publisher · View at Google Scholar · View at Scopus
  9. S. Antão, J.-C. Bajard, and L. Sousa, “RNS-based elliptic curve point multiplication for massive parallel architectures,” Computer Journal, vol. 55, no. 5, pp. 629–647, 2012. View at Publisher · View at Google Scholar · View at Scopus
  10. S. Pu and J.-C. Liu, “EAGL: An elliptic curve arithmetic GPU-based library for bilinear pairing,” in Pairing-Based Cryptography–Pairing, pp. 1–19, Springer, 2014. View at Google Scholar
  11. K. Leboeuf, R. Muscedere, and M. Ahmadi, “A GPU implementation of the Montgomery multiplication algorithm for elliptic curve cryptography,” in Proceedings of the 2013 IEEE International Symposium on Circuits and Systems (ISCAS '13), pp. 2593–2596, May 2013. View at Publisher · View at Google Scholar · View at Scopus
  12. W. Pan, F. Zheng, Y. Zhao, W. T. Zhu, and J. Jing, “An efficient elliptic curve cryptography signature server with GPU acceleration,” IEEE Transactions on Information Forensics and Security, pp. 111–122, 2017. View at Google Scholar
  13. F. Zheng, W. Pan, J. Lin, J. Jing, and Y. Zhao, “Exploiting the Potential of GPUs for Modular Multiplication in ECC,” in Information Security Applications - 15th International Workshop, pp. 295–306, Springer International Publishing, 2014. View at Google Scholar
  14. J. W. Bos, “Low-latency elliptic curve scalar multiplication,” International Journal of Parallel Programming, vol. 40, no. 5, pp. 532–550, 2012. View at Publisher · View at Google Scholar · View at Scopus
  15. R. Szerwinski and T. Güneysu, “Exploiting the power of GPUs for asymmetric cryptography,” in Cryptographic Hardware and Embedded Systems–CHES, pp. 79–99, Springer Berlin Heidelberg, Berlin, Heidelberg, 2008. View at Google Scholar
  16. J. A. Solinas, Generalized mersenne numbers. Citeseer, 1999.
  17. A. Moss, D. Page, and N. P. Smart, “Toward acceleration of {RSA} using 3D graphics hardware,” in Cryptography and coding, vol. 4887 of Lecture Notes in Comput. Sci., pp. 364–383, Springer, Berlin, 2007. View at Publisher · View at Google Scholar · View at MathSciNet
  18. O. Harrison and J. Waldron, “Efficient acceleration of asymmetric cryptography on graphics hardware,” in Progress in Cryptology–AFRICACRYPT, pp. 350–367, Springer, 2009. View at Google Scholar
  19. K. Jang, S. Han, S. Moon, and K. Park, “Sslshader: cheap ssl acceleration with commodity processors,” in Proceedings of the 8th USENIX conference on Networked systems design and implementation, 2011.
  20. Ç. K. Koç, T. Acar, and B. S. Kaliski Jr., “Analyzing and comparing montgomery multiplication algorithms,” IEEE Micro, vol. 16, no. 3, pp. 26–33, 1996. View at Publisher · View at Google Scholar · View at Scopus
  21. A. Jeffrey and B. D. Robinson, 2014, Fast GPU based modular multiplication. http://on-demand.gputechconf.com/gtc/2014/poster/pdf/P4156_montgomery_multiplication_CUDA_concurrent.pdf.
  22. S. Neves and F. Araujo, “On the performance of GPU public-key cryptography,” in Proceedings of the 22nd IEEE International Conference on Application-Specific Systems, Architectures and Processors, ASAP 2011, pp. 133–140, September 2011. View at Publisher · View at Google Scholar · View at Scopus
  23. R. Henry and I. Goldberg, “Solving discrete logarithms in smooth-order groups with CUDA,” in Workshop Record of SHARCS, pp. 101–118, 2012. View at Google Scholar
  24. Y. Yang, “Accelerating RSA with fine-grained parallelism using GPU,” in Information Security Practice and Experience, J. Lopez and Y. Wu, Eds., vol. 9065 of Lecture Notes in Computer Science, Springer, 2015. View at Google Scholar
  25. 2012, NVIDIA: NVIDIA Kepler GK110 whitepaper. http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110Architecture-Whitepaper.pdf.
  26. 2013, NVIDIA: Shuffle: tips and tricks. http://on-demand.gputechconf.com/gtc/2013/presentations/S3174-Kepler-Shuffle-Tips-Tricks.pdf.
  27. 2016, NVIDIA: Parallel thread execution ISA version 5.0, http://docs.nvidia.com/cuda/parallel-thread-execution/#axzz4SFUtDRZT.
  28. IEEE Standards Committee, “754-2008 - IEEE standard for floating-point arithmetic,” pp. 1–58, 2008. View at Publisher · View at Google Scholar
  29. J. J. Quisquater and C. Couvreur, “Fast decipherment algorithm for RSA public-key cryptosystem,” Electronics letters, vol. 18, no. 21, pp. 905–907, 1982. View at Google Scholar · View at Scopus
  30. C. K. Koç, “High-speed RSA implementation,” Tech. Rep., RSA Laboratories, 1994. View at Google Scholar
  31. J. Jonsson and B. Kaliski, Public-key cryptography standards (PKCS)# 1: RSA cryptography specifications version 2.1. The Internet Society, 2003.
  32. P. L. Montgomery, “Modular multiplication without trial division,” Mathematics of Computation, vol. 44, no. 170, pp. 519–521, 1985. View at Publisher · View at Google Scholar · View at MathSciNet · View at Scopus
  33. H. Orup, “Simplifying quotient determination in high-radix modular multiplication,” in Proceedings of the 1995 IEEE 12th Symposium on Computer Arithmetic, pp. 193–199, July 1995. View at Scopus
  34. 2016, NVIDIA: NVIDIA CUDA math API. http://docs.nvidia.com/cuda/cuda-math-api/index.html#axzz308wmibga.
  35. D. Hankerson, S. Vanstone, and A. J. Menezes, Guide to Elliptic Curve Cryptography, Springer, New York, NY, USA, 2004. View at MathSciNet
  36. D. E. Knuth, The art of computer programming: seminumerical algorithms, Addison-Wesley Publishing Co., Reading, Mass, USA, 1981. View at MathSciNet
  37. C. K. Koç, “Analysis of sliding window techniques for exponentiation,” Computers and Mathematics with Applications, vol. 30, no. 10, pp. 17–24, 1995. View at Publisher · View at Google Scholar · View at Scopus
  38. T. Granlund, The gmp development team. gnu mp: The gnu multiple precision arithmetic library, 5.1., 2013.
  39. P. Gallagher and C. Kerry, FIPS Pub 186-4: Digital signature standard. DSS. NIST, 2013.
  40. 2016, Wikipedia: Wikipedia:List of NVIDIA graphics processing units. http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units.
  41. 2016, NVIDIA: NVIDIA Tesla P100 whitepaper, https://images.nvidia.com/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper.pdf.
  42. F. Zheng, W. Pan, J. Lin, J. Jing, and Y. Zhao, “Exploiting the floating-point computing power of GPUs for RSA,” in Proceedings of the Information Security - 17th International Conference (ISC '14), pp. 198–215, 2014.