编程实现Diffie-Hellman 密钥交换协议
时间: 2023-08-22 07:09:28 浏览: 81
pyDH:Diffie-Hellman 密钥交换的纯 Python 实现
5星 · 资源好评率100%
以下是使用Python实现Diffie-Hellman密钥交换协议的示例代码:
```python
from random import randint
# 定义质数p和原根g
p = 23
g = 5
# 选择私钥a和b
a = randint(1, p-1)
b = randint(1, p-1)
# 计算A和B
A = (g ** a) % p
B = (g ** b) % p
# 计算共享密钥
s_a = (B ** a) % p
s_b = (A ** b) % p
# 输出结果
print("a的私钥为:", a)
print("b的私钥为:", b)
print("A的公钥为:", A)
print("B的公钥为:", B)
print("a计算出来的共享密钥为:", s_a)
print("b计算出来的共享密钥为:", s_b)
```
在这个例子中,我们使用23作为质数p,5作为原根g,并随机选择a和b作为私钥。然后,通过计算A和B来生成公钥,最后计算共享密钥s_a和s_b。最终输出a、b、A、B、s_a和s_b的值。
当然,在实际应用中需要选择更大的质数和原根,以及更长的私钥来保证安全性。
阅读全文