Mac

使用 DES 的互補屬性偽造 MAC

  • November 13, 2020

我已經開始閱讀 MAC 並解決一個問題,其中給定 MAC 結構 $ H_0=IV $ 並且對於每個 $ i>0 $ $ H_i=H_{i−1} \oplus E_{M[i]}(H_{i−1}) $ 標籤是 $ (IV,E_{k_1}(H_ℓ)) $ ,我想將 DES 顯示為密碼,這種結構不會提供消息完整性。

我正在考慮解決這個問題的方式是,我可以從使用 DES 密碼的互補屬性開始,以顯示消息 $ M_1 $ 鑑於 $ H_1=H_{0} \oplus E_{M[1]}(H_{0}) $ 是平等的 $ -H_1 $ 留言 $ -M_1 $ (消息的補充 $ M_1 $ )。因此,在給定結構的選擇消息攻擊下,我可以執行存在偽造。根據我的閱讀和Coursera中定義的詳細資訊,我想我幾乎掌握了這個概念,但不確定我是否走在正確的軌道上?

是的,你在正確的軌道上。

設 MAC 為

  • $ H_0 = IV $
  • $ H_i=H_{i−1}\oplus E_{M[i]}(H_{i−1}) $ 並且對於每個 $ i>0 $ , 和
  • $ tag = (IV,E_{k_1}(H_\ell)) $

攻擊者有標籤 $ t $ . 觀察結果是消息被用作加密中的密鑰。如果攻擊者可以使用密碼的某些屬性,例如固定點或更多,那麼他們就可以偽造。實際上不僅僅是存在偽造,如果我們省略保持IV相同,他們可以找到另一條與MAC輸出完全相同的消息。

**最簡單的例子:**一條消息 $ m $ 及其標籤;

$$ t = (IV, IV \oplus E_{m}(IV)) $$對於固定的 IV,這很難。我們需要加密算法中的一些弱點。正如您所指出的,DES 具有互補性

$$ E_K(P)=C \iff E_{\overline{K}}(\overline{P})=\overline{C} $$然後攻擊者可以將其用作;

讓 $ C = E_m(IV) $ 然後用DES補屬性 $ \overline{C} = E_\overline{m}(\overline{IV}) $ 然後

$$ \overline{IV} \oplus E_{\overline{m}}(\overline{IV}) = \overline{IV} \oplus \overline{C} = IV \oplus C $$因此這是一個標籤幾乎相同的偽造品 $ t $ 剛剛補充IV$$ t’ = (\overline{IV},\overline{IV} \oplus E_{\overline{m}}(\overline{IV})). $$

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