改進DH算法使其抵禦中間人攻擊的方法是:在途中根據需要修改它們的密文,使得A和B都不知道他們在和C***享通信。
DH算法的缺點是沒有提供雙方身份的任何信息.。它是計算密集性的,因此容易遭受阻塞性攻擊,即對手請求大量的密鑰。受攻擊者花費了相對多的計算資源來求解無用的冪系數而不是在做真正的工作.,沒辦法防止重演攻擊。
容易遭受中間人的攻擊,第三方C在和A通信時扮演B;和B通信時扮演A.A和B都與C協商了壹個密鑰,然後C就可以監聽和傳遞通信量。
擴展資料:
基於原根的定義及性質,可以定義Diffie-Hellman密鑰交換算法.該算法描述如下:
1、有兩個全局公開的參數,壹個素數q和壹個整數a,a是q的壹個原根。
2、假設用戶A和B希望交換壹個密鑰,用戶A選擇壹個作為私有密鑰的隨機數XA(XA<q),並計算公開密鑰YA=a^XA mod q。A對XA的值保密存放而使YA能被B公開獲得。類似地用戶B選擇壹個私有的隨機數XB<q,並計算公開密鑰YB=a^XB mod q。B對XB的值保密存放而使YB能被A公開獲得。
3、用戶A產生***享秘密密鑰的計算方式是K = (YB)^XA mod q.同樣,用戶B產生***享秘密密鑰的計算是K = (YA)^XB mod q.這兩個計算產生相同的結果:
K = (YB)^XA mod q = (a^XB mod q)^XA mod q = (a^XB)^XA mod q? = a^(XBXA) mod q = (a^XA)^XB mod q = (a^XA mod q)^XB mod q = (YA)^XB mod q 因此相當於雙方已經交換了壹個相同的秘密密鑰。百度百科-Diffie-Hellman