0% found this document useful (0 votes)
15 views26 pages

Lecture 02

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views26 pages

Lecture 02

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Lecture

Lecture Outline
Outline

• What did we cover last time?

• What is ahead?
Encryption
Encryption

• Goal: secrecy of communication

• Basic terminology

– plaintext or message

– ciphertext

– cryptographic key

• Encryption scheme is defined by algorithms


– Gen: setup public parameters and key(s)

– Enc: given a message m and encryption key, output ciphertext c

– Dec: given a ciphertext c and decryption key, output plaintext m or


fail
Encryption
Encryption

• Gen can be configurable and takes a parameter n ∈ N called


security parameter

• Encryption scheme E = (Gen, Enc, Dec) has associated

– message space M

– ciphertext space C

– key space K

• We obtain:
– Gen : N → K

– Enc : M × K → C

– Dec : C × K → M
Encryption
Encryption

• What do we want from an encryption scheme?

– correctness

– security
Types
Types of
of Encryption
Encryption

• Symmetric key encryption

• Public-key encryption

• How about cryptography beyond


encryption?
History
History of
of Ciphers
Ciphers

• Date back to 2500+ years

• An ongoing battle between codemakers and codebreakers

• Driven by current communication and computation


technology
– paper and ink

– radio, cryptographic engines

– computers and digital communication


Caesar
Caesar Cipher
Cipher

• Caesar cipher works on individual letters

– associates each letter with a number between 0 and 25, i.e., A = 0,


B = 1, etc.
– message space is M = { 0 , . . ., 2 5 } and ciphertext space is
C = { 0, . . ., 25}

• Encryption: shift the letter right by 3 positions, i.e.,


Enc (m) = ( m + 3 ) m o d 26

• Decryption: shift the letter left by 3 positions, i.e.,


Dec( c) = ( c − 3 ) m o d 26
Caesar
Caesar Cipher
Cipher

• Example

ABCDEFGHIJ K L M N O P Q R S T
U V W X Y Z 0 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

– Message M = CIPHER

– Ciphertext C = ?

• Assuming Kerckhoffs’ principle, how do you break shift cipher?


Shift
Shift Cipher
Cipher

• Shift cipher is generalization of Caesar cipher

– uses a key with key space K = { 1 , . . ., 2 5 }

R
• Gen: choose k ← K

• Enc: given key k, shift the letter right by k positions, i.e.,


Enc k (m) = ( m + k ) m o d 26

• Dec: given key k, shift the letter left by k positions, i.e.,


Deck ( c) = ( c − k ) m o d 26

• How hard is this one to break? What does it tell us?


Substitution
Substitution Cipher
Cipher

• Similarly, operates on one letter at a time (M = C = Z 2 6 )

• The key space consists of all possible permutations of the 26 symbols 0, . . .


, 25

• Gen: choose a random permutation π : Z 2 6 → Z 2 6

• Enc: permute using π, i.e., Enc π (m) = π ( m )

• Dec: reverse permutation, i.e., Dec π (c) = π − 1 (c), where π − 1 is the


inverse permutation to π

• Example

ABCDEFGH I J K LMNOPQRS T UVW


XYZ XNYAHPOGZQWB T S FLRCVMUE
K JDI
Substitution
Substitution Cipher
Cipher

• Key space is 26! ≈ 4 · 10 2 6

– exhaustive (or brute-force) search is no longer possible

– the cipher thought to be unbreakable at the time it was used

• The key to breaking the cipher lies in frequency analysis

• The fact: each language has certain features such as frequency of letters and
frequency of groups of letters

• Substitution cipher preserves such features


Substitution
Substitution Cipher:
Cipher: Cryptanalysis
Cryptanalysis

• Probabilities of occurrence of English language letters:

letter prob letter prob letter prob letter prob


A 0.082 H 0.061 O 0.075 V 0.010
B 0.015 I 0.070 P 0.019 W 0.023
C 0.028 J 0.002 Q 0.001 X 0.001
D 0.043 K 0.008 R 0.060 Y 0.020
E 0.127 L 0.040 S 0.063 Z 0.001
F 0.022 M 0.024 T 0.091
G 0.020 N 0.067 U 0.028

• The common sequences of two or three consecutive letters (diagrams


and trigrams, resp.) are also known

• Other language features: vowels constitute 40% of plaintext, letter Q


is always followed by U, etc.
Substitution
Substitution Cipher:
Cipher: Cryptanalysis
Cryptanalysis

• Given a ciphertext, count different characters and their combinations


to determine the frequency of usage

• Examine the ciphertext for patterns, repeated series, etc.

• Replace ciphertext characters with possible plaintext equivalents


using known language characteristics

• Example:
YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ

NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ

NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ

XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR
Another
Another Attack
Attack on
on Shift
Shift Ciphers
Ciphers

• Using probabilities we can also automate cryptanalysis of shift cipher

– why is previous approach harder to automate?

• How this attack works

– let p i denote the probability of ith letter, 0 ≤ i ≤ 25, in English text

– using known values for pi ’s, we get


Σ25
p2i ≈ 0.065
i=0

– let q i denote the probability of ith letter in a ciphertext


• how is it computed?
Another
Another Attack
Attack on
on Shift
Shift Ciphers
Ciphers

• How this attack works (cont.)

– if the key was k, then we expect q i + k ≈ p i

– so test each value of k using


Σ25
Ij = pi · i + j
i= 0 q
for 0 ≤ j ≤ 25

– output k for which I k is closest to 0.065


Vigenere
Vigene Cipher
`re `Cipher

• The security of the substitution cipher can be improved if each letter


is mapped to different letters
– such ciphers are called polyalphabetic

– shift and substitution ciphers are both monoalphabetic

• In Vigene`re cipher, the key is a string of length l and is called a


keyword

• Encryption is performed on l characters at a time similar to the shift


cipher
Vigenere
Vigene Cipher
`re `Cipher

R
• Gen: choose l ← N and random key k l
Z 26

• Enc: given key k = ( k 1 , k 2 , . . ., k l ) , encrypt l-character message m as

Enc k (m 1 , . . ., m l ) = ( ( m 1 + k 1 ) m o d 26, . . ., ( m l + k l ) m o d 2 6 )

• To decrypt c using k:

Dec k (c 1 , . . ., c l ) = ( ( c 1 − k 1 ) m o d 26, . . ., ( c l − k l ) m o d 2 6 )
Vigenere
Vigene Cipher
`re `Cipher

• Example:

– using l = 4 and the keyword k = LUCK, encrypt the plaintext


m = CRYPTOGRAPHY
– rewrite the key as k = (11, 20, 2, 10) and compute the ciphertext as:
2 17 24 15 19 14 6 17 0 15 7 24
11 20 2 10 11 20 2 10 11 20 2 10
13 11 0 25 4 8 8 1 11 9 9 8
– the ciphertext is c = NLAZEIIBLJJI
Vigenere
Vigene Cipher: Cryptanalysis
`re` Cipher: Cryptanalysis

• Shift ciphers are vulnerable to frequency analysis attacks, but what about
the Vigene`re cipher?

• As the length of the keyword increases, usage of letters no longer


follows language structure

• Think of this cipher as a collection of several shift ciphers

• Now the first task is to find the length of the key l

• Then we can divide the message into l parts and use frequency analysis
on each
Vigenere
Vigene Cipher: Cryptanalysis
`re` Cipher: Cryptanalysis

• There are two methods to find the key length: Kasisky test and index
of coincidence

• Kasisky test:

– two identical segments of plaintext will be encrypted to the


same ciphertext if they are δ positions apart where δ ≡ 0
(mod l )
– search for identical segments (of length ≥ 3) and record the distances
between them (δ 1 , δ2 , . . . )

– l divides the δi’s ⇒ l divides gcd(δ 1 , δ2 , . . . )


Vigenere
Vigene Cipher: Cryptanalysis
`re` Cipher: Cryptanalysis

• Index of coincidence:

– assume we are given a string x = x 1 x 2 · · · x n of n characters

– index of coincidence of x, I c ( x ) , is measures the likelihood that


two randomly drawn elements of x are identical

– as before, let q i denote probability of ith letter in x

– index of coincidence is computed (in simplified form) as


Σ25 2
I c( x ) ≈ qi
i=0
– for English text, we get 0.065

– for random strings, each q i has roughly the same probability


Vigenere
Vigene Cipher: Cryptanalysis
`re` Cipher: Cryptanalysis

• Index of coincidence:

– for q i = 1/26, we get


Σ25 1 2 = 1 ≈ 0.038
Ic (x) = 26 26
i= 0

• Thus we can test for various key lengths to see whether I c of the
ciphertext is close to that of English

• We first divide the ciphertext string c = c 1 . . .c n into l substrings s 1 , . . .,


sl
and write them in a matrix
Vigenere
Vigene Cipher: Cryptanalysis
`re` Cipher: Cryptanalysis

• Guessing key length:


 
c · · ·n −l + 1 = C1
 1 c l+1 
cn −l + 2 = C2
 2 c l+2 
 c. . ·
. .·
. · .  .
c · c cn = Cl
c
·l · 2 l
– compute I c ( C i ) for i = 1, . . ., l

– if the values are not close to 0.065, try a different key length l

• Once the key size is determined, use frequency analysis on each C i


Vigenere
Vigene Cipher: Cryptanalysis
`re` Cipher: Cryptanalysis

• How index of coincidence is derived

– denote the frequency of ith letter in x by f i

– so we have q i = f i / n for n-character x


– we can choose two elements in x in n2 ways
• recall that the binomial coefficient nk = n!
(k!
( n −k ) ! )
– for each letter i, there are f2i ways of choosing both elements to be i

Σ
25 fi Σ
25 Σ
25 2
2 f i( f i − 1) fi Σ25
i= 0 i= 0 2
I c( x ) = n = i=0 ≈ = qi
n( n − 1) n2 i= 0
2
Cipher
Cipher Cryptanalysis
Cryptanalysis

• Types of attacks on encryption:

– ciphertext only attack: the cryptanalyst knows a number of ciphertexts

– known plaintext attack: the cryptanalyst knows a number of


ciphertexts and the corresponding plaintexts
– chosen plaintext attack: the cryptanalyst can obtain encryptions
of chosen plaintext messages
– chosen ciphertext attack: the cryptanalyst can obtain decryptions
of chosen ciphertexts

• Which did we use so far? what about others?

• How realistic are they?

CSE 664 Spring 2020


Marina Blanton 25
Summary
Summary

• Encryption: definitions, types, properties

• Shift ciphers have small key space and are easy to break using brute
force search

• Substitution ciphers preserve language features and are vulnerable


to frequency analysis attacks

• Vigene`re ciphertexts can be decrypted as well

– once the key length is found, frequency analysis can be applied

You might also like