Suppose the DES F function mapped every 32-bit input R, regardless of the value
ID: 3780695 • Letter: S
Question
Suppose the DES F function mapped every 32-bit input R, regardless of the value of the input K, to
a) 32-bit string of ones,
b) bitwise complement of R.
1. What function would DES then compute?
2. How would the decryption look like?
3. Show that DES decryption is, in fact, the inverse of DES encryption.
Hint:
Use the following properties of the XOR operation:
(A XOR B) XOR C = A XOR (B XOR C)
A XOR A = 0
A XOR 0 = A
A XOR 1 = bitwise complement of A
where
A, B, C are n-bit strings of bits
0 is an n-bit string of zeros
1 is an n-bit string of ones
Explanation / Answer
Solution:
1. What function would DES then compute
DES function f is mapped with 32 bit input R which is not depend upon the value of k1..32 . In des we have to calculate the initial permutation to get Left and right data block.
At last once swapping is completed we have to again invers the permutation to encrypt the data.
DES will be done following steps:
• Initial permutation to get L0|R0 from data block
• for n=1, 2, , 16 do Ln|Rn := En(Kn, Ln-1|Rn-1),
• Where En denotes the computation of encryption round n.
• swap left and right halves, yielding R16|L16
• inverse of initial permutation
In above situation, 32-bit of one are bitwise with 32 bit of R so that each round of DES value will not changed because:
For example
(A B) C = A (B C)
A A = 0
A 0 = A
A 1 = bitwise complement of A
Repeating the same sequence of bit we will get A at the last. So, Output of DES will be R
2. How would the decryption look like?
Decryption is the opposite of the encryption in which we have to use the encrypted or cipher data to get the actual. So, we have to do same steps as DES encryption.
So, method of decryption will be:
DES_decryptionfunction()
Initial permutation of cipher block, yielding R16|L16
For n = 16, 15, , 1 do Rn-1|Ln-1 := Dn(Kn, Rn|Ln),
Where Dn denotes the computation of decryption round n.
Swap left and right halves, yielding L0|R0
Inverse of initial permutation, yielding data block.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.