1 00:00:02,030 --> 00:00:06,410 Another type of algorithms upbraids always on blocks of specified length. 2 00:00:06,650 --> 00:00:18,280 For example it always encrypts 56 bit or 128 bit blocks this type is called block ciphers most symmetric 3 00:00:18,280 --> 00:00:28,410 ciphers belong to the block type they're more secure than and just as efficient as stream ciphers many 4 00:00:28,410 --> 00:00:33,630 symmetric blocks surfers follow the same structure and utilize the same method for repeating operations 5 00:00:34,300 --> 00:00:38,130 round's they use Feistel network 6 00:00:41,280 --> 00:00:44,410 architecture of this network can be seen in the schema below. 7 00:00:45,800 --> 00:00:49,940 Since the network is based on the assumption that the plaintext has a fixed length. 8 00:00:50,090 --> 00:00:58,660 You need to split it into blocks first while it's good that the cipher encodes 128 bits an email that 9 00:00:58,660 --> 00:01:02,180 you want to encode is shorter than that size. 10 00:01:02,350 --> 00:01:06,740 You need to split the email in some way into 128 bit blocks. 11 00:01:09,220 --> 00:01:14,720 The transformation method depends on the block cipher mode of operation which will be covered later. 12 00:01:18,050 --> 00:01:21,720 Why is Feistel network so popular. 13 00:01:21,910 --> 00:01:27,130 Its structure relies on dividing the plain text block in the halves and then performing a function f 14 00:01:27,160 --> 00:01:28,720 on one part of the plaintext 15 00:01:31,910 --> 00:01:36,110 The output will be combined with the other part of the plaintext and their positions will be switched 16 00:01:36,740 --> 00:01:40,900 left to right right into left. 17 00:01:40,990 --> 00:01:42,820 We switched the message and the blocks 18 00:01:45,460 --> 00:01:50,860 you know already that block ciphers operate on message blocks a specified length. 19 00:01:51,030 --> 00:01:57,030 When one part is transformed by the function f this is the encryption we connect the encryption result 20 00:01:57,030 --> 00:01:58,250 with the remaining part 21 00:02:01,580 --> 00:02:07,770 mix the two part switch positions and the operation is repeated. 22 00:02:07,860 --> 00:02:15,660 What makes this solution so simple and popular this method works with any function even if the function 23 00:02:15,660 --> 00:02:16,680 is irreversible 24 00:02:19,620 --> 00:02:22,860 a message is split into two halves and one part is encoded. 25 00:02:24,100 --> 00:02:30,100 What's crucial here is that a round key is used for the encryption. 26 00:02:30,190 --> 00:02:35,510 If you flip the order of the two parts and go back to the start the internal key will be different. 27 00:02:35,590 --> 00:02:37,520 The key will be the second round's key 28 00:02:40,530 --> 00:02:48,060 the calculated encrypted result is combined using the x our function this again gives us two halves 29 00:02:51,980 --> 00:02:55,450 decryption is parallel which means the operation is symmetric. 30 00:02:57,510 --> 00:03:02,390 It's again enough to define the plaintext into two parts and perform the function f on one half using 31 00:03:02,390 --> 00:03:12,430 around key the output then should be so hard and repeated in as many rounds as required. 32 00:03:12,470 --> 00:03:16,000 The solution doesn't guarantee security. 33 00:03:16,180 --> 00:03:22,080 It's simply a mechanism a mode of operation or a transformation method. 34 00:03:23,960 --> 00:03:33,850 The security as such is only provided by the function f it has critical importance in the structure. 35 00:03:33,950 --> 00:03:40,800 So why should you introduce into this network the function has to mix bits to achieve a non-linear relationship 36 00:03:41,010 --> 00:03:43,660 between the ciphertext and the plain text message. 37 00:03:45,390 --> 00:03:54,160 This is the most crucial and the hardest part the image above shows substitution tables X-boxes they're 38 00:03:54,190 --> 00:04:01,250 actually the substitution tables used in the D.S. algorithm the algorithm will be covered at length 39 00:04:01,250 --> 00:04:09,520 in a moment but let's flesh out this example now when talking about mixing How can a non linear relationship 40 00:04:09,520 --> 00:04:13,150 be discovered. 41 00:04:13,150 --> 00:04:18,670 Note that if you take a look at the values at the intersection of columns and rows it's difficult to 42 00:04:18,670 --> 00:04:24,550 see why h should be at the intersection of the second row and third column or Y-12 is at the intersection 43 00:04:24,550 --> 00:04:27,610 of the third row and first column. 44 00:04:27,740 --> 00:04:29,590 The relationship is non-linear. 45 00:04:31,570 --> 00:04:36,840 If you submitted row and column numbers and looked up the values in the cells this would be a non-linear 46 00:04:36,850 --> 00:04:44,110 relationship between the plain text used to generate coordinates and the ciphertext the output that 47 00:04:44,130 --> 00:04:51,240 set the intersection substitution tables are used in almost all symmetric key block ciphers. 48 00:04:54,210 --> 00:05:01,850 It would be helpful if our function f performed permutation or flipped bits it could be used to obscure 49 00:05:01,850 --> 00:05:03,110 some relationships 50 00:05:05,780 --> 00:05:10,860 the function should also exhibit the avalanche effect so that the change of a small amount of plaintext 51 00:05:10,890 --> 00:05:18,250 bits Ideally one bit would be demonstrated in the significant change of as many ciphertext bits as possible. 52 00:05:19,790 --> 00:05:23,820 Ideally all bits should change. 53 00:05:23,850 --> 00:05:29,880 This can provide the cryptographic system with some immunity to a certain category of attacks to attacks 54 00:05:29,880 --> 00:05:33,260 that manipulate the plaintext. 55 00:05:33,400 --> 00:05:39,070 If an attacker can provide any input into a system they're able to observe how encryption is applied 56 00:05:39,100 --> 00:05:40,790 and draw some conclusions. 57 00:05:42,160 --> 00:05:46,590 If you maximize the diffusion the task will be much harder to pull off. 58 00:05:50,160 --> 00:05:55,830 The function f must also provide compression to let the Feistel round operate the final ciphertext has 59 00:05:55,830 --> 00:05:57,900 to be as long as the initial plaintext.