了解`openssl speed`

时间:2018-03-07 14:15:43

标签: performance openssl rsa

我跑了openssl speed rsa512,它会向我显示有多少迹象,并验证它可以在一秒钟内完成。不幸的是,测试没有说明签名的邮件大小。因此,我深入研究了openssl源代码,并在speed.c中找到了以下行:

ret = RSA_sign(NID_md5_sha1, buf, 36, buf2, rsa_num, rsa_key[testnum]);

查看rsa.h中的函数,我可以看到以下函数声明:

int RSA_sign(int type, const unsigned char *m, unsigned int m_length,
             unsigned char *sigret, unsigned int *siglen, RSA *rsa);

我猜,m是消息,m_length是消息的长度。

  

我是对的,RSA速度测试中的消息大小是36字节吗?

ECDSA也是如此,例如openssl speed ecdsap256speed.c使用以下行:

ret = ECDSA_sign(0, buf, 20, ecdsasig, ecdsasiglen, ecdsa[testnum]);
  

我认为ECDSA速度测试中的消息大小是20字节吗?

我的结论:无法比较它们,因为它们会签署不同的消息长度。

1 个答案:

答案 0 :(得分:2)

从技术上讲,非对称签名不会签署消息。他们签署消息哈希。

他们的rsa512测试是在SSL" MD5和SHA1"上进行RSA签名填充和转换。值(16 + 20 = 36字节)。所以它产生的数字是它可以做多少RSA pad-and-sign(和应答复制)操作,你需要将它除以散列消息所需的时间。

他们的ecdsap256计算假设摘要是SHA-1(20字节)。同样,您可以将此数字除以散列消息所需的时间。

由于它们都是数据散列的规模,因此它们具有可比性。