0% found this document useful (0 votes)
8 views

Fiestal cipher

The Feistel cipher structure is designed to enhance security by combining multiple simple ciphers through substitutions and permutations, allowing for a block cipher with k-bit keys and n-bit blocks. It emphasizes confusion and diffusion, ensuring that changes in plaintext or ciphertext significantly affect the output. The decryption process mirrors encryption, utilizing subkeys in reverse order, which simplifies implementation.

Uploaded by

22b01a4245
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Fiestal cipher

The Feistel cipher structure is designed to enhance security by combining multiple simple ciphers through substitutions and permutations, allowing for a block cipher with k-bit keys and n-bit blocks. It emphasizes confusion and diffusion, ensuring that changes in plaintext or ciphertext significantly affect the output. The decryption process mirrors encryption, utilizing subkeys in reverse order, which simplifies implementation.

Uploaded by

22b01a4245
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Feistel Cipher Structure

 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 in such a way that the final result or product is
cryptographically stronger than any of the component
ciphers.

 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 2k possible transformations, rather than
In particular, Feistel proposed the use of a
cipher that alternates substitutions and permutations,
where these terms are defined as follows:

 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. That is,
no elements are added or deleted or replaced in the
sequence, rather the order in which the elements appear
Diffusion and Confusion
 Confusion means that each binary digit (bit) of the
ciphertext should depend on several parts of the key.

 Diffusion means that if we change a single bit of the


plaintext, then (statistically) half of the bits in the
ciphertext should change, and similarly, if we change
one bit of the ciphertext, then approximately one half of
the plaintext bits should change.
FEISTEL CIPHER STRUCTURE
 The inputs to the encryption algorithm are a plaintext block of
length 2w bits and a key K.

 The plaintext block is divided into two halves, L0 andR0. The two
halves of the data pass through n rounds of processing and then
combine to produce the ciphertext block.

 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.
 All rounds have the same structure. 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. The round function has the
same general structure for each round but is parameterized
by the round subkey Ki.

 Following this substitution, a permutation is performed that


consists of the interchange of the two halves of the data.
The exact realization of a Feistel network depends on the choice of the

following parameters and design features:

 Block size: Larger block sizes mean greater security but reduced

encryption/decryption speed for a given algorithm. The greater security is

achieved by greater diffusion Traditionally, a block size of 64 bits has been

considered a reasonable tradeoff and was nearly universal in block cipher

design. However, the new AES uses a 128-bit block size.

 Number of rounds: The essence of the Feistel cipher is that a single round

offers inadequate security but that multiple rounds offer increasing security.

A typical size is 16 rounds.

 Subkey generation algorithm: Greater complexity in this algorithm should

lead to greater difficulty of cryptanalysis.

 Round function: Again, greater complexity generally means greater


There are two other considerations in the design of a Feistel cipher:

 Fast software encryption/decryption: The speed of execution of

the algorithm becomes a concern.

 Ease of analysis: Although we would like to make our algorithm as

difficult as possible to cryptanalyze, there is great benefit in

making the algorithm easy to analyze. That is, 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. DES, for example,

does not have an easily analyzed functionality.


Feistel Decryption Algorithm
The process of decryption with a Feistel cipher is essentially the same as
the encryption process.

The rule is as follows:

 Use the ciphertext as input to the algorithm, but use the subkeys K in
reverse order.

 That is, use Kn in the first round, Kn-1 in the second round, and so on
until K is used in the last round. This is a nice feature because it
means we need not implement two different algorithms, one for
encryption and one for decryption.
Figure. Feistel
Encryption and
Decryption
 If you clearly observe that the output of the first round of the decryption
process is equal to a 32-bit swap of the input to the sixteenth round of
the encryption process. First, consider the encryption process.
LE16 = RE15
RE16 = LE15 x F(RE15, K16)

On the decryption side,


LD1 = RD0 = LE16 = RE15

RD1 = LD0 x F(RD0, K16)

= RE16 x F(RE15, K16)

= [LE15 x F(RE15, K16)] x F(RE15, K16)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy