Here is a list of puzzles in the "Stop Toilworn Diamond" alternate reality game and short descriptions of the solutions. This list is not meant to be an exhaustive explanation of the solutions, but rather a short hint what you should be looking for. Some of the solutions are explained in more detail in the comments of the blog post, or in this thread at the Unfiction forum: [Trailhead] Rewriting The Future





If you have any questions, or want more detailed explanation to some of the puzzles, you can comment this blog post or send email to: lasse.hakulinen@aalto.fi





-ALLIES REPORT-ARIEL REPLOTS- SPOILER ALERT- LITER REPOSAL-OIL PLASTERER-





Puzzle 2.1 (Binary puzzle)

Each character of the message is represented as a binary number based on the ASCII value of the character. Leading zeros are removed from the binary representation.





Puzzle 2.2 (RGB image)

Numbers on the webpage are RGB values of an image that reveals an url.





Puzzle 2.3 (Mona Lisa)

The pixels of the image must be sorted based on the red component of the RGB value. There are multiple pixels with the same value of red. Therefore, only stable sorting algorithm produces the correct answer, meaning that the initial order of pixels with the same value should be preserved.





Puzzle 2.4 (Reversed)

The message can be read from back to front.





Puzzle 3.1

Vowels and consonants of the text are separated. The numbers have the information how the original message can be retrieved. Each number tells how many adjacent characters of that type are taken before changing to the other group (vowels vs. consonants)





Puzzle 4.1

The original image should be formatted by putting the pieces in right places. Each piece has a little color code on each side to be used when finding matching pieces. The image can be constructed by matching the pieces.

Puzzle 4.2

Same as 4.1 but with a bigger image.





Puzzle 5.1

The message is encrypted with ROT13. Each letter is replaced with a letter that is 13 steps ahead of them in the alphabet.

Puzzle 5.2

Each letter is replaced with a letter that is N steps ahead of them in the alphabet, where N is the position of the letter in the text.





Puzzle 6.1

Remove the additional spaces (every other column) to get a valid QR code

Puzzle 6.2

Modify the rows of the picture. There is a N pixel offset in each row, where N is the number of the row (starting from 0).

Puzzle 6.3

One QR code is encoded into the two pictures. "thisispic1.png" is created by merging two adjacent pixels that are in the same row in the original picture. If both of the pixels are white -> the produced pixel is white. If both of the pixels are black -> the produced pixel is black. If one is black and one is white -> the produced pixel is gray. "thisispic2.png" is generated respectively, except taking each pair of pixels from a column, not a row.





The color of a pixel in the resulting QR code can be determined by reading 1 pixel from both images. In case of gray pixels, the color of the original pixel can not be determined. However, by trying different variations will give the correct message in reasonable time, because of the QR code error correction.





Puzzle 6.4

View the QR code in full size. The message can be seen by scanning the code.





Message #7 (Ciphers and Image processing)

Resize the image to make it wider and read the text from the "teeth" of the key (key1): THEFASTFLYINGBANANASAREFAST

Pigpen cipher with slight modifications (higher symbols mean upper case). The short url reveals a text that can be used with a keyword cipher using key1 and key2 as the keyword. (http://en.wikipedia.org/wiki/Keyword_cipher)

However, the keyword cipher is breakable using frequency analysis and as it turned out, the message was revealed without using the keys.

The following text is written by using a slightly different color in the body of the key: (key2) ANDNOBODYCANCATCHTHEM





Puzzle 8.1

Count the number (N) of vowels in each word (including y). The message can be seen by taking the Nth letter from each word.

Puzzle 8.2

Same with much bigger input. The same message is copied 10 times and therefore it is not necessary to solve all the text. However, not recommended to be done manually.





Puzzle 9.1

There is a QR code hidden in the image. The values of the blue channel of RGB are either 0 or 1, where 0 means black pixel in the QR code and 1 means white.

Puzzle 9.2

There is also a QR code hidden in the image. One of the RGB channels has a value of 0 or 1 and others have a value greater than 1. The black/white pixel of the QR code is decided similarly as in 9.1





Puzzle 10.1

Same as the puzzle 2.3, but sort based on the blue channel.





Puzzle 10.2

Same as the puzzle 2.4.





Puzzle 11.1

The table is a truth table where the faces represent 1 and 0 (darker is 1) and the cats represent logical operators. Complete the table and read the message from the emphasized cells using a lookup table ( http://stoptoilworndiamond.co.nf/golactic/). The logical operators are:

D = OR (logical disjunction)

E = AND (logical conjunction)

F = XOR (exclusive disjunction)





Puzzle 11.2

Same idea as in 11.1, but with more operators. The new operators are:

F = logical implication

H = XNOR (logical equality)

I = NOT (logical negation)





Puzzle 12.1

Take the first letter of each word and add http://goo.gl/ to the beginning.





Puzzle 12.2

The picture on the page is just a red herring. The message can be found commented in the page source.





Puzzle 13.1

The picture has a text http://stoptoilworndiamond.co.nf/thighsprang/A...X.html hidden with a light gray. Find the shortest path from A to X to get the correct url. The shortest path can be found using Dijkstra's algorithm (http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)





Puzzle 13.2

The page has a graph represented as a connectivity matrix. Draw the graph and find all the cut vertices (the title of the page is "curve text" which is an anagram from "cut vertex").





Puzzle 13.3

The page has a graph represented as adjacency list. Find the shortest route that starts and ends in A and visits all the nodes (Traveling salesman problem). It is also possible to solve with a brute force solution by testing all permutations and calculating the length of each possible route.





Puzzle 13.4

The binary string is a Huffman coded message. Use the Huffman tree in http://stoptoilworndiamond.co.nf/thighsprang/ to solve the coding. (the one empty leaf is the letter ' ').





Puzzle 14.1

The image riddle means "dews is row". There is http://stoptoilworndiamond.co.nf/w???w????.html written in the image with light gray. "dewsisrow" is an anagram from "wisewords" so the correct url is: http://stoptoilworndiamond.co.nf/wisewords.html





Puzzle 14.2.

The quotes (or wise words) on the page talk about style. The actual message can be seen by modifying the css styles of the page and revealing the text coded with classes "par1", "par2" and "par3".





Puzzle 15.1

The message is hidden in the ASCII picture of Richard's face. The positions of the letters that belong to the message can be get from the decimals of pi. The number of non-message characters is the next digit of pi.





Puzzle 15.2





Activation keys to Toilworn Diamond Emergency Self Destruct System

The keys had 10 different solutions. Most of the solutions were same or similar to a solution already used to solve a puzzle in the game. Each activation key from 0 to 99 is a string of ten characters and can be get with the following methods:



0-9: Convert the binary code to ASCII

10-19 Morse code

20-29 Use ROT-13

30-39 Vowel counting like in puzzle 8.1

40-49 Take XOR operation

50-59 Sort the characters based in alphabetical order.

60-69 Take the 1st character of the first row, 2nd character of the second row,...

70-79 Translate the numbers to the corresponding letter in the alphabet

80-89 Octal notation of the unix file permissions

90-99 Find the shortest path of the weighted graph represented as adjacency list



The last key is a devious exception to the rule. The key #100 is: "Richard" (also "Richard " is accepted). The picture is a stereogram. By focusing behind the picture, you can see the text "topsecret". Avecira's emergency self destruct system can be found in the url http://www.avecirasolutions.com/topsecret/The keys had 10 different solutions. Most of the solutions were same or similar to a solution already used to solve a puzzle in the game. Each activation key from 0 to 99 is a string of ten characters and can be get with the following methods:0-9: Convert the binary code to ASCII10-19 Morse code20-29 Use ROT-1330-39 Vowel counting like in puzzle 8.140-49 Take XOR operation50-59 Sort the characters based in alphabetical order.60-69 Take the 1st character of the first row, 2nd character of the second row,...70-79 Translate the numbers to the corresponding letter in the alphabet80-89 Octal notation of the unix file permissions90-99 Find the shortest path of the weighted graph represented as adjacency listThe last key is a devious exception to the rule. The key #100 is: "Richard" (also "Richard " is accepted).





The cards ( card1 and card2 ) contain a 7 characters long string. Each character is represented as a binary number based on the ASCII value of the character. The binary numbers can be read from the cards by putting one card on top of the other. Each hole means bit 1 and not-hole means bit 0. Basically it is the AND operation of the two cards.





There is no single correct answer to the challenge. The example face was done using a Hill climbing algorithms to find the locations of the ellipses. Basically the algorithm works like this:





while (as long as you like) {

pick one ellipse randomly and modify it

create a new image

check if the new image is better than the previous best one

if not, return to the previous stage

}





Bonuspuzzle (MD5 hash)

This was sent to the person who submitted a solution to the "Face modeling challenge".

Richard wrote to the person:

"I rummaged through all the things that the person left behind and I found this from his notes:

MD5: b2193e96ec41acc4330ed490b7ba09b9

I also remember that the text has 7 letters and starts with a letter 'N'. But that's all I know. Do you think you could help me with it?"





Can be solved with brute force by testing all possible strings that have 7 letters and start with N and checking if their MD5 hash matches with the given. Limiting the search to only capital letters reduces calculation the time.





Send the assistant to the room labelled "Free lunches & Unicorns". If he comes back with free lunches, that door should be labelled with "Free lunches". In that case, the door labeled with "Unicorns" contains both, and the door labeled with "Free lunches" contains just unicorns.