You are on page 1of 15

DES

MS 1
Suppose we have an algorithm that takes a block of plaintext
and converts it into a block of ciphertext using an N bit key.

Suppose that changing any single bit in the key completely changes
the ciphertext.

We could only break this by


plaintext block
trying all 2N possible keys.

N bit Key
If N = 128, the time required is way f
beyond the age of the universe.

DES ciphertext block


(Digital Encryption Standard)
MS 2
64 bit plaintext block
DES
IP

L0 R0
32 32 K1 (derived from
f 56 bit key)

L1=R0 R1=L0 + f(R0,K1)

repeat 16 times…

K16 (derived from


f 56 bit key)

R16=L15 + f(R15,K16) L16=R15


IP-1

64 bit ciphertext block


MS 3
IP (Initial Permutation):

8 16 24 32 40 48 56

8 16 24 32 40 48 56

MS 4
L0 R0

32 32
48 bit subkey
Expansion Permutation
Generator
48
K48 = g(i,K56)
48
48 (The key for
S-Box Substitution each round is
32 deterministically
found from the
P-Box Permutation input 56 bit key).
32

32 32

L1 R1

MS 5
32

Expansion Permutation
48

1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32

1 48

MS 6
48
48
48

1 48

X-OR with 48 bit key

1 48

MS 7
48
S-Box Substitution
32

1 48

S-box S-box S-box S-box S-box S-box S-box S-box


1 2 3 4 5 6 7 8

1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32

MS 8
How an S-Box works

14 4 13 1 2 15 11 8
3 10 6 12 5 9 0 7
S-box
1 Page select 0 15 7 4 14 2 13 1
10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11
15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7
5 11 3 14 10 0 6 13

MS 9
32

P-Box Permutation
32

1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32

1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32
MS 10
IP-1 (Final Permutation):

8 16 24 32 40 48 56

8 16 24 32 40 48 56

MS 11
Initial Key Permutation

8 16 24 32 40 48 56 64

8 16 24 32 40 48 56

MS 12
Key Split & Shift & Compress
8 16 24 32 40 48 56

K56

Shift left by Ni Shift left by Ni


Shift accumulates every round Ni = {1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1}
8 16 24 32 40 48 56

K48
8 16 24 32 40 48

MS 13
DES Advantages:

Very Fast:
Ideally suited for implementation
in hardware (bit shifts, look-ups etc). plaintext block

Dedicated hardware (in 1996) could 56 bit Key


f
run DES at 200 Mbyte/s.

Well suited for voice, video etc. ciphertext block

MS 14
DES Security:
Not too good:
Trying all 256 possible keys plaintext block
is not that hard these days.
(Thank the NSA for this)
56 bit Key
f
If you spend ~$25k you can build
a DES password cracker that can
will succeed in a few hours.
ciphertext block
Back in 1975 this would have cost
a few billion $$. It is widely believed
that the NSA did this.

Similar algorithms with longer keys are available today (IDEA).

MS 15

You might also like