Digital Encryption Standard
Digital Encryption Standard
Digital Encryption Standard
DES
64
y
56
Iterative
Structure of
DES
First step is IP
Finally, permutation
again
Initial Permutation
(1)
Initial Permutation
(2)
Final
Permutation
Concept is same as Initial
only the table used is
different which is shown
here.
Note:
IP(X) and IP(x are truly
inverse operations.
i.e. IP() = 1
The Feistel
Structure of
DES(1)
After IP of 64 bit, plaintext x
is split into two halves Li + Ri
Then,
Li = Ri1,
Ri = Li1 f ( Ri1,ki )
where, i = 1,2,.16
L1 = R0,
R1 = L0 f ( R0,k1 )
R16
Ri-1
The f function
Expansion E (Ri-1)
For example:
R0 K1
Fi(Ri-1,Ki)
Expansion E
(Ri-1)
Special permutation where some bits are duplicated
to expand the block from 32 bit to 48 bits.
Here: 1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32 are
duplicated to obtain expansion
Substitution
Boxes
Reading Stables
The input to each S-boxes are 6 bit and output are 4 bit
The most significant bit (MSB) and the least significant bit (LSB) of
each 6 bit input gives the row of the table, while infer 4 bits selects
the column.
The inter 0,1,.15 represent the decimal notation of 4 bit value
For example: S-box 1 input = (100101)2
Here,
MSB = 1, LSB = 1 So, row = 112 = 3 = third row
Inner bit : 00102 = 2 = second column
So, the output of the S-box 1 output will be 8
The Permutation
within the ffunction
Finally, the 32 bit output is
permuted bitwise
according to the table
shown
Unlike IP and IP-1, this
function introduces
diffusion because 4 bit
output from S-box is
permuted in such a way
that every bit form plain
text is affected in following
rounds.
The Feistel
Structure of
DES(2)
Here,
Li = Ri1,
Ri = Li1 f ( Ri1,ki )
where, i = 1,2,.16
After Round 16 of
encryption the output of
Feistel Structure L16
and R16 is swapped
Final permutation is
done
i.e.
Which yields
Y = DESk(x)
Key schedule
for DES
Encryption
Permuted Choice 1
(PC-1)
The left and right halves of the table shows which bit from the input
form the left and right section.
Only 56 bits of 64 bits of inputs are selected.
The remaining eight (8,16,32,40,48,56,64) are ignored which were
specified for use as parity bits.
Permuted
Choice 2 (PC2)
This permutation
selects the 48-bit sub
key for each round from
56-bit key schedule
state.
Here bits
(9,18,22,25,35,38,43,54
) are ignored to get 48
bit sub key
DES Encryption
Overview
DES
Decryption
Decryption ist the same
function as Encryption
Because DES is based on
Feistel network, only key
schedule has to be
reversed.
Thus, key schedule
algorithm have to
generate round keys as
the sequence k16, k15,
..,k1
Reversed Key
Schedule (2)
In decryption round
2,9,and 16 rotation is
by 1 bit right
In other round
3,4,5,6,7,8,10,11,12,13,
14 and 15 rotation is by
two bits.
(Ld0,Rd0) = IP(Y)
= IP(I(R16,L16))
= (R16,L16)
Hence,
Ld0 = R16
Rd0 = L16 = R15
Ldi = R16-i
Rdi = L16-I
i = 0,1,.16
Security of DES
Criticism towards DES:
Key space too small (2^56 keys)
S- box design criteria has been kept secret:
Which lead to the idea of having backdoors,
only known to NSA
Triple DES
Symmetric-key, block cipher which applies the(DES)
cipher algorithm three times to each data block
Provides a relatively simple method of increasing key size
of DES without need to design a completely designing a
new cipher algorithm
y = DESk3 (DESk2 (DESk1 (x)))
Refrences:
Understanding Cryptography by Christof
Paar & Jan Pelzl
Wikipedia