dh密钥交换协议

@Cainge

Diffie-Hellman密钥交换协议(python实现)

1、DH密钥交换过程

假设Alice和Bob需要共享一个对称密码的密钥,这时,Alice和Bob可以通过下面的方法进行DH密钥交换,从而生成共享密钥。
1.Alice向Bob发送大素数P原根G,P和G可以由Alice和Bob中的任意一方生成。
2. Alice生成一个随机数A,A是一个1~P-2之间的整数。这个数是Alice的本地密钥,别人不知道。
3. Bob生成一个随机数B,B是一个1~P-2之间的整数。这个数是Bob的本地密钥,别人不知道
4. Alice将 A 2 ≡ G A ( m o d P ) A_2\equiv{G}^A(modP) A2GA(modP)这个数发送给Bob,这个数是公开密钥。
5. Bob 将 B 2 ≡ G B ( m o d P ) B_2\equiv{G}^B(modP) B2GB(modP) 这个数发送给Alice,这个数是公开密钥。
6. Alice用Bob发过来的数计算 K e y ≡ B 2 A ( m o d P ) Key\equiv{B_2}^A(modP) KeyB2A(modP),这个数就是共享密钥。
7. Bob用Alice发过来的数计算 K e y ≡ A 2 B ( m o d P ) Key\equiv{A_2}^B(modP) KeyA2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值