Skip to content

Diffie–Hellman 密钥交换

Diffie–Hellman key exchange

双方公开交换群幂并在离散对数型假设下导出共享秘密的协议。

条目类型
模型

形式陈述

在由安全参数 λ 生成的循环群 G=g 中,Alice 选随机 a 发布 ga,Bob 选 b 发布 gb,双方分别计算 (gb)a=(ga)b=gab。协议正确性只来自指数律;CDH定义从公开群幂计算 gab 的成功实验,DDH则定义 DH tuple 与随机 tuple 的判别游戏,二者不与协议本身合并。基础协议不认证身份,主动中间人可分别与两端建立不同密钥。

直觉

Diffie–Hellman 让双方公开交换各自的一次幂 ga,gb,再利用指数乘法的交换性,以私有指数计算同一个二次组合 gab。群、生成元与参数验证属于具体协议条件;底层计算假设只覆盖其游戏授予的 PPT 对手能力,不会因为公开值“看不出规律”而自动成立。原始协议只建立共享秘密,不认证对方身份,因此会遭中间人分别协商两个密钥。

Diffie–Hellman 的共享群幂
例子与边界

有限域乘法群和椭圆曲线群都可实例化。群参数必须避免小子群和无效点攻击,临时指数应随机并保密。静态 DH、临时 DH 和混合协议提供不同前向保密与认证性质。离散对数、CDH 与 DDH 是不同任务;尤其带高效配对的群可能让 DDH 易判而 CDH 仍被假设困难。

在模 23 乘法群中取 g=5,Alice 选 a=6 得公开值 56mod23=8,Bob 选 b=1519。Alice 算 196mod23=2,Bob 算 815mod23=2,得到相同共享值;现实中再经 KDF 派生会话密钥。

小群只是演示,毫无安全性。未验证群元素可能遭小子群攻击;静态密钥、临时密钥和签名绑定决定认证与前向保密属性。共享群元素不应直接当作多个用途的密钥。

推论与应用

Diffie–Hellman 是 公钥密码 体系的重要密钥协商原语,也是 TLS、SSH、Signal 等协议的基础构件,安全证明常使用 计算安全 假设。与 数字签名 或预共享认证结合可阻止中间人,TLS 等协议采用临时椭圆曲线 DH 获得前向保密。

参考资料
  • Whitfield Diffie and Martin E. Hellman, New Directions in Cryptography, IEEE Transactions on Information Theory 22(6), 1976,pp. 644–654。
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Chs. 2–12。
关系图谱11 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组