Create Presentation
Download Presentation

Download Presentation

An Introduction to Cryptology and Coding Theory

Download Presentation
## An Introduction to Cryptology and Coding Theory

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Cryptology**• Cryptography • Inventing cipher systems; protecting communications and storage • Cryptanalysis • Breaking cipher systems**What is used in Cryptology?**• Cryptography: • Linear algebra, abstract algebra, number theory • Cryptanalysis: • Probability, statistics, combinatorics, computing**Caesar Cipher**• ABCDEFGHIJKLMNOPQRSTUVWXYZ • Key = 3 • DEFGHIJKLMNOPQRSTUVWXYZABC • Example • Plaintext: OLINCOLLEGE • Encryption: Shift by KEY = 3 • Ciphertext: ROLQFROOHJH • Decryption: Shift backwards by KEY = 3**Cryptanalysis of Caesar**• Try all 26 possible shifts • Frequency analysis**Substitution Cipher**• Permute A-Z randomly: A B C D E F G H I J K L M N O P… becomes H Q A W I N F T E B X S F O P C… • Substitute H for A, Q for B, etc. • Example • Plaintext: OLINCOLLEGE • Key: PSEOAPSSIFI**Cryptanalysis of Substitution Ciphers**• Try all 26! permutations – TOO MANY! Bigger than Avogadro's Number! • Frequency analysis**One-Time Pads**• Map A, B, C, … Z to 0, 1, 2, …25 • A B … M N … T U • 0 1 … 13 14 … 20 21 • Plaintext: MATHISUSEFULANDFUN • Key: NGUJKAMOCTLNYBCIAZ • Encryption: “Add” key to message mod 26 • Ciphertext: BGO….. • Decryption: “Subtract” key from ciphertext mod 26**One-Time Pads**• Unconditionally secure • Problem: Exchanging the key • There are some clever ways to exchange the key – we will study some of them!**Public-Key Cryptography**• Diffie & Hellman (1976) • Known at GCHQ years before • Uses one-way (asymmetric) functions, public keys, and private keys**Public Key Algorithms**• Based on two hard problems • Factoring large integers • The discrete logarithm problem**Need more than secrecy….**• Need reliability! • Enter coding theory…..**What is Coding Theory?**• Coding theory is the study of error-control codes • Error control codes are used to detect and correct errors that occur when data are transferred or stored**What IS Coding Theory?**• A mix of mathematics, computer science, electrical engineering, telecommunications • Linear algebra • Abstract algebra (groups, rings, fields) • Probability&Statistics • Signals&Systems • Implementation issues • Optimization issues • Performance issues**General Problem**• We want to send data from one place to another… • channels: telephone lines, internet cables, fiber-optic lines, microwave radio channels, cell phone channels, etc. • or we want to write and later retrieve data… • channels: hard drives, disks, CD-ROMs, DVDs, solid state memory, etc. • BUT! the data, or signals, may be corrupted • additive noise, attenuation, interference, jamming, hardware malfunction, etc.**General Solution**• Add controlled redundancy to the message to improve the chances of being able to recover the original message • Trivial example: The telephone game**The ISBN Code**• x1 x2…x10 • x10 is a check digit chosen so that S=x1 + 2x2 + … + 9x9 + 10x10 =0 mod 11 • Can detect all single and all transposition errors**ISBN Example**• Cryptology by Thomas Barr: 0-13-088976-? • Want 1(0) + 2(1) + 3(3) + 4(0) + 5(8) + 6(8) + 7(9) + 8(7) + 9(6) + 10(?) = multiple of 11 • Compute 1(0) + 2(1) + 3(3) + 4(0) + 5(8) + 6(8) + 7(9) + 8(7) + 9(6) = 272 • Ponder 272 + 10(?) = multiple of 11 • Modular arithmetic shows that the check digit is 8!!**UPC (Universal Product Code)**• x1 x2…x12 • x12 is a check digit chosen so that S = 3x1 + 1x2 + … + 3x11 + 1x12 =0 mod 10 • Can detect all single and most transposition errors • What transposition errors go undetected?**The Repetition Code**• Send 0 and 1 • Noise may change 0 to 1 or change 1 to 0 • Instead, send codewords 00000 and 11111 • If noise corrupts up to 2 bits, decoder can use majority vote and decode received word as 00000**The Repetition Code**• The distance between the two codewords is 5, because they differ in 5 spots • Large distance between codewords is good! • The “rate” of the code is 1/5, since for every bit of information, we need to send 5 coded bits • High rate is good!**When is a Code “Good”?**• Important Code Parameters (n, M, d) • Length (n) • Number of codewords (M) • Minimum Hamming distance (d): Directly related to probability of decoding correctly • Code rate: Ratio of information bits to codeword bits**How Good Does It Get?**• What are the ideal trade-offs between rate, error-correcting capability, and number of codewords? • What is the biggest distance you can get given a fixed rate or fixed number of codewords? • What is the best rate you can get given a fixed distance or fixed number of codewords?**1969 Mariner Mission**• We’ll learn how Hadamard matrices were used on the 1969 Mariner Mission to build a rate 6/32 code that is approximately 100,000x better at correcting errors than the binary repetition code of length 5**1980-90’s Voyager Missions**• Better pictures need better codes need more sophisticated mathematics… • Picture transmitted via Reed-Solomon codes**Summary**• From Caesar to Public-Key…. from Repetition Codes to Reed-Solomon Codes…. • More sophisticated mathematics better ciphers/codes • Cryptology and coding theory involve abstract algebra, finite fields, rings, groups, probability, linear algebra, number theory, and additional exciting mathematics!**Who Cares?**• You and me! • Shopping and e-commerce • ATMs and online banking • Satellite TV & Radio, Cable TV, CD players • Corporate/government espionage • Who else? • NSA, IDA, RSA, Aerospace, Bell Labs, AT&T, NASA, Lucent, Amazon, iTunes…