迪菲·赫尔曼密钥交换

迪菲·赫尔曼密钥交换是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。

假设 A 和 B 要交换密钥,迪菲·赫尔曼密钥交换的过程如下:

  1. 首先,A 公开一个质模数和一个生成元,假设分别是 17 和 3。注意:质模数是一个质数,而且这个数越大越好。
  2. A 和 B 分别选取一个随机数,分别记做 x a x_a xa x b x_b xb,这个随机数只有自己知道,不对外公布,假设 x a = 15 x_a=15 xa=15 x b = 13 x_b=13 xb=13
  3. 两人分别将 x a x_a xa x b x_b xb 代入下式中的 x x x,求出 y y y y = 3 x   m o d   17 y=3^x \ mod \ 17 y=3x mod 17
  4. 我们将 A 求出来的 y y y 记做 y a y_a ya,将 B 求出来的 y y y 记做 y b y_b yb,不难算出, y a = 6 y_a=6 ya=6 y b = 12 y_b=12 yb=12,然后 A 和 B 公开交换 y a y_a ya y b y_b yb
  5. A 拿到 y b y_b yb 后,做如下计算: y s = y b x a   m o d   17 = 1 2 15   m o d   17 = 10 y_s=y_b^{x_a} \ mod \ 17=12^{15} \ mod \ 17=10 ys=ybxa mod 17=1215 mod 17=10
  6. B 拿到 y a y_a ya 后,做如下计算: y s = y a x b   m o d   17 = 6 13   m o d   17 = 10 y_s=y_a^{x_b} \ mod \ 17=6^{13} \ mod \ 17=10 ys=yaxb mod 17=613 mod 17=10
  7. 这时 A 和 B 拿到了相同的密钥——10,接下来 A、B双方就可以用这个密钥进行加密通信了。

在上述过程中,除了 A、B 自己选取的随机数外,其他信息都是公开的,即使被第三方获取到,只要质模数足够大,要想破解密钥几乎不可能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值