FeistelCipher.docx – Assignment: – EssaysForYou

Running head: FEISTEL CIPHER 1


Feistel Cipher

Currently, the Feistel Cipher is among the best security features that are utilized by organizations to enhance the security of data and information. As Hare (2022) notes, this security block feature is “bulletproof” that is making it difficult for hackers to access organizations’ systems. This paper aims at evaluating the Feistel cipher to analyze how it works, the parameters used, and the motivation behind its working mechanism.
Why is it important to study the Feistel cipher?
The Feistel Cipher is a structure that is used to build various forms of symmetric block ciphers. This model can be self-invertible, non-invertible, and also invertible. Moreover, Corsini (2016) also states that Feistel block cipher uses similar encryption and decryption models or algorithms. The Feistel algorithm is based on the Shannon structure that was developed in 1945. It highlights the diffusion and confusion implementation process. The diffusion creates a complex relationship between the cipher text and the plain text. It uses the permutation algorithm. The Feistel cipher proposed a design that creates the substitution and permutation alternately. The substitution aspect replaces the plain text designs with the cipher text. Permutation changes the structure or the order of the plain text elements instead of being replaced by other elements that are also performed by substitution (Hare, 2022). Therefore, Feistel cipher uses the concept of a product cipher, which is the performing of two or more basic ciphers in sequence in a way that the final products are cryptographically stronger than any of the component ciphers.
Example of Feistel Cipher Encryption
This process involves various rounds of processing plain texts. For each round, there is a substitution step that is followed by the permutation step. The following example describes the encryption structure that is used for this design model.

Figure 1: Feistel Cipher Encryption

Source: Cryptography and Network Security (2012)
The first step involves the plain text being channeled into several blocks of a fixed shape and size with only a single block being processed at a time. According to Hare, V. (2022), the encryption model input only consists of a plain text block and a key K. In the second step, the plain text block is divided into two parts. The right part is represented as RE0 while the left part is represented as LE0. Both parts undergo various rounds of processing plain text that ultimately produces the cipher text block. For each round, the encryption algorithm is applied on the right part (REi) of the plain text block plus the key Ki. Consequently, the function results are then combined with a logical operator used in cryptography. It compares two input bits and then produces a single output bit (Cryptography and Network Security, 2012). The XOR function results become the new right half for the next round RE i+1. The previous right half REi becomes the new left half Lei for the next round.
It is worth noting that each round will execute the same function, in which a substitution function is created by using the round function to the right half of the plain text block. Consequently, the permutation function is used by alternating between the two halves. These permutation results are provided for the next rounds.
The following are the cipher design features that are crucial when using block ciphers. The first feature is the block size. As Corsini (2016) states, block ciphers are more secure when the block size is larger. However, larger block sizes slow down the execution speed for the encryption and decryption processes. Block ciphers have a block size of 64 bits, but modern and more advanced blocks can have 128 bits. The second feature is easy analysis. Block ciphers should be easy to analyze and this can help to identify and address any cryptanalytic weaknesses to implement more robust algorithms. The third feature is the number of rounds. The number of rounds can also affect the security of a block cipher. More rounds improve security but make the cipher more difficult and complex to decrypt. Therefore, the number of rounds is depended on an organization’s desired level of data protection.
To conclude, the Feistel cipher is a popular cryptography model that businesses use to secure their valuable data. Even if hackers can get the cipher algorithm, a strong encryption cipher should prevent the hackers from interfering with the cipher’s plain text without having the key or set of keys. Moreover, organizations should adopt an effective cybersecurity plan to help prevent hackers from stealing sensitive information.

Example of Feistel Cipher Decryption
Surprisingly, the Feistel cipher model uses a similar algorithm for encryption and decryption. However, the following rules need to be observed during the decryption process:
Figure 2: Feistel cipher decryption

Source: Cryptography and Network Security (2012)
From figure 2 above, the cipher text block has two parts, the left (LD0) and the right (RD0). This method is similar to the encryption process. Like the encryption algorithm, the round function is executed on the right side of the cipher block with the key K16. The function’s output is XORed with the left half of the cipher text block. The XOR function’s output becomes the new right half (RD1), while RD0 switches with the LD0 for the next round. Every round uses a similar function, and once the fixed number of rounds is over, the plain text block is achieved.
What is the motivation behind the Feistel cipher structure?
A block cipher can be used to achieve similar results as the stream cipher. The majority of network-based symmetric applications use block ciphers. Hence, the main motivation for the Feistel cipher structure is to make it reversible (Cryptography and Network Security, 2012). The figure below indicates the structure of a general substitution cipher for (n=4). N stands for the block size.
Figure 3: the structure of a general substitution cipher.

Source: Cryptography and Network Security (2012)
Generally, the logics of a general substitution cipher for n=4. 4 bit input produces one of 16 possible input states, which are mapped by substitution cipher into a unique one of 16 possible output states. Each of them is represented by 4 cipher text bits. The process of encryption and decryption mappings can be represented into the table below;
Table 1: Encryption and decryption mappings.

Source: Cryptography and Network Security (2012)
This is the most complete form of block cipher but can be used to define a reversible mapping between the cipher text and the plain text. According to Feistel, this is the ideal block cipher because it allows for the highest number of possible encryption mapping from the plaintext book. The essence of the Feistel Cipher is to develop a block cipher with ideal lengths that allows for possible transformations. As Hare (2022) states, the Feistel cipher proposed the use of a cipher that alternates permutations and substitutions. They include the following. 
The first element is substitution. Each plaintext group or element is uniquely substituted by the corresponding cipher text element. The second element is the permutation. A sequence of plaintext elements is replaced by a permutation of the same sequence. This means that no elements are deleted or added in the channel or sequence, rather than the order in which the elements appear in the sequence being changed (Cryptography and Network Security, 2012). Another element is diffusion and confusion. These are strategies or processes that are used to thwart cryptanalysis based on statistical analysis. In diffusion, the statistical structure of the plaintext is channeled into long-range statistics of the cipher text. This is achieved by making sure that every plaintext affects the value of many cipher text digits.
For example, an example of diffusion is to encrypt a message x=x1, x2, x3…hence, of characters with an average operation: ∑= = + k i n m in y. Adding v successive letters to get a cipher text letter yn. The letter frequencies in the cipher text will be more equal than in the plaintext. On the other hand, the confusion element aims at making the relationship between the statistics of cipher text and the encryption key more complex or difficult. This is achieved by using a more complex substitution algorithm. These operations form the foundations of modern block cipher design.
The encryption’s input algorithm is a plaintext block of length 2w bits and a key K. The plaintext block is subdivided into two parts, L0 and R0. The two halves of the data pass through v rounds of processing and then merge to produce the cipher text block. Each round a has as inputs L i-1 and Ri-1, derived from the previous round, as well as a subkey K I derived from the overall K. Generally, the subkeys K I are different from K and each other. All rounds are similar in structure. A substitution is performed on the left side of the data. This is undertaken by applying a round function F to the right half of the data and then taking exclusive –OR of the output of that function and the left half of the data. The round function has a similar structure for each round but is parameterized by the round sub key K i. Following this substitution, a permutation is performed and it consists of the interchange of the two halves of the data.
Which parameters and design choices determine the actual algorithm of the Feistel cipher?
Feistel’s network realization depends on the choice of the following parameters and design features. The first parameter is the block size. As Corsini (2016) states, large size leads to greater security. Hence, the block size should be between 64 and 128 bits. The second parameter is the number of rounds. Having multiple rounds increases the security of the Feistel cipher. Furthermore, another key parameter is the fast software that can promote easy encryption and decryption. As Hare (2022) states, the software should be very easy to cryptanalysis but easy to analyze cryptanalytic vulnerabilities. Furthermore, if the algorithm can be clearly and concisely analyzed, it is easier to analyze that algorithm for cryptanalytic problems and hence, implement a higher level of assurance as to its strength. The timing of attacks is another important parameter to consider. The user needs to select an algorithm in which information about the plaintext or the key is obtained by observing how long it takes a given implementation to perform decryptions on various cipher texts. Moreover, Corsini (2016) states that the user’ needs to exploit the idea that an encryption or decryption algorithm may take different amounts of time on different inputs. However, it is unlikely that this strategy will ever be successful against DES or more advanced and powerful symmetric ciphers like the triple DES and AES.
To conclude, the Feistel Cipher has helped to enhance the security of computer systems through diffusion and confusion mechanisms. It helps businesses to encrypt and decrypt information which makes it almost impossible for hackers to steal or interfere with data or information. Moreover, it also provides easy mechanisms for organizations to decrypt data for organizational use. The main parameters involved with the Feistel Cipher include the block size, ease of analysis, and the number of rounds.

Corsini, M. (2016).
Computer security and Reliability. Online at:
Cryptography and Network Security (2012).
Online at:

Is this the question you were looking for? Place your Order Here