Applied cryptography

profilemyworld0218
Assignment5.pdf

DES Encryption Round# Left Right Key

L0 R0

0 L1=R0 R1= L0  F(R0,K0) K0

1 L2=R1 R2= L1  F(R1,K1) K1

2 L3=R2 R3= L2  F(R2,K2) K2

… … … …

14 L15=R14 R15= L14  F(R14,K14) K14

15 L16=R15 R16= L15  F(R15,K15) K15

Function F() is explained on the next page.

DES Decryption: Given L16, R16, and K15, can we go reverse (i.e., find L15 and R15)?

Finding R15: R15 = L16

Finding L15: L15 = L15  0

= L15  F(R15,K15)  F(R15,K15)

= L15  F(R15,K15)  F(R15,K15)

= R16  F(R15,K15)

= R16  F(L16,K15)

Note that, in the decryption

network, R16 is on the left, and L16 is

on the right. This is consistent with

the Decryption formula derived

above.

The F Function

How F(R0,K0) is computed?

Step 1: Expand R0 to 48 bits by copying 16 of its 32 bits twice (Use expansion table). The resultant 48 bit

represents E(R0).

Step 2: Compute E(R0)  K0

Step 3: Substitute each 6 bits in E(R0)  K0 with a 4 bit value using substitution table.

Step 4: Permute the 32 bits produced in Step 3 using permutation table.

Expansion table (Step 1)

Substitution Table (Step 3) Reduce 6 bit to 4 bit

Permutation Table (Step 4)

1. Assignment 5 (35 Points)

Given a 64 bit plaintext FFFE 397D AC28 8855 and 48 bit Round key 4D77 32C5

29EF, perform one round DES encryption and decrypt the computed cipher

retrieving the original input.

2. Bonus Assignment (15 Points)

Given a 56-bit key 88DF E9DC C277 CA, compute 48 bit Round1, Round2 and

Round3 keys.