主题
Search

Diffie-Hellman 协议


Diffie-Hellman 协议是一种方法,允许两个计算机用户生成一个共享私钥,然后他们可以使用该密钥通过不安全的信道交换信息。假设用户名为 Alice 和 Bob。首先,他们约定两个质数 gp,其中 p 很大(通常至少 512 位),而 g 是模 p原根。(在实践中,最好选择 p,使得 (p-1)/2 也是质数。)数字 gp 不需要对其他用户保密。现在 Alice 选择一个大的随机数 a 作为她的私钥,Bob 类似地选择一个大数 b。然后 Alice 计算 A=g^a (mod p),她将其发送给 Bob,Bob 计算 B=g^b (mod p),他将其发送给 Alice。

现在 Alice 和 Bob 都计算他们的共享密钥 K=g^(ab) (mod p),Alice 计算为

 K=B^a (mod p)=(g^b)^a (mod p)

Bob 计算为

 K=A^b (mod p)=(g^a)^b (mod p).

Alice 和 Bob 现在可以使用他们的共享密钥 K 交换信息,而无需担心其他用户获取此信息。为了让潜在的窃听者 (Eve) 这样做,她首先需要获得 K=g^(ab) (mod p),仅知道 gpA=g^a (mod p)B=g^b (mod p)

这可以通过从 A=g^a (mod p) 计算 a 或从 B=g^b (mod p) 计算 b 来完成。这是离散对数问题,对于大的 p 来说,在计算上是不可行的。计算模 p 的数的离散对数所花费的时间大致与分解与 p 大小相同的两个质数的乘积的时间相同,而 RSA 密码系统的安全性就依赖于此。因此,Diffie-Hellman 协议的安全性大致与 RSA 相当。


另请参阅

密码学, 公钥密码学, RSA 加密

此条目由 David Terr 贡献

使用 探索

参考文献

Diffie, W. 和 Hellman, M. "密码学新方向。" IEEE Trans. Info. Th. 22, 644-654, 1976.Hershey, J. E. 密码学揭秘。 纽约: McGraw-Hill, pp. 162-166, 2003.Schneier, B 应用密码学:协议、算法和 C 语言源代码,第二版。 纽约: Wiley, pp. 513-516, 1996.

在 中被引用

Diffie-Hellman 协议

请引用为

Terr, David. "Diffie-Hellman 协议。" 来自 MathWorld-- 资源,由 Eric W. Weisstein 创建。 https://mathworld.net.cn/Diffie-HellmanProtocol.html

主题分类