OpenSSL RSA基准与实际RSA_sign()速度

时间:2013-12-30 13:45:21

标签: performance cryptography rsa

我目前正在开发一个涉及RSA的系统,并注意到RSA签名/解密非常慢。但是,有些东西我无法完全理解:

使用OpenSSL“speed”命令在特定系统上测量RSA-2048速度时,我得到以下信息:

                  sign    verify    sign/s verify/s
rsa 2048 bits  0.003656s 0.000105s    273.5   9514.4

在我自己的应用程序中测量速度时(使用gettimeofday()并使用OpenSSL的RSA_sign()100次签名),我得到44ms(相比之下3.7ms)。

我不明白这是多么合理。这比OpenSSL自己的基准测试工具要长10倍。他们用什么神奇的功能来达到这个速度?

我也尝试过LibTomCrypt库,我到达那里的最好(与TomsFastMath结合)是10ms。与3.7毫秒相比仍然很多。对于我测试的其他系统也是如此。

为什么这里存在如此巨大的差异?

1 个答案:

答案 0 :(得分:1)

好的,事实证明我编译了OpenSSL库而没有首先运行“./config”,所以它是在没有任何特定于平台的优化的情况下构建的(令人惊讶的是这样的差异可以做到这一点)。当使用该构建中的基准测试工具时,我得到的效果与我自己的应用程序相同。