1.1 KiB
Difficulty
Medium to hard. Users need to use a combination of forensics, encryption and encoding skills
How To Solve
The file is a JPG image. Opening the JPG image reveals some information, in particular the encryption key, because the image is actually encrypted in the CBC encryption algorithm. CBC encrypts a file by partitioning it into blocks, and applying the key to each block using XOR. Since you have the file, and you have the key, as well as the partition length (being 8 pixels), you can xor the 2 hex values for the red, green and blue value of each of the 8 pixels (resulting in a hex number of length 48) with the encryption key (which is also a hex number of 48 characters long). Decrypting the image reveals the correct image, including the correct colors that were used to encode the flag with. These colors need to be converted to their hexidecimal values and be used as ascii values. Every color encodes 3 ascii characters.
The secret flag is just the encryption key. Converting it to ascii yields the secret flag
Flag
Main flag: IGCTF{WhatYouJustDidIsCalledCBC!} Secret flag: IGCTF{ThisTheSecretFlag}