Message Authentication Code
Message Authentication Code
Message Authentication Code
25 September, 2024
MAC
A message authentication code (MAC) is defined by a function of the form
H :K×M→T.
I Parametrized by a key k ∈ K, the MAC function is usually expressed
as Hk .
I Each function Hk should be efficiently computable.
I t = Hk (m) is called the MAC or MAC-tag of m.
Pr[MAC-forge1-time
A,Π ]≤
Strongly Universal (Hash) Function
I k: secret key shared by Alice and Bob; the MAC scheme Π is public.
I Attacker A does not know k, but is allowed to obtain (a certain
maximum number q of) tags for messages of her choice.
I A has access to a MAC oracle and can make the queries m1 , . . . , mq
adaptively.
I Goal of A: Return the tag t ∗ of any message m∗ whose tag she did
not already obtain from the MAC oracle.
I (m∗ , t ∗ ) is a MAC forgery.
Existential Unforgeability
Definition: A MAC scheme is secure if given some MAC tags Hk (xi ) for
1 ≤ i ≤ q where xi s are chosen by A, it is (computationally) infeasible to
obtain (with non-negligible probability of success) a pair (x, Hk (x)) for a
new message x.
Pr[MAC-forgeqA,Π ] ≤ ,
for some which is negligible.
I The MAC scheme is existentially unforgeable under
chosen-message attack (EUF-CMA).
Existential Unforgeability
Definition: A MAC scheme is secure if given some MAC tags Hk (xi ) for
1 ≤ i ≤ q where xi s are chosen by A, it is (computationally) infeasible to
obtain (with non-negligible probability of success) a pair (x, Hk (x)) for a
new message x.
Pr[MAC-forgeqA,Π ] ≤ ,
for some which is negligible.
I The MAC scheme is existentially unforgeable under
chosen-message attack (EUF-CMA).
How do we construct such a MAC scheme?
Reference