DES ENCRYPTION
 Plainext is broken into blocks of length 64 bits.Encryption is blockwise.
 A message block is first gone through an initial permutation IP,then divided into two parts L_{0},where L_{0} is the left part of 32 bits and R_{0} is the right part of the 32 bits
 Round i has input L_{i1},R_{i1} and output L_{i},R_{i}
 L_{i} = R_{i1},R_{i} = L_{i1} ⊕ f(R_{i1},K_{i})

 and K_{i} is the subkey for the 'i'th where 1 ≤ i ≤ 16
 L_{1} = R_{0}, R_{1} = L_{0} ⊕ f(R_{0},K_{1})
 L_{2} = R_{1}, R_{2} = L_{1} ⊕ f(R_{1},K_{2})
 L_{3} = R_{2}, R_{3} = L_{2} ⊕ f(R_{2},K_{3})
 ................ ..........................
 ................ ..........................
 ................ ..........................
 L_{16} = R_{15}, R_{16} = L_{15} ⊕ f(R_{15},K_{16})
 After round 16,L_{16} and R_{16} are swapped,so that the decryption algorithm has the same structure as the encrption algorithm.
 Finally,the block is gone through the inverse the permutation IP^{1} and then output
 One round of DES in very simple way during encryption
DES DECRYPTION
 Observation:In encryption,we have
 L_{i} = R_{i1},R_{i} = R_{i} = L_{i1} ⊕ f(R_{i1},K_{i})
 and K_{i} is the subkey for the 'i'th round.Hence
 R_{i1} = L_{i},L_{i1} = R_{i} ⊕ f(L_{i},K_{i}) for each 'i'
 Due to swap operation after the 16th round encryption,the output of encryption is IP^{1}(R_{16},L_{16})
 Equation(1) as follows:
 R_{15} = L_{16}, L_{15} = R_{16} ⊕ f(L_{16},K_{16})
 R_{14} = L_{15}, L_{14} = R_{15} ⊕ f(L_{15},K_{15})
 R_{13} = L_{14}, L_{13} = R_{14} ⊕ f(L_{14},K_{14})
 ................ ..........................
 ................ ..........................
 ................ ..........................
 R_{1} = L_{2}, L_{1} = R_{2} ⊕ f(L_{2},K_{2})
 If we give IP^{1}(R_{16},L_{16}) as the input for the same algorithm with round subkeys(K_{16},K_{15},......K_{1}),then the output is IP^{1}(L_{0},R_{0}),the original message block
 Decryption is performed using the same algorithm,except the K_{16} is used as the first round,K_{15} in the second,and so on,with K_{1} used in the 16th round
 One round of DES in very simple way during decryption
Difference between encryption and decryption in very simple way
Initial permutations
 DES has an initial permutation and final permutation after 16 rounds
 these permautations are inverse of each other and operate on 64 bits.
 They have no cryptographic significance.
 The designers did not disclose their purpose
 The initial permutation will look like this
 Input and Output of the permutation layer
 (X_{1},X_{2},......,X_{64})>(X_{IP(1)},X_{IP(2)},>,X_{IP(64)})
 The final permutation will look like this
 (X_{1},X_{2},......,X_{64})>(X_{IP(1)1},X_{IP(2)1},>,X_{IP(64)1})
One round of the DES
DES Expansion
 Input 32 bits
 Output 48 bits
DES SBox(substitution box)
 8 "SUbstitution boxes" or Sboxes
 Each Sbox maps 6 bits to 4 bits
 SBox(1)
 Row Index:The combination of first and last bit gives the row number
 Column Index:Remaining 4 bits gives the column number
 What is the output if input is 101000?
 Row = 10 = 2 ,Column = 0100 = 4
 we have to look at 2nd row and 4th column,then Output is 13
 here you can feel the importance of Sbox.It takes 6 bits as input and gives 4 bits as output
Properties of the Sbox
 There are several properties
 We highlight some:
 The rows are permutations
 The outputs are a nonlinear combination of the inputs
 Change one bit of the input,and half of the output bits change(Avanlanche Effect)
 Each output bit is dependent on all the input bits
The Function f(x,k)
 This is called fiestal function or round function
 Function f is nothing but mixing of X and K
DES pbox(Permutation Box)
 Input 32 bits
 Output 32 bits
 The output bits are just Transposition of bits
DES subkey
 Input Key size:64 bits,of which 8 are parity bits
 56 bit DES key,0,1,2,........55
Parity Check bits For Error Detection
Definition:For any binary string a_{1}a_{2}.........a_{n},append another bit a_{n+1} = a_{1} ⊕ a_{2}........ ⊕ a_{n}, obtaining a_{1}a_{2}.........a_{n}a_{n+1}.This new sequence can detect one error
Adding 8 parity check bits in DES key
Each P_{i} in position 8i is the parity check bit of the previous 7 bits
Permuted choice 1
PC1:The permutation PC1(permuted choice 1)discards the parity bits and transposes the remaining 56 bits as below:
 Key Permutation PC1:
 with out positions 8,16,24,32,40,48,56,64 marked with "F"
 Simply given as PC1 is a permutation of {1,2,3......,64}{8,16,24,32,40,48,56,64}
Left shift operation
LS_{i}:Each LS_{i} is a circular shift of some positions.The number of shifted positions is given below
 For rounds 1,2,9 and 16 the shifts is 1,and for the remaining all the rounds shifts are 2
 PC2:Permuted choice 2 selects 48 bits from the 56 bit input
 PC2
 final 48 bits obtained after the permuted choice is the Key