DC10002 - Editorial
Link to the Practice Question can be found: https://www.codechef.com/DECI2020/problems/DC10002
Assume Eve has captured a few ciphertexts. You need to write the decryption program such that with given cipher text and key, eve can recover the plaintext.
The picture that is given is for encryption; we need to write the algorithm/code for decryption .That means the decryption algorithm need to perform totally opposite operation.
So in the round1 in the decryption process, we will need to use key K4.
We will get the keys from the sub key generation process as described in the questions.
K1 (32-bit) corresponding to the key consist of four characters
K2 (32-bit) after the circular-right shift of K1 by 2 positions.
K3 (32-bit) after the circular-right shift of K1 by 4 positions.
K4 (32-bit) after the circular-right shift of K1 by 8 positions
- Below steps need to follow in the decryption process of Round 1 :
- First extracts the binary value of C’’,A’’,B’’,D’’ from the given hexadecimal inputs.
- Pass the 32-bit of D’’ through PBox4 , and XOR the output of that with the B’’. Next passed that output through SBOX4 and store it in B’.
- Perform the XOR operation of D’’ with the key K4. Next passed that output through SBOX4 and store it in D’.
- The output of the Round1 will be C’’, A’’ ,D’,B’.
- Similarly perform the decryption process just like above for Round 2, Round 3, Round 4 as per the picture .