2010-09-06 68 views

回答

23

不,您不能只使用非对称加密。

TLS(SSL)不支持使用公钥算法对应用程序数据进行加密,因为它没有任何意义:它的效率会低得多,但不会提高安全性。

公钥加密不比对称算法更难破解。事实上,对于我们所知的一切,可能会有一些技巧使得打破一些不对称算法变得微不足道,只是等待被发现。

公钥算法解决密钥交换问题,这就是TLS和所有其他安全协议如何使用它们。对称算法用于保持数据私密性并保护其完整性。

+3

+1非对称密钥显然比对称密钥更容易破解。您只需要检查两者的安全密钥长度。一个1024位的RSA密钥比128位的AES密钥安全得多。 – JeremyP 2010-09-06 09:19:48

+0

我想补充一点,这就是为什么将TLS/SSL与一个好的随机数生成器结合起来以确保对称密钥不易被猜出(密码套件的合适选择也有所帮助)的原因。就我所知,对称密钥的(不)可破坏性的条件已经在数学上得到了证明,而对于非对称密钥,它仍然基于关于素数的猜想。 – Bruno 2010-09-06 13:03:29

+1

还要考虑到使用公钥算法,攻击者也可以执行加密函数 - 这意味着如果明文结构太多,他们可以“猜测并加密”。如果你的明文只是一个随机生成的对称密钥,那么这并不重要,但如果它是任意数据(比如说HTTP),那么它确实如此。 – caf 2010-09-07 00:36:06

6

作为一般的规则,可以说,非对称算法得多计算比对称算法密集的。因此,使用非对称算法交换将用于交换数据的对称密钥是非常常见的情况。它也被认为是足够安全的安全智慧。

  • 你可以使用不对称算法的一切吗?你当然可以。
  • 你可以在SSL内完成吗?我不知道。
2

是的,你可以,如果你提供你自己的SSL实现 - 因为这不是原始的SSL设计。 (顺便说一句,使用TLS--它非常类似,但更安全)。

0

对称密钥使用相同的密钥来加密和解密数据。最大的问题是将它们发送给接收器。因此鼓励使用非对称密钥,它们有私钥和公钥。

对称密钥通常用于加密更快的大量数据。之后,我们再次使用非对称算法将此数据发送给接收器。