Cryptograpy By Roya Furmuly W C I H D F O P S 1 2 3 9 L 7

Preview:

Citation preview

Cryptograpy

By Roya Furmuly

W

C

I

H

DF

O

P

S

1

2

39

L 7

What Is It?

Enables two people (Alice and Bob) to communicate over an insecure channel in such a way so that an opponent (Oscar) cannot

understand what is being said.

How Does It Work?

Alice encrypts the information (Plaintext), using a predetermined key, then sends the result (Ciphertext) to Bob.

Oscar cannot determine the plaintext because he doesn’t know the key.

Bob, who knows the encryption key, decrypts the ciphertext and reconstructs the plaintext.

Formal Definition

A Cryptosystem is a five-tuple (P,C,K,E,D )P = finite set of plaintexts

C = finite set of ciphertexts

K = finite set of keys (keyspace)

For each K K eK E and a corresponding dK

D. Each eK:P C and dK:C P are functions

such that dK(eK(x))=x x P.

Observations

The encryption function eK must be injective to avoid ambiguity.

i.e. if y= eK(x1)= eK(x2) where x1 not equal x2

Bob doesn’t know whether y= x1 or y= x2

If P = C , then the encryption function is a permutation.

Protocol

Choose random key K in K (when Oscar not present

or through a secure channel). Alice

Message: x=x1x2...xn where i in (1,n), xi in P

encrypts each xi using encryption rule yi= eK(xi) y=y1y2…yn

Bob uses decryption function dK(yi)=xi

x=x1x2...xn

Diagram

Alice encrypter decrypter

Oscar

key source

Bob

Oscar

x y

K

x

What makes a Cryptosystem practical?

1. Encryption and Decryption functions should be efficiently computable.

2. Upon seeing ciphertext y, the opponent should be unable to determine the key K used (“security”).

Shift Cipher

Let P =C =K = Z26.

eK(x)=x+K mod 26

and

dK(y)=y-K mod 26 (x,y in Z26)

cool fact: for K=3, cryptosystem is called the Caesar Cipher.

Shift Cipher (cont’d)

We encrypt English text, by the following correspondence:

A 0, B 1, …, Z 25,

A B C D E F G H I J K L M N O P Q R S T U V W

0 1 2 3 4 5 6 7 8 9 101112 13 14 15161718192021 22

X Y Z 23 24 25

Let’s Encrypt!

Let the key be K=7, encrypt: UCLA BRUINS

convert letters to integers using chart:

20 2 11 0 1 17 20 8 13 18

add 7 to each value, reduce mod 26:

1 9 18 7 8 24 1 15 20 25

convert to sequence of integers:

BJSHIYBPUZ

Let’s Decrypt!

BJSHIYBPUZ

convert letters to integers:

1 9 18 7 8 24 1 15 20 25

subtract 7, reduce mod 26:

20 2 11 0 1 17 20 8 13 18

convert to letters:

UCLA BRUINS

Shift Cipher, any Good?

Nope! Fails security property. Keyspace is very small, only 25 possible

keys. Can easily be deciphered by an exhaustive

key search. Try K=1…25, until get a text that makes

sense.

Vigenere Cipher

Let m>0 be fixed. Let P =C =K = (Z26)m

For a key K=(k1,k2,…km) define

eK(x1,x2,…,xm)=(x1+k1, x2+k2,…,xm+km)

and

dK(y1,y2,…,ym)=(y1-k1, y2-k2,…,ym-km)

*all operations done in Z26

Let’s Encrypt!Let key=hot=(7,14,19), encrypt: SUMMER IS

HERE

convert to integers & “add” the keyword mod 26: 18 20 12 12 4 17 8 18 7 4 18 4

7 14 19 7 14 19 7 14 19 7 14 19

----------------------------------------------------

25 8 5 19 18 10 15 6 0 11 6 23

ZIFTSKPGALGX

Let’s Decrypt!

ZIFTSKPGALGX

convert to integers and “subtract” the keyword hot=(7,14,19) mod 26:

25 8 5 19 18 10 15 6 0 11 6 23

7 14 19 7 14 19 7 14 19 7 14 19

--------------------------------------------------------

18 20 12 12 4 17 8 18 7 4 18 4

SUMMER IS HERE

Vigenere Cipher, any Good?

Better than Shift Cipher Possible number of keys of length m is

(26)m Say m=5, then keyspace size is

(26)5 approx 1.1x107

So, exhaustive key search not feasible by hand (but OK by computer).

Other Cryptosystems

Data Encryption Standard (DES)

Based on permutaion of 64 bits at a time.

RSA

Based on difficulty of factoring large integers into primes.

Enigma

Machine with rotors that shifted letters in complicated manner.

Summary

Cryptography allows us to communicate through insecure channels.

Shift Cipher…insecure (small keyspace) Vigenere Cipher…less insecure Complicated Cryptosystems

DES, RSA, ENIGMA

WKH HQG

Recommended