CS 4
CS 4
CS 4
Omid Aghili
Acknowledgements
The following book contributed to this session:
• Confusion
• Seeks to make the relationship between the statistics of the ciphertext and
the value of the encryption key as complex as possible
• An encryption operation where the relationship between key and
ciphertext is obscured.
• 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
• 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
• An encryption operation where the influence of one plaintext
symbol is spread over many ciphertext symbols with the goal of
hiding statistical properties of the plaintext.
Diffusion and Confusion
• In a binary block cipher, diffusion can be achieved by repeatedly performing some
permutation on the data followed by applying a function to that permutation; the effect
is that bits from different positions in the original plaintext contribute to a single bit of
ciphertext.
• Confusion can be achieved by the use of a complex substitution algorithm. In contrast, a
simple linear substitution function would add little confusion.
• Diffusion and confusion have become the cornerstone of modern block cipher design.
Feistel cipher utilizes the concept of a product cipher, which is the execution of
two or more simple ciphers in sequence in such a way that the final result or
product is cryptographically stronger than any of the component ciphers.
Feistel Encryption and Decryption (16 rounds)
Feistel Cipher Design Features (1 of 2)
• Block size
• Larger block sizes mean greater security but
reduced encryption/decryption speed for a given
algorithm
• Key size
• Larger key size means greater security but may
decrease encryption/decryption speeds
• Number of rounds
• The essence of the Feistel cipher is that a single
round offers inadequate security but that multiple
rounds offer increasing security
• Subkey generation algorithm
• Greater complexity in this algorithm should lead to
greater difficulty of cryptanalysis
Feistel Cipher Design Features (2 of 2)
• Round function F
• Greater complexity generally means greater
resistance to cryptanalysis
• Fast software encryption/decryption
• In many cases, encrypting is embedded in
applications or utility functions in such a way as to
preclude a hardware implementation; accordingly,
the speed of execution of the algorithm becomes a
concern
• Ease of analysis
• If the algorithm can be concisely and clearly
explained, it is easier to analyze that algorithm for
cryptanalytic vulnerabilities and therefore develop a
higher level of assurance as to its strength
Feistel Example
Classification of DES in the Field of Cryptology
Data Encryption Standard (DES)
• 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.
Avalanche Effect in DES: Change in Plaintext
• This slide shows the result
when the fourth bit of the
plaintext is changed, so that the
plaintext is 12468aceeca86420.
• The second column of the table
shows the intermediate 64-bit
values at the end of each round
for the two plaintexts.
• The third column shows the
number of bits that differ
between the two intermediate
values
Avalanche Effect in DES: Change in Key
128 AES 2128 ≈ 3.4 × 1038 2127 ns = 5.3 × 1021 5.3 × 1017
years years
168 Triple DES 2168 ≈ 3.7 × 1050 2167 ns = 5.8 × 1033 5.8 × 1029
years years
192 AES 2192 ≈ 6.3 × 1057 2191 ns = 9.8 × 1040 9.8 × 1036
years years
256 AES 2256 ≈ 1.2 × 1077 2255 ns = 1.8 × 1060 1.8 × 1056
years years
26 Monoalphabet 2! = 4 × 1026 2 × 1026 ns = 6.3 × 109 6.3 × 106 years
characters ic years
(permutation
)
Internal Structure of DES
• Bitwise Permutations
• Inverse operations
• Described by tables IP and 𝐼𝑃−1 .
Single Round of DES Algorithm
Li = Ri-1
Ri = Li-1 F(Ri-1, Ki)
The f-Function
The Expansion Function E
Add Round Key
The DES S-Boxes
Permutation P
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
• The greater the number of rounds, the more difficult it
is to perform cryptanalysis
• In general, the criterion should be that the number of
rounds is chosen so that known cryptanalytic efforts
require greater effort than a simple brute-force key
search attack
• If DES had 15 or fewer rounds, differential cryptanalysis
would require less effort than a brute-force key search
Block Cipher Design Principles: Design of
Function F
• The heart of a Feistel block cipher is the function F
• The more nonlinear F, the more difficult any type of cryptanalysis will be
• The SAC and BIC criteria appear to strengthen the effectiveness of the
confusion function