An employee at my company recently ran some performance tests of RSA
decryption comparing Windows OpenSSL libraries (openssl-fips-test-1.2.0)
compiled without assembly optimizations versus those compiled with nasm
assembled optimizations. We were somewhat surprised at how effective the
assembly optimizations appeared to be. Our test consisted of repeated
RSA decryption of a 2k document. We tested several key lengths:

          1024   2048   4096
         -----  -----  -----
no-asm      30    148    916
asm         13     46    283

Those numbers are CPU time; only interesting relative to each other.

Is a 2-4x speedup for RSA decryption consistent with what others have
seen?

We are trying to evaluate whether to go forward with assembly optimized
versions of the library. Obviously, if there was no downside, we'd
choose the optimized version. But on Windows, there is a significant
disadvantage: the assembly optimizations preclude building the library
with the /SafeSEH linker option, an important security countermeasure.
And linking with a non-SafeSEH library means the feature is disabled for
the entire executable. This is a significant cost to be weighed by
anyone trying to follow Microsoft's recommendations for writing secure
software.

John
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to