计算机工程与应用 ›› 2011, Vol. 47 ›› Issue (2): 84-87.DOI: 10.3778/j.issn.1002-8331.2011.02.027

• 网络、通信、安全 • 上一篇    下一篇

RSA算法的CUDA高效实现技术

孙迎红1,童元满2,王志英2

  

  1. 1.湖南涉外经济学院 计算机科学与技术系,长沙 410205
    2.国防科学技术大学 计算机学院,长沙 410073
  • 收稿日期:2009-09-14 修回日期:2009-11-03 出版日期:2011-01-11 发布日期:2011-01-11
  • 通讯作者: 孙迎红

CUDA based high performance implementation of RSA algorithm

SUN Yinghong1,TONG Yuanman2,WANG Zhiying2   

  1. 1.Department of Computer Science and Technology,Hunan International Economics University,Changsha 410205,China
    2.School of Computer Science,National University of Defense Technology,Changsha 410073,China
  • Received:2009-09-14 Revised:2009-11-03 Online:2011-01-11 Published:2011-01-11
  • Contact: SUN Yinghong

摘要: CUDA(Compute Unified Device Architecture)作为一种支持GPU通用计算的新型计算架构,在大规模数据并行计算方面得到了广泛的应用。RSA算法是一种计算密集型的公钥密码算法,给出了基于CUDA的RSA算法并行化高效实现技术,其关键为引入大量独立并发的Montgomery模乘线程,并给出了具体的线程组织、数据存储结构以及基于共享内存的性能优化实现技术。根据RSA算法CUDA实现方法,在某款GPU上测试了RSA算法的运算性能和吞吐率。实验结果表明,与RSA算法的通用CPU实现方式相比,CUDA实现能够实现超过40倍的性能加速。

关键词: 统一计算设备架构, RSA算法, Montgomery模乘

Abstract: As a new architecture supporting general purpose computing on GPU,Compute Unified Device Architecture(CUDA) plays an important role in massive data parallel computing.RSA is a kind of computing concentrated public key cryptographic algorithm.To improve the performance of RSA algorithm,CUDA based high performance implementation is presented in this paper.The key of CUDA implementation of RSA is large amount of independent parallel Montgomery modular multiplication thread in the kernel side.The threads organization scheme and data structure of this implementation are also presented.Besides,shared memory based performance improvement method is also presented.According to the implementation method of this paper,the performance and throughput of RSA algorithm are obtained for a CUDA GPU.The experiment results show that the CUDA implementation can achieve more than 40 times speedup in comparison with general CPU implementation of RSA.

Key words: Compute Unified Device Architecture(CUDA), RSA algorithm, Montgomery module multiplication

中图分类号: