Location: Atlantis, Spiky Tower
Depth: 485

Solution to Read Between the Lines

by Catherine Olsson and Joshua Oreman

Answer: ROILING

The puzzle is a PNG image with a transparent background containing 16 bytes of seemingly random data in hex:

These bytes are a block encrypted with AES, and the key can be found in four parts encoded in the image in various ways. The image's background is transparent, and removing the transparency reveals the first part of the key: AES KEY PART / ONE OF FOUR / 37 61 9E 2B.

The pastel-colored pixels in the formerly transparent part of the image all have different values, except for one bluish-green value that appears many times above the first line of text in the image. This might be noticed by histogramming the pixel values (many image manipulation programs provide such a function), or by visually noticing that the upper-left hand corner of the image has two pixels of the same color. The spaces between these common-colored pixels encode characters: one other pixel = A, . . . , twenty-six other pixels = Z. The start and end of the sequence is delimited by pairs of the common-colored pixel with no other pixels in between. The encoded message here (with spaces added for readability) is AES KEY PART TWO OF FOUR B ZERO NINE C E D D FIVE.

The third part of the key is encoded in the low bit of the red channel starting underneath the last line of visible text. If a pixel has an odd red value, it represents a 1 bit; otherwise it represents a 0 bit. To emphasize this aspect, all green and blue pixel values and all red pixel values before and after the encoded message are even. If the bitstream thus extracted is read off as bytes of ASCII data, one obtains AES KEY PART THREE OF FOUR: THREE SEVEN ZERO THREE SIX TWO C FOUR.

The below image emphasizes the encodings of the second part of the key (by spaces between the common pixel value in the top rows of the image; the common pixel is more brightly colored) and the third part of the key (in the bottom bit of the red channel in the bottom rows of the image; odd-colored pixels are more brightly colored and even-colored ones are more pastel).

The final portion of the key can be found in a tEXt (text key/value pair) chunk in the PNG file, separate from the image data. It could be extracted either by using a PNG-inspection utility or by running a command such as strings on the image (or looking at a hex dump). Its keyword part is AES KEY PART FOUR OF FOUR and its value is D6 37 E4 7F.

Putting all these together, we get a key of

37 61 9E 2B      B0 9C ED D5      37 03 62 C4      D6 37 E4 7F

Using this to decrypt the AES block (written in non-transparent text in the image)

E7 F0 5C 07      AB BB 61 95      73 8A 7B C0      8F 92 68 9D

we get the ASCII text ANSWER = ROILING.