Authenticated-Encryption
單算法認證加密
是否有任何經過身份驗證的加密方法結合了加密和身份驗證,而不是使用單獨的密碼和 MAC?
是的。如果您正在尋找圍繞單個原語包裝的 AEAD 密碼,那麼CEASAR競爭中有幾個用於經過身份驗證的加密。
基於海綿結構的 AEAD 密碼僅使用一個原語,即海綿排列的 F 函式。其中包括NORX、Keyak、PRIMATEs-APE和 ICEPOLE,這是我覺得最有趣的 4 個。
所有這些都使用了一個中心置換,它生成一個流來加密明文,接受明文來改變流生成狀態,最後生成認證標籤。
Keyak 還提供生成中間標籤的能力,因此可以在傳輸完成之前擷取密文錯誤。NORX、ICEPOLE 和 Keyak 提供並行海綿模式以提高性能,PRIMATEs-APE 和 ICEPOLE 提供秘密消息編號以使其在某些條件下抗隨機數誤用。我相信 Keyak 已被修改以提供相關數據的增量添加,PRIMATEs-APE 也提供。
我沒有研究過基於排列的密碼,但它們也可以由單個原語建構。
可以建構一個分組密碼模式來創建一個單一的原始 AEAD 密碼,但它與專用密碼相比會存在性能缺陷。我在 AES 上建構了一個,它相當快,幾乎與每個塊的 OCB 一樣快,而且啟動和完成時間更長。使其專門圍繞 AES 輪函式建構,使其比具有硬體加速的 OCB 更快,但作為一種模式,它可以與任何 128 位分組密碼一起使用。我的動機是在 32 位程式碼中生成 OCB 偏移的複雜性。