Diffie-Hellman密钥交换

本文详细解析了Diffie-Hellman密钥交换算法的步骤与数学原理,通过实例展示了如何在不安全的信道上安全地交换密钥。

0x00.前提

  1. 公开一个生成器(generator),如:3 mod 7
  2. 双方各选择一个私有随机数

0x01.示例

 理论示例
step 1 生成一个A,B双方认可的生成器G()生成器G模型,n为私有随机数
G(n)=3^n mod 17
step 2双方各选择一个随机数 a,ba=15,b=13
step 3双方分别将各自的随机数放入生成器计算密钥c,d
G(a)=c
G(b)=d
G(a)=3^15 mod 17 = 6=c
G(b)=3^13 mod 17 = 12=d
step 4互相交换各自生成的数值交换后,A拥有15和12,B拥有13和6
step 5将生成器中的底数和质数用私有数和对方生成数替换将模型中的底数3替换为对方的密钥,质数为各自私有数
A:12^15 mod 17 =10
B:6^13 mod 17=10

联立step 3和step 5可得:

A:(313 mod 17)15 mod 17 = 313^15 mod 17

B:(315 mod 17)13 mod 17 = 315^13 mod 17

指数交换值不变。

http://chestnut-phoenix.xyz/docs/notes/diffie-hellman密钥交换/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值