首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们需要迪夫·赫尔曼?

为什么我们需要迪夫·赫尔曼?
EN

Cryptography用户
提问于 2012-07-07 11:38:32
回答 1查看 7.9K关注 0票数 18

Diffie-Hellman提供安全的密钥交换,只有当双方被认证。对于身份验证,双方使用公钥/私钥。因此,如果侧A知道B端的公钥,则A可以简单地使用该密钥加密消息(或新会话密钥)。

为什么要使用单独的密钥交换算法呢?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2012-07-07 12:13:40

我想您是在谈论SSL/TLS或类似的协议。在这些协议中,使用Diffie-Hellman有两个原因:

  1. 您的证书只支持signing,或者它是一个仅限于签名的RSA证书,或者它使用了一种不支持加密的算法,例如DSA或ECDSA。
  2. 前向安全 -如果服务器的私钥以某种方式被泄露,会发生什么?如果您只是将会话密钥加密到服务器的公钥,那么过去与该服务器的所有通信都可以被解密。如果使用的是短暂的Diffie-Hellman密钥交换,那么私钥泄漏不会将过去的通信连接起来,因为用于密钥交换的密钥早已消失,泄漏的长期密钥仅用于身份验证,而不是用于保密。
  3. 您不知道其他side的公钥--在某些情况下,您不知道对方的公钥,但是您有一种不同的方法来验证它们。在这种情况下,您可以使用匿名Diffie-Hellman与另一种方式。例如,TLS以一种针对MitM的安全方式支持基于对称共享秘密的身份验证。

其他一些协议,如CurveCP,使用EC Diffie-Hellman进行身份验证和密钥交换。在这种情况下,它们受益于椭圆曲线比RSA具有的性能优势。

票数 20
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/3163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档