百科问答小站 logo
百科问答小站 font logo



Diffie-Hellman密码交换是如何运作的? 第1页

  

user avatar   guo-wu-xin 网友的相关建议: 
      

使用对称加密算法时,密钥交换是个大难题,所以Diffie和Hellman提出了著名的Diffie-Hellman密钥交换算法。

Diffie-Hellman密钥交换算法原理:


上图很经典

它的数学基础就是离散对数这个数学难题。用它进行密钥交换的过程简述如下:

选取两个大数p和g并公开,其中p是一个素数,g是p的一个模p本原单位根(primitive root module p),所谓本原单位根就是指在模p乘法运算下,g的1次方,2次方……(p-1)次方这p-1个数互不相同,并且取遍1到p-1;

对于Alice(其中的一个通信者),随机产生一个整数a,a对外保密,计算Ka = g^a mod p,将Ka发送给Bob;

对于Bob(另一个通信者),随机产生一个整数b,b对外保密,计算Kb = g^b mod p,将Kb发送给Alice;

在Alice方面,收到Bob送来的Kb后,计算出密钥为:key = Kb^a mod p = g^(b*a) mod p mod p;

对于Bob,收到Alice送来的Ka后,计算出密钥为:key = Ka ^ b mod p = g^(a*b) mod p mod p。

攻击者知道p和g,并且截获了Ka和Kb,但是当它们都是非常大的数的时候,依靠这四个数来计算a和b非常困难,这就是离散对数数学难题。

       (1)Alice与Bob确定两个大素数n和g,这两个数不用保密  (2)Alice选择另一个大随机数x,并计算A如下:A=gxmod n  (3)Alice将A发给Bob  (4)Bob  选择另一个大随机数y,并计算B如下:B=gymod n  (5)Bob将B发给Alice  (6)计算秘密密钥K1如下:K1=Bxmod n  (7)计算秘密密钥K2如下:K2=Aymod n   K1=K2,因此Alice和Bob可以用其进行加解密     



  

相关话题

  对电脑一点都不了解可以学习信息安全技术吗? 
  超理论坛是个怎样的论坛? 
  本人高中生,对数学很感兴趣,求推荐一下大学数学应该看的书和方法? 
  这个数列极限的定义反过来为什么就不行? 
  一个关于新的磁场解释的初级模型 3.1(简化为了等待讨论新内容),可以完善吗? 
  有关银河系搭车客指南的理解上的问题? 
  这种游戏规则是否有必胜策略? 
  你最喜欢的公式/定理是? 
  C 语言用 换行后就无法再回到上一行了吗? 
  想知道为什么知乎上的高中生学习都这么厉害? 

前一个讨论
有没有那种感觉,自从俄乌冲突以后,对欧美来源的信息和新闻都无法直视,无法相信了?
下一个讨论
上海母女隐瞒行程获取绿码来杭州,不规范戴口罩,坐地铁逛商场长达 7 小时,现在确诊,你怎么看?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利