UNIT IIBLOCK CIPHERS AND PUBLIC KEY CRYPTOGRAPHY2.1 Data encryption StandardThe 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 DESDES EncryptionFig 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 64bit 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 16throundconsists 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 takenas 64 bit . Permutation is performed on 64 bit which produces 56 bit key. For each of the 16 rounds, a sub key (Ki) 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 M8M9 M10 M11 M12 M13 M14 M15 M16M17 M18 M19 M20 M21 M22 M23 M24M25 M26 M27 M28 M29 M30 M31 M32M33 M34 M35 M36 M37 M38 M39 M40M41 M42 M43 M44 M45 M46 M47 M48M49 M50 M51 M52 M53 M54 M55 M56M57 M58 M59 M60 M61 M62 M63 M64The initial permutation and its inverse are shown in below figures. Here Miis 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 holdingeven numbers first followed by odd numbers. (Starting from last row then previous row and goeson…).Inverse Permutation:Note:Inverse permutationis performed by taking the 4thcolumn first and writing it in descending order. Then the 8th row as second, 3rdrow as third, 7throw 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:Li = Ri-1Ri= Li-1 ⊕F(Ri-1,Ki)The round key Ki is 48 bits. The R input is 32 bits. This R input is further expanded to 48 bits.