# Modified Generalized Feistel Network Block Cipher for the Internet of Things
## 2 Related Work  
Block ciphers are cryptographic algorithms that work on fixed block sizes and key sizes. In block ciphers, two important operations are employed for encryption: confusion and diffusion. Confusion makes the relationship between the encryption key and ciphertext complex. Specifically, it is designed to ensure that each bit of the key influences every bit of the ciphertext. On the other hand, diffusion propagates the influence of each bit in the plaintext block over a number of bits in the ciphertext block to ensure that the resulting ciphertext is oversensitive to statistical attacks. There are two types of block ciphers: the Feistel-based network and substitution-permutation network (SPN). The Feistel structure's round function is applied to only half of the state. It simplifies the construction of a circuit that can be utilized for encryption and decryption with minimum overhead. Hence, the fundamental benefit of the Feistel structure is that both the encryption and decryption operations utilize the same programme code [30]. This study will therefore concentrate on the Feistel-based lightweight block cipher structure. As explained, the Feistel network is categorized into the classical Feistel and generalized Feistel network (GFN). The Type-II GFN is the most popular type of GFN due to its security and simplicity. Figure 1a,b show the difference between the classical Feistel and Type-II GFN structures. The illustrations show a single round. Feistel [\(n\)] is the classical balanced Feistel scheme, while Feistel2 [\(k\), \(n\)] is a Type-II Feistel network. Variable k refers to the number of \(n\)-bit input blocks \(X_{1}\)..., \(X_{k}\). The illustration is for \(k=4\). Figure 1: (**a**) Classical Feistel; and (**b**) Type-II Feistel. As mentioned in [30], the basic factors for assessing the performance of a lightweight block cipher are its key size, block size, structure type, and the number of rounds. According to the authors of [31], a lightweight cipher must overcome three key obstacles: the small silicon area or memory footprint, low power consumption, and an appropriate level of security. [PERSON] et al. [32] emphasize the algorithm's block size, key size, and key scheduling aspects. They claim that a lightweight algorithm must have a block size between 32 and 64 bits rather than the conventional 64 and 128 bits. Table 1 compares various Feistel-based lightweight block ciphers with respect to their structure, key size, block size, necessary rounds, and principal attack flaws. RC5 is a type of Feistel network that relies on data-dependent rotations, as described in [33]. Despite being developed prior to the popularity of lightweight ciphers, RC5 is still considered a viable option for devices with limited resources, such as wireless sensor nodes, as demonstrated in [34]. However, RC5-32/12/16 is vulnerable to differential cryptanalysis (refer [35]). While this attack can be extended to 18 rounds, it would necessitate nearly the entire codebook, requiring 264 ciphertexts. The TEA, also known as the tiny encryption algorithm, is a cipher that employs 128-bit keys, 64-bit blocks, and 64 rounds, as described in [24]. The advantage of this algorithm is its key design. Additionally, TEA is power-, energy-, and memory-efficient, simple, and easy to implement. The TEA requires only 7408 encryption cycles and does not utilize S-boxes. However, [PERSON]. [36; 37] stated that the TEA is susceptible to equivalent-key attacks and performs poorly when used as a hash function. The XTEA, also referred to as the eXtended TEA or block TEA, was created to solve the shortcomings of its predecessor, TEA, as described in [38]. Among other enhancements, the XTEA can operate on blocks of arbitrary size and implements a more complicated key-scheduling mechanism. Nonetheless, [39] describes a 36-round related-key rectangle attack against the XTEA. The corrected block TEA, or XXTEA, was proposed [40] in an effort to fix these vulnerabilities.