是否有可能通过了解素数和发电机参数来“破解”Diffie-Hellman?

时间:2015-01-18 22:16:10

标签: security encryption cryptography diffie-hellman

我正在尝试理解Diffie-Hellman(DH)算法,因为我希望有两台计算机相互通信,但没有第三台计算机知道他们在说什么,而且还要交换他们将使用的秘密密钥。不安全的渠道。

问题是第三个也知道DH将如何处理,即常数参数。更具体地说, p g

DH algorithm

所以问题是,如果我知道 p g ,我能否发现Bob和Alice会使用8作为他们的密钥?

2 个答案:

答案 0 :(得分:2)

否你无法计算密钥,首先必须能够计算a(爱丽丝的秘密密钥)或b(鲍勃的秘密)密钥)这将要求evesdropper计算discrete logarithm,因为没有任何已知的有效算法可以计算出比Deffie_Hellmen非常安全的第三方(evesdropper)永远都不知道8是秘密密钥。 (请注意,正确选择pg对于进行安全密钥交换至关重要。)

答案 1 :(得分:0)

您必须小心选择发电机(必须生成整个组),并选择您的号码。

在乘法组mod p的特殊情况下,您最常谈论的是:

  1. 你的p必须是safe prime
  2. 您的发电机g必须是primitive root mod p
  3. 此外,您的实施可能容易受到时间和其他side channel attacks的影响。

    换句话说:不要这样做。密码学很难。使用library即可为您完成此操作。