Chapter 3
Chapter 3
Chapter 3
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
Table 3.1
Encryption and Decryption Tables for Substitution Cipher of Figure 3.2
Feistel Cipher
• Proposed the use of a cipher that alternates
substitutions and permutations
• Each plaintext element or group of elements
Substitutions is uniquely replaced by a corresponding
ciphertext element or group of elements
Diffusion
• The statistical structure of the plaintext is dissipated into long-range statistics of the
ciphertext
• This is achieved by having each plaintext digit affect the value of many ciphertext
digits
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
Feistel Cipher
Structure
Feistel Cipher Design
Features
• Block size
• Round function F
• Larger block sizes mean greater
• Greater complexity generally means
security but reduced
greater resistance to cryptanalysis
encryption/decryption speed for a
given algorithm • Fast software encryption/decryption
• Key size • In many cases, encrypting is
• Larger key size means greater embedded in applications or utility
functions in such a way as to
security but may decrease
encryption/decryption speeds preclude a hardware
implementation; accordingly, the
• Number of rounds speed of execution of the algorithm
becomes a concern
• The essence of the Feistel cipher is
that a single round offers inadequate • Ease of analysis
security but that multiple rounds
• If the algorithm can be concisely and
offer increasing security
clearly explained, it is easier to
• Subkey generation algorithm analyze that algorithm for
• Greater complexity in this algorithm cryptanalytic vulnerabilities and
therefore develop a higher level of
should lead to greater difficulty of
assurance as to its strength
cryptanalysis
Data Encryption Standard (DES)
• Issued in 1977 by the National Bureau of Standards (now
NIST) as Federal Information Processing Standard 46
• Was the most widely used encryption scheme until the
introduction of the Advanced Encryption Standard (AES) in
2001
• Algorithm itself is referred to as the Data Encryption
Algorithm (DEA)
• Data are encrypted in 64-bit blocks using a 56-bit key
• The algorithm transforms 64-bit input in a series of steps into
a 64-bit output
• The same steps, with the same key, are used to reverse the
encryption
DES
Encryption
Algorithm
Table 3.2
DES
Example
(Table can be found on
page 75 in textbook)
Note: DES subkeys are shown as eight 6-bit values in hex format
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
Summary
• Traditional Block Cipher • The strength of DES
Structure • Use of 56-bit keys
• Stream ciphers • Nature of the DES
• Block ciphers algorithm
• Feistel cipher • Timing attacks