Upload
leora
View
65
Download
0
Tags:
Embed Size (px)
DESCRIPTION
An Introduction to Cryptology and Coding Theory. Communication System. Cryptology. Cryptography Inventing cipher systems; protecting communications and storage Cryptanalysis Breaking cipher systems. Cryptography. Cryptanalysis. What is used in Cryptology?. Cryptography: - PowerPoint PPT Presentation
Citation preview
Communication System
Digital Source Digital Sink
Source Encoding
Source Decoding
Encryption Decryption
Error Control Encoding
Error Control Decoding
Modulation Channel Demodulation
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
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
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!