Skip to main content

Speed Records for Multi-prime RSA Using AVX2 Architectures

  • Conference paper
  • First Online:
Book cover Information Technology: New Generations

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 448))

Abstract

RSA is a popular public key algorithm. Its private key operation is modular exponentiation with a composite 2k-bit modulus that is the product of two k-bit primes. Computing 2k-bit modular exponentiation can be sped up four fold with the Chinese Remainder Theorem (CRT), requiring two k-bit modular exponentiations (plus recombination). Multi-prime RSA is the generalization to the case where the modulus is a product of r ≥ 3 primes of (roughly) equal bit-length, 2k/r. Here, CRT trades 2k-bit modular exponentiation with r modular exponentiations, with 2k/r-bit moduli (plus recombination). This paper discusses multi-prime RSA with key lengths (=2k) of 2048/3072/4096 bits, and r = 3 or r = 4 primes. With these parameters, the security of multi-prime RSA is comparable to that of classical RSA. We show how to optimize multi-prime RSA on modern processors, by parallelizing r modular exponentiations and leveraging “vector” instructions, achieving performance gains of up to 5.07x.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Jonsson, J., Kaliski, B.: Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1. In RFC 3447, Network Working Group, IETF (2003). https://www.ietf.org/rfc/rfc3447.txt

  2. Dierks, T., Rescorla, E.: The Transport Layer Security (TLS) Protocol Version 1.2. In RFC5246, Network Working Group, IETF (2008). https://www.ietf.org/rfc/rfc5246.txt

  3. Barker, E., Roginsky, A.: Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths. In NIST Special Publication 800-131A, p. 5 (2011). http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf

  4. NSA: Cryptography Today (Accessed September 2015). https://www.nsa.gov/ia/programs/suiteb_cryptography/index.shtml

  5. Lenstra, A.K., Lenstra Jr., H.W. (eds.): The Development of the Number Field Sieve, vol. 1554. Lecture Notes in Mathematics. Springer, Berlin (1993)

    Google Scholar 

  6. Lenstra, A.K.: Unbelievable security matching AES security using public key systems. In: Advances in Cryptology, ASIACRYPT 2001, pp. 67–86. Springer, Heidelberg (2001)

    Google Scholar 

  7. Lesntra Jr., H.W.: Factoring integers with elliptic curves. The Annals of Mathematics 126(3), 649–673 (1987)

    Article  MathSciNet  Google Scholar 

  8. Thorsten, K., et al.: Factorization of a 768-Bit RSA modulus. In: Proceedings of the 30th Annual Cryptology Conference on Advances in Cryptology, CRYPTO 2010, Santa Barbara, CA, USA, 15-19 August 2010, pp. 333–350 (2010)

    Google Scholar 

  9. Langley, A.G.: Multi-prime RSA trade offs. In ImperialViolet (blog) (2011). https://www.imperialviolet.org/2011/04/09/multiprime.html

  10. Buxton, M.: Haswell New Instruction Descriptions Now Available! Intel Corporation (2011). http://software.intel.com/en-us/blogs/2011/06/13/haswell-new-instruction-descriptions-now-available/

  11. Gueron, S., Krasnov, V.: Software implementation of modular exponentiation, using advanced vector instructions architectures. In: Proceedings of the 4th International Conference on Arithmetic of Finite Fields, WAIFI 2012, pp. 119–135 (2012)

    Google Scholar 

  12. OpenSSL: The Open Source toolkit for SSL/TLS. http://www.openssl.org/

  13. Gueron, S., Krasnov, V.: OpenSSL multi-prime patch. https://github.com/vkrasnov/multiprime

  14. Gueron, S., Krasnov, V.: [PATCH] Efficient, and side channel analysis resistant 1024-bit modular exponentiation, for optimizing RSA2048 on AVX2 capable x86_64 platforms. OpenSSL patch, posted July 2012. https://rt.openssl.org/Ticket/Display.html?id=2850

  15. Intel Corportaion: Intel® Architecture Instruction Set Extensions Programming Reference. Intel, August 2015. https://software.intel.com/sites/default/files/managed/07/b7/319433-023.pdf

  16. Gueron, S., Krasnov, V.: [PATCH] Efficient 1024-bit and 2048-bit modular exponentiation for AVX512 capable x86_64. OpenSSL patch, posted January 2014. https://rt.openssl.org/Ticket/Display.html?id=3240

  17. Gueron, S., Krasnov, V.: [PATCH] Fast modular exponentiation with the new VPMADD52 instructions. OpenSSL patch, posted November 2014. https://rt.openssl.org/Ticket/Display.html?id=3590

  18. Gueron, S., Drucker, N.: [PATCH] Fast 1536-bit modular exponentiation with the new VPMADD52 instructions. OpenSSL patch, posted September 2015. https://rt.openssl.org/Ticket/Display.html?id=4032

Download references

Acknowledgements

This research was supported by the PQCRYPTO project, which was partially funded by the European Commission Horizon 2020 research Programme, grant #645622.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shay Gueron .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Gueron, S., Krasnov, V. (2016). Speed Records for Multi-prime RSA Using AVX2 Architectures. In: Latifi, S. (eds) Information Technology: New Generations. Advances in Intelligent Systems and Computing, vol 448. Springer, Cham. https://doi.org/10.1007/978-3-319-32467-8_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-32467-8_22

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-32466-1

  • Online ISBN: 978-3-319-32467-8

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics