这种攻击从一端加密,在另一端解密在,在中间匹配结果。
第一步:P1和P2通过DH算法加密进行通信,P3(中间人)在监听他们,首先得到n和g值。
第二步:P1选择X1的值,P2选择Y2的值,P3选择X3和Y3的值,不必和相应的X1和Y2相同。
第三步:P1计算A1的值,P2计算B2的值,P3计算A3和B3的值。
第四步:P3截获P1和P2相互发的A1和B2,然后将A3发给P2,B3发给P1。
第五步:P1计算密钥K11,P2计算K22,P3计算K31和K32,而其中K11=K32,K22=K31。
第六步:P3截获P1发的信息,用K32解密后阅读,再通过K31加密后发给P2。而P1和P2根本不知道有P3在监听而以为是他们两个直接在通信。