Block Cipher and DES
Block Cipher and DES
and
Stream Ciphers
Encrypt
ion Transmitted Decrypt
algorith ciphertext ion
m algorith
(e.g. m
DES)
Plaintext Plaintext
input output
Secret Secret
key key
Block versus Stream Ciphers
• Block ciphers process messages in blocks,
each of which is then
encrypted/decrypted
• Stream ciphers process messages a bit or
byte at a time when
encrypted/decrypting
Modern Block Ciphers
• Both Block and Stream cipher are the
methods of Encryptions which are
primarily used for converting the plain
text into cipher text directly and belong
to the family of symmetric key ciphers.
• Block ciphers are One of the most widely
used types of cryptographic algorithms
Block Cipher Principles
• Most symmetric block ciphers are based on a
Feistel cipher structure
• Needed since must be able to decrypt cipher
text to recover messages efficiently
• 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
Claude Shannon and Sub/Per Ciphers
• Claude Shannon introduced idea of
substitution-permutation (S-P) networks
• Form basis of modern block ciphers
• S-P nets are based on the two primitive
cryptographic operations seen before:
– Substitution (s-box)
– Permutation (p-box)
• Provide confusion & diffusion of message &
key
Confusion and Diffusion
• Cipher needs to completely obscure
statistical properties of original message
• More practically Shannon suggested
combining S & P elements 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
• Horst Feistel devised the Feistel cipher
– Based on concept of invertible product cipher
• Partitions input block into two halves
– Process through multiple rounds which
– Perform a substitution on left data half
– Based on round function of right half & subkey
– Then have permutation swapping halves
• Implements Shannon’s S-P net concept
Feistel Cipher Structure
Feistel Cipher Design Elements
• Block size
• Key size
• Number of rounds
• Subkey generation algorithm
• Round function
• Fast software en/decryption
• Ease of analysis
Feistel Cipher Decryption