VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#编程 >
  • C#教程之Diffie-Hellman密钥协商算法(3)

本站最新发布   C#从入门到精通
试听地址  
https://www.xin3721.com/eschool/CSharpxin3721/

Kb=(Ya)B mod pKb=(Ya)B mod p 得到密钥 Kb,可以证明,必然满足 Ka=Kb。由此,Alice和Bob得到了相同的密钥,达成了密钥协商的目的。

证明:Ka=Kb

对于Alice有:

Ka=(Yb)Amod p=(gBmod p)A mod p=gB×A mod p

对于Bob有:

Kb=(Ya)Bmod p=(gAmod p)B mod p=gA×B mod p

上面的运算过程,可根据取模运算的性质可得【a ^ b % p = ((a % p)^b) % p】,由上可得,Alice和Bob生成的密钥其实是进行相同的运算过程,因此必然有 Ka=Kb

  • 如果存在一个窃听者Eve,他能否破解密钥呢?很显然Eve能够窃听到 p,g,Ya,Yb,所以问题转变了,Eve能否根据这些信息计算出 Ka 和 Kb ?要计算 Ka 和 Kb 需要知道A和B。

    以计算A为例,Eve能根据