Cryptography & Network Security Exercise 1

Post on 25-Feb-2016

82 views 8 download

Tags:

description

Cryptography & Network Security Exercise 1. MSc. NGUYEN CAO DAT. Cryptography & Network Security. Trường ĐHBK TP.HCM - Khoa Khoa học & Kỹ thuật máy tính 2008. Self study. Symmetric Cipher Model Classical Substitution Ciphers Caesar Cipher Monoalphabetic Cipher Playfair Cipher - PowerPoint PPT Presentation

Transcript of Cryptography & Network Security Exercise 1

Cryptography & Network Security Exercise 1

MSc. NGUYEN CAO DAT

BKTP.HCM

Self studySymmetric Cipher ModelClassical Substitution Ciphers▫Caesar Cipher▫Monoalphabetic Cipher▫Playfair Cipher▫Polyalphabetic Ciphers▫Vigenère Cipher

Cryptanalysis using letter frequencies

Trương ĐHBK TP.HCM - Khoa Khoa hoc & Ky thuât may tinh 2008

Cryptography & Network Security

BKTP.HCM

Symmetric Cipher Model

Trương ĐHBK TP.HCM - Khoa Khoa hoc & Ky thuât may tinh 2008

Cryptography & Network Security

BKTP.HCM

Classical Substitution Cipherswhere letters of plaintext are replaced by other letters

or by numbers or symbolsor if plaintext is viewed as a sequence of bits, then

substitution involves replacing plaintext bit patterns with ciphertext bit patterns

BKTP.HCM

Caesar Cipherearliest known substitution cipherby Julius Caesar first attested use in military affairsreplaces each letter by 3rd letter onexample:meet me after the toga partyPHHW PH DIWHU WKH WRJD SDUWB

BKTP.HCM

Caesar Ciphercan define transformation as:a b c d e f g h i j k l m n o p q r s t u v w x y zD E F G H I J K L M N O P Q R S T U V W X Y Z A B C

mathematically give each letter a numbera b c d e f g h i j k l m n o p q r s t u v w x y z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

then have Caesar cipher as:c = E(p) = (p + k) mod (26)p = D(c) = (c + 26 – k) mod (26)

BKTP.HCM

Cryptanalysis of Caesar Cipher only have 26 possible ciphers ▫A maps to A,B,..Z

could simply try each in turn a brute force search(vét cạn) given ciphertext, just try all shifts of lettersdo need to recognize when have plaintexteg. break ciphertext "DBTBCMBODB"

BKTP.HCM

Monoalphabetic Cipherrather than just shifting the alphabet could shuffle (jumble) the letters arbitrarily each plaintext letter maps to a different random

ciphertext letter hence key is 26 letters long

Plain: abcdefghijklmnopqrstuvwxyzCipher: DKVQFIBJWPESCXHTMYAUOLRGZN

Plaintext: ifwewishtoreplacelettersCiphertext: WIRFRWAJUHYFTSDVFSFUUFYA

BKTP.HCM

Monoalphabetic Cipher Securitynow have a total of 26! = 4 x 1026 keys with so many keys, might think is secure but would be !!!WRONG!!! problem is language characteristics

BKTP.HCM

Language Redundancy and Cryptanalysis

human languages are redundant eg "th lrd s m shphrd shll nt wnt" letters are not equally commonly used in English E is by far the most common letter ▫ followed by T,R,N,I,O,A,S

other letters like Z,J,K,Q,X are fairly rare have tables of single, double & triple letter

frequencies for various languages

BKTP.HCM

English Letter Frequencies

BKTP.HCM

Use in Cryptanalysis

key concept - monoalphabetic substitution ciphers do not change relative letter frequencies

discovered by Arabian scientists in 9th centurycalculate letter frequencies for ciphertextcompare counts/plots against known values if caesar cipher look for common peaks/troughs ▫peaks at: A-E-I triple, NO pair, RST triple▫ troughs at: JK, X-Z

for monoalphabetic must identify each letter▫ tables of common double/triple letters help

BKTP.HCM

Example Cryptanalysis (1)given ciphertext:UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ

count relative letter frequencies (see text)guess P & Z are e and tguess ZW is th and hence ZWP is the

BKTP.HCM

Example Cryptanalysis (2)UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ t a e e te a that e e a a t VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX

e t ta t ha e ee a e th t a EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ

e e e tat e the t

proceeding with trial and error finally get:it was disclosed yesterday that several informal butdirect contacts have been made with politicalrepresentatives of the viet cong in moscow

BKTP.HCM

Playfair Ciphernot even the large number of keys in a

monoalphabetic cipher provides security one approach to improving security was to encrypt

multiple letters the Playfair Cipher is an example invented by Charles Wheatstone in 1854, but named

after his friend Baron Playfair

BKTP.HCM

Playfair Key Matrixa 5X5 matrix of letters based on a keyword fill in letters of keyword (sans duplicates) fill rest of matrix with other letterseg. using the keyword MONARCHY

MM OO NN AA RR

CC HH YY BB DD

EE FF GG I/JI/J KK

LL PP QQ SS TT

UU VV WW XX ZZ

BKTP.HCM

Encrypting and Decrypting1. if a pair is a repeated letter, insert filler like 'X' after the first letter2. if both letters fall in the same row, replace each with the letters to their immediate right respectively(wrapping back to start from end) 3. if both letters fall in the same column, replace each with the letter immediate below it (again wrapping to top from bottom)4. otherwise each letter is replaced by the letter in the same row and in the column of the other letter of the pair

BKTP.HCM

Security of Playfair Ciphersecurity much improved over monoalphabeticsince have 26 x 26 = 676 digrams would need a 676 entry frequency table to analyse

(verses 26 for a monoalphabetic) and correspondingly more ciphertext was widely used for many years▫eg. by US & British military in WW1

it can be broken, given a few hundred letters since still has much of plaintext structure

BKTP.HCM

Polyalphabetic Cipherspolyalphabetic substitution ciphers improve security using multiple cipher alphabets make cryptanalysis harder with more alphabets to

guess and flatter frequency distribution use a key to select which alphabet is used for each

letter of the message use each alphabet in turn repeat from start after end of key is reached

BKTP.HCM

Vigenère Ciphersimplest polyalphabetic substitution ciphereffectively multiple caesar ciphers key is multiple letters long K = k1 k2 ... kd ith letter specifies ith alphabet to use use each alphabet in turn repeat from start after d letters in messagedecryption simply works in reverse

BKTP.HCM

Example of Vigenère Cipherwrite the plaintext out write the keyword repeated above ituse each key letter as a caesar cipher key encrypt the corresponding plaintext lettereg using keyword deceptivekey: deceptivedeceptivedeceptiveplaintext: wearediscoveredsaveyourselfciphertext: ZICVTWQNGRZGVTWAVZHCQYGLMGJ

BKTP.HCM

Aidssimple aids can assist with en/decryption a Saint-Cyr Slide is a simple manual aid ▫a slide with repeated alphabet ▫line up plaintext 'A' with key letter, eg 'C' ▫then read off any mapping for key letter

can bend round into a cipher disk or expand into a Vigenère Tableau

BKTP.HCM

Aids•Vigenère

Tableau

deceptive

wearedisc

ZICVTWQNG

BKTP.HCM

Security of Vigenère Ciphershave multiple ciphertext letters for each plaintext

letterhence letter frequencies are obscuredbut not totally loststart with letter frequencies▫see if look monoalphabetic or not

if not, then need to determine number of alphabets, since then can attach each

BKTP.HCM

Exercise 1. Problem 2.1 (pages 56 – 57)2. Problem 2.4 (page 57)

BKTP.HCM

Problem 2.1A generalization of the Caesar cipher (the affine Caesar cipher):

For each plaintext letter p, substitute the ciphertext letter C:C = E([a, b], p) = (ap + b) mod 26

A basic requirement: one-to-one. That is, if p != q, then E(k, p) != E(k, q).

The affine Caesar cipher is not one-to-one for all values of a. For example, for a = 2 and b = 3.

• Are there any limitations on the value of b? • Which values of a are not allowed?• General statement of which values of a are and are not

allowed.

BKTP.HCM

2.4

BKTP.HCM

Problem 2.1A generalization of the Caesar cipher (the affine Caesar cipher):

For each plaintext letter p, substitute the ciphertext letter C:C = E([a, b], p) = (ap + b) mod 26

A basic requirement: one-to-one. That is, if p != q, then E(k, p) != E(k, q).

The affine Caesar cipher is not one-to-one for all values of a. For example, for a = 2 and b = 3.

• Are there any limitations on the value of b? • Which values of a are not allowed?• General statement of which values of a are and are not

allowed.

BKTP.HCM

2.4