Fundamentals of Cryptography and Network Security

 
Cryptography and
Cryptography and
Network Security
Network Security
Chapter 2
Chapter 2
 
Fifth Edition
Fifth Edition
by William Stallings
by William Stallings
 
Lecture slides by Lawrie Brown
Lecture slides by Lawrie Brown
 
Chapter 2
Chapter 2
 
Classical Encryption
Classical Encryption
Techniques
Techniques
 
Some Basic Terminology
Some Basic Terminology
 
plaintext
 - original message
ciphertext
 - coded message
cipher
 - algorithm for transforming plaintext to ciphertext
key
 - info used in cipher known only to sender/receiver
Private key /Symmetric key 
; same key for encryption and decryption
Public key/ Asymmetric key 
; different keys
encipher (encrypt)
 - converting plaintext to ciphertext
decipher (decrypt)
 - recovering plaintext from ciphertext
cryptography
 - study of encryption principles/methods
cryptanalysis (codebreaking)
 - study of principles/ methods of deciphering
ciphertext 
without
 knowing key
cryptology
 - field of both cryptography and cryptanalysis
Cryptography
Cryptography
 
can characterize cryptographic system by:
can characterize cryptographic system by:
type of encryption operations used
type of encryption operations used
substitution
substitution
transposition
transposition
product
product
number of keys used
number of keys used
single-key or private
single-key or private
two-key or public
two-key or public
way in which plaintext is processed
way in which plaintext is processed
block
block
stream
stream
 
Cryptanalysis
Cryptanalysis
 
objective to recover key not just message
objective to recover key not just message
general approaches:
general approaches:
cryptanalytic attack
cryptanalytic attack
brute-force attack
brute-force attack
if either succeed all key use compromised
if either succeed all key use compromised
Cryptanalytic Attacks
Cryptanalytic Attacks
 
ciphertext only
ciphertext only
only know algorithm & ciphertext, is statistical,
only know algorithm & ciphertext, is statistical,
can identify plaintext
can identify plaintext
known plaintext
known plaintext
know/suspect plaintext & ciphertext
know/suspect plaintext & ciphertext
chosen plaintext
chosen plaintext
select plaintext and obtain ciphertext
select plaintext and obtain ciphertext
chosen ciphertext
chosen ciphertext
select ciphertext and obtain plaintext
select ciphertext and obtain plaintext
chosen text
chosen text
select plaintext or ciphertext to en/decrypt
select plaintext or ciphertext to en/decrypt
Cipher Strength
Cipher Strength
 
unconditional security
unconditional security
no matter how much computer power or time is
no matter how much computer power or time is
available, the cipher cannot be broken since the
available, the cipher cannot be broken since the
ciphertext provides insufficient information to
ciphertext provides insufficient information to
uniquely determine the corresponding plaintext
uniquely determine the corresponding plaintext
computational security
computational security
given limited computing resources (e.g. time
given limited computing resources (e.g. time
needed for calculations is greater than age of
needed for calculations is greater than age of
universe), the cipher cannot be broken
universe), the cipher cannot be broken
 
Encryption Mappings
Encryption Mappings
 
A given key (k)
A given key (k)
Maps any message Mi to some
Maps any message Mi to some
ciphertext E(k,Mi)
ciphertext E(k,Mi)
Ciphertext image of Mi is unique
Ciphertext image of Mi is unique
to Mi under k
to Mi under k
Plaintext pre-image of Ci is
Plaintext pre-image of Ci is
unique to Ci under k
unique to Ci under k
Notation
Notation
     key k and     Mi in M, 
     key k and     Mi in M, 
Ǝ
Ǝ
! Cj in C
! Cj in C
such that E(k,Mi) = Cj
such that E(k,Mi) = Cj
     key k and     ciphertext Ci  in C,
     key k and     ciphertext Ci  in C,
Ǝ!
Ǝ!
 Mj in M such that E(k,Mj) = Ci
 Mj in M such that E(k,Mj) = Ci
E
E
k
k
(.) is “one-to-one” (injective)
(.) is “one-to-one” (injective)
If |M|=|C| it is also “onto”
If |M|=|C| it is also “onto”
(surjective), and hence bijective.
(surjective), and hence bijective.
 
M=set of all
M=set of all
plaintexts
plaintexts
 
C=set of all
C=set of all
ciphertexts
ciphertexts
 
Encryption Mappings (2)
Encryption Mappings (2)
 
A given plaintext (Mi)
A given plaintext (Mi)
Mi is mapped to 
Mi is mapped to 
some
some
 ciphertext
 ciphertext
E(K,Mi) by every key k
E(K,Mi) by every key k
Different keys may map Mi to the
Different keys may map Mi to the
same ciphertext
same ciphertext
There may be some ciphertexts to
There may be some ciphertexts to
which  Mi is never mapped by any
which  Mi is never mapped by any
key
key
Notation
Notation
     key k and     Mi in M,  
     key k and     Mi in M,  
Ǝ
Ǝ
! ciphertext
! ciphertext
Cj in C such that  E(k,Mi) = Cj
Cj in C such that  E(k,Mi) = Cj
It is possible that there are keys k and
It is possible that there are keys k and
k’ such that E(k,Mi) = E(k’,Mi)
k’ such that E(k,Mi) = E(k’,Mi)
There may be some ciphertext Cj for
There may be some ciphertext Cj for
which 
which 
Ǝ
Ǝ
 key k such that  E(k,Mi) = Cj
 key k such that  E(k,Mi) = Cj
 
Encryption Mappings (3)
Encryption Mappings (3)
 
A ciphertext (Ci)
A ciphertext (Ci)
Has a unique plaintext pre-image
Has a unique plaintext pre-image
under each k
under each k
May have two keys that map the
May have two keys that map the
same plaintext to it
same plaintext to it
There may be some plaintext Mj
There may be some plaintext Mj
such that no key maps Mj to Ci
such that no key maps Mj to Ci
Notation
Notation
     key k and    ciphertext Ci  in C,
     key k and    ciphertext Ci  in C,
Ǝ!
Ǝ!
 Mj in M such that E(k,Mj) = Ci
 Mj in M such that E(k,Mj) = Ci
There may exist keys k, k’  and
There may exist keys k, k’  and
plaintext Mj such that E(k,Mj) =
plaintext Mj such that E(k,Mj) =
E(k’,Mj) = Ci
E(k’,Mj) = Ci
There may exist plaintext Mj
There may exist plaintext Mj
such that 
such that 
Ǝ
Ǝ
 key k such that
 key k such that
E(k,Mj) = Ci
E(k,Mj) = Ci
 
Encryption Mappings (4)
Encryption Mappings (4)
 
Under what conditions will there always be
Under what conditions will there always be
some key that maps some plaintext to a given
some key that maps some plaintext to a given
ciphertext?
ciphertext?
If for an intercepted ciphertext c
If for an intercepted ciphertext c
j
j
, there is
, there is
some plaintext m
some plaintext m
i
i
 for which there does not
 for which there does not
exist any key k that maps m
exist any key k that maps m
i
i
 to c
 to c
j
j
, then the
, then the
attacker has learned something
attacker has learned something
If the attacker has ciphertext c
If the attacker has ciphertext c
j
j
 and known
 and known
plaintext m
plaintext m
i
i
, then many keys may be
, then many keys may be
eliminated
eliminated
 
Brute Force Search
Brute Force Search
 
always possible to simply try every key
always possible to simply try every key
most basic attack, exponential in key length
most basic attack, exponential in key length
assume either know / recognise plaintext
assume either know / recognise plaintext
 
 
 
 
 
 
Symmetric Cipher Model
Symmetric Cipher Model
 
Public-Key Cryptography
Public-Key Cryptography
 
Public-Key Cryptography
Public-Key Cryptography
 
public-key/two-key/asymmetric
 cryptography involves
the use of 
two
 keys:
a 
public-key
, which may be known by anybody, and can be
used to 
encrypt messages
, and 
verify signatures
a related 
private-key
, known only to the recipient, used to
decrypt messages
, and 
sign
 (create)
 signatures
infeasible to determine private key from public
is 
asymmetric
 because
those who encrypt messages or verify signatures 
cannot
decrypt messages or create signatures
 
Symmetric vs Public-Key
Symmetric vs Public-Key
 
Symmetric Encryption
Symmetric Encryption
Requirements
Requirements
 
two requirements for secure use of symmetric
two requirements for secure use of symmetric
encryption:
encryption:
a strong encryption algorithm
a strong encryption algorithm
a secret key known only to sender / receiver
a secret key known only to sender / receiver
mathematically have:
mathematically have:
 
 
Y 
Y 
= E(K, 
= E(K, 
X
X
) = E
) = E
K
K
(X) = {X}
(X) = {X}
K
K
 
 
X 
X 
= D(K, 
= D(K, 
Y
Y
) = D
) = D
K
K
(Y)
(Y)
assume encryption algorithm is known
assume encryption algorithm is known
Kerckhoff’s Principle
Kerckhoff’s Principle
: security in secrecy of key alone, not in obscurity of the
: security in secrecy of key alone, not in obscurity of the
encryption algorithm
encryption algorithm
implies a secure channel to 
implies a secure channel to 
distribute key
distribute key
Central problem in symmetric cryptography
Central problem in symmetric cryptography
 
Classical Substitution Ciphers
Classical Substitution Ciphers
 
where 
where 
letters of plaintext are replaced by
letters of plaintext are replaced by
other letters or by numbers or symbols
other letters or by numbers or symbols
or if plaintext is 
or if plaintext is 
viewed as a sequence of bits,
viewed as a sequence of bits,
then substitution involves replacing plaintext
then substitution involves replacing plaintext
bit patterns with ciphertext bit patterns
bit patterns with ciphertext bit patterns
 
 
Caesar Cipher
Caesar Cipher
 
earliest known substitution cipher
earliest known substitution cipher
by Julius Caesar
by Julius Caesar
first attested use in military affairs
first attested use in military affairs
replaces each letter by 3rd letter on
replaces each letter by 3rd letter on
example:
example:
meet me after the toga party
meet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWB
PHHW PH DIWHU WKH WRJD SDUWB
 
Caesar Cipher
Caesar Cipher
 
can define transformation as:
can 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 z = IN
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 z = IN
D 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 = OUT
D 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 = OUT
mathematically give each letter a number
mathematically give each letter a number
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  z
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  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
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
then have Caesar (rotation) cipher as:
then have Caesar (rotation) cipher as:
c 
c 
= E(k, 
= E(k, 
p
p
) = (
) = (
p 
p 
+ 
+ 
k
k
) mod (26)
) mod (26)
p 
p 
= D(k, c) = (c – 
= D(k, c) = (c – 
k
k
) mod (26)
) mod (26)
 
Cryptanalysis of Caesar Cipher
Cryptanalysis of Caesar Cipher
 
only have 26 possible ciphers
only have 26 possible ciphers
A maps to A,B,..Z
A maps to A,B,..Z
could simply try each in turn
could simply try each in turn
a 
a 
brute force search
brute force search
given ciphertext, just try all shifts of letters
given ciphertext, just try all shifts of letters
do need to recognize when have plaintext
do need to recognize when have plaintext
eg. break ciphertext "GCUA VQ DTGCM"
eg. break ciphertext "GCUA VQ DTGCM"
 
Affine Cipher
Affine Cipher
 
broaden to include multiplication
broaden to include multiplication
can define affine transformation as:
can define affine transformation as:
c 
c 
= E(k, 
= E(k, 
p
p
) = (a
) = (a
p 
p 
+ 
+ 
b
b
) mod (26)
) mod (26)
p 
p 
= D(k, c) = (a
= D(k, c) = (a
-1
-1
(c – 
(c – 
b)
b)
) mod (26)
) mod (26)
key k=(a,b)
key k=(a,b)
a must be relatively prime to 26
a must be relatively prime to 26
so there exists unique inverse 
so there exists unique inverse 
a
a
-1
-1
Affine Cipher - Example
Affine Cipher - Example
 
example k=(17,3):
example k=(17,3):
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 z
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 z
= IN
= IN
D U L C T K B S J A R I Z Q H Y P G X O F W N E V M
D U L C T K B S J A R I Z Q H Y P G X O F W N E V M
= OUT
= OUT
example:
example:
meet me after the toga party
meet me after the toga party
ZTTO ZT DKOTG OST OHBD YDGOV
ZTTO ZT DKOTG OST OHBD YDGOV
Now how many keys are there?
Now how many keys are there?
12 x 26 = 312
12 x 26 = 312
Still can be brute force attacked!
Still can be brute force attacked!
 
 
Monoalphabetic Cipher
Monoalphabetic Cipher
 
rather than just shifting the alphabet
rather than just shifting the alphabet
could shuffle (permute) the letters arbitrarily
could shuffle (permute) the letters arbitrarily
each plaintext letter maps to a different random
each plaintext letter maps to a different random
ciphertext letter
ciphertext letter
hence key is 26 letters long
hence key is 26 letters long
 
Plain:  abcdefghijklmnopqrstuvwxyz
Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN
 
Plaintext:  ifwewishtoreplaceletters
Plaintext:  ifwewishtoreplaceletters
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
Monoalphabetic Cipher Security
Monoalphabetic Cipher Security
 
key size is now 25 characters…
key size is now 25 characters…
now have a total of 26! = 4 x 10
now have a total of 26! = 4 x 10
26
26
 keys
 keys
with so many keys, might think is secure
with so many keys, might think is secure
but would be 
but would be 
!!!WRONG!!!
!!!WRONG!!!
problem is language characteristics
problem is language characteristics
 
Language Redundancy and
Language Redundancy and
Cryptanalysis
Cryptanalysis
 
human languages are 
human languages are 
redundant
redundant
e.g., "th lrd s m shphrd shll nt wnt"
e.g., "th lrd s m shphrd shll nt wnt"
letters are not equally commonly used
letters are not equally commonly used
in English E is by far the most common letter
in English E is by far the most common letter
followed by T,R,N,I,O,A,S
followed by T,R,N,I,O,A,S
other letters like Z,J,K,Q,X are fairly rare
other letters like Z,J,K,Q,X are fairly rare
have tables of single, double & triple letter
have tables of single, double & triple letter
frequencies for various languages
frequencies for various languages
 
English Letter Frequencies
English Letter Frequencies
Example Cryptanalysis
Example Cryptanalysis
 
given ciphertext:
given ciphertext:
U
U
Z
Z
QSOVUOHXMO
QSOVUOHXMO
P
P
VG
VG
P
P
O
O
ZP
ZP
EVSG
EVSG
Z
Z
WS
WS
Z
Z
O
O
P
P
F
F
P
P
ESXUDBMETSXAI
ESXUDBMETSXAI
Z
Z
VUE
VUE
P
P
H
H
Z
Z
HMD
HMD
Z
Z
SH
SH
Z
Z
OWSF
OWSF
P
P
A
A
PP
PP
DTSV
DTSV
P
P
QUZWYMXU
QUZWYMXU
Z
Z
UHSX
UHSX
E
E
P
P
YE
YE
P
P
O
O
P
P
D
D
Z
Z
S
S
Z
Z
UF
UF
P
P
OMB
OMB
Z
Z
W
W
P
P
FU
FU
PZ
PZ
HMDJUDTMOHMQ
HMDJUDTMOHMQ
guess P & Z are e and t
guess P & Z are e and t
guess ZW is th and hence ZWP is “the”
guess ZW is th and hence ZWP is “the”
proceeding with trial and error finally get:
proceeding with trial and error finally get:
it was disclosed yesterday that several informal but
it was disclosed yesterday that several informal but
direct contacts have been made with political
direct contacts have been made with political
representatives of the viet cong in moscow
representatives of the viet cong in moscow
 
Playfair Cipher
Playfair Cipher
 
not even the large number of keys in a
not even the large number of keys in a
monoalphabetic cipher provides security
monoalphabetic cipher provides security
one approach to improving security was to
one approach to improving security was to
encrypt multiple letters
encrypt multiple letters
the
the
 Playfair Cipher
 Playfair Cipher
 is an example
 is an example
invented by Charles Wheatstone in 1854, but
invented by Charles Wheatstone in 1854, but
named after his friend Baron Playfair
named after his friend Baron Playfair
 
Playfair Key Matrix
Playfair Key Matrix
 
a 5X5 matrix of letters based on a keyword
a 5X5 matrix of letters based on a keyword
fill in letters of keyword (sans duplicates)
fill in letters of keyword (sans duplicates)
fill rest of matrix with other letters
fill rest of matrix with other letters
eg. using the keyword MONARCHY
eg. using the keyword MONARCHY
 
Encrypting and Decrypting
Encrypting and Decrypting
 
plaintext is encrypted two letters at a time
plaintext is encrypted two letters at a time
1.
if a pair is a repeated letter, insert filler like 'X’
if a pair is a repeated letter, insert filler like 'X’
2.
if both letters fall in the same row, replace each
if both letters fall in the same row, replace each
with letter to right (wrapping back to start from
with letter to right (wrapping back to start from
end)
end)
3.
if both letters fall in the same column, replace
if both letters fall in the same column, replace
each with the letter below it (wrapping to top from
each with the letter below it (wrapping to top from
bottom)
bottom)
4.
otherwise each letter is replaced by the letter in
otherwise each letter is replaced by the letter in
the same row and in the column of the other letter
the same row and in the column of the other letter
of the pair
of the pair
Playfair Example
Playfair Example
 
Message = Move forward
Message = Move forward
Plaintext = mo ve fo rw ar dx
Plaintext = mo ve fo rw ar dx
Here x is just a filler, message is padded and segmented
Here x is just a filler, message is padded and segmented
 
Ciphertext = ON UF PH NZ RM BZ
Ciphertext = ON UF PH NZ RM BZ
 
mo ->  ON;
mo ->  ON;
 
ve -> UF;
ve -> UF;
 
fo -> PH, etc.
fo -> PH, etc.
 
Security of Playfair Cipher
Security of Playfair Cipher
 
security much improved over monoalphabetic
security much improved over monoalphabetic
since have 26 x 26 = 676 digrams
since have 26 x 26 = 676 digrams
would need a 676 entry frequency table to analyse
would need a 676 entry frequency table to analyse
(versus 26 for a monoalphabetic)
(versus 26 for a monoalphabetic)
and correspondingly more ciphertext
and correspondingly more ciphertext
was widely used for many years
was widely used for many years
eg. by US & British military in WW1
eg. by US & British military in WW1
it 
it 
can
can
 be broken, given a few hundred letters
 be broken, given a few hundred letters
since still has much of plaintext structure
since still has much of plaintext structure
 
 
Polyalphabetic Ciphers
Polyalphabetic Ciphers
 
polyalphabetic substitution ciphers
polyalphabetic substitution ciphers
improve security using multiple cipher alphabets
improve security using multiple cipher alphabets
make cryptanalysis harder with more alphabets to
make cryptanalysis harder with more alphabets to
guess and flatter frequency distribution
guess and flatter frequency distribution
use a key to select which alphabet is used for each
use a key to select which alphabet is used for each
letter of the message
letter of the message
use each alphabet in turn
use each alphabet in turn
repeat from start after end of key is reached
repeat from start after end of key is reached
 
Vigenère Cipher
Vigenère Cipher
 
simplest polyalphabetic substitution cipher
simplest polyalphabetic substitution cipher
effectively multiple caesar ciphers
effectively multiple caesar ciphers
key is multiple letters long K = k
key is multiple letters long K = k
1
1
 k
 k
2
2
 ... k
 ... k
d
d
i
i
th
th
 letter specifies i
 letter specifies i
th
th
 alphabet to use
 alphabet to use
use each alphabet in turn
use each alphabet in turn
repeat from start after d letters in message
repeat from start after d letters in message
decryption simply works in reverse
decryption simply works in reverse
 
Example of 
Example of 
Vigenère Cipher
Vigenère Cipher
 
write the plaintext out
write the plaintext out
write the keyword repeated above it
write the keyword repeated above it
use each key letter as a caesar cipher key
use each key letter as a caesar cipher key
encrypt the corresponding plaintext letter
encrypt the corresponding plaintext letter
eg using keyword 
eg using keyword 
deceptive
deceptive
key:       deceptivedeceptivedeceptive
key:       deceptivedeceptivedeceptive
plaintext: wearediscoveredsaveyourself
plaintext: wearediscoveredsaveyourself
ciphertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJ
ciphertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJ
 
Aids
Aids
 
simple aids can assist with en/decryption
simple aids can assist with en/decryption
a 
a 
Saint-Cyr Slide
Saint-Cyr Slide
 is a simple manual aid
 is a simple manual aid
a slide with repeated alphabet
a slide with repeated alphabet
line up plaintext 'A' with key letter, eg 'C'
line up plaintext 'A' with key letter, eg 'C'
then read off any mapping for key letter
then read off any mapping for key letter
can bend round into a 
can bend round into a 
cipher disk
cipher disk
or expand into a 
or expand into a 
Vigenère Tableau
Vigenère Tableau
Security of 
Security of 
Vigenère Ciphers
Vigenère Ciphers
 
have multiple ciphertext letters for each
have multiple ciphertext letters for each
plaintext letter
plaintext letter
hence letter frequencies are obscured
hence letter frequencies are obscured
but not totally lost
but not totally lost
start with letter frequencies
start with letter frequencies
see if it looks monoalphabetic or not
see if it looks monoalphabetic or not
if not, then need to determine number of
if not, then need to determine number of
alphabets, since then can attack each
alphabets, since then can attack each
 
Frequencies After Polyalphabetic
Frequencies After Polyalphabetic
Encryption
Encryption
 
Autokey Cipher
Autokey Cipher
 
ideally want a key as long as the message
ideally want a key as long as the message
Vigenère proposed the 
Vigenère proposed the 
autokey
autokey
 cipher
 cipher
with keyword is prefixed to message as key
with keyword is prefixed to message as key
knowing keyword can recover the first few letters
knowing keyword can recover the first few letters
use these in turn on the rest of the message
use these in turn on the rest of the message
but still have frequency characteristics to attack
but still have frequency characteristics to attack
eg. given key 
eg. given key 
deceptive
deceptive
key:       deceptivewearediscoveredsav
key:       deceptivewearediscoveredsav
plaintext: wearediscoveredsaveyourself
plaintext: wearediscoveredsaveyourself
ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA
ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA
 
Transposition Ciphers
Transposition Ciphers
 
now consider classical 
now consider classical 
transposition
transposition
 or 
 or 
permutation
permutation
ciphers
ciphers
these hide the message by rearranging the letter
these hide the message by rearranging the letter
order
order
without altering the actual letters used
without altering the actual letters used
can recognise these since have the same frequency
can recognise these since have the same frequency
distribution as the original text
distribution as the original text
Examples:
Examples:
 Rail Fence ciphers, Row transposition
 Rail Fence ciphers, Row transposition
cipher , Block transposition cipher
cipher , Block transposition cipher
 
Row Transposition Ciphers
Row Transposition Ciphers
 
is a more complex transposition
is a more complex transposition
write letters of message out in rows over a
write letters of message out in rows over a
specified number of columns
specified number of columns
then reorder the columns according to some
then reorder the columns according to some
key before reading off the rows
key before reading off the rows
Key: 
Key: 
4312567
4312567
Column Out 4 3 1 2 5 6 7
Column Out 4 3 1 2 5 6 7
Plaintext: a t t a c k p
Plaintext: a t t a c k p
           o s t p o n e
           o s t p o n e
           d u n t i l t
           d u n t i l t
           w o a m x y z
           w o a m x y z
Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ
Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ
 
Product Ciphers
Product Ciphers
 
ciphers using substitutions or transpositions are not
ciphers using substitutions or transpositions are not
secure because of language characteristics
secure because of language characteristics
hence consider using several ciphers in succession to
hence consider using several ciphers in succession to
make harder, but:
make harder, but:
two substitutions make a more complex substitution
two substitutions make a more complex substitution
two transpositions make more complex transposition
two transpositions make more complex transposition
but a substitution followed by a transposition makes a new much harder
but a substitution followed by a transposition makes a new much harder
cipher
cipher
this is bridge from classical to modern ciphers
this is bridge from classical to modern ciphers
Examples: DES, 2DES, 3DES, and several modes of
Examples: DES, 2DES, 3DES, and several modes of
DES (ECB-DES,  CBC-DES, CFB-DES)
DES (ECB-DES,  CBC-DES, CFB-DES)
 
Steganography
Steganography
 
an alternative to encryption
an alternative to encryption
hides existence of message
hides existence of message
using only a subset of letters/words in a longer message marked in some way
using only a subset of letters/words in a longer message marked in some way
using invisible ink
using invisible ink
hiding in LSB in graphic image or sound file
hiding in LSB in graphic image or sound file
hide in “noise”
hide in “noise”
has drawbacks
has drawbacks
high overhead to hide relatively few info bits
high overhead to hide relatively few info bits
advantage is can obscure encryption use
advantage is can obscure encryption use
 
Public-Key Requirements
 
Public-Key algorithms rely on two keys where:
it is computationally infeasible to find decryption key
knowing only algorithm & encryption key
it is computationally easy to en/decrypt messages when
the relevant (en/decrypt) key is known
either of the two related keys can be used for encryption,
with the other used for decryption (for some algorithms)
Examples: RSA, Elliptic curve, DSS , DH,
Elgamal cryptography
 
Public-Key Requirements
 
need a trapdoor one-way function
one-way function has
Y = f(X) easy
X = f
–1
(Y) infeasible
a trap-door one-way function has
Y = f
k
(X) easy, if k and X are known
X = f
k
–1
(Y) easy, if k and Y are known
X = f
k
–1
(Y) infeasible, if Y known but k not known
a practical public-key scheme depends on a
suitable trap-door one-way function
 
 
Public-Key Applications
 
can classify uses into 3 categories:
encryption/decryption
 (provide secrecy)
digital signatures
 (provide authentication)
key exchange
 (of session keys)
some algorithms are suitable for all uses,
others are specific to one
 
Hash Functions
 
condenses arbitrary message to fixed size
h = H(M)
usually assume hash function is public
hash used to detect changes to message
want a cryptographic hash function
computationally infeasible to find data mapping to
specific hash (one-way property)
computationally infeasible to find two data to same
hash (collision-free property)
 
Cryptographic Hash Function
 
Hash
Functions &
Message
Authent-
ication
 
Hash Functions & Digital Signatures
 
Other Hash Function Uses
 
to create a one-way password file
store hash of password not actual 
password
for intrusion detection and virus detection
keep & check hash of files on system
pseudorandom function (PRF) or
pseudorandom number generator (PRNG)
Slide Note

Lecture slides by Lawrie Brown for “Cryptography and Network Security”, 5/e, by William Stallings, Chapter 2 – “Classical Encryption Techniques”.

Embed
Share

Explore the basics of cryptography, including classical encryption techniques, terminology definitions, types of encryption operations, cryptanalysis objectives and attacks, and the concept of cipher strength. Uncover the principles and methods behind encryption and decryption, key distinctions between symmetric and asymmetric systems, cryptographic system characteristics, and levels of cipher security. Delve into the critical field of cryptanalysis and the significance of cipher strength for secure communication.

  • Cryptography
  • Network Security
  • Encryption Techniques
  • Cryptanalysis
  • Cipher Strength

Uploaded on Oct 11, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Cryptography and Network Security Chapter 2 Fifth Edition by William Stallings Lecture slides by Lawrie Brown

  2. Chapter 2 Classical Encryption Techniques

  3. Some Basic Terminology plaintext - original message ciphertext - coded message cipher - algorithm for transforming plaintext to ciphertext key - info used in cipher known only to sender/receiver Private key /Symmetric key ; same key for encryption and decryption Public key/ Asymmetric key ; different keys encipher (encrypt) - converting plaintext to ciphertext decipher (decrypt) - recovering plaintext from ciphertext cryptography - study of encryption principles/methods cryptanalysis (codebreaking) - study of principles/ methods of deciphering ciphertext without knowing key cryptology - field of both cryptography and cryptanalysis

  4. Cryptography can characterize cryptographic system by: type of encryption operations used substitution transposition product number of keys used single-key or private two-key or public way in which plaintext is processed block stream

  5. Cryptanalysis objective to recover key not just message general approaches: cryptanalytic attack brute-force attack if either succeed all key use compromised

  6. Cryptanalytic Attacks ciphertext only only know algorithm & ciphertext, is statistical, can identify plaintext known plaintext know/suspect plaintext & ciphertext chosen plaintext select plaintext and obtain ciphertext chosen ciphertext select ciphertext and obtain plaintext chosen text select plaintext or ciphertext to en/decrypt

  7. Cipher Strength unconditional security no matter how much computer power or time is available, the cipher cannot be broken since the ciphertext provides insufficient information to uniquely determine the corresponding plaintext computational security given limited computing resources (e.g. time needed for calculations is greater than age of universe), the cipher cannot be broken

  8. Encryption Mappings A given key (k) M1 C1 Maps any message Mi to some ciphertext E(k,Mi) K1 M2 C2 Ciphertext image of Mi is unique to Mi under k K1 K1 Plaintext pre-image of Ci is unique to Ci under k M3 C3 K1 Notation key k and Mi in M, ! Cj in C such that E(k,Mi) = Cj A A A A K1 Mi Ci key k and ciphertext Ci in C, ! Mj in M such that E(k,Mj) = Ci K1 Ek(.) is one-to-one (injective) If |M|=|C| it is also onto (surjective), and hence bijective. Mn Cn M=set of all plaintexts C=set of all ciphertexts

  9. Encryption Mappings (2) A given plaintext (Mi) Mi is mapped to some ciphertext E(K,Mi) by every key k Different keys may map Mi to the same ciphertext There may be some ciphertexts to which Mi is never mapped by any key Notation key k and Mi in M, ! ciphertext Cj in C such that E(k,Mi) = Cj It is possible that there are keys k and k such that E(k,Mi) = E(k ,Mi) There may be some ciphertext Cj for which key k such that E(k,Mi) = Cj M1 C1 Kj M2 C2 K2,K89,... K3,Kj ,... Km M3 C3 A A K1,K757,... Mi Ci Mn Cn

  10. Encryption Mappings (3) M1 C1 A ciphertext (Ci) Has a unique plaintext pre-image under each k May have two keys that map the same plaintext to it There may be some plaintext Mj such that no key maps Mj to Ci Notation key k and ciphertext Ci in C, ! Mj in M such that E(k,Mj) = Ci There may exist keys k, k and plaintext Mj such that E(k,Mj) = E(k ,Mj) = Ci There may exist plaintext Mj such that key k such that E(k,Mj) = Ci K1,K17,... M2 C2 K2,K89,... M3 C3 Km K3,K94,... Kj ... ... ... A A Mi Ci ... ... ... Mn Cn

  11. Encryption Mappings (4) Under what conditions will there always be some key that maps some plaintext to a given ciphertext? If for an intercepted ciphertext cj, there is some plaintext mi for which there does not exist any key k that maps mi to cj, then the attacker has learned something If the attacker has ciphertext cj and known plaintext mi, then many keys may be eliminated

  12. Brute Force Search always possible to simply try every key most basic attack, exponential in key length assume either know / recognise plaintext Key Size (bits) Number of Alternative Keys Time required at 1 decryption/ s Time required at 106 decryptions/ s 232 = 4.3 109 32 231 s = 35.8 minutes 2.15 milliseconds 256 = 7.2 1016 56 255 s = 1142 years 10.01 hours 2128 = 3.4 1038 = 5.4 1024 years 5.4 1018 years 128 2127 s 2168 = 3.7 1050 = 5.9 1036 years 5.9 1030 years 168 2167 s 26! = 4 1026 2 1026 s = 6.4 1012 years 6.4 106 years 26 characters (permutation)

  13. Symmetric Cipher Model

  14. Public-Key Cryptography

  15. Public-Key Cryptography public-key/two-key/asymmetric cryptography involves the use of two keys: a public-key, which may be known by anybody, and can be used to encrypt messages, and verify signatures a related private-key, known only to the recipient, used to decrypt messages, and sign (create) signatures infeasible to determine private key from public is asymmetric because those who encrypt messages or verify signatures cannot decrypt messages or create signatures

  16. Symmetric vs Public-Key

  17. Symmetric Encryption Requirements two requirements for secure use of symmetric encryption: a strong encryption algorithm a secret key known only to sender / receiver mathematically have: Y = E(K, X) = EK(X) = {X}K X = D(K, Y) = DK(Y) assume encryption algorithm is known Kerckhoff s Principle: security in secrecy of key alone, not in obscurity of the encryption algorithm implies a secure channel to distribute key Central problem in symmetric cryptography

  18. Classical Substitution Ciphers where letters of plaintext are replaced by other letters or by numbers or symbols or if plaintext is viewed as a sequence of bits, then substitution involves replacing plaintext bit patterns with ciphertext bit patterns

  19. Caesar Cipher earliest known substitution cipher by Julius Caesar first attested use in military affairs replaces each letter by 3rd letter on example: meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB

  20. Caesar Cipher can 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 z = IN D 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 = OUT mathematically give each letter a number 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 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 then have Caesar (rotation) cipher as: c = E(k, p) = (p + k) mod (26) p = D(k, c) = (c k) mod (26)

  21. 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 given ciphertext, just try all shifts of letters do need to recognize when have plaintext eg. break ciphertext "GCUA VQ DTGCM"

  22. Affine Cipher broaden to include multiplication can define affine transformation as: c = E(k, p) = (ap + b) mod (26) p = D(k, c) = (a-1(c b)) mod (26) key k=(a,b) a must be relatively prime to 26 so there exists unique inverse a-1

  23. Affine Cipher - Example example k=(17,3): 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 z = IN D U L C T K B S J A R I Z Q H Y P G X O F W N E V M = OUT example: meet me after the toga party ZTTO ZT DKOTG OST OHBD YDGOV Now how many keys are there? 12 x 26 = 312 Still can be brute force attacked!

  24. Monoalphabetic Cipher rather than just shifting the alphabet could shuffle (permute) the letters arbitrarily each plaintext letter maps to a different random ciphertext letter hence key is 26 letters long Plain: abcdefghijklmnopqrstuvwxyz Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext: ifwewishtoreplaceletters Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA

  25. Monoalphabetic Cipher Security key size is now 25 characters now 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

  26. Language Redundancy and Cryptanalysis human languages are redundant e.g., "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

  27. English Letter Frequencies Sorted Relative Frequencies 14.000 12.000 10.000 8.000 6.000 4.000 2.000 0.000 E T A O I N S H R D L C U M W F G Y P B V K J X Q Z

  28. Example Cryptanalysis given ciphertext: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ guess P & Z are e and t guess ZW is th and hence ZWP is the proceeding with trial and error finally get: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow

  29. Playfair Cipher not 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

  30. Playfair Key Matrix a 5X5 matrix of letters based on a keyword fill in letters of keyword (sans duplicates) fill rest of matrix with other letters eg. using the keyword MONARCHY M C E L U O H F P V N Y G Q W A B I/J S X R D K T Z

  31. Encrypting and Decrypting plaintext is encrypted two letters at a time if a pair is a repeated letter, insert filler like 'X if both letters fall in the same row, replace each with letter to right (wrapping back to start from end) if both letters fall in the same column, replace each with the letter below it (wrapping to top from bottom) otherwise each letter is replaced by the letter in the same row and in the column of the other letter of the pair 1. 2. 3. 4.

  32. Playfair Example Message = Move forward Plaintext = mo ve fo rw ar dx Here x is just a filler, message is padded and segmented mo -> ON; ve -> UF; fo -> PH, etc. Ciphertext = ON UF PH NZ RM BZ M C E L U O H F P V N Y G Q W A B I/J S X R D K T Z

  33. Security of Playfair Cipher security much improved over monoalphabetic since have 26 x 26 = 676 digrams would need a 676 entry frequency table to analyse (versus 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

  34. Polyalphabetic Ciphers polyalphabetic 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

  35. Vigenre Cipher simplest polyalphabetic substitution cipher effectively 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 message decryption simply works in reverse

  36. Example of Vigenre Cipher write the plaintext out write the keyword repeated above it use each key letter as a caesar cipher key encrypt the corresponding plaintext letter eg using keyword deceptive key: deceptivedeceptivedeceptive plaintext: wearediscoveredsaveyourself ciphertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJ

  37. Aids simple 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

  38. Security of Vigenre Ciphers have multiple ciphertext letters for each plaintext letter hence letter frequencies are obscured but not totally lost start with letter frequencies see if it looks monoalphabetic or not if not, then need to determine number of alphabets, since then can attack each

  39. Frequencies After Polyalphabetic Encryption Letter Relative Frequency 14.000 12.000 equiprobable unencrypted two keys four keys eight keys 10.000 8.000 6.000 4.000 2.000 0.000 A V Y J G D P S M

  40. Autokey Cipher ideally want a key as long as the message Vigen re proposed the autokey cipher with keyword is prefixed to message as key knowing keyword can recover the first few letters use these in turn on the rest of the message but still have frequency characteristics to attack eg. given key deceptive key: deceptivewearediscoveredsav plaintext: wearediscoveredsaveyourself ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA

  41. Transposition Ciphers now consider classical transposition or permutation ciphers these hide the message by rearranging the letter order without altering the actual letters used can recognise these since have the same frequency distribution as the original text Examples: Rail Fence ciphers, Row transposition cipher , Block transposition cipher

  42. Row Transposition Ciphers is a more complex transposition write letters of message out in rows over a specified number of columns then reorder the columns according to some key before reading off the rows Key: 4312567 Column Out 4 3 1 2 5 6 7 Plaintext: a t t a c k p o s t p o n e d u n t i l t w o a m x y z Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ

  43. Product Ciphers ciphers using substitutions or transpositions are not secure because of language characteristics hence consider using several ciphers in succession to make harder, but: two substitutions make a more complex substitution two transpositions make more complex transposition but a substitution followed by a transposition makes a new much harder cipher this is bridge from classical to modern ciphers Examples: DES, 2DES, 3DES, and several modes of DES (ECB-DES, CBC-DES, CFB-DES)

  44. Steganography an alternative to encryption hides existence of message using only a subset of letters/words in a longer message marked in some way using invisible ink hiding in LSB in graphic image or sound file hide in noise has drawbacks high overhead to hide relatively few info bits advantage is can obscure encryption use

  45. Public-Key Requirements Public-Key algorithms rely on two keys where: it is computationally infeasible to find decryption key knowing only algorithm & encryption key it is computationally easy to en/decrypt messages when the relevant (en/decrypt) key is known either of the two related keys can be used for encryption, with the other used for decryption (for some algorithms) Examples: RSA, Elliptic curve, DSS , DH, Elgamal cryptography

  46. Public-Key Requirements need a trapdoor one-way function one-way function has Y = f(X) easy X = f 1(Y) infeasible a trap-door one-way function has Y = fk(X) easy, if k and X are known X = fk 1(Y) easy, if k and Y are known X = fk 1(Y) infeasible, if Y known but k not known a practical public-key scheme depends on a suitable trap-door one-way function

  47. Public-Key Applications can classify uses into 3 categories: encryption/decryption (provide secrecy) digital signatures (provide authentication) key exchange (of session keys) some algorithms are suitable for all uses, others are specific to one

  48. Hash Functions condenses arbitrary message to fixed size h = H(M) usually assume hash function is public hash used to detect changes to message want a cryptographic hash function computationally infeasible to find data mapping to specific hash (one-way property) computationally infeasible to find two data to same hash (collision-free property)

  49. Cryptographic Hash Function

  50. Hash Functions & Message Authent- ication

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#