TY - GEN
T1 - Software implementation of modular exponentiation, using advanced vector instructions architectures
AU - Gueron, Shay
AU - Krasnov, Vlad
PY - 2012
Y1 - 2012
N2 - This paper describes an algorithm for computing modular exponentiation using vector (SIMD) instructions. It demonstrates, for the first time, how such a software approach can outperform the classical scalar (ALU) implementations, on the high end x86-64 platforms, if they have a wide SIMD architecture. Here, we target speeding up RSA2048 on Intel's soon-to-arrive platforms that support the AVX2 instruction set. To this end, we applied our algorithm and generated an optimized AVX2-based software implementation of 1024-bit modular exponentiation. This implementation is seamlessly integrated into OpenSSL, by patching over OpenSSL 1.0.1. Our results show that our implementation requires 51% less instructions than the current OpenSSL 1.0.1 implementation. This illustrates the potential significant speedup in the RSA2048 performance, which is expected in the coming (2013) Intel processors. The impact of such speedup on servers is noticeable, especially since migration to RSA2048 is recommended by NIST, starting from 2013.
AB - This paper describes an algorithm for computing modular exponentiation using vector (SIMD) instructions. It demonstrates, for the first time, how such a software approach can outperform the classical scalar (ALU) implementations, on the high end x86-64 platforms, if they have a wide SIMD architecture. Here, we target speeding up RSA2048 on Intel's soon-to-arrive platforms that support the AVX2 instruction set. To this end, we applied our algorithm and generated an optimized AVX2-based software implementation of 1024-bit modular exponentiation. This implementation is seamlessly integrated into OpenSSL, by patching over OpenSSL 1.0.1. Our results show that our implementation requires 51% less instructions than the current OpenSSL 1.0.1 implementation. This illustrates the potential significant speedup in the RSA2048 performance, which is expected in the coming (2013) Intel processors. The impact of such speedup on servers is noticeable, especially since migration to RSA2048 is recommended by NIST, starting from 2013.
KW - AVX
KW - AVX2
KW - Montgomery multiplication
KW - RSA
KW - SIMD
KW - modular arithmetic
KW - modular exponentiation
UR - http://www.scopus.com/inward/record.url?scp=84864945107&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-31662-3_9
DO - 10.1007/978-3-642-31662-3_9
M3 - Conference contribution
AN - SCOPUS:84864945107
SN - 9783642316616
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 119
EP - 135
BT - Arithmetic of Finite Fields - 4th International Workshop, WAIFI 2012, Proceedings
T2 - 4th International Workshop on the Arithmetic of Finite Fields, WAIFI 2012
Y2 - 16 July 2012 through 19 July 2012
ER -