Top Banner
An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College [email protected] Gordon Prichett Babson College [email protected]
32

An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College [email protected] Gordon Prichett Babson College [email protected].

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

An Introduction to Cryptology and Coding Theory

Sarah Spence Adams

Olin College

[email protected]

Gordon Prichett

Babson College

[email protected]

Page 2: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Communication System

Digital Source Digital Sink

Source Encoding

Source Decoding

Encryption Decryption

Error Control Encoding

Error Control Decoding

Modulation Channel Demodulation

Page 3: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Cryptology

Cryptography Inventing cipher systems; protecting

communications and storage

Cryptanalysis Breaking cipher systems

Page 4: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Cryptography

Page 5: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Cryptanalysis

Page 6: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

What is used in Cryptology?

Cryptography: Linear algebra, abstract algebra, number

theory Cryptanalysis:

Probability, statistics, combinatorics, computing

Page 7: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Caesar Cipher

ABCDEFGHIJKLMNOPQRSTUVWXYZ Key = 3 DEFGHIJKLMNOPQRSTUVWXYZABC

Example Plaintext: OLINCOLLEGE Encryption: Shift by KEY = 3 Ciphertext: ROLQFROOHJH Decryption: Shift backwards by KEY = 3

Page 8: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Cryptanalysis of Caesar

Try all 26 possible shifts

Frequency analysis

Page 9: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 10: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Cryptanalysis of Substitution Ciphers

Try all 26! permutations – TOO MANY! Bigger than Avogadro's Number!

Frequency analysis

Page 11: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 12: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Modular Arithmetic

Page 13: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

One-Time Pads

Unconditionally secure

Problem: Exchanging the key

There are some clever ways to exchange the key – we will study some of them!

Page 14: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Public-Key Cryptography

Diffie & Hellman (1976) Known at GCHQ years before

Uses one-way (asymmetric) functions, public keys, and private keys

Page 15: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Public Key Algorithms

Based on two hard problems Factoring large integers The discrete logarithm problem

Page 16: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

WWII Folly: The Weather-

Beaten Enigma

Page 17: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

Need more than secrecy….

Need reliability!

Enter coding theory…..

Page 18: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 19: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 20: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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.

Page 21: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 22: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 23: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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!!

Page 24: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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?

Page 25: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 26: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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!

Page 27: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 28: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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?

Page 29: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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

Page 30: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

1980-90’s Voyager Missions

Better pictures need better codes need more sophisticated mathematics…

Picture transmitted via Reed-Solomon codes

Page 31: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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!

Page 32: An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College sarah.adams@olin.edu Gordon Prichett Babson College prichett@babson.edu.

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…