Understanding MAC function security
A MAC function is considered secure if it can resist the list of forgery attacks described as follows, which have been listed from more difficult to less difficult. All of the attacks that are described suggest that an attacker does not possess a secret key:
- A universal forgery attack is successful if an attacker can create a valid MAC for any message given to them.
- A selective forgery attack aims to produce the correct MAC for a particular message. The message is chosen prior to the attack and, usually, has some value for the attacker if they can authenticate it.
- An existential forgery attack works by finding a pair of any kind of message and its respective MAC.
- An existential forgery under a chosen-message attack suggests that there is an oracle that can generate a MAC for any message chosen by the attacker. The attacker can feed messages to the oracle, obtain MACs, and analyze the behavior of the oracle and the MAC function...