tailieunhanh - Lecture notes on Computer and network security: Lecture 3 - Avinash Kak

Lecture 3, block ciphers and the data encryption standard. This chapter include objectives: To introduce the notion of a block cipher in the modern context, to talk about the infeasibility of ideal block ciphers, to introduce the notion of the feistel cipher structure, to go over DES and the data encryption standard. | Lecture 3: Block Ciphers and the Data Encryption Standard Lecture Notes on “Computer and Network Security” by Avi Kak (kak@) January 15, 2016 12:28am c 2016 Avinash Kak, Purdue University Goals: • To introduce the notion of a block cipher in the modern context. • To talk about the infeasibility of ideal block ciphers • To introduce the notion of the Feistel Cipher Structure • To go over DES, the Data Encryption Standard CONTENTS Section Title Page Ideal Block Cipher 3 Size of the Encryption Key for the Ideal Block Cipher The Feistel Structure for Block Ciphers 6 7 Mathematical Description of Each Round in the Feistel Structure 10 Decryption in Ciphers Based on the Feistel Structure 12 DES: The Data Encryption Standard 16 One Round of Processing in DES 18 The S-Box for the Substitution Step in Each Round 22 The Substitution Tables 26 The P-Box Permutation in the Feistel Function 28 The DES Key Schedule: Generating the Round Keys 30 Initial Permutation of the Encryption Key 33 Contraction-Permutation that Generates the 48-Bit Round Key from the 56-Bit Key 35 What Makes DES a Strong Cipher (to the Extent It is a Strong Cipher) 37 Homework Problems 39 2 Computer and Network Security by Avi Kak Lecture 3 : IDEAL BLOCK CIPHER • In a modern block cipher (but still using a classical encryption method), we replace a block of N bits from the plaintext with a block of N bits from the ciphertext. This general idea is illustrated in Figure 1 for the case of N = 4. (In general, though, N is set to 64 or multiples thereof.) • To understand Figure 1, note that there are 16 different possible 4-bit patterns. We can represent each pattern by an integer between 0 and 15. So the bit pattern 0000 could be represented by the integer 0, the bit pattern 0001 by integer 1, and so on. The bit pattern 1111 would be represented by the integer 15. • In