computer science and engineering computer system security cse 5339/7339 lecture 4 august 31, 2004

29
Computer Science and Engineering Computer System Security Computer System Security CSE 5339/7339 CSE 5339/7339 Lecture 4 Lecture 4 August 31, 2004 August 31, 2004

Upload: hugh-poole

Post on 28-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Computer System SecurityComputer System Security

CSE 5339/7339CSE 5339/7339

Lecture 4Lecture 4

August 31, 2004August 31, 2004

Page 2: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

ContentsContents

EncryptionEncryption

Substitution and Transposition CiphersSubstitution and Transposition Ciphers

Symmetric and Asymmetric EnciptionSymmetric and Asymmetric Enciption

Merkle-Hellman KnapsacksMerkle-Hellman Knapsacks

Murtaza’s PresentationMurtaza’s Presentation

Page 3: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Exercise (Group work)

Decrypt the following encrypted quotation:Decrypt the following encrypted quotation:

fqjcb rwjwj vnjax bnkhj whxcq nawjv

nfxdu mbvnu ujbbf nnc

Page 4: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Non-Repeating Series of Numbers

Encryption Decryptionplaintext Original

plaintext

ciphertext

Non-repeating series of numbers

Page 5: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

One-Time Pads

Name set of sheets of paper with keys, glued into a pad

The sender would tear off enough number of pages

The receiver needs a pad identical to the one used by the sender

Page 6: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

One-Time Pads (cont.)

The sender would write the keys one at a time above the letters of the plaintext.

K1 k2 k3 k4 ... Kn

p1 p2 p3 p4 ... pn

The plaintext is enciphered using a pre-arranged chart (Vignere Tableau) – all 26 letters in each column in some scrambled order

select the substitution in row pi, column Ki

Problems: Unlimited number of keys & Absolute synchronization

between sender and receiver

Page 7: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Vernam Cipher

Plaintext V E R N A M C I P H E R 21 4 17 13 0 12 2 8 15 7 4 17Random numbers 76 48 16 82 44 3 58 11 60 5 48 88Sum 97 52 33 95 44 15 60 19 75 12 52 105Sum mod 26 19 0 7 17 18 15 8 19 23 12 0 1Ciphertext t a h r s p i t x m a b

Page 8: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Book Ciphers

Both sender and receiver need access to identical objects

Example: telephone book – xxx-xxx-xxxx (use xx mod 26 as a key)

Problem – High frequency letters

A, E, O, T 40% of all letters used in Standard English text

A, E, O, T, N, I 50% of all letters used in Standard English text

The probability that the key letter and plain text letter is in these 6 letters is

0.25

Page 9: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Transposition (Diffusion)

The letters of the message are rearranged

Columnar transposition

Example:

THIS IS A MESSAGE TO SHOW HOW A COLMUNAR TRANSPOSITION WORKS

Page 10: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

T H I S I S A M E S S A G E T O S H O W H O W A C O L M U N A R T R A N S P O S I T I O N W O R K S

tssoh oaniw haaso lrsto imghw utpir seeoa mrook istwc nasna

Page 11: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Stream and Block Ciphers

Stream converts one symbol of plaintext into a symbol of ciphertex

Block encrypts a group of plaintext symbols as one block.

Page 12: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Symmetric Encryption Systems (Secret Key)

Both sender and receiver share one key

Encryption and decryptions algorithms are closely related

N * (N-1) /2 keys are needed for N users to communicate in pairs

Key must be kept secret

Page 13: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Asymmetric Encryption Systems (public Key)

One key must be kept secret, the other can be freely exposed – private key and public key

Only the corresponding private key can decrypt what has been encrypted using the private key

Page 14: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Merkle-Hellman Knapsacks (Chapter 10)

Algorithms is based on the knapsack problem

What is the knapsack problem? General Knapsacks Superincreasing knapsacks

Page 15: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

General Knapsacks (Hard)

Given a sequence of integers a1, a2, …, an and a target sum T,

the problem is to find a vector of 0s and 1s such that the sum

of the integers associated with 1s equals T

S = [17, 38, 73, 4, 11, 1] T = 53

Solution: (0,1,0,1,1,0)

Page 16: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Superincreasing Knapsacks (Easy)

We place an additional restriction on the problem:

The integers of S must form an superincresaing

Sequence. (I.e. each integer is greater than the sum of all preceding integers)

S = [1, 4, 11, 17, 38, 73]

Algorithm? (Students participation)

Page 17: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Group Work

S = [1, 4, 11, 17, 38, 73]

Algorithm? Try it with T = 96 & T = 95

Page 18: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Knapsack Problem as a Public Key Algorithm

Public Key: Set of integers of a knapsack problem

Private Key: Corresponding superincreasing knapsack

Page 19: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Math BackgroundIdentity

i is identity for op if i op x = x op i = x

Inverse

b is inverse of a if a op b = b op a = i

Prime Number

Any number greater than 1 that is divisible only by itself and 1

2 divides 10

10 is divisible by 2

Composite vs. prime

Page 20: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Math Background (cont.)

Greatest Common Divisor – gcd(a,b)

The largest integer that divides both a and b

gcd(15,10) = 5

If p is a prime number gcd(p.q) = 1 for any q < p

If x divides a and b x also divides a – (k*b)

Page 21: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Modular Arithmetic

Reminder after division

a mod n = b a = c*n + b (11 mod 3 = 2, 5 mod 3 = 2)

Confine results to a particular range [0 – n-1]

Operations +, -, * can be applied before or after mod is taken

x and y are equivalent under mod n iff x mod n = y mod nx and y are equivalent under mod n iff x – y = k*n

Page 22: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Modular Arithmetic (cont)

Multiplicative inverse of a a-1

* 0 1 2 3 4

0 0 0 0 0 01 0 1 2 3 42 0 2 4 1 33 0 3 1 4 24 0 4 3 2 1

Product – mod 5

a = 2, a-1 = 3

Page 23: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Fermat’s Theorem

For any prime p and any element a < p

ap mod p = a

Or

ap-1 mod p = 1

The inverse of a is x such that

a*x mod p = 1 = ap-1 mod p

x = ap-2 mod p

Page 24: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Example

Compute the inverse of 3 mod 5

x = 35-2 mod 5

x = 27 mod 5 = 2

Page 25: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Merkle- Hellman Knapsack (again)

Idea is to encode a binary message as a solution to a knapsack problem, reducing the ciphertext to the target sum obtained by adding terms corresponding to 1s in the plain text.

Public Key: Set of integers of a knapsack problem

Private Key: Corresponding superincreasing knapsack

Technique for converting a superincreasing knapsack into regular one!

Page 26: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Merkle- Hellman Knapsack (cont)

Normal arithmetic + or * preserve superincreasing sets

Modular arithmetic may destroy superincreasing sets

Modular arithmetic sensitive to common factors

Consider w * x mod n

If w and n share common factors not all values [0-n-1]

Otherwise (relatively prime) all values

(If w and n are relatively prime, w has multiplicative inverse mod n)

Page 27: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Example

xx 3 * x mod 53 * x mod 5 3 * x mod 63 * x mod 6

1 3 3

2 1 0

3 4 3

4 2 0

5 0 3

Page 28: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Breaking the superincreasing nature of integer

Multiple by w and take mod nn and w are relatively prime.

1) Select S

2) Select w and n, n > summation of si

3) Obtain H (hi = w * si mod n)

Page 29: Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 4 August 31, 2004

Computer Science and Engineering

Example (Encryption)

S = [1, 2, 4, 9]w = 15, n = 17H = [15, 13, 9, 16]

P 0100 1011 1010 0101 C 13 40 24 29