Cryptography Reference
In-Depth Information
I = (
,
,
)
Definition 5.1 A message authentication code is a 3-tuple
Gen
Mac
Ve r
of polynomial-time algorithms that satisfy the following conditions:
Gen is a probabilistic algorithm that takes as input a security parameter 1 n and
outputs a key k such that len
1 n
(
k
)
n , which we denote, as usual, by k
Gen
(
)
.
The tag generation algorithm Mac is either a probabilistic or a deterministic algo-
rithm that takes as input a key k and a message m and outputs a tag t . We write
this as t
Mac
(
k
,
m
)
.
The verification algorithm Ve r is a deterministic algorithm that takes as input
akey k , a message m , and a tag t and outputs a bit b
∈{
0
,
1
}
. This output
b
:=
Ve r
(
k
,
m
,
t
)
is interpreted as meaning valid when b
=
1 and invalid when
b
=
0.
} ,the
We require that, for any key k output by Gen and any message m
∈{
0
,
1
following correctness condition holds: Ve r
(
k
,
m
,
Mac
(
k
,
m
)) =
1. We sometimes
write Mac k (
m
)
instead of Mac
(
k
,
m
)
and Ve r k (
m
,
t
)
instead of Ve r
(
k
,
m
,
t
)
.
1 n
If, for each key k output by Gen
(
)
, Mac
(
k
, )
is only defined for messages
of a given fixed length
(
n
)
, and Ve r
(
k
,
m
,
t
) =
0 for every message m of length
= (
n
)
, then
I
is said to be a fixed-length MAC of length
(
n
)
.
5.2.2 Security for MACs
We have already seen that authentication security is not provided by encryption
security and so it is necessary to define the concept of security for a MAC. The
intuitive idea is very simple: an adversary should not be able to produce messages
that will look authentic to the receiver; only the sender should be able to do that.
Bearing in mind how the MAC algorithms are used, this means that no polynomial-
time adversary should be able to generate a pair
(
m
,
t
)
such that Ve r
(
k
,
m
,
t
) =
1,
where m is a message that did not originate with the sender.
The reader should be warned against misinterpreting the above requirement. For
example, it is clear that if an adversary
A
is able to recover the secret key k , then
A
is able to break this intuitive notion of security because it could then compute
Mac
for any m it chooses. However, as in the case of encryption schemes,
security against key recovery is far from fulfilling the requirement just stated because
there are many conceivable ways in which an adversary could forge a valid pair
(
k
,
m
)
)
without knowing the key. The definition of MAC security should capture the idea
that these forgeries should not be feasible. Note also that, as already mentioned, a
forgery in which m looks random should also count as a security break because the
concept of a meaningful message is application-dependent and the definition should
be as strong as possible to include a wide range of situations such as, for example,
when m is a randomly chosen key.
There is another kind of attack that allows the adversary to forge a valid pair
(
m
,
t
)
easily: the adversary can use such a pair if it was previously sent by the sender, and
such a pair will be accepted by the verification algorithm. This is called a replay
(
,
m
t
 
Search WWH ::




Custom Search