Abstract
The need for end-to-end security in the internet, constantly increases the world-wide number (and percentage) of SSL/TLS connections. As a result, the cryptographic algorithms that support such secure communications become a critical computational load for servers, and therefore an important target for optimization. We discuss here techniques for speeding up the software performance of several important cryptographic primitives on the ubiquitous x86_64 architectures that are used in most server platforms, and report new and improved results. A few examples are the following performance numbers, measured on the 2nd Generation Intel ® CoreTM processor: RSA1024/2048 implementation which is ~1.6x faster than the current OpenSSL version (1.0.0e), and SHA-1, SHA-256 and SHA-512 performing at, respectively, 5.75, 14, 9.71 cycles per byte.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
OpenSSL: The Open Source toolkit for SSL/TLS, http://www.openssl.org/
Gueron, S.: Efficient Software Implementations of Modular Exponentiation (2011), http://eprint.iacr.org/2011/239
Gueron, S.: Speeding up SHA-1, SHA-256, SHA-512 on the 2nd Generation Intel CoreTM Processors (manuscript 2011)
Gueron, S., Krasnov, V.: Efficient and side channel analysis resistant 512-bit and 1024-bit modular exponentiation for optimizing RSA1024 and RSA2048 on x86_64 platforms, OpenSSL #2582 patch, http://rt.openssl.org/Ticket/Display.html?id=2582&user=guest&pass=guest (posted August 2011)
Gueron, S., Krasnov, V.: Speeding up Big-Number Squaring (manuscript 2011)
Gueron, S., Krasnov, V.: Parallelizing message schedules to accelerate hash computations (manuscript 2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gueron, S. (2011). Software Optimizations for Cryptographic Primitives on General Purpose x86_64 Platforms. In: Bernstein, D.J., Chatterjee, S. (eds) Progress in Cryptology – INDOCRYPT 2011. INDOCRYPT 2011. Lecture Notes in Computer Science, vol 7107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25578-6_28
Download citation
DOI: https://doi.org/10.1007/978-3-642-25578-6_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25577-9
Online ISBN: 978-3-642-25578-6
eBook Packages: Computer ScienceComputer Science (R0)