DATA ENCRYPTION
STANDARD
DATA ENCRYPTION STATNDARD:
• Block Cipher technique
• Symmetric cipher
• Take 64 bit plain text input and generate 64 bit output
• Work in 16 rounds and each round is a Fiestel round
Feistel Round:
1. Plain text is divide into two equal halves.
2. The two halves of the data pass through n rounds processing and
the combine to produce the cipher text block.
3. On the right half we apply a function and with the function we
uses a subkey which is generated from master key.
4. The output of this function is then XOR with left half and after
XOR left half and right half is swapped.
Note: In above four steps single round is completed.
The exact realization of a Feistel network depends on the choice of the following
parameters and design features:
Block size - Increasing size improves security, but slows cipher
Key size - Increasing size improves security, makes exhaustive key searching
harder, but may slow cipher
Number of rounds - Increasing number improves security, but slows cipher
Subkey generation - Greater complexity can make analysis harder, but slows
cipher
Round function - Greater complexity can make analysis harder, but slows cipher
STEPS FOR DES
:
Step 2 Initial permutation.
Initial Data. Here conversion take
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 place as follows.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 58
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 2 50
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 3 40
4 34
Initial Permutation. 5 26
6 18
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
7 10
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
8 2
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
9 60
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
.
.
58 4 62 7 32bit 32bit
.
LPT RPT
Always read from left to right .
64 7
Always read from top to bottom.
FUNCTION DEFINITION:
32 bit data
Expansion
Expansionbox
box
48 bit
Key 48 bit
+ XOR
S BOX SUBSTITUTION
S S S S S S S S
PERMUTATION BOX
32 bit Output Fig: Function Definition
EXPANSION BOX:
1 2 3 4 5 6 7 8 29 30 31 32
6bit * 8 bit = 48 bit key generation.
Until now
Key transformation 56 bit 48 bits
Expansion permutation 32bit RPT 48bit RPT
Now 48 bit RPT XOR 48 bit key output S-box substitution
How S-box works
S-box 1
• Map the data in s-box located from row no bit b1b6 and column no bit b2b3b4b5
• Note* : start counting row and column from 0
• Get the data from the sbox.
• Here we are substituting the 4bit from the s-box
• Convert the no from the s box into decimal digit.
• Repeat for each s-box with each 6bit block.