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

eb04afc2bfa381ec0001000031c9880c0cfec175f931c0baefbeadde02040c00
d0c1ca088a1c0c8a3c04881c04883c0cfec175e8e95c00000089e381c3040000
005c583d414141417543583d42424242753b5a89d189e689df29cff3a489de89
d189df29cf31c031db31d2fec0021c068a14068a341e88340688141e00f230f6
8a1c168a1730da8817474975de31db89d8fec0cd809090e89dffffff41414141

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).