an introduction to cryptology and coding theory discrete math 2006

22
An Introduction to Cryptology and Coding Theory Discrete Math 2006

Post on 21-Dec-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

An Introduction to Cryptology and Coding Theory

Discrete Math

2006

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

Cryptography

Cryptanalysis

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 (?)

Frequency analysis

One-Time Pads

Map A, B, C, … Z to 0, 1, 2, …25 Plaintext: MATHISUSEFULANDFUN Key: NGUJKAMOCTLNYBCIAZ Encryption: “Add” key to message mod 26 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….

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 (Duc and

Andrew) The discrete logarithm problem

WWII Folly: The Weather-

Beaten Enigma

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

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?

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…