GCHQ Challenge

GCHQ (roughly the UK version of the CIA) are running a sort of recruitment program at the moment looking for geeks that are good code breakers. They have put up a site with a single page which presents a challenge to crack a code. Once you’ve cracked it you type the code into the text box and automatically become a spy… erm I made that last bit up.

I’ve decided to have a stab a the problem even though I know I’m doomed to failure (always best to start off with a positive attitude). For anyone else wanting a go here’s the raw data in an easy to enter format (why did they present it in an image?).

eb 04 af c2 bf a3 81 ec  00 01 00 00 31 c9 88 0c
0c fe c1 75 f9 31 c0 ba  ef be ad de 02 04 0c 00
d0 c1 ca 08 8a 1c 0c 8a  3c 04 88 1c 04 88 3c 0c
fe c1 75 e8 e9 5c 00 00  00 89 e3 81 c3 04 00 00
00 5c 58 3d 41 41 41 41  75 43 58 3d 42 42 42 42
75 3b 5a 89 d1 89 e6 89  df 29 cf f3 a4 89 de 89
d1 89 df 29 cf 31 c0 31  db 31 d2 fe c0 02 1c 06
8a 14 06 8a 34 1e 88 34  06 88 14 1e 00 f2 30 f6
8a 1c 16 8a 17 30 da 88  17 47 49 75 de 31 db 89
d8 fe c0 cd 80 90 90 e8  9d ff ff ff 41 41 41 41

I don’t guarntee that is exactly correct so best check it :-). If you want a more compact version here it is


I’ve tried all the obvious things like hex to ascii, base64 etc and it’s none of those. I’ve also converted it to a binary file and tried to open it in a few things to no avail. I through for a while it might be an image but it’s pretty small at 160 bytes. The result is, apparently, a single code word. Once thing that I’m not sure about is the splitting of the data into 8 byte columns. The image isn’t clear if lines are 8 bytes or 16 bytes long. At the moment I’m guessing it’s 16 byte lines with each line encoding a character.

There are some interesting points in the data, there are two repeats of 41 four times. and a repeat of 42 four times. To me that says that there isn’t a trivial byte to character mapping since no word has a character repeated four times (I believe there are German words that have two scharfes s [this character: ẞ] in a row which can be written as four s characters but I doubt this is in German some how).