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.