12
Coding Theory

Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

Embed Size (px)

Citation preview

Page 1: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

Coding Theory

Page 2: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p2.

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”)

Page 3: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p3.

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 = 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0

Page 4: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p4.

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

Page 5: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p5.

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

Page 6: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p6.

Why coding theory?

Read “Coding theory: the first 50 years” -- by Richard Pinch

( http://plus.maths.org/issue3/codes/)

Page 7: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p7.

Texts

1. Coding Theory & Cryptography The Essentials 2nd Edition, Revsed and Expanded Marcel Dekker, Inc. by Hankerson, Hoffman, Leonard, Lindner Phelps, Rodger, Wall

Page 8: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p8.

Texts

2. Coding Theory A First Course Cambridge University Press 2004 by San Ling and Chaoping Xing

Page 9: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p9.

1.Coding Theory & Cryptographythe Essentials by H2L2PRW

Part I: Coding Theory 1. Intro to Coding Theory 2. Linear Codes 3. Perfect and Related Codes 4. Cyclic Linear Codes 5. BCH Codes 6. Reed-Solomon Codes 7. Burst Error-Correcting Codes 8. Convolutional Codes 9. Reed-Muller and Preparata Codes

Page 10: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p10.

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 DES11. 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

Page 11: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p11.

2.Coding Theory – A First Course by Ling & Xing

1. Introduction 2. Error detection, correction and decoding 3. Finite fields 4. Linear codes 5. Bounds in coding theory 6. Constructions of linear codes 7. Cyclic codes 8. Some special cyclic codes 9. Goppa Codes

Page 12: Coding Theory. p2. Why encode data? Three reasons to encode data that is about to be transmitted(through space) or stored(in a computer): 1. For efficiency

p12.

Math involved in Coding theory

Probability Combinatorics Linear Algebra Finite Field