Diffie Hellman密钥交换
Diffie-Hellman算法是Whitefield Diffie和Martin Hellman在1976年公布的一种密钥交换算法,它是一种建立密钥的方法,而不是加密方法,所以密钥必须和其他一种加密算法结合使用。这种密钥交换技术的目的在于使两个用户安全的交换一个密钥一遍后面的报文加密。
D-H原理
上图很经典
它的数学基础就是离散对数这个数学难题。用它进行密钥交换的过程简述如下:
选取两个大数p和g并公开,其中p是一个素数,g是p的一个模p本原单位根(primitive root module p),所谓本原单位根就是指在模p乘法运算下,g的1次方,2次方……(p-1)次方这p-1个数互不相同,并且取遍1到p-1;
Background: 在单钥密码中,很容易出现bug;首先考虑如何安全传输密钥呢?
principle:离散对数: 对于一个素数p,q,已知x,求 y =