最有效的公钥加密方法

时间:2010-07-02 18:59:33

标签: security language-agnostic encryption performance public-key

关于非对称公钥加密似乎有很多炒作。 RSA,PGP ...等。您有一组两个密钥并分配一个密钥,因此只有您可以加密消息,只有您可以解密消息。一种方法提供了验证发件人的方法,而另一种方法提供了一种保护邮件的方法。 (如果我错了,请随意纠正我。)

现在,我也在阅读关于Diffie-Hellman类密钥交换的内容。此似乎更安全,因为您可以验证发件人并使用密钥保护邮件,因为每个“会话”都需要计算出的“共享密钥”。

所以,我的问题是,在更标准的公钥加密形式下使用Diffie-Hellman是否有任何重大缺点(除了设置要求之外)?

或者说,更坦率地说。如果Diffie-Hellman更有意义,为什么不是加密的标准形式?

7 个答案:

答案 0 :(得分:5)

Diffie-Hellman密钥协议提供了一种建立公共密钥的方法,该密钥实际上不可能由被动对手确定,即只听取通信的人。

但是,基本的D-H容易受到man-in-the-middle攻击。换句话说,您可以建立共享密钥,但在活动攻击者存在的情况下,您不知道与共享密钥。

这就是公钥加密技术所在地。当您拥有某人的正版公钥时,您可以确保加密数据只能由该人读取。

确保给定的公钥真正属于某人是一个单独的问题,并且可以解决,例如Public Key Infrastructure

答案 1 :(得分:3)

对称加密比PKI快几个数量级/计算密集度更低。此外,密钥大小也存在差异。由于加密/解密不仅必须发生在CPU电源和RAM没有问题的服务器端,因此在客户端,您的移动设备可能会受到更多限制。

答案 2 :(得分:3)

对称和非对称密码是两个完全不同的东西。你无法直接比较它们。

对称密码用于加密具有共享密钥的邮件。这些算法包括DES,AES,河豚等。

非对称密码处理另一个问题,即密钥共享和签名。通过能够拥有公钥,可以通过无法修改的通道分发该密钥。其他人可以阅读密钥;只要他们不能改变它就没有问题。

如果其他人可以改变消息(通常在任何地方都是如此),那么它就会变得更加复杂。然后你需要使用数字签名。基本上有一个中央权威机构签署公钥(证书也是公钥)。每个人都预先安装了证书颁发机构的公钥(通常与操作系统捆绑在一起),因此可以通过使用权限的公钥检查签名来验证证书是否可信。这被称为PKI(公钥基础设施),它在各地使用。最突出的例子是SSL。

阅读它。

答案 3 :(得分:2)

正如Krystian所说,Diffie-Hellman允许您建立安全连接,但不允许您验证谁与建立安全连接。

但是,DH可以与RSA等公钥算法结合使用。这允许您验证对方的身份(使用RSA签名),并且Diffie-Hellman密钥交换为该方带来一个名为完全向前保密的属性。这意味着如果你和我今天谈话,明年有人偷了你的RSA私钥,他们仍然无法回去解密今天的谈话。普通的RSA密钥交换没有此属性。

答案 4 :(得分:0)

我可能错了,但维基百科中描述的算法在我看来就像是一种密钥加密。

双方选择一个秘密(私钥)并共享另一个与私钥相关的密钥(这是公钥)。

只是为了提供一些完整的图片: 在现实世界算法中,公钥加密用于交换密钥,然后用于使用对称算法加密主通信,这比PK加密快得多

答案 5 :(得分:0)

使用Diffie-Hellman通信方法必须注意的主要问题是它容易受到中间人攻击。

RSA无法做到这一点,因为只有创建公钥的人才能解密邮件,因此您可以完全放心地说正确的人正在阅读邮件。

Diffie Hellman对于与某人进行安全的双向沟通​​非常有用,只要你不太关心某人是谁。

答案 6 :(得分:0)

RSA的主要问题是它很慢。事实上,PGP的早期版本(我不确定现代版本的功能,可能没有改变)是使用Diffie-Hellman密钥交换将密钥分发给某些快速对称密码,然后只使用它消息的主体。

相关问题