diffiehellman演算法
發布時間: 2023-04-01 13:26:44
這里給你一個流程上的通俗解釋:
DH演算法的最終目的是為了完成通信雙方對稱秘鑰的交互,但是它牛逼在即使處在不安全的環境(有人偵聽)也不會造成秘鑰泄露。
這里舉一個最簡單的反面例子:A和B要進行銀行密碼的交換,他們需要一個秘鑰來加密自己的信息,A發給B 『2』 作為暗號,B再回一個『2』,OK,以後他們發的所有信息都將加2(假設信息都是數字且運算不會溢出)。現在C偷聽到了,A發一個『456』給B,那麼完蛋了,C知道A的銀行密碼是『234』了。
有了DH就不一樣了,A和B協定用23和5運算,A想了一個6(這個數字不用發給B),用23和5算出來一個8,發給B; B想了一個15(這個數字也不用發給A),算出來一個19又發給A;
現在A用B發過來的19可以算出2,B用A發過來的8算出來也是2,所以他們以後發的信息都是加2的。
假設C一直在偷聽,那麼他知道一開始用的是23和5,還有發送過程中的8和19,然而這並沒有什麼卵用,因為他有生之年算不出最後這個2,所以之後A和B交換的銀行密碼』456』 他也就沒法破解了。
至於「為什麼要選擇23和5、8和19還有最後的2是怎麼算出來的、為什麼C有生之年都算不出來」見wiki-迪菲-赫爾曼密鑰交換
熱點內容