Cryptanalysis

是否有任何現有分析可以將可調整的塊密碼轉換為 PRF?

  • September 25, 2013

我基本上是在研究這種結構以轉變可調整的塊密碼 $ E_c(x) $ 拿鑰匙 $ k $ , 隨機數 $ n $ , 櫃檯 $ c $ (形成調整 $ t = c||n $ ) 和一個輸入 $ x $ 進入任意長度消息的 PRF $ M $ 有 $ m $ 塊。無需再費周折:

$$ tag = E_0(E_1(M_1) \oplus \dots \oplus E_{m-1}(M_{m-1}) \oplus M_{m} \oplus E_{\ell + |M_m|}(0) \oplus E_{\lambda + |M_m|}(0)) $$ $ l $ 是一個大於任何合法值的常數 $ m $ . $ \lambda $ 大於任何合法值 $ l + |M_m| $ . $ |M_m| $ 是最後一個塊的長度,最後兩個元素的異或 $ M_{m} \oplus E_{\ell + |M_m|}(0) $ 被截斷為 $ |M_m| $ 字節。 $ E_{\lambda + |M_m|}(0) $ 不被截斷。

我發現最接近這種結構的是OCB3模式的身份驗證部分,它根據可調整的塊密碼定義。然而,如何處理最後一個塊則完全不同。

我自己沒有證據,但如果你想試一試,這裡是你可以分析/證明自己安全的方法。

你的建設基本上是 $ F(M) = E_0(G(M)) $ , 在哪裡 $ G(M) = E_1(M_1) \oplus \dots \oplus E_{\lambda+|M_m|}(0) $ (問題中定義的那個很長的東西)。為了證明這一點是安全的,只需證明以下內容:

  1. 計算中使用的調整值 $ G(M) $ 從來沒有 $ 0 $ .
  2. 攻擊者極不可能找到“碰撞”。換句話說,假設兩條消息 $ M,M’ $ 形成“碰撞”,如果 $ G(M)=G(M’) $ . 考慮一個具有預言機的(自適應)攻擊者 $ F $ , 然後讓 $ M^1,\dots,M^q $ 表示 $ q $ 攻擊者查詢其預言機的消息。讓 $ \mathsf{BAD} $ 表示存在一些事件 $ i,j $ 和 $ i\ne j $ 和 $ G(M^i)=G(M^j) $ . 如果你能證明 $ \Pr[\mathsf{BAD}] $ 可以忽略不計,那麼你就無家可歸了。那是因為 $ E_0(Y^1),\dots,E_0(Y^q) $ 將是偽隨機的,如果 $ Y^1,\dots,Y^q $ 都是不同的。

第一個條件應該很容易建立,只要您對消息的長度設置適當的界限以確保 $ l+|M_m| $ 和 $ \lambda+|M_m| $ 永遠不要環繞變得等於 $ 0 $ .

您必須仔細分析第二個條件。看起來你可以通過某種案例分析來確定第二個條件成立,但這對我來說太乏味了——所以我將把它留給你來確定。


其他的建議。 我不明白你為什麼有 $ E_{l+|M_m|}(0) $ 在異或中;這對我來說毫無意義。我不明白你為什麼對待 $ M_m $ 不同(過早的優化?)。我不明白你為什麼不只使用一些現有的結構,比如 PMAC。

如果你要發明一些新的東西,下面的內容似乎更清晰、更容易分析:

$$ F(M) = E_0(E_1(M_1) \oplus E_2(M_2) \oplus \cdots \oplus E_m(M_m) \oplus E_\lambda(\text{length}(M))), $$ 在哪裡 $ \lambda $ 是一個常數,選擇大於任何可能的值 $ m $ ,以及在哪裡 $ M_m $ 確定性地用零(比如說)填充。


*相關工作。*我建議您確保閱讀以下論文:

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