Mac
CBC-MAC,固定長度,返回所有塊
CBC-MAC,帶有固定長度的消息。
返回所有加密塊而不是最後一個是否安全?
我的直覺說它不太安全,因為它為攻擊者提供了更多資訊。但是如何攻擊這個計劃呢?
我假設所有加密塊的含義與隱含零 IV 的CBC-Encryption的密文相同,而 CBC-MAC 是其中的最後一個塊。
對於長度超過一個塊的消息,所有加密塊作為消息驗證器都是不安全的,因為它會遭受微不足道的攻擊(這裡有兩個塊):
- 夏娃截獲消息 $ M=M_0||M_1 $ 及其驗證器 $ A=A_0||A_1 $
- 她知道 $ A_0=E(M_0) $ 和 $ A_1=E(A_0\oplus M_1) $
- 她建造 $ M’=(A_0\oplus M_1)||(A_1\oplus M_0) $ 及其驗證器 $ A’=A_1||A_0 $ .
然後驗證者將接受為有效 $ M’ $ 及其驗證器 $ A’ $ 一樣好 $ M $ 及其驗證器 $ A $ .
為完整性添加: $ M’\ne M $ 除非 $ M_1=M_0\oplus E(M_0) $ ,這是極不可能偶然發生的。