CNS (UNIT II,III,IV,V) (1).docx - UNIT II BLOCK CIPHERS AND PUBLIC KEY CRYPTOGRAPHY 2.1 Data encryption Standard The Data Encryption Standard(DES is a

# CNS (UNIT II,III,IV,V) (1).docx - UNIT II BLOCK CIPHERS AND...

• 121

This preview shows page 1 - 5 out of 121 pages.

UNIT II BLOCK CIPHERS AND PUBLIC KEY CRYPTOGRAPHY 2.1 Data encryption Standard The Data Encryption Standard (DES) is a symmetric-key block cipher published by the National Institute of Standards and Technology (NIST). DES is an implementation of a Feistel Cipher. It uses 16 round Feistel structure. The block size is 64-bit. DES takes 56 bit key and 64 bit plain text. General structure of DES DES Encryption Fig 2.3 General structure of DES
Structure of DES is illustrated in Figure 2.3. As with any encryption schemes, there are two inputs to the encryption function, i.e the plaintext and the key. The plain text is of 64 bit and the key is of 56 bit in length. DES encryption is of 16 rounds. Fig 2.4 Description of DES. The above figure illustrates that the processing of plain text proceeds in three phases. First the 64 bit plaintext passes through initial permutation(IP). This is followed by phase consisting of 16 rounds which involves both substitution and permutation techniques. The output of the 16 th round consists of 64 bits which contains both 64 bit plaintext and 56 bit key. Finally the left and right hand side bits are swapped to produce the preoutput. The prepouput is then performed with inverse permutation [IP -1 ] to produce the 64 bit cipher text. From the figure 2.3 the right hand side of the bits are used as key where the input is taken as 64 bit . Permutation is performed on 64 bit which produces 56 bit key. For each of the 16 rounds, a sub key (K i ) is produced by the combination of a left circular shift and permutation. Initial Permutation: Inorder to perform initial permutation , consider the following 64 bit input M. M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M26 M27 M28 M29 M30 M31 M32 M33 M34 M35 M36 M37 M38 M39 M40 M41 M42 M43 M44 M45 M46 M47 M48 M49 M50 M51 M52 M53 M54 M55 M56 M57 M58 M59 M60 M61 M62 M63 M64 The initial permutation and its inverse are shown in below figures. Here M i is the binary digit. Then the permutation X=(IP(M))
NOTE: Initial Permutation is done by taking the row and writing it as column in ascending order holding even numbers first followed by odd numbers. (Starting from last row then previous row and goes on…). Inverse Permutation: Note: Inverse permutation is performed by taking the 4 th column first and writing it in descending order. Then the 8th row as second, 3 rd row as third, 7 th row as fourth and goes on …) Expand and Permutation: Expand and Permutation is done by taking the first left half of the Input M which is of 32 bits. By expanding and permutation the 32 bits are calculated as 48 bits.
Details of Round one: The 64 bit plain text is divided into two halves. The first half 32 bit is defined as Left hand side (L) and the right half 32 bits is defined right hand side(R). The overall processing at each round is done by using the formulas: L i = R i -1 R i = L i -1 F(R i -1,K i ) The round key K i is 48 bits. The R input is 32 bits. This R input is further expanded to 48 bits.