Authentication

流密碼的認證加密模式?

  • July 8, 2018

分組密碼具有 GCM 或 OCB 等模式,它們結合原語來提供身份驗證和加密。

流密碼是否有類似的結構,它只使用一個加密原語——實際的流密碼(或密鑰流)來提供身份驗證和加密?

對於流密碼,類似 OCB 的模式似乎是不可能的。它與密鑰排列的概念緊密耦合,即(可調整的)分組密碼。

許多經過身份驗證的加密實際上結合了兩個不同的原語。只是規範和 API 隻公開了組合。

本質上,這些異或密鑰流進入消息以對其進行加密(即它們使用同步流密碼),然後使用 MAC 驗證密文。他們經常使用部分密鑰流作為 MAC 的一次性密鑰。

  • AES-GCM是通過將稱為 GHash 的多項式一次性 MAC 與流密碼 AES-CTR 相結合而建構的。

雖然 AES 本身是一種分組密碼,但 AES-CTR 的行為類似於流密碼。GCM 不會以阻止使用流密碼的方式使用 AES。

  • Salsa20-Poly1305是通過將稱為 Poly1305 的多項式一次性 MAC 與流密碼 Salsa 相結合而建構的。
  • Poly1305-AES是通過將稱為 Poly1305 的多項式一次性 MAC 與流密碼 AES-CTR 相結合而建構的。

然後有一些流密碼無需單獨的原語即可提供身份驗證。這些結構不是同步流密碼,不能與一次性密碼或普通密鑰流一起使用。

  • HelixPhelix是經過身份驗證的流密碼,它們合併了身份驗證和加密。他們的安全性受到了一些批評,但我不確定這種批評是否真的有效。
  • 使用雙工構造的 Keccak(建立在未加密的排列上)可以被認為是經過身份驗證的流密碼

延伸到最佳答案

ACORN(輕量級認證密碼)是一種基於流的 AE 方案,是 CAESAR 的決賽入圍者之一。它在硬體方面優於 AES-GCM 模式,尤其是在受限環境(資源和能源消耗)和軟體(小程式碼量)方面。

參考: ACORN:輕量級認證密碼 (v3)

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