当前位置: 首页 > news >正文

Diffie-Hellman协议简单介绍

文章目录

      • 1. 介绍
      • 2. 数学背景介绍
        • 2.1 幂模运算
        • 2.2 幂模的结合律
      • 3. DHKE协议过程
      • 4. 中间人攻击
      • 原文
      • UPD

1. 介绍

Diffie-Hellman协议是一种公钥协议,用于对称密钥的分发问题。

2. 数学背景介绍

2.1 幂模运算

就是一个数的多少次幂对另一个数取模
c = b e   m o d   m c = b^{e} \bmod m c=bemodm
c c c就叫作 b b b e e e次方对整数 m m m的模。

公钥体系一般都基于计算简单的单向性;

什么意思呢? 就是如果你知道 b b b e e e c c c是容易的,而如果你知道 b b b c c c反过来求 e e e则是很困难的。

因此我们就可以利用这个特性来实现公钥体系。

2.2 幂模的结合律

( c b     m o d     p ) a ≡ c a b ≡ c b a ≡ ( c a   m o d   p ) b (     m o d     p ) (c^b\ \bmod\ p)^a \equiv c^{a^b} \equiv c^{b^a}\equiv (c^{a} \bmod p)^b \quad (\ \bmod\ p) (cb mod p)acabcba(camodp)b( mod p)

3. DHKE协议过程

  • 协商大素数 P P P和原根 G G G
  • 客户端生成私钥 a a a和公钥 A A A
    • A = G a     m o d     p A=G^a\ \bmod\ p A=Ga mod p
  • 服务端生成私钥 b b b和公钥 B B B
    • B = G b     m o d     p B=G^b\ \bmod\ p B=Gb mod p
  • 客户端发送自己的公钥 A A A
  • 服务端发送自己的公钥 B B B
  • 客户端根据自己私钥 a a a和服务端公钥 B B B计算共享密钥
    S 1 = B a     m o d   P S1=B^a\ \bmod P S1=Ba modP
  • 服务端根据自己私钥 b b b和客户端公钥 A A A计算共享密钥
    S 2 = A b     m o d   P S2=A^b\ \bmod P S2=Ab modP

根据上面的幂模性质,我们可以知道 S 1 = S = S 2 S1=S=S2 S1=S=S2,由此共享密钥也被计算出来。

4. 中间人攻击

公钥体系并不能完全保证安全,因为可能存在一个中间人截获了大素数 P P P和原根 G G G,
再分发两把公钥,和两个人分别建立通信。

在这里插入图片描述

原文

zhihu-yizhen

UPD

证明幂模性质待补充

相关文章:

  • Java入职篇(3)——Linux常用指令
  • Ubuntu上部署Flask+MySQL项目
  • 【C++】每日一练(链表的中间结点)
  • 蓝桥云客 挖矿
  • `gradio save_to_cache permission denied`
  • LeeCode题库第1456题
  • Linux应用:进程的回收
  • 2018年全国职业院校技能大赛高职组-计算机网络应用竞赛竞赛样题C卷
  • springboot+springai调用deepseek实现与大模型对话聊天
  • Log4j2漏洞攻略
  • H.264视频编解码:从原理到应用
  • 【日志队列】log日志实时写入队列,流式输出
  • 【Java 基础(人话版)】进制转换
  • 【区块链】以太坊
  • 什么是云原生?
  • 前端主题切换架构设计方案
  • 蓝耘携手通义万象 2.1 图生视频:开启创意无限的共享新时代
  • 【软设中级】软件设计师中级专题复习:(专题二)程序语言部分
  • 从AI产品经理视角深度剖析Manus:技术、定位与商业化的三重跃迁
  • 如何快速检测光模块内部光纤裂纹?
  • 戛纳打破“疑罪从无”惯例,一法国男演员被拒之门外
  • 总奖金池百万!澎湃与七猫非虚构写作与现实题材征文大赛征稿启动
  • 深圳南澳码头工程环评将再次举行听证会,项目与珊瑚最近距离仅80米
  • 《大风杀》导演张琪:为了不算计观众,拍了部不讨好的警匪片
  • 四个“从未如此”使巴以加沙战火绵延时间创下历史之最
  • 杞支雅男评《1517》|放眼世界,立足德国