Encryption

E 在 Diffie Hellman 協議中是什麼意思?

  • May 29, 2022

我正在尋找一個使用 Diffie Hellman 驗證使用者身份的協議範例,其工作原理如下:

  • 客戶端發送:$g^x$ID-Number
  • 伺服器響應:$g^y$,$E_H_{pwd} challenge$
  • 客戶回复:挑戰

我知道g^xg^y是 Diffie Hellman 鍵,加上它H是一個雜湊函式,而 pwd 是使用者的密碼,但E這裡是什麼意思?

在此處輸入圖像描述

$ E $ 是密鑰對稱加密函式,例如 AES 或 CHACHA。密碼的散列被用作加密函式的密鑰,“挑戰”被用作明文。客戶端可以恢復挑戰值,因為他們知道自己的密碼,並且可以對其進行雜湊處理以檢索對稱密鑰並解密。對於不知道(或無法計算)客戶端密碼雜湊的任何人來說,這將是困難的。

$ E_{H_{\text{pwd}}} (\text{challenge}) $

這是挑戰的對稱加密,使用密碼的雜湊作為密鑰。

也就是說,如果密碼具有弱熵(人類輸入的密碼往往具有),則該協議並不是那麼好。如果有竊聽者,他會聽到明文 $ \text{challenge} $ 以及對應的密文 $ E_{H_{\text{pwd}}} (\text{challenge}) $ ; 他能做的就是檢查他的密碼字典,對每一個密碼進行雜湊處理,嘗試解密密文,看看他是否得到了已知的明文。

引用自:https://crypto.stackexchange.com/questions/100350