Diffie-Hellman密钥交换|离散对数|密码学|网络空间安全

概述

两个人在互联网上去传递机密信息,需要双方共用一个相同的密钥,而互联网是一个不安全的环境,所以双方如何安全的互换秘钥就成了大问题。Diffie–Hellman 密钥交换方法就是一套解决方案,可以让大家在不安全的通道内安全的互换密钥。

离散对数问题

我们经常会听见求解离散对数是很困难的事情,但是什么是离散对数?

先看一下对数是什么:

i就是以a为底的b的对数,记做

而在模运算中也有类似的函数,是

p是一个素数,ap的一个本原根(即生成元),则 在模p后产生出1p-1的数,每个值仅出现一次。因此对任意的1<=b<=p-1,都存在唯一的i,使得 %p,我们称i就是模p下以a为底b的指标,记做 ,这就是离散对数

举个例子,p = 11, a = 2;

%p的序列为:2 4 8 5 10 9 7 3 6 1

 

总的来说:

%p = b

当给定大素数 p, 本原根 a,以及一个 b时求解 i 是非常困难的

Diffie-Hellman密钥交换

Diffie-Hellman密钥交换就是利用求解离散对数的困难性来设计的

Diffie-Hellman密钥交换的原理

  • 通信双方A和B约定一个大素数p,和一个本原根(即生成元)g,这都是可以公开的,被别人知道了也没关系
  • A自己随便取一个a,B也自己随便取一个b,a和b是不可以泄漏的,只有本人知道
  • 然后A计算 %p,B计算 %p,并进行交换,交换的结果也可以公开
  • A再求 ,B再求 ,会发现 ,记做K,这个K就可以作为两个人独享的共享密钥

安全性问题

我们从外人的角度来看看如何获取他们的密钥

已知的是p,g,aa,bb,想得K,就需要知道a或者b,但是我们上面解释了,求a,b的问题是一个求解离散对数的问题,可以认为在大素数的情况下是不可解的,所以就不能侦破K,所以是安全的

博客内容均系原创,未经允许严禁转载!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇