Seminar Report On Authentication Codes Theme: Cryptography Course Instructor: Prof. C Pandu Rangan 93124 CS
Seminar Report On Authentication Codes Theme: Cryptography Course Instructor: Prof. C Pandu Rangan 93124 CS
Seminar Report On Authentication Codes Theme: Cryptography Course Instructor: Prof. C Pandu Rangan 93124 CS
AUTHENTICATION CODES
Theme : Cryptography
Course Instructor : Prof. C Pandu Rangan
R Parthasarathy
93124 CS
1 Introduction
Secrecy has been a major concern in the study of cryptography. That is, Alice
wants to send a message to Bob and doesn't want anyone else, in particular,
our famous adversary Oscar to see the contents of the message. But when
we talk about authentication, we no longer care about secrecy. The objective
here is, Bob must be sure that the message he receives actually came from
Alice and no one else. This leads us to the focal point in the seminar, the
authentication code:
An authentication code provides a method of ensuring the integrity of a
message. In such a code, a key is used to compute an authentication tag that
enables Bob to check the authenticity of the message he receives.
For the purpose of analysis, it is useful to consider a formal mathematical
denition of an authentication code.
Let us see how our adversary Oscar can attack the system. This will give us
an insight into what authentication codes are trying to guard against.
Example :
Key
1
2
3
1
1
2
1
2
1
2
2
3
1
1
2
4
2
2
1
2 Deception Probabilities
Deception probabilities essentially give a lower bound on the chances that the
system will be vulnerable to attack. An example would prove instructive to
understand how deception probabilities are computed.
1 2
0 0
1 1
2 2
1 2
2 0
0 1
2 1
0 2
1 0
= 1=3.
Having seen an example, let us see how deception probabilities can be computed in general.
K 2K:eK (s)=a
Hence,
Pd = maxfpayoff (s; a) : s 2 S ; a 2 Ag
Pd : First dene
0
PK(K )
payoff (s; a)
Since Oscar wants to maximize his chances of deceiving Bob, he will compute
Pd =
1
where
s;a)2M
PM(s; a)Ps;a
3.1 Objectives
Before going any further, let us understand why we are studying authentication codes and trying to nd combinatorial bounds on the deception probabilities.
1. The deception probabilities Pd and Pd should be small enough to
obtain the desired level of security.
2. The number of source states much be large enough so that we can
communicate the desired level of information by appending an authentication tag to one source state.
3. The size of the key space should be minimized, since the value of the
key should be communicated over a secure channel.
0
PK(K ) = 1l
K 2K:eK (s)=a
for every s 2 S , a 2 A.
X
K 2K
PK(K ) = 1
Hence, for every s 2 S , there exists an authentication tag a(s) such that
payoff (s; a(s)) 1l
Theorem 2 Suppose (S ; A; K; E ) is an authentication code. Then Pd
1=l, where l = jAj. Further, Pd = 1=l if and only if
P
K 2K eK s a eK s a PK (K ) 1
=l
P
K 2K eK s a PK (K )
1
( )= :
:
)=
( )=
for every s; s0 2 S ; s 6= s0 ; a; a0 2 A
Proof This proof follows a similar line. Suppose we x s; a and s0, where
s0 =
6 s. Then we can prove:
X
a 2A
0
Now, we have:
Pd =
1
s;a)2M
PM(s; a)ps;a
X PM(s; a) 1
l =l
s;a 2M
Further, equality occurs if and only if ps;a = 1=l for every (s; a). But this
is in turn equivalent to the condition that payoff (s0 ; a0; s; a) = 1=l for every
(s; a).
PK(K ) = l1
for every s; s0 2 S ; s 6= s0 ; a; a0 2 A
Proof This proof directly follows from combining the LHS and RHS of the
previous two theorems.
and keys are chosen equiprobably. Then Pd0 = Pd1 = 1=l if and only if
4 Orthogonal Arrays
Let us take a slight detour here and introduce the concept of Orthogonal
Arrays (OA's)
Denition 2 An orthogonal array OA(n; k; ) is a n k array of n symbols, such that in any two columns of the array every one of the possible n
pairs of symbols occurs in exactly rows.
2
Why OA's ?
OA's are well studied structures in combinatorial design theory. OA's and
authentication codes have a one-to-one relationship.
Example : An OA(3; 3; 1)
00 0 01
BB 1 1 1 CC
BB 2 2 2 CC
BB
C
BB 0 1 2 CCC
BB 1 2 0 CC
BB 2 0 1 CC
BB 0 2 1 CC
B@ 1 0 2 CA
2 1 0
Note that this OA is similar in structure to the authentication matrix given
in an earlier example.
Proof Use each row of the orthogonal array as an authentication rule with
OA(p; p; 1).
Proof The array will be a p p array, where the rows are indexed by Zp Zp
and the columns are indexed by Zp. The entry in row (i; j ) and column x is
dened to be ix + j mod p. Now it can easily be shown that if we choose two
columns x; y; x =
6 y, and two symbols a; b, there is a unique row (i; j ) such
2
a = ix + j
b = iy + j
for the unknowns i and j (where all arithmetic is done in the eld Zp). But
this system has the unique solution
i = (a b)(x y) mod p
j = a ix mod p
1
the interval I ,
n
X
i=1
ai = 1
n
X
aif (xi) f ( aixi)
i=1
i=1
i=1
6 Conclusions
A lot of theoretical work has been done in the area of authentication codes.
Many of the fundamental results have been proved by G.J.Simmons. There
are a number of survey articles on the topic too.
The connection between orthogonal arrays and authentication codes has
been addressed by several researchers. The material presented is based on
some papers published by D.R.Stinson. Orthogonal arrays, by themselves
have been studied by researchers in statistics and in combinatorial design
theory.
10