Block Ciphers and The Data Encryption Standard
Block Ciphers and The Data Encryption Standard
Block Ciphers and The Data Encryption Standard
A block of
plaintext is treated
Typically a block
as a whole and
size of 64 or 128
used to produce a
bits is used
ciphertext block of
equal length
The majority of
As with a stream network-based
cipher, the two symmetric
users share a cryptographic
symmetric applications make
encryption key use of block
ciphers
Stream Cipher and
Block Cipher
• A block cipher operates on a plaintext block of n
bits to produce a ciphertext block of n bits.
• There are 2n possible different plaintext blocks and,
for the encryption to be reversible (i.e., for
decryption to be possible), each must produce a
unique ciphertext block.
• Such a transformation is called reversible, or
nonsingular.
• reversible mappings, the number of different
transformations is 2n!.
Table 3.1
Encryption and Decryption Tables for Substitution Cipher of Figure
3.2
• Feistel refers to this as the ideal block cipher because it allows for maximum number of
possible encryption mappings from the plaintext block
• There is a practical problem with the ideal block cipher (for small size, equivalent to a
classical substitution cipher, for large size not practicle from an implementation and
performance point of view)
Table 3.1
Confusion
• Seeks to make the relationship between the statistics of the ciphertext and the
value of the encryption key as complex as possible
• Even if the attacker can get some handle on the statistics of the ciphertext, the
way in which the key was used to produce that ciphertext is so complex as to
make it difficult to deduce the key
Diffusion and Confusion
• Terms introduced by Claude Shannon to capture the two basic
building blocks for any cryptographic system
• Shannon’s concern was to thwart cryptanalysis based on
statistical analysis
• An example of diffusion is to encrypt a message
• M = m1, m2, m3, . . . of characters with an averaging operation:
DES
Example
(Table can be found on
page 95 in textbook)
Note: DES subkeys are shown as eight 6-bit values in hex format
Avalanche Effect
• A desirable property of any encryption algorithm is that:
• A small change in either the plaintext or the key should
produce a significant change in the ciphertext.
• In particular, a change in one bit of the plaintext or one bit of
the key should produce a change in many bits of the
ciphertext. This is referred to as the avalanche effect
• If the change were small, this might provide a way to reduce
the size of the plaintext or key space to be searched.
Table 3.3 Avalanche Effect in DES: Change in Plaintext
Table 3.4 Avalanche Effect in DES: Change in Key
Table 3.5
Average Time Required for Exhaustive Key Search
Strength of DES
• Timing attacks
• One in which information about the key or the
plaintext is obtained by observing how long it takes
a given implementation to perform decryptions on
various ciphertexts
• Exploits the fact that an encryption or decryption
algorithm often takes slightly different amounts of
time on different inputs
• So far it appears unlikely that this technique will
ever be successful against DES or more powerful
symmetric ciphers such as triple DES and AES
Block Cipher Design Principles:
Number of Rounds
In general, the
criterion should be
that the number of
rounds is chosen so If DES had 15 or
The greater the that known fewer rounds,
number of rounds, cryptanalytic efforts differential
the more difficult it is require greater effort cryptanalysis would
to perform than a simple brute- require less effort
cryptanalysis force key search than a brute-force
attack key search
Block Cipher Design Principles:
Design of Function F
• The heart of a Feistel The algorithm should have good
block cipher is the
function F avalanche properties