DH密钥交换算法是密码学家提出的第一个公钥密码算法,该算法以其提出者(Diffie和Hellman)的名字的首字母命名。DH密钥交换算法的主要目的是为通信双方生成一个共享的秘密。这个双方共享的秘密可以用于不同的目的,例如作为对称加密原语的密钥。
假设
参与方,二人:
- Alice
- Bob
模拟案例1:
已知条件
公钥:8
Alice的私钥:5
Bob的私钥:3
各自使用的公钥
Alice的公钥:5+8=13
Bob的公钥:3+8=11
共享公钥:
Alice端:11+5=16
Bob端:13+3=16
可以看到,所有参与方,只有一个共享密钥16。
此时Bob和Alice所使用的公钥是一致的,他们都可以用这个共享公钥实现加密。
说明
这里例子比较简单,别人可以通过公钥“8”,以及某个人的公钥,例如
- 通过Alice的公钥13,推断出Alice的私钥是5
- 通过Bob的公钥11,推断出Bob的四要是3.
实际上,这里是我们举了一个简单的例子。实际上公钥的计算并不是通过简单的加法实现的,并无法像加法一样,能够从某人的公钥推导出其私钥。