FEISTEL STRUCTURE IN NETWORK SECURITY || INFORMATION SECURITY

Sundeep Saradhi Kanthety
28 Dec 201712:22

Summary

TLDRThis video script introduces the concept of block ciphers, contrasting them with stream ciphers. It explains the block cipher design principles, emphasizing the Feistel structure, which involves dividing plaintext into two halves, applying functions to one half using a subkey, and swapping the halves. The script highlights that security depends on the complexity of the round function, the number of rounds, and subkeys. It also previews the next topic: the DES algorithm, a symmetric block cipher that exemplifies these principles.

Takeaways

  • 🔐 The fundamental difference between stream ciphers and block ciphers is that stream ciphers encrypt data bit by bit, while block ciphers process data in fixed-size blocks.
  • 🔑 Block ciphers often follow a structure known as the Feistel structure, which involves dividing the plaintext into two halves and applying functions to these halves in a series of rounds.
  • 🔄 In the Feistel structure, the right half of the block is processed by a function using a subkey, and the output is combined with the left half, then the halves are swapped.
  • 🔑 The security of a block cipher is heavily dependent on the complexity of the functions used, the number of rounds, and the number of keys involved.
  • 🔑 The master key is used to generate different subkeys for each round, with the number of subkeys being equal to the number of rounds in the encryption process.
  • 🔱 The block size in block ciphers is a critical design principle, as it determines the size of the plaintext and ciphertext blocks, which must be the same.
  • 🔑 Key size is another important design principle, as it affects the complexity and security of the encryption process.
  • 🔄 The number of rounds in a block cipher is a key factor in its security, with more rounds generally leading to increased security.
  • 🔑 The round function used in each round of a block cipher is crucial for security, as it determines how the plaintext is transformed in each round.
  • 🔑 The Feistel structure is a common design principle in block ciphers, which ensures that the algorithm is secure and efficient.

Q & A

  • What is the main difference between a stream cipher and a block cipher?

    -A stream cipher converts plaintext bit by bit, while a block cipher processes plaintext in blocks, converting each block of plaintext into a block of ciphertext.

  • What is the Feistel structure in block cipher design?

    -The Feistel structure is a common structure in block cipher design where plaintext is divided into two equal halves, functions are applied to one half, and the result is combined with the other half through a reversible operation. This process is repeated in multiple rounds.

  • How does the security of a block cipher depend on its design principles?

    -The security of a block cipher depends on the complexity of the round function, the number of rounds, the number of subkeys, and the size of the keys used.

  • What is the role of the round function in a block cipher?

    -The round function in a block cipher is a logical function applied in each round to the right half of the divided plaintext block using a subkey, and its complexity contributes to the strength of the cipher against cryptanalysis.

  • Why is the number of rounds important in a block cipher?

    -The number of rounds in a block cipher is important because it affects the complexity and security of the encryption. More rounds generally increase the difficulty for an attacker to break the cipher.

  • What is the purpose of dividing the plaintext into two halves in the Feistel structure?

    -Dividing the plaintext into two halves in the Feistel structure allows for the application of a round function to one half while the other half remains unchanged, which is then combined with the output of the round function in a reversible manner.

  • How are subkeys generated in a block cipher?

    -Subkeys in a block cipher are derived from a master key. The number of subkeys generated depends on the number of rounds in the cipher, with each round using a different subkey.

  • What is the significance of the block size in block cipher design?

    -The block size in block cipher design is significant as it determines the size of the plaintext and ciphertext blocks. It must be consistent, meaning the length of the plaintext block dictates the length of the resulting ciphertext block.

  • What is the relationship between the number of rounds and the number of subkeys in a block cipher?

    -The number of rounds in a block cipher directly influences the number of subkeys required. Each round uses a different subkey, so as the number of rounds increases, so does the number of subkeys needed.

  • Why is the key size an important consideration in block cipher design?

    -The key size is important in block cipher design because it affects the strength of the encryption. A larger key size generally provides more possible key combinations, making it harder for attackers to guess or brute-force the key.

Outlines

00:00

🔐 Introduction to Block Ciphers

The script introduces the concept of block ciphers, contrasting them with stream ciphers. It explains that in block ciphers, data is processed in blocks rather than bit by bit as in stream ciphers. The script then delves into the design principles of block ciphers, emphasizing the importance of the Feistel structure, which involves dividing plaintext into two halves, applying a function to one half using a subkey, and then swapping the halves. The security of a block cipher is dependent on the functions used, the number of rounds, and the keys involved. The Feistel structure is characterized by the division of plaintext into two halves, the application of functions to one half, and the swapping of halves in each round, which is repeated for a number of rounds determined by the algorithm.

05:02

🔑 Block Cipher Design Principles

This section discusses the design principles of block ciphers, including block size, key size, number of rounds, and the round function. It explains that the block size determines the plaintext size, which must match the ciphertext size. The key size is crucial as it dictates the generation of subkeys used in each round. The number of rounds affects the complexity and security of the encryption. The script also mentions that each round uses a different subkey derived from a master key. The round function, which varies depending on the algorithm, is applied in each round, and its complexity contributes to the strength of the encryption. The script concludes by stating that increasing the number of rounds and subkeys enhances security, making it more difficult for cryptanalysts to break the cipher.

10:02

🔄 Feistel Structure and DES Algorithm

The script concludes with a brief mention of the Feistel structure and the upcoming discussion on the Data Encryption Standard (DES) algorithm. It reiterates the importance of the Feistel structure in block ciphers and hints at the DES algorithm as an example of a block cipher that follows this structure. The speaker encourages viewers to watch the next session for a deeper dive into the DES algorithm, which is a symmetric key algorithm that processes plaintext in two equal halves, applies functions, and uses subkeys in each round. The script ends with a call to action for viewers to share, subscribe, and engage with the content by asking questions in the comments section.

Mindmap

Keywords

💡Block Cipher

A block cipher is a method of encrypting text, particularly in the context of symmetric key cryptography. It operates on fixed-size groups of bits, called blocks, and converts each block into a ciphertext block of the same size. In the video, the block cipher is contrasted with a stream cipher, emphasizing the block-by-block conversion of plaintext to ciphertext. The block cipher's design principles are a central theme, highlighting its structure and security aspects.

💡Stream Cipher

A stream cipher is a symmetric key cipher that encrypts plaintext bit-by-bit using a pseudorandom cipher bit sequence. Unlike block ciphers, which process data in chunks, stream ciphers encrypt data one bit at a time. In the script, the concept of stream ciphers is introduced to differentiate it from block ciphers, setting the stage for a deeper exploration of block cipher mechanisms.

💡Feistel Structure

The Feistel structure, also known as a Fiestel network, is a general approach to constructing block ciphers. It involves dividing the plaintext into two equal halves, applying a function to one half, and then combining the result with the other half. This process is repeated in rounds, with each round using a different subkey derived from a master key. The script explains that if an algorithm follows this structure, it is said to have a Feistel structure, which is crucial for understanding the DES algorithm discussed later.

💡Subkeys

Subkeys are derived from a master key and are used in each round of a block cipher's encryption process. The script mentions that for a block cipher with multiple rounds, such as the DES algorithm, a different subkey is used in each round. The number of subkeys needed is directly related to the number of rounds, and the security of the cipher is partly determined by the complexity and number of these subkeys.

💡Round Function

In the context of block ciphers, a round function is a transformation applied to the data during each round of encryption. The script explains that in a Feistel structure, the round function is applied to one half of the data, and the output is combined with the other half. The complexity of the round function is a key factor in the security of the cipher, as it determines how resistant the algorithm is to cryptanalysis.

💡Data Encryption Standard (DES)

DES, or Data Encryption Standard, is a symmetric-key block cipher that was widely used in the past for securing electronic data. The script mentions that DES follows the Feistel structure, processing plaintext in two equal halves and applying subkeys in each round. DES is an example of a block cipher algorithm that will be further explored in subsequent sessions, demonstrating the practical application of the principles discussed.

💡Block Size

The block size in a block cipher refers to the number of bits that are encrypted at one time. The script emphasizes that the block size is a key design principle of block ciphers, as it dictates the size of the plaintext and ciphertext blocks. A larger block size can provide increased security but may also affect the efficiency of the encryption process.

💡Key Size

Key size is the length of the key used in a cryptographic algorithm. In the script, key size is highlighted as an important design principle for block ciphers, as it affects the complexity and security of the encryption. A larger key size generally provides more security by increasing the number of possible keys and thus the difficulty of brute-force attacks.

💡Number of Rounds

The number of rounds in a block cipher refers to how many times the encryption process is repeated to transform the plaintext into ciphertext. The script explains that increasing the number of rounds can enhance the security of the cipher by making it more complex and harder to break. Each round uses a different subkey, contributing to the overall strength of the encryption.

💡Cryptanalysis

Cryptanalysis is the study of methods for obtaining the meaning of encrypted information without access to the secret key typically required by the cryptographic algorithm. The script touches on the importance of designing block ciphers that are resistant to cryptanalysis, which is why the complexity of the round function and the number of rounds are critical design considerations.

Highlights

Introduction to the difference between block cipher and stream cipher encryption methods.

Explanation of stream cipher as a bit-by-bit conversion of plaintext to ciphertext.

Description of block cipher as processing plaintext in blocks to produce ciphertext.

Introduction to block cipher design principles and their importance in encryption.

Discussion on the Feistel structure, a common structure followed by block cipher techniques.

Explanation of how plaintext is divided into two equal halves in the Feistel structure.

Description of the function applied to the right half of the plaintext in a block cipher.

Mention of the use of a separate key for the function applied in each round of the cipher.

Explanation of the process where the output from the function is combined with the left half.

Description of the swapping process in the Feistel structure where halves are exchanged.

Emphasis on the number of rounds as a determinant of the complexity and security of a block cipher.

Discussion on the generation of subkeys from a master key for each round of encryption.

Importance of the round function in determining the security and complexity of a block cipher.

Overview of block cipher design principles including block size, key size, number of rounds, and round function.

Insight into how increasing the number of rounds enhances the security of a block cipher.

Discussion on the role of the round function in the security and resistance to cryptanalysis.

Anticipation of the next session focusing on the DES algorithm, a block cipher that follows the Feistel structure.

Encouragement for viewers to share, subscribe, and engage with the content for further learning.

Transcripts

play00:02

[Music]

play00:10

hello friends welcome to our Channel

play00:13

so in the earlier sessions we have seen

play00:17

the difference between a block cipher

play00:19

and a stream cipher so in the stream

play00:21

cipher we have just converting the plain

play00:24

text so the cipher text bit by bit and

play00:26

in the block cipher we are just

play00:28

considering a group of characters and we

play00:31

are considering a block and at a time

play00:33

each block will be processed so that the

play00:36

plain text of each block will be

play00:37

converted into the cipher text so that

play00:39

means the stream cipher is a bit Begbie

play00:41

and the block cipher is a block by block

play00:44

the conversion of plaintext to cipher

play00:46

text is performed in a block by block so

play00:49

let us have a look on the block cipher

play00:52

design principles so what are the design

play00:54

principles of the clock cycle so before

play00:57

going into this block cipher design

play00:58

principles so most of the block cipher

play01:01

techniques will follow a common

play01:05

structure that is a physical structure

play01:14

so most of the block cipher techniques

play01:17

will follows this fiscal structure we

play01:20

can call it as a phaser or a pistol

play01:21

right so phase of structure so what is

play01:25

your phaser structure so before going to

play01:27

the algorithms of a block cipher we have

play01:29

to know this phaser structure so here in

play01:34

this visual structure the first step is

play01:37

the plaintext blocks is processed in two

play01:40

equal halves so that means the first

play01:43

step is we have to divide the plaintext

play01:45

into halves to equal apps so so

play01:51

plaintext and we have to divide it as

play01:59

two equal halves this is the left half

play02:03

and this is a right half and the right

play02:06

half we have to apply in a function we

play02:11

have to operate the function so a

play02:13

function may be anything any logical

play02:15

function it may be right so depends upon

play02:18

the argument the function will be vary

play02:19

but the right half will be applied on

play02:22

the function so so this is the function

play02:29

that function what what is the function

play02:32

means that depends upon the level so you

play02:35

prepare logic logical functions so and

play02:39

ill function we will use a separate key

play02:49

and this output from this function will

play02:55

be exhort with the left half and the

play03:02

output from this left half and this

play03:06

right half will be swept so that means

play03:09

the left half will be stored in

play03:11

rightmost bits and similarly the right

play03:17

half will be saved in leftmost bit so

play03:21

here again left so the same process we

play03:27

call it as a wellness single round and

play03:29

the process of converting this plaintext

play03:33

of the ciphertext will be done in number

play03:36

of problems so the count that wasted

play03:39

enough how many rounds we have to apply

play03:41

that depends upon that either we are

play03:43

using so each other that will be having

play03:46

a different number of rome's so but if

play03:50

any plain text follows this structure we

play03:53

call it as a Frizzle structure that

play03:56

means that particular algorithm follows

play03:58

the Faizal structure Fisto structure

play04:01

that means any plain text in any

play04:04

algorithm if the plain text is divided

play04:06

into two halves and

play04:07

all the functions are applied on the

play04:09

right half and the result of this

play04:12

function is exerted with the left half

play04:14

and Nexis wrapping is there and this

play04:17

process is continuously repeating in

play04:19

them from rounds then we call that

play04:22

algorithm as facial structure that

play04:25

algorithm is having this phase of

play04:27

structure so here the security mainly

play04:30

depends on the functions the number of

play04:33

rounds and the number of keys so here

play04:36

the key also we will have a master key

play04:39

and in each and every round who will use

play04:43

a separate sub key that means from the

play04:45

master key we have to generate different

play04:48

sub keys so depends upon the number of

play04:51

rounds we have to the created number of

play04:53

sub keys

play04:54

so for example if if our algorithm is

play04:56

having a ten rounds that means

play04:59

scene is done in ten rounds so we need

play05:01

to generate ten subcase from the master

play05:04

key so this is again the left half right

play05:09

half again the right half is applied to

play05:12

the function where the sub K 2 is used

play05:17

and the result is exalted with right

play05:21

half again this will be straight saving

play05:25

right half and this will be saved in

play05:28

less half so this we call it sa this we

play05:39

call it as a round function round round

play05:44

function so likewise it will keep on

play05:48

good so this is called a freeze of

play05:50

structure that means the first plaintext

play05:56

in two equal halves in two equal halves

play06:05

next number of rooms so the plaintext is

play06:13

processed in number of frogs to get the

play06:15

cipher text and number of sub keys and

play06:24

swampy so starting off - Huff's

play06:31

right-to-left and left-to-right so if

play06:34

any algorithm follows these concepts we

play06:37

simply say that that particular block

play06:39

second example follows the freezer

play06:41

structure so this is very important and

play06:44

now let if we look at the block cipher

play06:47

design increase first all these are the

play06:50

blocks - isn't it so first one - Huff's

play06:54

next one the number of firms number of

play06:57

sub keys swapping and the sub key size

play07:01

and the block size all these are the

play07:03

block cipher disables

play07:04

let us see that so this is all about the

play07:07

faceoff structure so in the next classes

play07:11

we are going to see the block cipher

play07:14

algorithm that is called a des algorithm

play07:15

data encryption standard algorithm which

play07:18

follows the physical structure so it

play07:21

means in that order also the plaintext

play07:24

is process in two equal halves and the

play07:27

right half is supplied to the function

play07:28

in which you know in which the sub K is

play07:31

used and the result will be enjoyed with

play07:33

the left half and finally this wrapping

play07:36

is and this process will be repeated in

play07:40

number of groups and this number of runs

play07:42

will be dependent on the algorithm know

play07:46

so hope you understood this is a phrase

play07:48

of structure so if you see the example

play07:52

for this visual structure so that you

play07:54

can clearly understood

play07:55

so in the next session as we say the

play07:57

example for this business structure that

play07:59

is a DES algorithm data encryption

play08:00

standard algorithm

play08:02

so now let us have a look on block

play08:04

cipher design principles block cipher

play08:14

design

play08:19

principles a block cipher design

play08:21

medicals so first one is block size so

play08:26

this is a senior one that is as we are

play08:29

saying this is a block cipher design

play08:31

principles the plain Texas process in

play08:33

terms of blocks so composer there must

play08:35

be a concise so here the block size is

play08:37

the size of the plaintext

play08:38

so whatever the plaintext size is there

play08:41

automatically we will get the same size

play08:43

of cipher text so if you process ten

play08:46

bits of plaintext we will get the ten

play08:51

bits of ciphertext that means the length

play08:54

of the protection ciphertext are same so

play08:57

the first one is block size key size so

play09:03

we have to use a key from which we have

play09:07

to generate the selkies so key size next

play09:14

number of wrongs so the plaintext is

play09:18

processed to the ciphertext chain number

play09:20

of rooms so in each of the same process

play09:23

will be going on and surcease some keys

play09:31

come on better off some keys so in each

play09:35

room we have to use a separate sub key

play09:37

that least from this key master key we

play09:40

have to generate the circus the

play09:45

difference of other

play09:55

next growth function so in each and

play09:58

every round could you use the function

play10:00

one function that's it it may be a

play10:02

logical function right so that depends

play10:04

upon the endeavor so for every room we

play10:07

have to use the same function and last

play10:14

but not the least the plaintext in two

play10:20

equal halves the plaintext is positive

play10:25

two equal halves so this these are the

play10:29

design principles of any block cipher so

play10:37

hope you understood this design

play10:38

principles and the here the security

play10:42

depends on the number of rounds subkeys

play10:46

and this round function so if number of

play10:53

rounds increased the complexity will be

play10:55

increased and also the security will be

play10:57

increased the data will be more secure

play11:00

and if the sake count

play11:01

I mean if number of rounds are increases

play11:04

that automatically the number of sub

play11:05

kiss will also increased so

play11:07

automatically the security will also

play11:08

increase round function so if the round

play11:12

function is more complex the analysis of

play11:15

that algorithm will be very strong so it

play11:18

is very difficult to the cryptanalyst to

play11:21

attack them or to break the other so the

play11:26

the security related issues are number

play11:29

of rounds never of subkeys count and the

play11:32

round function in the block cipher I

play11:34

have done so this is all about the

play11:37

phrasal structure and the block cipher

play11:40

design principles hope you understood

play11:42

this simple concept so let us stop here

play11:45

in the next session we will go with the

play11:47

algorithm very important algorithm that

play11:49

is a DES algorithm data encryption

play11:51

standard so which is a block cipher

play11:53

symmetric algorithm if you like my

play11:58

videos share my videos with your friends

play12:00

and subscribe to my channel and if you

play12:03

are having any doubts regarding net

play12:06

security feel free to post your sessions

play12:09

in then I mean you push overdose in the

play12:11

comment section so that I will

play12:13

definitely try to clarify all your dubs

play12:16

so thanks for watching and don't forget

play12:19

to subscribe to my channel thank you

play12:21

very much

Rate This
★
★
★
★
★

5.0 / 5 (0 votes)

Étiquettes Connexes
CryptographyBlock CipherStream CipherData EncryptionDES AlgorithmSecurity PrinciplesCryptanalysisEncryption TechniquesKey GenerationCipher Text
Besoin d'un résumé en anglais ?