我在期末考试中问了以下问题:
对称密码(例如AES,DES,Blowfish)在最好的情况下最多使用256位,这被认为是很强的抵抗暴力攻击。另一方面,非对称密码学(如RSA、DSA、Elgamal)使用的位数较多(~2048)。解释对称密码和非对称密码位差的原因。
他的回答是:
非对称密码使用更多的位,因为它通常使用功率,这会产生比特的增加。此外,非对称加密比对称加密需要更多的处理时间,这会导致比特级的开销更高。
所谓“超能力”,他指的是“数学能力”。他引用了互联网上的以下内容来支持他的回答:
该算法速度慢,因为它使用了成本高、密钥大小大的数学运算。部分问题在于指数的选择。
最后:
“虽然在数学上不是精确的,但第一个运算可以被接受为线性运算,因为运算的数目与两个操作数的大小成正比。另一方面,第二个运算是指数型的,因为输入的大小翻倍,要做的运算数不会翻倍,它会在时间上成倍增加。”
虽然答案是这里,但我看到他的部分陈述是正确的,但他是否正确地回答了这个问题?
发布于 2014-12-10 15:49:56
我不相信他回答的是正确的问题。你基本上是问“为什么公钥比对称密钥大得多”,在他的第一句(这句话开始解决这个问题,但有点模糊)之后,他试图回答一个截然不同的问题:“为什么公钥操作要慢得多”(并不是说他得到了正确的细节;他的最后一句似乎意味着公钥操作花费的时间是指数级的)。
发布于 2014-12-10 15:57:56
我不认为这是正确的。特别是RSA之所以使用如此高的位数,是因为RSA的安全性是基于整数的因式分解,而整数和高达100位的整数(大约300位)可以通过二次筛“轻松”地分解。
一般来说,有一些非对称密码,比如那些基于椭圆曲线密码的密码,它们也使用大约160位的低比特数。
大多数不对称算法使用高比特计数的原因如下:它们大多基于代数计算,因此有一些方法(或至少概率很高)可以找到该算法的捷径并破解它(比如对RSA公钥进行分解)。
另一方面,对称算法往往是有意“非代数”的。例如,AES做了大量的位XORing、移位、混合等,以防止明文和密文之间容易被利用的数学关系。
摘要:256位的密钥空间足够大,可以认为是安全的.但是,虽然大多数对称算法只留下(几乎)其他攻击向量而只留下强暴密钥,但大多数非对称算法都有众所周知的攻击向量,这使得破解算法比强暴密钥更容易。因此,密钥空间必须要大得多才能获得相同的安全性。
发布于 2014-12-10 19:02:43
对称密码是基于完全相同和唯一的键在双方的基础上。非对称密钥的基础是双方的一个或多个完全相同的密钥,如果我们谈论的是双向通信,则双方至少有一个真正的私钥。在这里,键大小并不重要。
https://crypto.stackexchange.com/questions/20755
复制相似问题