next up previous
Next: How we Found the Up: Stage 5 Previous: Initial Knowledge

Work Description

This stage made us more and more desperate. Like most people, our initial essays were made with paper and pencil. Naturally, the Declaration of Independence attracted a lot of attention as well as other similar documents. We found a veritable gold mine filled with this kind of texts at the homepage of the Avalon Project. That The Code Book itself would contain the keytext was proposed early on. The appendices of the book therefore attracted much interest. The presence of ``A void'' seemed a little out of scope, but also the other appendices were examined carefully.

When all this failed, other ideas emerged. The numbers were between 3 and 215, which made us interested in the crossword shown in The Code Book. The crossword has 15 x 15 = 225 squares; surely this cannot be a coincidence! However, no matter how we counted, the 4 times repeated index 109 always became a filled square, and no message emerged.

At this point we decided to stop being intelligent, and start using brute force. Several programs were written. A first version of our program tested all possible offsets in a text. For each offset the program extracted the first, last, or kth (for all possible choices of k) letter in the magic words. We also built a similar program which instead of counting words counted letters (including or excluding whitespace and separators). The possible plaintexts were then written on a file which was scanned with the Unix command grep for probable keywords like ``stage'' and ``word''. What we learned from this was that given enough amount of keytext, seemingly improbable amounts of candidate plaintexts may emerge. Some of the messages we found scanning the King James version of the Bible would have made Michael Drosnin jump with joy.

Our next step was to make a fully automatic version of the program. To obtain a fully automatic program, we created an evaluation function that evaluated each potential plaintext. The evaluation function uses a large English dictionary. Candidate plaintexts with high enough evaluations were output by the program for visual inspection.

The two programs (the word counter and the letter counter) were then run on various texts. The Project Gutenberg provided us with several hundred MB of text. A small subset of the texts that were tested is:

The Bible

The book of Daniel was the plaintext in Stage 1.
The Gaelic wars

Caesar had written the plaintext of Stage 2.
La divina commedia

The plaintext in Stage 3. Several languages were tested.
Baudelaire

All we could find electronically was tested. This was after all the author of the plaintext in Stage 4.
Robinson Crusoe

Written by Daniel Defoe, and the plaintext in Stage 1 ends ``now let Daniel be called, and he will show the interpretation.''
The adventures of Sherlock Holmes

Mentioned in The Code Book.
Journey to the center of the earth

By Jules Verne. Also mentioned in The Code Book. Here we actually found an interesting crib for an early offset.
Treasure island

A 19th century book about hidden treasures, clearly an eminent choice for the key text.
The Rosetta Stone

The number of verses is 54, i.e., the same as the number of indices in Stage 5. Surely this cannot be a coincidence!

Not only electronic texts were examined. One group member hunted the Stockholm libraries for the French version of ``A void''. We also had advanced plans for scanning The Code Book, and ``Fermat's last theorem'', also by Simon Singh. Singh's PhD thesis was also searched for. After all, the two first solvers that we heard of had connections to Cambridge and might therefore have had access to this thesis.

Alternative solution methods were also discussed. We actually have to admit that during a beer drinking session, we came up with a scam that could be used to get the solution. The CipherChallenge email list was now buzzing with people announcing their success with Stage 5. What if we said that we had solved Stage 5, and volunteered to confirm the solutions of others... Luckily, we never needed to resort to getting the scam, since Lars announced the successful solution some days later.


next up previous
Next: How we Found the Up: Stage 5 Previous: Initial Knowledge
solvers@codebook.org