DC10002  Editorial
PROBLEM
Link to the Practice Question can be found: https://www.codechef.com/DECI2020/problems/DC10002
PREREQUISITE
Cryptography
DIFFICULTY
Easy
PROBLEM
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.
EXPLANATION

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 (32bit) corresponding to the key consist of four characters
K2 (32bit) after the circularright shift of K1 by 2 positions.
K3 (32bit) after the circularright shift of K1 by 4 positions.
K4 (32bit) after the circularright 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 32bit 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 .
Solution: https://drive.google.com/file/d/18MWdIkVEuorZpmCggoWub6VJjvtoitLU/view?usp=sharing