Encryption

使用帶有 Authenticated DH 的 GCM 塊晶片是否有意義?

  • April 2, 2014

我正在通過 DH 交換提供共享密鑰,使用靜態密鑰進行簽名,使用臨時密鑰進行會話,那麼使用 GCM 加密數據是否有意義,或者簡單的 CBC/CTR 分組密碼就足夠了?

另外,我不確定對加密數據進行身份驗證有什麼意義,因為如果它被修改,它將在解密時產生垃圾,或者如果對手以某種方式獲得密鑰,他們也將能夠偽造身份驗證標籤。

除非您絕對確定不需要並且成本會很高,否則我絕對會說您應該使用經過身份驗證的加密。一個原因是位翻轉攻擊 - 在加密消息的“正確”點翻轉幾個位可能會導致一條合法的消息(典型的例子如果有人知道你的消息將採用這種形式,??<misc secret unknown format stuff>??? Send Bob ???<more unknown stuff>???那麼他們可以異或“愛麗絲”部分Bob $ \oplus $ Eve).

另一個可能對您產生影響的範例是重放攻擊,其中再次發送舊消息,並且由於您沒有對消息進行身份驗證,伺服器不會意識到這一點。某處有一個很好的參考舊電腦遊戲,玩家通過不斷重播“Killed Beast”消息設法作弊,但我現在找不到它。

你可能會發現這個問題很相關。

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