1

我进行了一些测试,结果发现 RSA 比 DSA 慢得多。

通常的DSA时间复杂度是多少?

RSA[ms] DSA [ms]    
1125    218 1KiB
1047    188 2KiB
594     17  4KiB
641     234 8KiB
2938    406 16KiB
9063    937 32KiB
39344   3406    64KiB
4

1 回答 1

1

RSA 和 DSA 都使用幂运算来生成签名。这是最耗时的,因此它们基本上具有相同的复杂性。但不同的是密钥长度。

在密码学中,您尝试选择尽可能小的密钥,但要足够大以获得所需的安全性。

RSA需要相当长的密钥,……。像 2048 位或更大。
DSA 有一个短密钥(约 256 位)和一个长密钥(约 2048 位)。指数不会大于短键。

因此,对于 DSA,您必须计算 2048 位数的 256 位数的幂(以其他数为模),而对于 RSA,您必须计算 2048 位数的其他 2048 位数的幂。这就是 RSA 比 DSA 慢得多的原因。

注意:如果为 DSA 选择长度为 2048 位的短密钥,它将与 RSA 一样慢。

于 2014-07-11T01:55:49.897 回答