In the following problem:
Prove that the following modifications of basic CBC-MAC do not yield a secure MAC (even for fixed-length messages):
(b) A random initial block is used each time a message is authenticated. That is, choose uniform $t_0 \in \{0, 1\}^n$, run basic CBC-MAC over the “message” $t_0, m_1, m_2, \cdots, m_l$ and output the tag $\left<t_0, t_l\right>$. Verification is done the natural way.
I can prove it for variable-length messages, but for fixed-length messages, I had the following argument that it is indeed secure:
By way of contradiction let $D$ be an attacker that breaks the security of this MAC scheme of messages of length $l$. We construct another attacker $A$ that breaks the security of CBC-MAC for messages of length $l + 1$ using $D$ as a subroutine as follows:
- For every message $m_i$ that $D$ sends to the modified MAC oracle for tagging, $A$ take it instead and sends to the CBC-MAC oracle the message $t_0||m_i$ for some uniformly random $t_0$.
- $A$ receives the tag for each message $t_0||m_i$ and sends it back to $D$ (for $D$'s perspective, it is the same as the modified MAC oracle).
- After a polynomial number of queries, $D$ sends the message $m$ and the tag $\left<t_0, t\right>$ for verification where the probability that Vrfy$(m, \left<t_0, t\right>)$ returns true is not negligible.
- $A$ then sends the message $t_0||m$ and the tag $t$, and it easily follows that $\text{Vrfy}(t_0||m, t) = \text{Vrfy}(m, \left<t_0, t\right>)$
this suggests that CBC MAC is not secure for fixed-length messages, which raises a contradiction. So, our assumption must be wrong and this modified CBC-MAC is secure.
Now, is there anything wrong about this argument?