Mac

SIV - 合成 IV - S2V 構造?優於 MAC 或雜湊的好處?

  • May 30, 2016

查看 rfc-5297 中的 SIV 結構 - https://www.rfc-editor.org/rfc/rfc5297

關於 SIV 的生成,使用 S2V 構造,我正在努力尋找將 MAC 程式碼組合在一起的所選方法的好處,並且有一些我正在努力解決的問題:

  1. 與現代 MAC 和/或雜湊函式相比,加倍和異或有什麼好處?例如,如果您使用以下內容,安全性有何不同?

$ MAC( MAC( $ X $ 0), … MAC( $ X $ i)) $ 代替

dbl_Xor(MAC( $ x $ 0), … MAC( $ X $ i)) 其中 xi 代表 0 < i < blocksize-1 的標頭輸入。

  1. 查看 MAC 的選擇,如果它是安全 PRF,則證明有效。作者選擇了 CMAC 並列出了可以在不同情況下使用的替代方案。這個論壇上有很多關於密碼與非基於密碼的 MAC 的討論,差異主要歸結為減少了您需要信任的組件數量。鑑於此,對於 SIV 構造,您可以使用 MAC 的現代雜湊而不是 CMAC 嗎?比如說 SHA3 或 Skein-MAC(它也基於可調整的密碼)。?

謝謝並恭祝安康

Rogways 關於算法的論文更詳細:http ://web.cs.ucdavis.edu/~rogaway/papers/keywrap.pdf並討論了更多關於設計原理並提供證明(比 RFC 更多)。

我發現SIVS2V有很多好處。對我來說,最重要的是它可以在沒有 nonce 的情況下使用。第二個最重要的是該模式建立在廣泛可用的操作模式之上,但另一方面僅使用單個 128 位密碼(通常是 AES,只是前向密碼功能)。如果實現者有一些可用的 SW 加密庫或 FIPS 140-2 驗證的加密模組,則很可能那些具有 AES-CTR 算法和 AES-CMAC 算法(如果它們具有 AES-CBCMAC 或 AES-CBC,則可以建構 AES-CMAC容易地)。

但問題不在於這些好處。所以我解決了以下問題:

回答第一個問題

S2V 構造中的操作加倍和異或主要是為了易於實現但足夠安全。因此,

$ MAC( MAC( $ X $ 0), … MAC( $ X $ i)) $

代替

dbl_Xor(MAC( $ x $ 0), … MAC( $ X $ 一世))

再次呼叫 MAC 函式。對於 S2V 中的典型段數量,這對於許多實現來說是一個減速。

S2V 的最典型輸入字元串數量包括:

  1. 沒有隨機數的純文字或經過身份驗證的數據
  2. 帶有隨機數的明文或經過身份驗證的數據;或帶有其他經過身份驗證的數據的純文字,沒有隨機數
  3. 帶有隨機數的純文字和其他經過身份驗證的數據

因為設計人員想要一個可以輕鬆處理任何這些情況的功能,所以他們設計了 S2V,它可以處理任何這些情況,甚至更多。通常,額外的經過身份驗證的數據實際上是多個單獨欄位的組合,因此可以將其作為多個單獨的欄位提供給 S2V,而不需要指定組合欄位的格式,這可以被視為非常方便。

回答第二個問題

SIV模式為 AES-CTR 和使用**S2V算法的身份驗證標籤生成 128 位 IV 。因此,使用SIV模式可能無法實現替代 MAC 算法的最突出優勢,即更大的標籤大小。目前,許多附加認證加密模式旨在簡化設計,使其設計依賴於盡可能少的底層密碼和其他組件。對 MAC 使用單獨的算法將違背該目標。此外,類似的預先存在的算法,如 AES-CCM(不防密碼誤用,但除 SIV-AES 之外的許多相同用途)已經只需要一個 128 位分組密碼並且僅使用前向功能。

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