所以Diffe Hellman受到MITM攻击,双方交换:
X = g ^ x mod n且Y = g ^ y mod n。
现在可以通过使用Rivest Shamir互锁协议来保护它,我们将消息分成两部分并逐位交换。我想知道的是我们如何将g ^ x mod n分成两部分用于Rivest Shamir?
答案 0 :(得分:0)
你真的读过Rivest和Shamir的论文吗?它很好地解释了协议的用途以及它的设计方案:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.159.1673&rep=rep1&type=pdf
我不知道这对Diffie-Hellman非常适用,因为协议的目的是验证公钥是否实际生成私钥。
如果您只是对实现Diffie-Hellman感兴趣,那么您需要为DH实现选择一个具体的组,并为其元素选择一个位编码。在实践中,您实际上并不使用group元素的直接位编码作为键,但是您应用了一个随机性提取器,它会为您提供一个用作键的位字符串。
随机性提取器非常棘手,但最近有一些关于它们的论文,你可以用google轻松找到它们。