DES Math problem:
a) A company back in 1990 used DES for securing communication between branch
offices. Suppose in the current scenario you were provided with the following 56-bit DES
primary key (already after dropping the 8 parity bits):
1011011 0110010 1101101 1010110 0111100 1100111 0011010
Given 56-bit DES Key
1011011 0110010 1101101 1010110 0111100 1100111 0011010
Step 1: Split into C0 and D0
DES divides the 56-bit key into two 28-bit halves:
C0 = 1011011011001011011011010110
D0 = 011110011001110011010011010
Step 2: DES Left Circular Shifts
Shift schedule:
Round Shift
1 1
2 1
3 2
Round 1
Left shift C0 and D0 by 1 bit:
C1 = 0110110110010110110110101101
D1 = 1111001100111001101001101000
Round 2
Shift C1 and D1 by 1 bit:
C2 = 1101101100101101101101011010
D2 = 1110011001110011010011010001
Round 3
Shift C2 and D2 by 2 bits:
C3 = 0110110010110110110101101011
D3 = 1001100111001101001101000111
Since only left circular shifting is requested, the above shifted halves represent the key
schedule state up to Round 3.
Your task is, after performing the key scheduling process of DES and calculating the subkeys
up to Round 16 using only the left circular shift, to evaluate the impracticality of using DES in
the current context scenario based on the key size, subkey uniqueness, and brute-force
feasibility.
DES Practicality in Current Context
1. Key Size Limitation
DES uses:
56-bit effective key
Total key space:
256
=72,057,594,037,927,936
72 quadrillion keys
This was secure in 1977 but is insufficient today.
2. Subkey Uniqueness
DES generates:
16 subkeys
48 bits each
from the same 56-bit master key.
Although each round subkey differs due to shifts and PC-2 selection:
They are not independent.
All originate from a small 56-bit key space.
Thus compromise of the master key compromises all subkeys.
3. Brute Force Feasibility
Modern hardware:
GPUs
FPGA clusters
Cloud computing
can test billions of DES keys per second.
Example:
1010 keys/sec
Average attack:
255 attempts
Time:
1010 / 255 ≈ 41 days
Large clusters reduce this to hours.
b) You are analyzing DES encryption in a forensic investigation. The following 48-bit
output is taken from the Expansion (E) function before entering the S-Boxes:
101011011101010101100111000101000001000101100010
Using the DES S-Box lookup tables (Appendix A), calculate the 32-bit output after
substitution. Suppose the calculated 32-bit output shows repeated same 4-bit values. Assess
whether such a pattern could be exploited by differential cryptanalysis.
Evaluate the AES encryption process using the 128 bit produced 1st round key (inputted key value from user),
calculate the key value for the next round key from the following key expansion process.
Note: Use Appendix B for the calculation.
BC 49 6F D9
E1 37 0C A4
62 2E 57 1F
18 AA 39 F8
Appendix B:
Solution :
Let the four words be:
• 𝑊4 = [𝐵𝐶, 𝐸1,62,18]
• 𝑊5 = [49,37,2𝐸, 𝐴𝐴]
• 𝑊6 = [6𝐹, 0𝐶, 57,39]
• 𝑊7 = [𝐷9, 𝐴4,1𝐹, 𝐹8]
Step 1: RotWord(𝑾𝟕 )
[𝐷9, 𝐴4,1𝐹, 𝐹8] → [𝐴4,1𝐹, 𝐹8, 𝐷9] {Column circular Shift}
Using the AES S-Box (Appendix B):
SubWord=[49,C0,41,35]
Step 3: Add Round Constant
For generating the Round-2 key, use:
𝑅𝑐𝑜𝑛2 = [02,00,00,00]
𝑔(𝑊7 ) = [49, 𝐶0,41,35] ⊕ [02,00,00,00] = [4𝐵, 𝐶0,41,35]
Generate 𝑾𝟖
𝑊8 = 𝑊4 ⊕ 𝑔(𝑊7 )
𝐵𝐶 ⊕ 4𝐵 = 𝐹7
𝐸1 ⊕ 𝐶0 = 21
62 ⊕ 41 = 23
18 ⊕ 35 = 2𝐷
𝑊8 = [𝐹7,21,23,2𝐷]
Step 5: Generate 𝑾𝟗
𝑊9 = 𝑊5 ⊕ 𝑊8
[49,37,2𝐸, 𝐴𝐴] ⊕ [𝐹7,21,23,2𝐷] = [𝐵𝐸, 16,0𝐷, 87]
Step 6: Generate 𝑾𝟏𝟎
𝑊10 = 𝑊6 ⊕ 𝑊9
[6𝐹, 0𝐶, 57,39] ⊕ [𝐵𝐸, 16,0𝐷, 87] = [𝐷1,1𝐴, 5𝐴, 𝐵𝐸]
Step 7: Generate 𝑾𝟏𝟏
𝑊11 = 𝑊7 ⊕ 𝑊10
[𝐷9, 𝐴4,1𝐹, 𝐹8] ⊕ [𝐷1,1𝐴, 5𝐴, 𝐵𝐸] = [08, 𝐵𝐸, 45,46]
Final Round-2 Key
𝐹7 𝐵𝐸 𝐷1 08
21 16 1𝐴 𝐵𝐸
[ ]
23 0𝐷 5𝐴 45
2𝐷 87 𝐵𝐸 46