Diffie-Hellman秘钥交换算法
DH算法是第一个公钥方案
使用在一些常用安全协议或产品(例如SSH等)
密钥交换方案
不能直接用于有大量数据传输的保密通信
允许两个用户可以安全地建立一个共享的秘密信息,用于后续的通讯过程
该秘密信息仅为两个参与者知道
算法的安全性依赖于有限域上计算离散对数的问题
DH算法
通信双方/多方选择大素数P,以及p的一个原根a
用户A选择一个随机数Xa≤p,计算Ya=aXa mod p
用户B选择一个随机数Xb≤p,计算Yb=aXb mod p
每一方保密X值,而将Y值交换给对方
即:X是私钥,Y是公钥 (Xa是A的私钥,Ya是A的公钥)
双方获得一个共享密钥K=aXaXbmodp
对于用户A,计算出K= YBXa mod p (a有b的公钥YB)
用户B,可计算出K=YaXbmodp(b有a的公钥YA)
攻击者要获得K,需要求解离散对数
实际使用中,素数P以及P的原根a可由一方选择后发给对方
DH算法显然不能做加解密 它只能交换一个对称秘钥
相关推荐
湾区人工智能 2020-11-20
Pokemogo 2020-11-16
baijingjing 2020-11-16
baijingjing 2020-11-15
Site 2020-11-07
lwnylslwnyls 2020-11-06
justaipanda 2020-11-05
MachineIntellect 2020-11-02
xueyuediana 2020-10-30
GeraldJones 2020-10-30
Tips 2020-10-29
baijingjing 2020-10-28
baijingjing 2020-10-27
硕鼠 2020-10-26
playoffs 2020-10-26
scuyxi 2020-10-25
playoffs 2020-10-25
yise001 2020-10-23