我进行了一些测试,结果发现 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
我进行了一些测试,结果发现 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
RSA 和 DSA 都使用幂运算来生成签名。这是最耗时的,因此它们基本上具有相同的复杂性。但不同的是密钥长度。
在密码学中,您尝试选择尽可能小的密钥,但要足够大以获得所需的安全性。
RSA需要相当长的密钥,……。像 2048 位或更大。
DSA 有一个短密钥(约 256 位)和一个长密钥(约 2048 位)。指数不会大于短键。
因此,对于 DSA,您必须计算 2048 位数的 256 位数的幂(以其他数为模),而对于 RSA,您必须计算 2048 位数的其他 2048 位数的幂。这就是 RSA 比 DSA 慢得多的原因。
注意:如果为 DSA 选择长度为 2048 位的短密钥,它将与 RSA 一样慢。