Академический Документы
Профессиональный Документы
Культура Документы
CONTENTS
1. Basics of coding theory
2. Linear codes
3. Cyclic codes
4. Classical (secret-key) cryptosystems
5. Public-key cryptography
6. RSA cryptosystem
7. Prime recognition and factorization
8. Other cryptosystems
9. Digital signatures
10. Identification and Authentication
11. Protocols to do seemingly impossible
12. Zero-knowledge proof protocols
13. Steganography and Watermarking
14. From theory to practice in cryptography
15. Quantum cryptography
Basics of coding theory
IV054 LITERATURE
IV054 INTRODUCTION
Transmission of classical information in time and space is nowadays very easy
and society.
Cryptography develops methods how to protect information against an enemy (or
an unauthorized user).
A very important property of information is that it is often very easy to make
IV054 CHANNEL
is the physical medium through which information is transmitted.
(Telephone lines and the atmosphere are examples of channels.)
NOISE
may be caused by sunpots, lighting, meteor showers, random radio disturbance,
poor typing, poor hearing, .
TRANSMISSION GOALS
1.
2.
3.
4.
5.
BASIC IDEA
The details of techniques used to protect information
against noise in practice are sometimes rather
complicated, but basic principles are easily understood.
The key idea is that in order to protect a message
against a noise, we should encode the message by
adding some redundant information to the message.
In such a case, even if the message is corrupted by a
noise, there will be enough redundancy in the encoded
message to recover, or to decode the message
completely.
Basics of coding theory
EXAMPLE
In case of: the encoding
0000
the probability of the bit error p
1
2
1 111
3 p 2 (1 p) p 3 3 p 2 2 p 3 p
IV054
Story Alice and Bob share an identical map (Fig. 1) gridded as shown in Fig.1. Only
Alice knows the route through which Bob can reach her avoiding the enemy
territory. Alice wants to send Bob the following information about the safe route he
should take.
NNWNNWWSSWWNNNNWWN
Three ways to encode the safe route from
Bob to Alice are:
1.
C1 = {00, 01, 10, 11}
Any error in the code word
000001000001011111010100000000010100
would be a disaster.
2.
10
11
12
In the case of binary symmetric channels the nearest neighbour decoding strategy
is also maximum likehood decoding strategy''.
Example Consider C = {000, 111} and the nearest neighbour decoding strategy.
Probability that the received word is decoded correctly
as 000 is (1 - p)3 + 3p(1 - p)2,
as 111 is (1 - p)3 + 3p(1 - p)2.
Therefore
13
1 1 p 121 p p 12
1
p
p
2
1016
7
9
5.5 10
Therefore approximately 106616 1012 words
per second are transmitted with an
undetectable error.
Corollary One undetected error occurs only every 2000 days! (2000 109/(5.5
86400).)
14
1
0
0
0
0
1
1
1
0
1
0
1
1
0 1
0
0 0
0
0 1
0
1 1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
15
16
was broken into 700 832 squares. Reed-Muller (32,64,16) code was
used.
Transmission rate was 16200 bits per second. (Much better pictures)
17
18
19
language publisher
0
x1 x10
07
709503
10
such that
0 mod 11
ix
i 1
The publisher has to put X into the 10-th position if x10 = 10.
The ISBN code is designed to detect: (a) any single error (b) any double error
created by a transposition
10
10
iy ix ja 0 mod 11
i 1
i 1
20
10
iy ix k j x j k x
k j x x 0 mod 11
i 1
i 1
if k j and x j xk .
21
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0 0 0
2 1 1 1
2 2 2
0 1 2
1
2
0
2 0 1
Lemma Any q -ary (n,M,d) -code over an alphabet {0,1,,q -1} is equivalent to an
(n,M,d) -code which contains the all-zero codeword 000.
Proof Trivial.
22
23
00111), the only possible codeword with four or five 1's is then 11011.
24
C x1... xn xn 1 x1... xn C , xn 1
x mod 2
n
i 1
25
A2 (5,3) = 4 A2 (6,4) = 4
(5,4,3) -code (6,4,4) code
00000
01101
10110
11011
by adding check.
26
q 1 q 1
n
0
n
1
n
2
...
q 1
n
r
words.
Proof Let u be a fixed word in Fqn. The number of words that differ from u in m
position is
nm q 1 m .
27
q 1 ... q 1 q
n
0
n
1
n
t
(1)
28
2
7
0
7
1
i.e. M = 16
An example of such a code:
C4 = {0000000, 1111111, 1000101, 1100010, 0110001, 1011000, 0101100,
0010110, 0001011, 0111010, 0011101, 1001110, 0100111, 1010011,
1101001, 1110100}
Table of A2(n,d) from 1981
n
5
6
7
8
9
10
11
12
13
14
15
16
d=3
4
8
16
20
40
72-79
144-158
256
512
1024
2048
2560-3276
d=5
2
2
2
4
6
12
24
32
64
128
256
256-340
d=7
2
2
2
2
4
4
8
16
32
36-37
29
30
31
code
10
000
001
11000
mess.
0100
0101
0110
0111
code
010
11001
11010
1111000
mess.
1000
1001
1010
1011
code
011
11011
11100
111111
mess.
1100
1101
1110
1111
Code
11101
111110
111101
1111001
32
Stage 2 - extending the code - Apply again and again the following method.
If C = {c1,,cr} is a prefix optimal code for a source S r, then C' = {c'1,,c'r +1} is an
optimal code for Sr +1, where
c'i = ci
1ir1
c'r = cr1
c'r+1 = cr0.
33
1ir1
c'r = cr1
c'r+1 = cr0.
34
35
36