350 likes | 985 Views
Communication System. Cryptology. Cryptography Inventing cipher systems; protecting communications and storage CryptanalysisBreaking cipher systems. Cryptography. . Cryptanalysis. . What is used in Cryptology?. Cryptography:Linear algebra, abstract algebra, number theoryCryptanalysis:Probability, statistics, combinatorics, computing .
E N D
1. An Introduction to Cryptology and Coding Theory Sarah Spence Adams
Olin College
sarah.adams@olin.edu
Gordon Prichett
Babson College
prichett@babson.edu
3. Cryptology Cryptography
Inventing cipher systems; protecting communications and storage
Cryptanalysis
Breaking cipher systems
4. Cryptography
5. Cryptanalysis
6. What is used in Cryptology? Cryptography:
Linear algebra, abstract algebra, number theory
Cryptanalysis:
Probability, statistics, combinatorics, computing
7. Caesar Cipher ABCDEFGHIJKLMNOPQRSTUVWXYZ
Key = 3
DEFGHIJKLMNOPQRSTUVWXYZABC
Example
Plaintext: OLINCOLLEGE
Encryption: Shift by KEY = 3
Ciphertext: ROLQFROOHJH
Decryption: Shift backwards by KEY = 3
8. Cryptanalysis of Caesar Try all 26 possible shifts
Frequency analysis
9. 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
10. Cryptanalysis of Substitution Ciphers Try all 26! permutations – TOO MANY! Bigger than Avogadro's Number!
Frequency analysis
11. 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
12. Modular Arithmetic
13. One-Time Pads Unconditionally secure
Problem: Exchanging the key
There are some clever ways to exchange the key – we will study some of them!
14. Public-Key Cryptography Diffie & Hellman (1976)
Known at GCHQ years before
Uses one-way (asymmetric) functions, public keys, and private keys
15. Public Key Algorithms Based on two hard problems
Factoring large integers
The discrete logarithm problem
18. 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
19. 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
20. 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.
21. 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
22. 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
23. 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!!
24. 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?
25. 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
26. 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!
27. 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
28. 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?
29. 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
30. 1980-90’s Voyager Missions Better pictures need better codes need more sophisticated mathematics…
Picture transmitted via Reed-Solomon codes
31. 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!
32. 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…