我受到了挑战,它与测试朋友的加密过程有关.
这是一个Diffie-Hellman交换过程,这里是已知的变量/常量:
> P,G
>我生成的私钥(变量)
>我生成的公钥(变量)
>收件人公钥(常量).
查看我的私钥时 – P和G都在其中.例如,第一个’x’字节似乎与任何东西都没有关系,那么接下来的’y’字节是P,接下来的两个字节是静态的,下一个’z’字节是G,其余的是可变的.
这个过程是加密文件,并将其发送到设备,然后设备将其解密 – 我的攻击思路是这样的:
>尝试复制秘密共享密钥.这里的问题是只要我知道我生成的私钥就可以了,在这种情况下 – 我不知道他给我的文件.
>尝试查找收件人私钥.在这里,我可以强行进入 – 但除非我有某种超级计算机,否则将永远消失.
试图攻击时还有其他选择吗?
最佳答案 我可能应该闭嘴,但对于那些对Diffie-Hellman感兴趣的人来说,这也是一个机会:
>简单实现Diffie-Hellman以生成共享密钥容易受到中间人攻击.但是,DH的大多数实现都是通过在Alice和Bob之间添加身份验证来正确解决此问题.
>如果你的DH实现允许声明一组新的PQG,你可以请求另一个对等体使用一个新的弱集.如果Bob没有验证该集的质量,那么它很容易受到攻击.
> DH要求Alice发送X = g ^ x,如果Bob没有检查X的质量,他是脆弱的,因为秘密密钥的可能值的空间可以通过中间的Eve显着减少.
>如果您的实现不记得受损密钥,则Eve可以重复使用它们.
>如果您的实施不记得受损的证书,Eve可以重复使用它们.
>如果您的实施没有检查证书,Eve肯定会玩得很开心.