4. Cryptography
4. Cryptography
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
0 1 2 3 4 5 6 7 8 9 10 11 12
n o p q r s t u v w x y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
Solution
We encrypt one character at a time. Each character is
shifted 15 characters down. Letter H is encrypted to W.
Letter E is encrypted to T. The first L is encrypted to A. The
second L is also encrypted to A. And O is encrypted to D.
The cipher text is WTAAD.
30.15
Example 30.4
Solution
We decrypt one character at a time. Each character is
shifted 15 characters up. Letter W is decrypted to H. Letter
T is decrypted to E. The first A is decrypted to L. The
second A is decrypted to L. And, finally, D is decrypted to
O. The plaintext is HELLO.
30.16
Cryptanalysis of Caesar Cipher
• Only have 25 possible ciphers
– A maps to B,..Z
• Given ciphertext, just try all shifts of
letters
• Do need to recognize when have plaintext
• E.g., break ciphertext "GCUA VQ DTGCM"
Monoalphabetic Cipher
• Rather than just shifting the alphabet
• Could shuffle (jumble) the letters arbitrarily
• Each plaintext letter maps to a different
random ciphertext letter
• Key is 26 letters long
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: ifwewishtoreplaceletters
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
Monoalphabetic Cipher
Security
• Now have a total of 26! = 4 x 1026 keys
• Is that secure?
• Problem is language characteristics
– Human languages are redundant
– Letters are not equally commonly used
Example 1
Solution
The cipher is probably monoalphabetic because both
occurrences of L’s are encrypted as O’s.
30.20
Example 30.2
Solution
The cipher is not monoalphabetic because each
occurrence of L is encrypted by a different character. The
first L is encrypted as N; the second as Z.
30.21
English Letter Frequencies
Note that all human languages have varying letter frequencies, though the
number of letters and their frequencies varies.
Example Cryptanalysis
• Given ciphertext:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
• Giving ciphertext
MEMATRHTGPRYETEFETEOAAT
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 another substitution
– Two transpositions make a more complex
transposition
– But a substitution followed by a transposition
makes a new much harder cipher
• This is bridge from classical to modern ciphers
Rotor Machines
• Before modern ciphers,
rotor machines were
most common complex
ciphers in use
• Widely used in WW2
– German Enigma, Allied
Hagelin, Japanese
Purple
• Implemented a very
complex, varying
substitution cipher
Outline
• Overview of Cryptography
• Classical Symmetric Cipher
• Modern Symmetric Ciphers (DES)
Block vs Stream Ciphers
• Block ciphers process messages in into
blocks, each of which is then en/decrypted
• Like a substitution on very big characters
– 64-bits or more
• Stream ciphers process messages a bit or
byte at a time when en/decrypting
• Many current ciphers are block ciphers, one
of the most widely used types of
cryptographic algorithms
Block Cipher
• Divide input bit stream into n-bit sections, encrypt only that
section, no dependency/history between sections
Courtesy:
Andreas
Steffen
• Rather than divide bit stream into discrete blocks, as block ciphers do,
XOR each bit of your plaintext continuous stream with a bit from a
pseudo-random sequence
• At receiver, use same symmetric key, XOR again to extract plaintext
Block Cipher Principles
• Most symmetric block ciphers are based on a
Feistel Cipher Structure
• Block ciphers look like an extremely large
substitution
• Would need table of 264 entries for a 64-bit
block
• Instead create from smaller building blocks
• Using idea of a product cipher
Ideal Block Cipher
Substitution-Permutation Ciphers
• Substitution-permutation (S-P) networks
[Shannon, 1949]
– modern substitution-transposition product cipher
• These form the basis of modern block ciphers
• S-P networks are based on the two primitive
cryptographic operations
– substitution (S-box)
– permutation (P-box)
• provide confusion and diffusion of message
Confusion and Diffusion
• Cipher needs to completely obscure statistical
properties of original message
• A one-time pad does this
• More practically Shannon suggested S-P
networks to obtain:
• Diffusion – dissipates statistical structure of
plaintext over bulk of ciphertext
• Confusion – makes relationship between
ciphertext and key as complex as possible
Feistel Cipher Structure
• Feistel cipher implements Shannon’s S-P
network concept
– based on invertible product cipher
• Process through multiple rounds which
– partitions input block into two halves
– perform a substitution on left data half
– based on round function of right half & subkey
– then have permutation swapping halves
Feistel
Cipher
Structure
Feistel
Cipher
Decryption
DES (Data Encryption Standard)
• Published in 1977, standardized in 1979.
• Key: 64 bit quantity=8-bit parity+56-bit
key
– Every 8th bit is a parity bit.
• 64 bit input, 64 bit output.
64 bit M 64 bit C
DES
Encryption
56 bits
DES Top View
56-bit Key
64-bit
48-bitInput
K1
Generate keys
Permutation Initial Permutation
48-bit K1
Round 1
48-bit K2
Round 2
…... 48-bit K16
Round 16
64-bit Output
Bit Permutation (1-to-1)
1 2 3 4 32
Input: 0 0 1 0 ……. 1
1 bit
Output 1 0 1 1 …….. 1
22 6 13 32 3
Per-Round Key Generation
Initial Permutation of DES key
E
One 48 bits
Mangler
Round Function 48 bits
Encryption S-Boxes Ki
32 bits
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ + + + + + + +
Permutation
Bits Expansion (1-to-m)
1 2 3 4 5 32
Input: 0 0 1 0 1……. 1
Output
1 0 0 1 0 1 0 1 …….. 1 0
1 2 3 4 5 6 7 8 48
S-Box (Substitute and Shrink)
• 48 bits ==> 32 bits. (8*6 ==> 8*4)
• 2 bits used to select amongst 4
substitutions for the rest of the 4-bit
quantity
2 bits I1
row I2
I3 Si O1
O2
I4 O3
I5 O4
4 bits I6
column i = 1,…8.
S-Box Examples
Each row and column contain different numbers.
0 1 2 3 4 5 6 7 8 9…. 15
0 14 4 13 1 2 15 11 8 3
1 0 15 7 4 14 2 13 1 10
2 4 1 14 8 13 6 2 11 15
3 15 12 8 2 4 9 1 7 5
30.57
Figure 30.20 ECB mode
30.58
Figure 30.21 CBC mode
30.59
Figure 30.22 CFB mode
30.60
Figure 30.23 OFB mode
30.61