Challenge Description

On his birthday, Draconis the dragon received a gLittering gIft from Goldy, his goldfish frieNd! DEspite All his might, Draconis couldn't seem to unwRap his gift and had to Call Goldy for help.

Goldy, sheepishly explained that he had Encrypted the gift to keep it safe using the modified version of KIASU-BC tweakable block cipher, but he has forgotten the decryption key.

Challenge Instructions

Help Draconis to recover the missing plaintext message to obtain the flag. Submit it below to receive a digital badge.

We've also received some additional clues from Goldy and you may check out the hints below if you're stuck!

Download challenge file here!

Do verify the md5sum of the .zip file before proceeding with challenge.

md5sum of "challenge.zip" is: a92ef09f2843326b801a61a2ab43218a

Resources that might help you out

(1) Addition and Subtraction in bits is equivalent to the XOR operation - Link here.

(2) Linear Approximation Table - Link here.

(3) Difference Distribution Table - Link here.

Submit flag here!
Hints

Feel free to check out the hints below if you need some help!

The cipher is linear. You can use the Difference Distribution Table (DDT) or Linear Approximation Table (LAT) tool to verify the sbox to be linear (the other components only involve rewiring/XORs, which are linear by nature). This means that E(x,k,t) = F(x) + G(k) + H(t) for some F,G,H functions

You don't need to recover the key. Treat G(k) + H(t) as a single unknown variable. Solve for it.

You need to create an instance of the cipher with key = tweak = 0