Efficient Parallel RSA Decryption Algorithm for Many-core GPUs with CUDA

Cryptography is an important technique among various applications. In the telecommunication, cryptography is necessary when an untrusted medium is communicated in the network. RSA is a public-key cryptography algorithm to use a pair (N, E) as the public key and D as the private key. The N is the product of two large prime numbers p and q that are kept secret. It is very hard and no known polynomial time algorithms can be used to extract p and q from a large number N. There are many methods of factoring large numbers have been proposed. The advantages of computing power and memory bandwidth for modern GPUs have made porting applications on it become a very important issue. In this paper, we proposed an efficient parallel RSA decryption algorithm for many-core GPUs with CUDA. The experimental results showed that the proposed GPU-based algorithm can achieve 1197.5x average speedup compared with the CPU-based algorithm, and within a reasonable time to find out the result of factoring large numbers.

[1]  Frederik Vercauteren,et al.  Speed Records for NTRU , 2010, CT-RSA.

[2]  Urmas Rosenberg,et al.  Using Graphic Processing Unit in Block Cipher Calculations , 2007 .

[3]  H. W. Lenstra,et al.  Factoring integers with elliptic curves , 1987 .

[4]  Christof Paar,et al.  Area-time efficient hardware architecture for factoring integers with the elliptic curve method , 2005 .

[5]  J. Pollard A monte carlo method for factorization , 1975 .

[6]  James McKee,et al.  Speeding Fermat's factoring method , 1999, Math. Comput..

[7]  Nigel P. Smart,et al.  Executing Modular Exponentiation on a Graphics Accelerator , 2007, IACR Cryptol. ePrint Arch..

[8]  Whitfield Diffie,et al.  New Directions in Cryptography , 1976, IEEE Trans. Inf. Theory.

[9]  Yongchao Liu,et al.  CUDASW++: optimizing Smith-Waterman sequence database searches for CUDA-enabled graphics processing units , 2009, BMC Research Notes.

[10]  J. M. Pollard,et al.  Theorems on factorization and primality testing , 1974, Mathematical Proceedings of the Cambridge Philosophical Society.

[11]  Vincent Rijmen,et al.  The WHIRLPOOL Hashing Function , 2003 .

[12]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[13]  Sebastian Fleissner GPU-Accelerated Montgomery Exponentiation , 2007, International Conference on Computational Science.

[14]  Patrick Baier,et al.  Implementing the Elliptic Curve Method of Factoring in Reconfigurable Hardware , 2006, CHES.

[15]  S.A. Manavski,et al.  CUDA Compatible GPU as an Efficient Hardware Accelerator for AES Cryptography , 2007, 2007 IEEE International Conference on Signal Processing and Communications.

[16]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[17]  Noriyuki Fujimoto High throughput multiple-precision GCD on the CUDA architecture , 2009, 2009 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT).

[18]  Patrick Schaumont,et al.  pSHS: A scalable parallel software implementation of Montgomery multiplication for multicore systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[19]  Nigel P. Smart,et al.  Toward Acceleration of RSA Using 3D Graphics Hardware , 2007, IMACC.

[20]  Tim Güneysu,et al.  Exploiting the Power of GPUs for Asymmetric Cryptography , 2008, CHES.

[21]  Xudong Chen,et al.  Parallelization of RSA Algorithm Based on Compute Unified Device Architecture , 2010, 2010 Ninth International Conference on Grid and Cloud Computing.

[22]  Seungyeop Han,et al.  Accelerating SSL with GPUs , 2011, CCRV.

[23]  Xuejia Lai,et al.  Markov Ciphers and Differential Cryptanalysis , 1991, EUROCRYPT.

[24]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[25]  John Waldron,et al.  Efficient Acceleration of Asymmetric Cryptography on Graphics Hardware , 2009, AFRICACRYPT.

[26]  Alfred Menezes,et al.  Guide to Elliptic Curve Cryptography , 2004, Springer Professional Computing.

[27]  Peter Schwabe,et al.  Fast Elliptic-Curve Cryptography on the Cell Broadband Engine , 2009, AFRICACRYPT.

[28]  Angelos D. Keromytis,et al.  CryptoGraphics: Secret Key Cryptography Using Graphics Cards , 2005, CT-RSA.

[29]  Michael Scott,et al.  Accelerating SSL using the Vector processors in IBM's Cell Broadband Engine for Sony's Playstation 3 , 2007, IACR Cryptol. ePrint Arch..