You are on page 1of 22

r

me
ram
BLOCK CIPHER
rog
DES – ENCRYPTION
eP
BY / MOHAMED FATHY
Th
BLOCK CIPHER SCHEME

r
me
ram
Encrypt

rog
Cipher Block Of
Plaintext Block of Length (n)
length (n)
eP
Secret Key (K)
Th

Decrypt
DATA ENCRYPTION STANDARD

r
me
ram
64 bit (M) 64 bit (C)
DES Encryption
Key: 64bit

rog
Parity (8 bit)+ 56 bit= 64 bit
56 bits (K)
64bit input and 64 bit output
eP
Th
KEY

r
me
0 0 0 1 0 0 1 1

ram
0 0 1 1 0 1 0 0
0 1 0 1 0 1 1 1
0 1 1 1 1 0 0 1

rog
1 0 0 1 1 0 1 1
1 0 1 1 1 1 0 0
eP
1 1 0 1 1 1 1 1
1 1 1 1 0 0 0 1
Th
Th
eP
rog
ram
me
r
GENERATES KEYS

r
PC-1

me
57 49 41 33 25 17 9

ram
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36

rog
63 55 47 39 31 23 15
7 62 54 46 38 30 22
eP
14 6 61 53 45 37 29
21 13 5 28 20 12 4
K= 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001
Th

K p= 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111


r
me
• K p= 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111

ram
• C0= 1111000 0110011 0010101 0101111

rog
• D0= 0101010 1011001 1001111 0001111
eP
Th
Iteration Number Number Of Left Shifts
1 1
2 1

r
3 2

me
4 2
5 2

ram
6 2
7 2
8 2

rog
9 1
10 2
eP
11 2
12 2
13 2
Th

14 2
15 2
16 1
Th
eP
rog
ram
me
r
PC-2

r
me
14 17 11 24 1 5

ram
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2

rog
41 52 31 37 47 55
30 40 51 45 33 48
eP
44 49 39 56 34 53
46 42 50 36 29 32
C0D0=11110000011001100101010101111 0101010101100110011110001111
Th

K 1= 000110 110000 001011 101111 111111 000111 000001 110010


• K 1= 000110 110000 001011 101111 111111 000111 000001 110010
• K 2= 011110 011010 111011 011001 110110 111100 100111 100101

• K 3= 010101 011111 110010 001010 010000 101100 111110 011001

r
• K 4= 011100 101010 110111 010110 110110 110011 010100 011101

me
• K 5= 011111 001110 110000 000111 111010 110101 001110 101000

ram
• K 6= 011000 111010 010100 11110 010100 0000111 101100 101111
• K 7= 000110 110000 001011 101111 111111 000111 000001 110010
• K 8= 111011 111000 101000 111010 110000 010011 101111 111011

rog
• K 9= 000110 110000 001011 101111 111111 000111 000001 110010
• K10=1001110 00111 000111 101010 000011 010111 001111 010101
eP
• K11=0010000 010101 11111 010011 110111 101101 0011110 000110
• K12= 000110 110000 001011 101111 111111 000111 000001 110010
• K13= 000110 110000 001011 101111 111111 000111 000001 110010
Th

• K14= 011101 011011 001110 000011 000011 010101 101010 111011


• K15= 000110 110000 001011 101111 111111 000111 000001 110010
• K16= 000110 110000 001011 101111 111111 000111 000001 110010
Th
eP
rog
ram
me
r
Th
eP
rog
ram
me
r
Th
eP
rog
ram
me
r
EXPANSION PERMUTATION

r
me
ram
rog
eP
Th

R0= 1111 0000 1010 1010 1111 0000 1010 1010


E(R0)=011110 100001 010101 010101 01110 100001 010101 010101
Th
eP
rog
S-BOX

ram
me
r
Th
eP
rog
R XOR K

ram
me
r
r
me
ram
rog
eP
Th

F=0010 0011 0100 1010 1010 1001 1011 1011


r
me
• F=0010 0011 0100 1010 1010 1001 1011 1011

ram
• XOR L0
• ‫ ﺛﻡ ﻧﺎﺧﺫ‬R0

rog
eP
The DES 56-bit key length is not long enough for some critical applications
Th
DOUBLE DES

r
C = E(k2, E(k1,M))

me
ram
M E E C

rog
eP K1 K2
• Key size should be 56+56 = 112 bits

• Meet in the middle attack: Double DES is equivalent in


Th

work factor to one encryption with a 57-bit key.


TRIPLE DES

r
C = E(k3, D(k2, E(k1,M)))

me
ram
M E D E C

rog
K1
eP K2 K3

• Key size = 3 * 56 = 168 bits

• The middle decryption is for backward compatibility with single DES (make
Th

k1 = k2 = k3).
TRIPLE DES
• Another version is:

r
C = E(k1, D(k2, E(k1,M)))

me
ram
rog
M E D E C
eP
K1 K2 K1

• Key size = 2 * 56 = 112 bits


Th

You might also like