Lecture 5
Lecture 5
Block size
Key size
Number of rounds
Subkey generation algorithm
Round function
Fast software en/decryption
Ease of analysis
DES
A block cipher:
encrypts blocks of 64 bits using a 64 bit key
outputs 64 bits of ciphertext
A product cipher
basic unit is the bit
performs both substitution and transposition (permutation)
on the bits
Cipher consists of 16 rounds (iterations) each with a round
key generated from the user-supplied key
http://kathrynneugent.com/animation.html
DES (Key Scheduling)
key
48 Bit Round Key
PC-1
C0 D0
LSH LSH
PC-2 K1
C1 D1
LSH LSH
PC-2 K16
DES (Encryption) input
IP
L0 R0
f K1
L1 = R0 R1 = L0 f(R0 , K1)
Ğ1
IP
output
DES (Encryption)
S1 S2 S3 S4 S5 S6 S7 S8
32 bits
DES (Controversy)
4 weak keys
They are their own inverses
12 semi-weak keys
Each has another semi-weak key as inverse
Complementation property
DESk(m) = c DESk(m) = c
S-boxes exhibit irregular properties
Distribution of odd, even numbers non-random
Outputs of fourth box depends on input to third box
DES (Modes)
init. vector m1 m2 …
DES DES …
c1 c2 …
sent sent
Slide #8-
17
init. vector c1 c2 …
DES DES …
m1 m2 …
Slide #8-
18
Self-Healing Property
Initial message
3231343336353837 3231343336353837 3231343336353837 3231343336353837
Received as (underlined 4c should be 4b)
ef7c4cb2b4ce6f3b f6266e3a97af0e2c 746ab9a6308f4256
33e60b451b09603d
Which decrypts to
efca61e19f4836f1 3231333336353837 3231343336353837
3231343336353837
Incorrect bytes underlined
Plaintext “heals” after 2 blocks
Slide #8-
19