Message Integrity
Confidentiality is not enough!
Tagging messages with a shared secret.
accept or rejectaccept] = 1accept if \(S(k, m) = t\)Existential unforgeability under chosen message attack.
accept
reject to all verification queries. If that answer is ever wrong, the adversary already submitted a valid forgery!Information-theoretic security for a single message.
The PRF-to-MAC reduction.
When prefix-freedom matters.
Failure cascade and construction.
ipad = the byte 0x36 repeated \(B\) times, opad = the byte 0x5C repeated \(B\) timesCollision resistance, preimage resistance, and the Random Oracle Model.
Combining secrecy and integrity.
rejectFast, one-time, composable.
Associated data and nonce discipline.
reject if integrity check failsPCLMULQDQ accelerates the GHASH field multiplicationsWhat did we learn?
Ask now, catch me after class, or email eoin@eoin.ai