Executing Modular Exponentiation on a Graphics Accelerator

Demand in the consumer market for graphics hardware that accelerates rendering of 3D images has resulted in commodity devices capable of astonishing levels of performance. These results were achieved by specifically tailoring the hardware for the target domain. As graphics accelerators become increasingly programmable this performance makes them an attractive target for other domains. Specifically, they have motivated the transformation of costly algorithms from a general purpose computational model into a form that executes on said graphics hardware. We investigate the implementation and performance of modular exponentiation using a graphics accelerator, with the view of using it to execute operations required in the RSA public key cryptosystem.

[1]  Daniel J. Bernstein,et al.  Curve25519: New Diffie-Hellman Speed Records , 2006, Public Key Cryptography.

[2]  Ramdas Kumaresan,et al.  Fast Base Extension Using a Redundant Modulus in RNS , 1989, IEEE Trans. Computers.

[3]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[4]  J. Quisquater,et al.  Fast decipherment algorithm for RSA public-key cryptosystem , 1982 .

[5]  David P. Woodruff,et al.  Practical Cryptography in High Dimensional Tori , 2005, EUROCRYPT.

[6]  Atsushi Shimbo,et al.  Cox-Rower Architecture for Fast Parallel Montgomery Multiplication , 2000, EUROCRYPT.

[7]  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..

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

[9]  Behrooz Parhami,et al.  Computer arithmetic - algorithms and hardware designs , 1999 .

[10]  Daniel J. Bernstein,et al.  The Poly1305-AES Message-Authentication Code , 2005, FSE.

[11]  P. L. Montgomery Modular multiplication without trial division , 1985 .

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

[13]  Reinhard Posch,et al.  Modulo Reduction in Residue Number Systems , 1995, IEEE Trans. Parallel Distributed Syst..

[14]  Reinhard Posch,et al.  Base extension using a convolution sum in residue number systems , 1993, Computing.

[15]  Richard I. Tanaka,et al.  Residue arithmetic and its applications to computer technology , 1967 .

[16]  Paul Barrett,et al.  Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor , 1986, CRYPTO.

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