Toward Acceleration of RSA Using 3D Graphics Hardware

  • Andrew Moss
  • Daniel Page
  • Nigel P. Smart
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4887)


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 however, this performance has made 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.


Graphic Processing Unit Elliptic Curve Cryptography Modular Multiplication Chinese Remainder Theorem Residue Number System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bailey, D.V., Paar, C.: Efficient Arithmetic in Finite Field Extensions with Application in Elliptic Curve Cryptography. Journal of Cryptology 14(3), 153–176 (2001)zbMATHMathSciNetGoogle Scholar
  2. 2.
    Barrett, P.D.: Implementing the Rivest, Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)Google Scholar
  3. 3.
    Bernstein, D.J.: The Poly1305-AES Message-Authentication Code. In: Gilbert, H., Handschuh, H. (eds.) FSE 2005. LNCS, vol. 3557, pp. 32–49. Springer, Heidelberg (2005)Google Scholar
  4. 4.
    Bernstein, D.J.: Curve25519: New Diffie-Hellman Speed Records. In: Yung, M., Dodis, Y., Kiayias, A., Malkin, T.G. (eds.) PKC 2006. LNCS, vol. 3958, pp. 207–228. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Cook, D.L., Keromytis, A.D., Ioannidis, J., Luck, J.: CryptoGraphics: Secret Key Cryptography Using Graphics Cards. In: Menezes, A.J. (ed.) CT-RSA 2005. LNCS, vol. 3376, pp. 334–350. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    Costigan, N., Scott, M.: Accelerating SSL using the Vector processors in IBM’s Cell Broadband Engine for Sony’s Playstation 3. Cryptology ePrint Archive, Report 2007/061 (2007)Google Scholar
  7. 7.
    Crandall, R.E.: Method and Apparatus for Public Key Exchange in a Cryptographic System. U.S. Patent Number 5,159,632 (1992)Google Scholar
  8. 8.
    van Dijk, M., Granger, R., Page, D., Rubin, K., Silverberg, A., Stam, M., Woodruff, D.: Practical Cryptography in High Dimensional Tori. In: Cramer, R.J.F. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 234–250. Springer, Heidelberg (2005)Google Scholar
  9. 9.
    Fournier, J., Moore, S.: A Vectorial Approach to Cryptographic Implementation. In: International Conference on Digital Rights Management (2005)Google Scholar
  10. 10.
    GPGPU: General-Purpose Computation Using Graphics Hardware.
  11. 11.
    Hankerson, D., Menezes, A., Vanstone, S.: Guide to Elliptic Curve Cryptography. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  12. 12.
    Harrison, O., Waldron, J.: AES Encryption Implementation and Analysis on Commodity Graphics Processing Units. In: Cryptographic Hardware and Embedded Systems (CHES). LNCS, vol. 4727, pp. 209–226. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Knuth, D.E.: The Art of Computer Programming, 3rd edn., vol. 1-3. Addison-Wesley, Reading (1997), Additions to v.2: Google Scholar
  14. 14.
    Menezes, A.J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1997)zbMATHGoogle Scholar
  15. 15.
    Montgomery, P.L.: Modular Multiplication Without Trial Division. Mathematics of Computation 44, 519–521 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Parhami, B.: Computer Arithmetic: Algorithms and Hardware Designs. Oxford University Press, Oxford (2000)Google Scholar
  17. 17.
    Randi, R.J.: OpenGL Shading Language. Addison Wesley, Reading (2004)Google Scholar
  18. 18.
    Posch, K.C., Posch, R.: Modulo Reduction in Residue Number Systems. IEEE Transactions on Parallel and Distributed Systems 6(5), 449–454 (1995)CrossRefMathSciNetGoogle Scholar
  19. 19.
    Posch, K.C., Posch, R.: Base Extension Using a Convolution Sum in Residue Number Systems. Computing 50, 93–104 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Quisquater, J-J., Couvreur, C.: Fast Decipherment Algorithm for RSA Public-key Cryptosystem. IEE Electronics Letters 18(21), 905–907 (1982)CrossRefGoogle Scholar
  21. 21.
    Kawamura, S., Koike, M., Sano, F., Shimbo, A.: Cox-Rower Architecture for Fast Parallel Montgomery Multiplication. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 523–538. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  22. 22.
    Rivest, R., Shamir, A., Adleman, L.M.: A Method for Obtaining Digital Signatures and Public-key Cryptosystems. Communications of the ACM 21(2), 120–126 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Shenoy, P.P., Kumaresan, R.: Fast Base Extension Using a Redundant Modulus in RNS. IEEE Transactions on Computers 38(2), 292–297 (1989)zbMATHCrossRefGoogle Scholar
  24. 24.
    Szabo, N.S., Tanaka, R.I.: Residue Arithmetic and its Applications to Computer Technology. McGraw-Hill, New York (1967)zbMATHGoogle Scholar
  25. 25.
    Bucks, I.: Invited Talk at Eurographics/SIGGRAPH Workshop on Graphics Hardware (2003),

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Andrew Moss
    • 1
  • Daniel Page
    • 1
  • Nigel P. Smart
    • 1
  1. 1.Department of Computer Science, Merchant Venturers Building, Woodland Road, Bristol, BS8 1UBUnited Kingdom

Personalised recommendations