Fact-checked by Grok 2 weeks ago

Feistel cipher

The Feistel cipher is a symmetric-key block cipher structure that processes fixed-size plaintext blocks by iteratively dividing them into two equal halves and applying a series of rounds, in each of which one half is combined with the output of a round function applied to the other half using an exclusive-or (XOR) operation, ensuring that decryption can be achieved by reversing the order of the round keys without requiring the round function itself to be invertible. This design, which simplifies cipher construction by allowing flexibility in the choice of the round function, was developed by Horst Feistel at IBM in the early 1970s as part of efforts to secure computer systems and data privacy through robust encryption mechanisms. Feistel's work built on Claude Shannon's principles of confusion and diffusion, evolving from the Lucifer cipher—a 64-bit block algorithm with a 128-bit key that served as a prototype—and was refined with input from the National Security Agency (NSA) before being adapted into the Data Encryption Standard (DES) in 1977. The Feistel structure's key advantages include its inherent invertibility, which enables the use of identical algorithms for both encryption and decryption (differing only in key scheduling direction), and its proven resistance to cryptanalytic attacks when sufficient rounds (typically 8 to 16 or more) and strong round functions are employed, as demonstrated in DES with its 16 rounds and substitution-permutation network. Beyond DES, the Feistel network has influenced numerous modern block ciphers, including Blowfish, Twofish, and Camellia, underscoring its enduring role in symmetric cryptography for achieving balanced security through iterative processing of block data.

Overview

Core Principles

The Feistel cipher is a symmetric-key block cipher structure that operates on plaintext blocks of even length by dividing them into two equal halves, typically denoted as the left half L_0 and the right half R_0, each of size t bits for a total block size of $2t bits. This reversible construction allows for iterative processing through multiple rounds, where the security relies on the interplay between the halves without requiring the round function to be invertible itself. In the encryption process, the cipher applies r rounds (where r \geq 1, often or more), transforming the input halves (L_{i-1}, R_{i-1}) in each round i as follows: \begin{align*} L_i &= R_{i-1}, \\ R_i &= L_{i-1} \oplus f(R_{i-1}, K_i), \end{align*} where f is a round function that introduces nonlinearity and dependence on the subkey K_i (derived from the master key), and \oplus denotes the bitwise XOR operation. After r rounds, the ciphertext is formed by swapping the final halves to yield (R_r, L_r), ensuring the output remains a of the input space. Decryption is inherently reversible using the same : the halves are swapped to start, and the subkeys are applied in reverse order from K_r to K_1, with the function f unchanged, as the Feistel guarantees that each is its own . This simplifies , requiring only a single for both directions. The core purpose of the Feistel in is to achieve Shannon's principles of (obscuring the relationship between , , and ) and (spreading the influence of each bit across many bits) through repeated, hardware-efficient operations like substitutions, permutations, and XORs, which collectively build resistance to without complex invertible transformations.

Key Characteristics

Feistel ciphers typically employ a balanced structure, dividing the input block into two equal-sized halves, denoted as L and R, each of size n bits for a total block size of 2n bits. This balanced partitioning ensures the overall transformation remains invertible, as the decryption process simply reverses the order of the rounds without requiring inversion of the round function. Unbalanced variants exist where the halves differ in size, but the standard balanced form is preferred for its symmetry and simplicity in achieving invertibility. The in a Feistel cipher generates a of round subkeys from the master key, typically through operations such as bit expansion, , and shifting to produce distinct subkeys for each round. This process ensures that each round uses a unique subkey, enhancing security by diffusing the influence of the master key across the cipher. The number of rounds is usually set between 8 and 16 to provide adequate security against cryptanalytic attacks, with even numbers facilitating straightforward decryption by running the in reverse with the subkeys applied in reverse order. Additionally, the design enables easy in both and software due to the repetitive, modular round structure, which minimizes code or circuitry complexity. Critically, the round function f need not be invertible, as decryption relies solely on XOR operations and subkey , permitting the use of complex, one-way functions for added security without complicating the decryption process. Feistel ciphers offer flexibility in block size, accommodating any even length (2n bits) without dependency on the specific details of the round function, allowing designers to scale security by adjusting n while maintaining the core structure's invertibility and efficiency.

History

Origins and Early Development

Horst Feistel, born in in 1915 and immigrating to the in 1936, developed an early interest in amid the technological and strategic imperatives of , including advances in code-breaking and the pressing demand for secure of teletype communications to protect signaling. After earning a B.S. in physics from in 1937 and an M.A. from Harvard in 1942, he contributed to wartime efforts at the starting in 1944, focusing on (IFF) systems that integrated basic cryptographic principles for reliable ally identification in networks. These experiences underscored the vulnerabilities of electronic communications and motivated his lifelong pursuit of robust methods. In the postwar decades from the 1940s through the 1960s, Feistel advanced cryptographic systems at institutions like the Air Force Cambridge Research Center in the early , where he applied to secure data transmission while pursuing informally, and later at from 1961, attempting to establish dedicated cryptographic research groups despite prevailing restrictions on non-military applications. His efforts drew from Claude Shannon's foundational theories of in communication security, aiming to design structures that obscured statistical patterns in encrypted data. Collaborations during this period included work with mathematicians such as A. Adrian on cryptanalytic challenges, laying groundwork for practical prototypes. Feistel's career shifted decisively in 1968 when he joined IBM's as a research staff member in the Department, hired specifically to lead commercial initiatives amid growing needs for in . There, he collaborated with colleagues including on early prototype designs for block-based cryptographic systems, testing structures intended for reliable performance in adversarial environments like networked banks. The culmination of this pre-1970s work appeared in Feistel's March 1970 IBM research report, "Cryptographic for Data-Bank ," which first articulated the Feistel network concept as a modular framework for symmetric . The primary goals were to engineer a resilient to precursors of modern attacks, such as statistical and known-plaintext analyses, by ensuring nonlinear mixing that thwarted pattern detection without relying on complex . This approach prioritized practicality for emerging computer , emphasizing invertibility and security against brute-force and analytical threats prevalent in early digital systems.

Influence on DES and Lucifer

In 1971, IBM researcher Horst Feistel and his team developed the Lucifer cipher as one of the earliest proposed block ciphers for civilian use, featuring a 128-bit block size and employing a Feistel network structure to enable efficient encryption and decryption of data streams in 16-byte groups. This prototype addressed emerging needs for secure electronic data communications, such as in banking systems, by iterating substitution and permutation operations within the Feistel framework to provide confidentiality without requiring complex key management. By 1975, , in collaboration with the (NSA), redesigned into what became the (DES), reducing the block size to 64 bits while retaining the core Feistel structure with 16 rounds and shortening the effective key length to 56 bits from Lucifer's original 128 bits to balance security and computational efficiency for non-classified government and commercial applications. The NSA's involvement included suggestions for strengthening the substitution boxes (S-boxes) to resist known attacks and confirming the reduced key size's adequacy, though this sparked immediate concerns about potential government influence over the algorithm's security parameters. The Feistel structure was specifically retained in DES for its provable invertibility—allowing decryption by simply reversing the round order without inverting the round function—and its hardware-friendly efficiency, which minimized implementation costs compared to fully reversible ciphers like substitution-permutation networks. In January 1977, the National Bureau of Standards (NBS, now NIST) formally adopted as Federal Information Processing Standard (FIPS) PUB 46, mandating its use for encrypting unclassified sensitive data across federal agencies and endorsing it for adoption to promote standardized cryptographic practices. This standardization marked a pivotal milestone, establishing the Feistel-based as the de facto global benchmark for symmetric encryption and influencing subsequent cryptographic designs by demonstrating the practicality of balanced block ciphers in real-world systems. Early criticisms of DES centered on the 56-bit key size, with public hearings in 1975 revealing debates over whether the reduction—allegedly influenced by NSA to enable exhaustive search feasibility—compromised long-term security against advancing computing power. These concerns persisted into the , as growing hardware capabilities prompted challenges like academic analyses questioning DES's resistance to brute-force attacks, ultimately leading to calls for key length extensions and the eventual development of stronger successors, though DES itself proved resilient to theoretical breaks during that era.

Design

Round Function Mechanics

In a Feistel cipher, the round function, commonly denoted as f, processes the right half of the current data block and a round-specific subkey to generate an output of the same as the half-block. This accepts the right half R_{i-1} and subkey K_i as inputs for i, producing f(R_{i-1}, K_i), which is subsequently XORed with the left half to update the block state. The design of f allows for considerable flexibility, as it need not be bijective or invertible, distinguishing it from structures requiring full reversibility in every component. Key requirements for the round function include strong dependence on the subkey to integrate the master key's influence across iterations and non-linearity to thwart attacks like . Additionally, f should promote the , originally conceptualized by Feistel, whereby a one-bit change in the input alters roughly half the output bits on average, facilitating rapid of changes within the processed half-block. These properties ensure that f contributes to both —obscuring the data-key relationship—and initial , with full block-wide mixing achieved through subsequent rounds. A representative construction of the round function begins with key mixing, often via XOR or modular addition of the expanded input half-block and subkey to blend data and key material. This is followed by a substitution layer employing S-boxes, which map fixed-size inputs to outputs in a non-linear fashion to introduce and resist algebraic attacks. The process typically concludes with a linear layer, rearranging bits to spread influences and enhance local before the output is XORed back into the state. Such layered designs balance computational efficiency with security, allowing adaptation to or software constraints. The round function's primary impact lies in injecting non-linearity and key dependence into the cipher, complicating statistical analysis of the plaintext-ciphertext mapping. While a single application of f confuses only one half, the iterative Feistel structure uses inter-half XORs to propagate effects, ensuring that after several rounds, alterations in any input bit affect the entire output block—a critical for overall . For clarity, the mechanics of a single round computation, centering on the round function, can be expressed in pseudocode as follows:
function feistel_round(L_{i-1}, R_{i-1}, K_i):
    # Compute the round function output
    temp = key_mix(R_{i-1}, K_i)  # e.g., XOR or modular addition, possibly after expansion
    substituted = apply_sboxes(temp)  # Non-linear substitution layer
    f_output = permute(substituted)  # Linear bit permutation for diffusion
    
    # Update halves
    L_i = R_{i-1}
    R_i = L_{i-1} XOR f_output
    
    return L_i, R_i
This pseudocode highlights how f drives the transformation, with the XOR ensuring invertibility without reversing f itself.

Network Structure and Iterations

The Feistel network is constructed by chaining multiple iterations of the basic Feistel round, typically denoted as n rounds, where the input block is divided into two halves of equal length, left L_0 and right R_0. In each round i (for $1 \leq i \leq n), the right half R_{i-1} is fed into the round function f along with the round key K_i, producing L_i = R_{i-1} and R_i = L_{i-1} \oplus f(R_{i-1}, K_i); the halves are then swapped implicitly or explicitly to form the input for the next round. This chaining ensures progressive mixing of the data across rounds, with the output after the n-th round forming the ciphertext C = (L_n, R_n). An initial permutation or swap of the halves is optional and depends on the specific implementation, as seen in designs like Lucifer where it aids in diffusion without altering the core invertibility. The key schedule derives the sequence of round keys K_1, \dots, K_n from a master key, often through a of , , and shifting operations to ensure each K_i is distinct and unpredictable. For instance, the master key may first undergo a to rearrange bits, followed by splitting into subkeys that are cyclically shifted (e.g., by 1 or 2 bits per round) before selection and to the required length for the round function. This process prevents round keys from being directly derivable from the master key in a trivial manner, enhancing resistance to certain attacks while maintaining computational efficiency. After all n rounds, a final swap of the output halves (L_n, R_n) to (R_n, L_n) is commonly applied to align the ciphertext structure with the for decryption, where the same is used but with round keys applied in reverse K_n, \dots, K_1. This swap ensures that decryption mirrors encryption exactly, as the Feistel structure's invertibility holds regardless of the round . The choice of n involves trade-offs: more rounds amplify through repeated and , but they elevate computational cost and latency; an even n simplifies key reversal during decryption by avoiding additional swaps. In the multi-round flow, P = (L_0, R_0) enters round 1 to yield (R_0, L_0 \oplus f(R_0, K_1)), which chains to round 2 as (L_1, R_1), and so on, culminating in C = (R_n, L_n) after the final swap, visually resembling a ladder-like where each rung represents a round's XOR and .

Variants

Unbalanced Feistel Ciphers

Unbalanced Feistel ciphers extend the classic Feistel structure by dividing the plaintext block into two unequal parts, typically a left half L of m bits and a right half R of n bits where m \neq n. This modification preserves the invertibility of the construction, provided the round function f produces an output of appropriate size—specifically, n bits when updating the right half or m bits when updating the left, depending on the imbalance direction. In a round of an unbalanced Feistel cipher, the update rule adapts to the size difference for reversibility. For a source-heavy (where the input to f is the larger part of s > t bits, and f outputs t bits), the new block X_{i+1} is formed as (F_{K_i}(\mathrm{MSB}_s(X_i)) \oplus \mathrm{LSB}_t(X_i)) || \mathrm{MSB}_s(X_i), effectively XORing the output with the smaller target part and appending the original source part. If is required for size mismatches (e.g., when f's output exceeds the target size), the excess bits are truncated or shifted into the other half, ensuring the total block length remains constant. The decryption process reverses this by recomputing the original halves without additional computation beyond the forward functions. These ciphers offer advantages in handling odd-length blocks, such as 65-bit or 80-bit sizes, which are impractical in balanced designs without padding that could introduce vulnerabilities or inefficiency. For instance, they enable efficient encryption for non-standard block sizes in specialized applications like early disk encryption formats, while potentially improving resistance to differential and linear cryptanalysis through adjusted diffusion rates. Early proposals for such structures emerged in the 1980s, with concrete examples including the experimental MacGuffin cipher (1994), which uses a 64-bit block split into a 48-bit control part and a 16-bit target, updating only the smaller target per round via a keyed S-box layer. Despite these benefits, unbalanced Feistel ciphers can suffer from limitations, particularly weaker when the imbalance is extreme (e.g., one half much smaller than the other), as the smaller part may propagate changes less effectively across the , potentially exposing the design to targeted attacks like linear approximations on the larger half. Security analyses emphasize that while higher rates aid against attacks, the properties of the round function f remain critical to overall strength.

Generalized Feistel Networks

Generalized Feistel networks extend the classical two-part Feistel structure by dividing the input block into k \geq 2 equal-sized parts, typically each of n bits, allowing for greater flexibility in cipher design while preserving the invertibility of the transformation regardless of the round function's properties. These networks apply round functions to subsets of the parts and combine results via XOR operations, often followed by a such as a cyclic shift, enabling efficient diffusion across the entire block. In a Type-1 generalized Feistel network, the block is split into k parts B_1, B_2, \dots, B_k, and each round applies a round function F to B_1 and XORs the output with B_2 to form the new B_1', while shifting the remaining parts: B_1' = B_2 \oplus F(B_1), B_2' = B_3, ..., B_{k-1}' = B_k, B_k' = B_1. This structure processes one part per round, promoting sequential suitable for implementations where parallelism is limited. Examples include ciphers like CAST-256, which employ this variant for its simplicity in handling multiple subblocks. Type-2 networks, requiring an even k, apply round functions in parallel to the odd-indexed parts and XOR the results with the following even parts, followed by a cyclic shift of all parts to propagate changes. For example, in a 4-branch case (, , B3, B4), the update is B1' = (B3) ⊕ B4, B2' = B1, B3' = F1(B1) ⊕ B2, B4' = B3, where F1 and F2 are round functions. This pairwise application allows for higher parallelism compared to Type-1, as multiple functions can be computed simultaneously, making it ideal for hardware implementations. Ciphers such as CLEFIA and utilize this type to balance and in wide-block scenarios. Type-3 networks divide the block into k parts and, in each round, apply round functions such that B_{i+1} \leftarrow B_{i+1} \oplus F_i(B_i) for i = 1 to k-1, with B_1 \leftarrow B_k after the cycle completes, effectively creating a rotating chain of XOR dependencies. Examples include the AES finalist MARS, which uses a Type-3 variant. This design achieves full diffusion more rapidly in some configurations, though it may require careful key scheduling to avoid weaknesses. These generalizations offer benefits such as improved parallelism in Type-1 and Type-2 variants, where multiple round functions can be evaluated concurrently, making them suitable for wide-block ciphers that process large data volumes efficiently. They also maintain the core invertibility of Feistel structures, ensuring decryption is straightforward by reversing the rounds without needing invertible round functions. Proposed in the by Kaisa Nyberg, these networks have influenced ARX-based (Addition-Rotation-XOR) designs by providing a framework for provably secure layers in symmetric cryptography.

Theoretical Aspects

Security Analysis Frameworks

Security analysis of Feistel ciphers primarily relies on empirical frameworks that evaluate resistance against known cryptanalytic attacks, focusing on the structure's ability to propagate differences and linear approximations across rounds. These frameworks assess how the round function and contribute to and , ensuring that small changes in input or key lead to significant alterations in output. Common metrics include the , where a single-bit change in plaintext or key should ideally flip approximately 50% of the ciphertext bits after sufficient rounds, promoting strict criterion (SAC) compliance in the f-function's S-boxes. Differential cryptanalysis, introduced by Biham and Shamir, exploits probabilistic differences between pairs to recover keys by analyzing how XOR differences propagate through the Feistel rounds. In Feistel ciphers, resistance is achieved through a sufficient number of rounds—typically at least 8 to 16 depending on the f-function's nonlinearity—to reduce the probability of high-probability s to negligible levels, as demonstrated on where 16 rounds provide security against full attacks. The must also avoid weak subkeys that could amplify differential characteristics, ensuring uniform distribution of round keys to prevent related-key vulnerabilities. Linear cryptanalysis, developed by Matsui, targets linear approximations between , , and bits, measuring biases in the of linear combinations across rounds. For Feistel ciphers, the f-function's S-boxes are designed to minimize correlation biases, ideally keeping them below 2^{-n/2} for an n-bit block half, with multiple rounds accumulating approximations to enable recovery if biases exceed statistical noise. This framework highlights the need for nonlinear round functions that resist linear trails, as seen in where 16 rounds limit practical attacks to requiring around 2^{43} known plaintexts. Beyond statistical attacks, meet-in-the-middle techniques target reduced-round Feistel ciphers by computing partial encryptions from both ends and matching intermediate values, achieving key recovery proportional to 2^{n/2} for n-bit blocks on 4 to 6 rounds. Impossible differential extends this by identifying input-output differences under the cipher's operation, filtering wrong subkeys in key recovery phases; for Feistel structures, 5-round impossible differentials exist generically, but more rounds and strong layers extend . These attacks underscore the importance of round count and f-function design in balancing security margins. Implementation-specific frameworks address side-channel vulnerabilities, such as timing attacks exploiting variable execution times in the f-function due to data-dependent operations like table lookups. In Feistel ciphers, uneven round function timings can leak key bits through cache access patterns or branch predictions, as formalized in differential cache attack models where Feistel structure influences leakage propagation. Countermeasures include constant-time implementations and masking to mitigate these physical leaks without altering the core structure.

Provable Security Constructions

The Luby-Rackoff construction establishes the provable security of Feistel networks under the assumption of ideal random round functions. Specifically, a balanced Feistel cipher with three independent random round functions, each mapping from an n-bit domain to an n-bit range, forms a pseudorandom permutation (PRP) secure against adaptive chosen-plaintext attacks (CPA), with a distinguishing advantage of at most O(q^2 / 2^{n/2}), where q denotes the number of oracle queries. This bound implies security up to roughly $2^{n/2} queries, aligning with the birthday paradox limit for n-bit blocks. Extending this, four rounds suffice to achieve strong PRP security against chosen-ciphertext attacks (CCA), maintaining a comparable advantage bound of O(q^2 / 2^{n/2}). Subsequent refinements using the H-coefficient technique have tightened these results. Patarin proved that three rounds provide PRP security up to the birthday bound with advantage O(q^3 / 2^{2n}), while four rounds yield strong PRP security with advantage O(q^4 / 2^{3n}), both under the ideal random function model. These theorems quantify security in terms of bit advantage, such as $2^{-n/2} for at the birthday boundary, emphasizing the construction's robustness for practical block sizes. Extensions to key-dependent round functions draw from the Even-Mansour framework, adapting it to key-alternating Feistel ciphers where each round applies a key XOR before a public . In this model, five rounds achieve beyond-birthday-bound (BBB) security of $2n/3 bits against in the model, surpassing the n/2-bit limit of classical Feistel proofs. Post-2010 advancements address quantum threats, confirming quantum resistance under ideal assumptions. For instance, the four-round Luby-Rackoff construction is a quantum PRP (qPRP) secure against quantum up to O(2^{n/6}) quantum queries, with the bound proven tight via a matching attack. Hybrid constructions combining Feistel with post-quantum primitives further enhance resistance, though detailed quantum-secure keyed variants remain an active area. These constructions assume ideal, key-independent random round functions, which rarely hold in practice; real implementations use keyed functions with structure and limited key material, potentially reducing security to sub-birthday levels or introducing exploitable weaknesses.

Applications

Block Ciphers Employing Feistel

The Feistel cipher structure has been foundational in the design of numerous ciphers, providing a balanced approach to and through iterative rounds. One of the earliest and most influential examples is the (DES), published in 1977 as a U.S. federal standard, which employs a 64-bit , 16 rounds, and a 56-bit key, utilizing S-boxes in its round function for non-linearity. Although DES has been deprecated due to its short key length making it vulnerable to brute-force attacks, it remains historically significant for establishing Feistel networks in practical . In 1993, introduced Blowfish as a faster alternative to , featuring a 64-bit block size, 16 rounds, and variable key lengths from 32 to 448 bits, with the round function incorporating key-dependent P-arrays and four S-boxes for enhanced security. Blowfish gained popularity for its efficiency on 32-bit processors and lack of patents, finding use in applications like secure file encryption. The cipher, proposed in 1998 by Schneier and colleagues as an candidate, extends the Feistel design with a 128-bit block size, 16 rounds, and support for 128-, 192-, or 256-bit keys, incorporating a modified Feistel structure with key-dependent S-boxes and MDS matrices for better diffusion. Although not selected for , Twofish's flexibility and performance on various platforms have sustained its adoption in software implementations. Camellia, developed in 2000 by and NTT researchers, uses a generalized Feistel network with a 128-bit block size, 18 rounds for 128-bit keys and 24 rounds for 192- or 256-bit keys, dividing the state into four branches to improve security margins over classical Feistel designs. Standardized by ISO/IEC and selected for the CRYPTREC portfolio, balances speed and security for both and software environments. For resource-constrained devices like those in the , the U.S. released the and families in 2013 as lightweight block ciphers based on generalized Feistel structures. emphasizes hardware efficiency with an AND-Rotation-XOR (ARX) round function; for instance, the SIMON-64/128 variant processes 64-bit blocks using a 128-bit key over 44 rounds. , optimized for software, uses Addition-Rotation-XOR operations; the SPECK-64/128 variant similarly handles 64-bit blocks with a 128-bit key but requires only 27 rounds due to its efficient mixing. These ciphers address modern needs for low-power while maintaining resistance to known attacks.
CipherYearBlock Size (bits)Key Size (bits)Rounds
DES1977645616
Blowfish19936432–44816
1998128128, 192, 25616
2000128128, 192, 25618 or 24
SIMON-64/12820136412844
SPECK-64/12820136412827

Other Uses and Modern Adaptations

Beyond its traditional role in block ciphers, the Feistel structure has been adapted for use in cryptographic hash functions, particularly in the compression function of , where it employs an unbalanced Feistel network consisting of 64 rounds to process 512-bit input blocks into 128-bit digests. This design leverages the invertibility of Feistel rounds to ensure one-way processing while maintaining efficiency in the Merkle-Damgård construction. In and related modes, Feistel-like adaptations appear in schemes such as , a length-preserving mode developed for entry-level processors lacking hardware support. utilizes an unbalanced Feistel network within a hash-block cipher-stream cipher-hash (HBSH) construction, dividing the into left and right parts, applying a Poly1305 hash to tweak one part, encrypting it with a single call, and then adjusting the other part via XChaCha12 and another hash, achieving around 10.6 cycles per byte on for 4096-byte sectors. This approach provides tweakable, variable-input-length strong pseudorandom permutations suitable for encryption without padding. Hybrid designs integrate Feistel rounds with additional layers for enhanced security, as seen in , a 128-bit that alternates 18 or 24 Feistel rounds (for 128- or 192/256-bit keys) with FL and FL^{-1} functions inserted every six rounds. The FL layer applies key-dependent linear transformations on 64-bit halves using bitwise AND, OR, and shifts, providing beyond pure Feistel mixing while preserving decryption efficiency. Modern adaptations address quantum threats through post-quantum analyses and proposals, such as evaluations of key-alternating Feistel ciphers under quantum query models, demonstrating that three rounds with random oracle functions yield pseudo-random permutations and four rounds achieve strong pseudo-random permutations against adversaries making p quantum and q classical queries, with security bounds like \mathrm{Advt}_{p,q\text{-}prp} \leq 4p\sqrt{4q/2^n} + 12q\sqrt{2p/2^n} + 50q^2/2^n for n-bit blocks. Emerging lattice-based round function proposals since 2020 explore integrating hard lattice problems into Feistel f-functions to resist quantum attacks, for example, the Chaotic-Lattice Feistel Cipher (CLFC) proposed in 2025 as a lightweight post-quantum secure framework for IoT edge devices, though full constructions remain under investigation for practical deployment.

References

  1. [1]
    [PDF] Block ciphers - Cryptography: An Introduction (3rd Edition) Nigel Smart
    This means that in a Feistel cipher we have simplified the design somewhat, since. • we can choose any function for the function F, and we will still obtain an ...
  2. [2]
    Cryptography and Computer Privacy - Scientific American
    May 1, 1973 · By Horst Feistel. May 1973 Issue. The Sciences. Join Our Community ... Cryptography and Computer Privacy” in Scientific American Magazine Vol.
  3. [3]
    [PDF] Block Ciphers
    Feistel Cipher Structure. • Horst Feistel devised the Feistel cipher. – based on concept of invertible product cipher. – His main contribution was invention of ...
  4. [4]
  5. [5]
    [PDF] Horst Feistel, Cryptography and Computer Privacy
    : Horst Feistel, Cryptography and Computer Privacy, Scientific American, May 1973, Vol. 228,. No. 5, pp. 15 23. . . , . , . ,. ,. , . ,. ,. ,. , ,. ,. , . ,. ,.
  6. [6]
    [PDF] Single-Cycle Implementations of Block Ciphers
    Definition 3. A Feistel cipher is an iterated cipher mapping a 2t-bit plaintext. (L0, R0), for t-bit blocks L0 and R0, to a ciphertext (Rr, Lr), through an r- ...
  7. [7]
    [PDF] Feistel Mode
    A Feistel network uses a round function, a function which takes two inputs – a data block and a subkey – and returns one output of the same size as the data ...
  8. [8]
    [PDF] The Feistel Cipher Diffusion and Confusion Feistel Cipher Structure
    Block size: Larger block sizes mean greater security, but reduced encryption/decryption speed for a given algorithm. Key size: Larger key size means greater ...Missing: advantages | Show results with:advantages
  9. [9]
    [PDF] Chapter 3: Block Ciphers and the Data Encryption Standard - JUST
    Feistel Cipher Structure. • Horst Feistel proposed the Feistel cipher. • based on concept of invertible product cipher. • partitions input block into two halves.Missing: characteristics balanced
  10. [10]
    [PDF] MCS -119 - UPRTOU
    Feistel cipher is a product cipher and each round in it involves the ... One half of the ... Advantage is that error propagation is avoided as contents of.
  11. [11]
    None
    ### Summary of Horst Feistel's Early Career and Work (Pre-1970s)
  12. [12]
    In praise of the Feistel network | MIT Technology Review
    Apr 27, 2022 · “In 1973, when Horst published that paper, it was an eye-opener for many of us. It opened an approach to cryptography that made a lot of sense.” ...Missing: original | Show results with:original
  13. [13]
    [PDF] Equivalence of Generalised Feistel Networks
    This paper focuses on equivalences between Generalised Feistel Networks ... Invented by Feistel and Coppersmith in 1973 for IBM's Lucifer cipher, it was later.
  14. [14]
    [PDF] cryptographic coding for data-bank privacy - IBM Research
    Mar 18, 1970 · The most outstanding feature of the kind of network structure we are talking about is that it must function reliably in a hostile environment.
  15. [15]
    [PDF] the design of lucifer - IBM Research
    Apr 15, 1971 · ABSTRACT: Lucifer embodies a block-cipher cryptographic system by which a data stream of any length is enciphered (or deciphered) on-line in ...Missing: Development Schneier
  16. [16]
    Horst Feistel: the inventor of LUCIFER, the cryptographic algorithm ...
    Aug 10, 2025 · This paper describes cryptography, various symmetric key algorithms in detail and then proposes a new symmetric key algorithm. Algorithms ...Missing: original | Show results with:original
  17. [17]
    [PDF] NSA's Involvement in the Design of the Data Encryption Standard ...
    Mar 17, 1975 · In the development of DES, NSA convinced IBM that a reduced key size was sufficient; indirectly assisted in the development of the S-box.
  18. [18]
    [PDF] The Data Encryption Standard - Princeton University
    Prior to the solicita- tion for DES, IBM had developed and patented a 64-bit Cash Issuing Algorithm for safeguarding financial transactions and a 128-bit ...
  19. [19]
    [PDF] pdf
    Handbook of Applied Cryptography by A. Menezes, P. van Oorschot and S ... the Feistel cipher. Figure 7.9(b) illustrates that successive rounds of a ...
  20. [20]
    [PDF] Accelerating an Extreme Amount of Symmetric Cipher Evaluations ...
    from the ideas of completeness and avalanche effect first introduced by Kam and Davida [11] and Feistel [8], respectively. A cipher is said complete (or ...
  21. [21]
    [PDF] Data Encryption Standard - NIST Computer Security Resource Center
    Jan 8, 2020 · (FIPS PUBJ 46, 17 pages (1977) ... Additional FIPS guidelines for implementing and using the DES are being developed and will be published by NBS.
  22. [22]
    [PDF] The MacGu n Block Cipher Algorithm - Schneier on Security -
    MacGu n is unusual in that it is based on a generalized unbalanced Feistel network. (GUFN) in which each round of the cipher modi es only 16 bits accord- ing to ...
  23. [23]
    Generalized Feistel networks - SpringerLink
    Jun 26, 2005 · A simple network of small s-boxes can be proven secure against differential and linear cryptanalysis. Upperbounds of the differential ...
  24. [24]
    Differential cryptanalysis of DES-like cryptosystems
    Feb 5, 1991 · In this paper we develop a new type of cryptanalytic attack which can break the reduced variant of DES with eight rounds in a few minutes on a personal ...<|separator|>
  25. [25]
    [PDF] Differential Cryptanalysis of the Data Encryption Standard - Eli Biham
    Dec 7, 2009 · Differential cryptanalysis is the first published attack which is capable of breaking the full 16-round DES in less than 255 complexity. The ...
  26. [26]
    On the differential and linear efficiency of balanced Feistel networks
    Sep 30, 2010 · Practical security evaluation against differential and linear cryptanalyses for Feistel ciphers with SPN round function. D.R. Stinson, S ...<|separator|>
  27. [27]
    Linear Cryptanalysis Method for DES Cipher
    and Matsui and Yamagishi have described a deterministic method to break FEAL-8 ... The purpose of Linear Cryptanalysis is to find the following “effective” linear ...
  28. [28]
    Multidimensional Linear Cryptanalysis of Feistel Ciphers
    Dec 8, 2023 · This paper presents new generic attacks on Feistel ciphers that incorporate the key addition at the input of the non-invertible round function only.
  29. [29]
    [PDF] Linear Cryptanalysis of DES Cipher
    The first aim of this paper is to give an explicit description of the best linear approximate expression and its approximate probability for DES. We then carry ...
  30. [30]
    Impossible Differential Cryptanalysis on Feistel Ciphers with SP and ...
    This paper mainly studies the impossible differentials of Feistel ciphers with both SP and SPS round functions where the linear transformation P is defined ...
  31. [31]
    [PDF] Leakage-Resilient Pseudorandom Functions and Side-Channel ...
    We propose generic side-channel attacks against Feistel networks. The attacks are generic in the sense that they work for any round functions. (e.g. uniformly ...
  32. [32]
    [PDF] A Tutorial on Physical Security and Side-Channel Attacks
    Timing attacks exploit the device's running time. Power analysis attacks focus on the device's electric consumption. Electromagnetic analysis attacks measure ...
  33. [33]
    How to Construct Pseudorandom Permutations from Pseudorandom ...
    We show how to efficiently construct a pseudorandom invertible permutation generator from a pseudorandom function generator.
  34. [34]
    BBB security for 5-round even-Mansour-based key-alternating ...
    Oct 4, 2023 · In this paper, we study the security of the Key-Alternating Feistel (KAF) ciphers, a class of key alternating ciphers with the Feistel structure.
  35. [35]
  36. [36]
    [PDF] On Generalized Feistel Networks
    Beyond their use in making conventional blockciphers, generalized Feistel networks have been proposed as blockcipher modes-of-operation for format-preserving ...
  37. [37]
    FIPS 46, Data Encryption Standard (DES) | CSRC
    This publication provides a standard to be used by Federal organizations when these organizations specify that cryptographic protection is to be used for ...
  38. [38]
    Description of a New Variable-Length Key, 64-Bit Block Cipher ...
    Blowfish, a new secret-key block cipher, is proposed. It is a Feistel network, iterating a simple encryption function 16 times. The block size is 64 bits.
  39. [39]
    The Blowfish Encryption Algorithm - Schneier on Security
    Blowfish was designed in 1993 by Bruce Schneier as a fast, free alternative to existing encryption algorithms. Since then it has been analyzed considerably, and ...
  40. [40]
    [PDF] Twofish: A 128-Bit Block Cipher - Schneier on Security -
    Two rounds of a Feistel network is called a “cycle”. [SK96]. In one cycle ... Feistel, “Cryptography and Computer. Privacy,” Scientific American, v. 228 ...
  41. [41]
    Twofish - Schneier on Security -
    Twofish is a block cipher, a 1998 AES finalist, with 128-bit block size, 128-256 bit key size, optimized for 32-bit CPUs, and is free for all uses.
  42. [42]
    [PDF] Camellia: A 128-Bit Block Cipher Suitable for Multiple Platforms
    We conclude in. Section 7. 2 Structure of Camellia. Camellia uses an 18-round Feistel structure for 128- bit keys, and a 24-round Feistel structure for 192- and.
  43. [43]
    [PDF] Specification of Camellia | a 128-bit Block Cipher - CRYPTREC
    The key schedule of Camellia is based on the Feistel structure. Between the 2nd round and the 3rd round, KL is XORed to an intermediate value. This ...Missing: original | Show results with:original
  44. [44]
    The SIMON and SPECK Families of Lightweight Block Ciphers
    Jun 20, 2013 · In this paper we propose two families of block ciphers, SIMON and SPECK, each of which comes in a variety of widths and key sizes.Missing: original | Show results with:original
  45. [45]
    [PDF] Hash functions: Theory, attacks, and applications
    Oct 24, 2005 · The compression function of MD5 has 64 rounds organized in an unbalanced Feistel network (for comparison, DES is a Feistel cipher with 16 ...
  46. [46]
    None
    ### Structure of Camellia: Feistel Rounds and FL Layers
  47. [47]
    Post-quantum Security of Key-Alternating Feistel Ciphers
    Sep 6, 2025 · Post-quantum Security of Key-Alternating Feistel Ciphers. Jyotirmoy Basak , Okinawa Institute of Science and Technology. Ritam Bhaumik , ...