I'm trying to wrap my head around how different padding methods affect the strength of CBC-MAC's. Suppose a message is split into different blocks, m1, m2, m3 etc. and the last block is padded with 0's to fill it if needed.
If the message is intercepted, why can an attacker easily create another message with the same MAC tag for the same key as the message that was intercepted?
If another message is intercepted that does not contain any padding (so it completely fills the last block), how does this make it more difficult for the attacker to create a tag that matches? Does the message need to meet any conditions for the attack to work?
If this padding method is not secure, what is a better method to secure against these attacks? Would it be more secure if the padding was just random? Not sure how that would work.
10||0to1||00as the message. You need at least usemessage||10...0padding. – kelalaka Sep 18 '19 at 08:33