Introduction to Coding Theory

Download Report

Transcript Introduction to Coding Theory

Coding Theory
Why encode data?
Three reasons to encode data that is about to be
transmitted(through space) or stored(in a
computer):
1. For efficiency (Information Theory)
2. For error detection/correction (Coding Theory)
3. For secrecy/authentication (Cryptography)
(use “encrypt data” instead of “encode data”)
p2.
Why coding theory?
For example, to send CODES(source message)
1. Encoding for efficiency(after Huffman encoding)
00000/1001/10100/010/0011
000/001/001/101/000/100/011(source strings)
2. Encoding for correction
C: binary [5,3]-code with generator matrix G
G= 11111
10101
00110
p3.
Why coding theory?
Example:
encode string s = 111 to
codeword c = sG = 01100
As a result we encode
000/001/001/101/000/100/011(source strings) as
00000/00110/00110/11001/00000/11111/10011(codewords)
If c’ = 01100 is received(with no error)
sG = c’ => solve linear system => s = 111
p4.
Why coding theory?
If the received word c’=c+e contains error e then we
wish it will be detected(then we can do
retransmission) or even better corrected as c.
Goal: Design a good code C
p5.
Why coding theory?
Read “Coding theory: the first 50 years”
-- by Richard Pinch
( http://plus.maths.org/issue3/codes/)
p6.
Texts
1. Coding
Theory & Cryptography
The Essentials
2nd Edition, Revsed and Expanded
Marcel Dekker, Inc.
by Hankerson, Hoffman, Leonard, Lindner
Phelps, Rodger, Wall
p7.
Texts
2. Coding
Theory
A First Course
Cambridge University Press 2004
by San Ling and Chaoping Xing
p8.
1.Coding Theory & Cryptography
the Essentials by H2L2PRW
Part I: Coding Theory
1.
2.
3.
4.
5.
6.
7.
8.
9.
Intro to Coding Theory
Linear Codes
Perfect and Related Codes
Cyclic Linear Codes
BCH Codes
Reed-Solomon Codes
Burst Error-Correcting Codes
Convolutional Codes
Reed-Muller and Preparata Codes
p9.
Part II: Cryptography(not included in the course)
10. Classical Cryptography
10.1 Encryption schemes
10.2 Symmetric-key encryption
10.3 Feistel ciphers and DES
11. Topics in Algebra and Number Theory
11.1 Algorithms, complexity, and modular arithmetic
11.2 Quadratic residues
11.3 Primality testing
11.4 Factoring and square roots
11.5 Discrete logarithms
12. Public-key Cryptography
12.1 One-way and hash functions
12.2 RSA
12.3 Provable security
12.4 ElGamal
12.5 Cryptography protocols
p10.
2.Coding Theory – A First Course
by Ling & Xing
1. Introduction
2.
3.
4.
5.
6.
7.
8.
9.
Error detection, correction and decoding
Finite fields
Linear codes
Bounds in coding theory
Constructions of linear codes
Cyclic codes
Some special cyclic codes
Goppa Codes
p11.
Math involved in Coding theory
Probability
Combinatorics
Linear Algebra
Finite Field
p12.