DH密鑰交換是一種安全協議,它可讓雙方在不安全的信道上建立一個密鑰。雙方互相發送的數據就算被第三方知曉,也沒法知道加密信息的密鑰。安全
其解決問題的主要思想能夠用下圖來解釋: 微信
Alice和Bob想要協商出一個只有它們兩人知道的顏色,不能讓第三方知道,怎麼辦呢?解決辦法以下:加密
這裏的關鍵是,混合後的顏色,人們沒法知曉是由哪兩種顏色混合而成的。由此,很容易想到數學難題,離散對數問題。數學描述以下: .net
這裏,只有Alice知道,只有Bob知道,是公開的,是最終計算出的共享密鑰。3d
通常描述以下:cdn
由於羣是乘法交換的,涉及到數論及代數的內容。Alice和Bob同時協商出,做爲共享密鑰。blog
最後,安全性問題,DH密鑰交換能夠防竊聽(即,你知道咱們交換的數據也不要緊),可是DH自己並無提供通信雙方的身份驗證服務(正確交換的前提是,Alice必須確保對方是Bob),沒法抵禦中間人攻擊。圖片
參考文檔:Diffie–Hellman key exchangeip
歡迎關注微信公衆號,天天進步一點點,Let's go! 文檔