Professional Documents
Culture Documents
1
Mustansiriyah University Block Cipher Class: Third Stage
Engineering College Feistel Cipher Course name: Data Encryption
Computer Engineering Dep. Lecturer: Dr. Fatimah Al-Ubaidy
2
Mustansiriyah University Block Cipher Class: Third Stage
Engineering College Feistel Cipher Course name: Data Encryption
Computer Engineering Dep. Lecturer: Dr. Fatimah Al-Ubaidy
Block Cipher
(1) Block Cipher is an encryption/decryption scheme in which a block of plaintext is treated as a
whole and used to produce a ciphertext block of equal length. Its structure consists of a number of
identical rounds of processing. In each round, a substitution is performed on one half of the data
being processed, followed by a permutation that interchanges the two halves. The original key is
expanded so that a different key is used for each round.
• Substitution: Each plaintext element or group of elements is uniquely replaced by a
corresponding ciphertext element or group of elements.
• Permutation: A sequence of plaintext elements is replaced by a permutation of that sequence
such that the order in which the elements appear in the sequence is changed.
• Confusion: refers to making the correlation between the key and the ciphertext as complex as
possible (each character of the ciphertext should depend on several parts of the key). This is
achieved by the use of a complex substitution algorithm.
• Diffusion: complicates the statistics of the ciphertext, and makes it difficult to discover the key.
This is achieved by having each plaintext digit affect the value of many ciphertext digits.
(Permutation)
3
Mustansiriyah University Block Cipher Class: Third Stage
Engineering College Feistel Cipher Course name: Data Encryption
Computer Engineering Dep. Lecturer: Dr. Fatimah Al-Ubaidy
Feistel Cipher
The Feistel Cipher:
Feistel proposed that we can approximate the ideal block cipher by utilizing the concept of a
product cipher, which is the execution of two or more simple ciphers in sequence. The essence of
the approach is to develop a block cipher with a key length of k bits and a block length of n bits,
allowing a total of possible 2n! transformations.
FEISTEL cipher structure:
The inputs to the encryption algorithm are a plaintext block of length 2w bits and a key K.
(1) The plaintext block is divided into two halves, L0 and R0.
(2) The two halves of the data pass through n rounds of processing and then combine to produce
the ciphertext block.
(3) Each round i has as inputs Li-1 and Ri-1 derived from the previous round, as well as a subkey Ki
derived from the overall K. In general, the subkeys Ki are different from K and from each other.
(4) A substitution is performed on the left half of the data. This is done by applying a round
function F to the right half of the data and then taking the exclusive-OR of the output of that
function and the left half of the data.
(5) A permutation is performed that consists of the interchange of the two halves of the data.
4
Mustansiriyah University Block Cipher Class: Third Stage
Engineering College Feistel Cipher Course name: Data Encryption
Computer Engineering Dep. Lecturer: Dr. Fatimah Al-Ubaidy