Problem
Prove that the following modifications of basic CBC-MAC do not yield a secure MAC (even for fixed-length messages):
Mac outputs all blocks t1,…,tlrather than just tl. (Verification only checks whether tl is correct.)
A random initial block is used each time a message is authenticated. That is, choose uniform t∈{0,1}n, run basic CBC-MAC over the “message” t0,m1,…,ml, and output the tag ⟨t0,tl⟩. Verification is done in the natural way.
Solution
Part 1
Query
m1=B0∣∣B1, t1=t0∣∣t1
m2=B2∣∣B3, t2=t2∣∣t3
We know Fk(B0)=t0 and Fk(B2)=t2. Hence
MACk(B0∣∣B2∗)=Fk(B0)∣∣Fk(Fk(B0)⊕B2∗)=t0∣∣Fk(t0⊕B2∗) Let t0⊕B2∗=B2, i.e., B2∗=t0⊕B2. Then
MACk(B0∣∣t0⊕B2)=t0∣∣Fk(t0⊕t0⊕B2)=t0∣∣Fk(B2)=t0∣∣t2 Therefore, ⟨B0∣∣t0⊕B2,t0∣∣t2⟩ is a valid pair of message and tag.
Part 2
Query
m1=B0∣∣B1, t1=⟨r1,t1⟩
m2=B2∣∣B3, t2=⟨r2,t2⟩
Hence for m∗=B0∣∣B1∣∣t2⊕r2∣∣B2∣∣B3, t∗=⟨r,t2⟩ should be a valid tag.