4

我遇到了一个挑战,它与测试朋友的加密过程有关。

这是一个 Diffie-Hellman 交换过程,这里是已知的变量/常量:

  • P,G
  • 我生成的私钥(变量)
  • 我生成的公钥(变量)
  • 收件人公钥(常量)。

查看我的私钥时 -P并且G都在其中。例如,前 'x' 字节似乎与任何东西无关,然后接下来的 'y' 字节是P,接下来的两个字节是静态的,接下来的 'z' 字节是G,其余的都是可变的。

该过程是加密文件,然后将其发送到设备,然后设备将对其进行解密-我的攻击思路是:

  1. 尝试复制秘密共享密钥。这里的问题是只要我知道我生成的私钥就可以了,在这种情况下 - 我不喜欢他给我的文件。

  2. 尝试找到收件人的私钥。在这里,我可以蛮力闯入——但除非我有某种超级计算机,否则我会花很长时间。

尝试攻击时还有其他选择吗?

4

1 回答 1

2

我可能应该闭嘴,但对于那些对 Diffie-Hellman 感兴趣的人来说,这也是一个学习一些东西的机会:

  1. Diffie-Hellman 生成共享密钥的简单实现容易受到中间人攻击。但是,大多数 DH 实现通过在 Alice 和 Bob 之间添加身份验证来正确解决这个问题。

  2. 如果您的 DH 实现允许声明一组新的 PQG,您可以请求其他对等方使用新的弱集。如果 Bob 不验证这个集合的质量,那么它很容易受到攻击。

  3. DH 要求 Alice 发送 X = g^x,如果 Bob 不检查 X 的质量,他很容易受到攻击,因为中间的 Eve 可以显着减少密钥的可能值空间。

  4. 如果你的实现不记得泄露的密钥,它们可以被 Eve 重新使用。

  5. 如果你的实现不记得被泄露的证书,它们可以被 Eve 重新使用。

  6. 如果你的实现不检查证书,Eve 肯定会很开心。

于 2011-08-05T17:15:27.510 回答