Useful websites for puzzle solving
This is just a collection of links to websites that I've found to be useful in solving various puzzle based geocaches. It's not intended to be a puzzle solving guide, but I have included some links to guides where appropriate. It's also a somewhat selective collection, as it concentrates on less common and more powerful tools.
WARNING: I have no control over the pages that are linked to from this site. I have tried most of them myself without any problems, but over time, things change. So please exercise caution when visiting websites, and particularly when downloading files. Use an antivirus application on your computer. If you do find a malicious site or file, please let me know and I'll remove the link.
Puzzle Solving Guides
There are plenty of websites which offer guidance on solving puzzles. I'll add some of the more interesting ones here as I come across them.
Purple Hell - The Riddle Tools section of this site was a massive resource of information useful in solving all kinds of puzzles. Unfortunately they seem to have lost their domain registration, and it's now occupied by a domain squatter. The good news is that the site is still mostly available via the Internet Archive's Wayback Machine (just follow the links!).
Parmstro's Geocaching Puzzle Page has general guidance on puzzle solving, links to puzzle solving resources, and much more.
Red Luth Riddle Tools - Chock full of puzzle solving goodness.
If you're solving puzzle caches, then you'll definitely need to have some understand of ciphers. Puzzle caches typically use traditional ciphers, which are solvable by hand, rather than modern ciphers which require significant computing power to calculate.
There are many types of traditional ciphers, and for each type it's possible to create endless variations. The American Cryptogram Association has standardised quite an extensive list of ciphers, and provided a description of how each one works. However, be aware that ciphers used in geocache puzzles may not conform exactly to these rules.
The most basic cipher is a simple substitution cipher, where each letter is replaced by another letter. These can be solved fairly easily by hand, although automated solvers are available (see below).
Cryptanalysis is the process of analysing and (hopefully) decrypting a cipher. There are various techniques for attacking ciphers, and some of the more technical and in-depth descriptions are provided in the following:
- FM 34-40-2 - US Army basic cryptanalysis field manual (also available at numerous other sites, such as here).
- 24 part Classical Cryptography Course delivered by LANAKI in 1995, while president of the American Cryptogram Association.
- MAS335 cryptography course notes from University of London.
There are various useful tools available online, which will assist with various tasks. For example, do you want to:
- Identify Cipher Type
If you have some ciphertext, but don't know what cipher was used to produce it, then this amazing online tool will generate some statistics from the ciphertext, and match those against statistics for each cipher in the ACA cipher list. It then ranks the ACA ciphers in order of "similarity" to your ciphertext, and I've found it to be pretty accurate (although it's based on the assumption that the plaintext is natural English).
- Crack A Simple Substitution Cipher
To automatically decrypt a Simple Substitution Cipher with the spaces between words provided (an "Aristocrat") or not provided (a "Patristrocrat"), then try one of these online tools:
- Crack A Vigenere Cipher
A Vigenere cipher is a step up in difficulty from a substitution cipher, but there are still some excellent tools that usually do a reasonable job of decryption. For an online cracker, Smurfoncrack's Vigenere solver does a good job, and there's also a downloadable Vigenere Cracker, which I haven't tried, but it looks promising.
- Crack A Railfence cipher
Online tools like the one at Purple Hell, let you try various numbers of rails, and starting offsets. Just work through the numbers until you find sensible plaintext.
- Crack a Homophonic cipher
zkdecrypto was developed as a open source, general case homophonic cipher solver. It will also handle monophonic ciphers well.
- Crack Other ciphers
Cryptocrack is a powerful classical cipher cracker, which can solve over 50 different types of ciphers. These are based on the American Cryptogram Association standard definitions of the ciphers, so can fails if you are deling with a modified or nonstandard cipher.
- Encode/Decode Using Other Ciphers - There are numerous sites with online encoders/decoders for various ciphers (these are not crackers - you need to know the password), for example:
- Ruffneck - Has online encoder/decoders for a significant number of traditional ciphers, including some more obscure ones.
- Rumkin - Also has a online encoders and decoders for many traditional ciphers.
- CrypTool - Covers various ciphers - also some functionality is available online.
- Cipherclerk - A Java applet that implements a large number of ciphers.
- Webcrypt - a Java web browser with built in modules for encrypting and cryptanalyzing some classical ciphers.
- The cifer application (available as a ubuntu/debian linux package) provides various tools for breaking cryptograms.
- Quadibloc has a Cryptographic Compendium with a lot of interesting bits and pieces
- There's a good online Enigma machine simulation applet (in Java) here
- Description of the actual Enigma procedures
- Dirk Rijmenants website has a lot of detail about cipher machines
Other interesting Links
- Crypto Drop Box - I'm not entirely sure what this is, but I assume it's a file server for the ACA.
- Bion's site - Lots of interesting stuff.
- Solitaire Cipher - A modern pencil and paper created by Buce Schneier, designed to be mathematically analysable for vulnerabilities. Online implementations of an encrypter/decrypter can be found here and here.
- Crytologica Magazine - In case you really become interested in cryptanalysis, there looks to be some interesting articles available online.
The terms code and cipher are typically used interchangeably in non-technical discussion. However, strictly speaking they are distinct concepts. In a military sense, codes were used to convert entire words or phrases into codegroups, e.g. "Attack at dawn" could be represented by AFGY, and you would need to work from a shared codebook to do the encoding and decoding. In technical terms, a code is often used to represent characters (letters, numbers, etc) in a form that can be stored or transmitted by a particular system, such as Morse Code for the telegraph, and ASCII for the computer. In a sense, these can be treated as substitution ciphers.
Paulschou's excellent Binary Translator converts between Binary/ASCII/Hex/MD5/Base64 online.
Different writing systems can also be considered codes, as they substitute new symbols for individual English letters.
Omniglot is a massive resource for real and artificial written languages - here's a small sample of some that have been used in puzzles:
|Cirth Runes (from The Lord Of The Rings)|
|Uruk Runes (The Lord Of The Rings)|
|Tengwar (The Lord Of The Rings)|
|Klingon (from Star Trek)|
|Futurama alien alphabet|
|Visitor script (from the TV series "V")|
One of the more famous codes/substitution ciphers is the "Dancing Men" cipher from the Sherlock Holmes story of the same name. There is a nice tool for encoding and decoding this at Purple Hell.
Maritime Signal Flags
Historically, there have been a number of systems of flags used to communicate visually between ships. There are a number of places that you can find the International Code of Signals in use today, but if you are thrown a more obscure code, then you need to know where to look. Good places to try are quadibloc and the Peabody Essex Museum.
ROT refers to a series of simple shift ciphers. The original was ROT13, designed to provide an easy means to obscure text, for example to include spoilers in online forums and Usenet. Users could then choose whether to decode the obscured text or not. ROT13 works by substituting each characters with the one 13 places ahead in the alphabet, so the same implementation can be used for encoding or decoding (moving ahead by 13 places twice brings you back to the start). ROT13 only works for letters, so variants have been produced for other sets of characters, such as:
- ROT5 - for numbers 0-9
- ROT18 - for a combination letters and numbers.
- ROT47 - for all printable ASCII characters except spaces.
There are many online encoders decoders, but the one at webutils.pl provides all 4 variants above.
This site has descriptions for a number of 2D barcodes.
For an online decoder, try the ZXing online decoder. It decodes barcode images in most common formats, including UPC-A, UPC-E, EAN-8, EAN-13 , Code 39, Code 93, Code 128, QR Code, ITF, Codabar, RSS-14, Data Matrix, PDF 417 and Aztec.
Projection and Datum Conversion
- Movable Type (only works with coordinates in degrees/minutes/seconds or decimal degree formats, not decimal minutes)
- Gazza's On-line Calculators (some only work in UTM coordinates, not lat/long)
- Ed Williams' Great Circle Calculator (gives answers with more precision than the above)
- Given a point, a bearing and a distance, project a new point: Use the tool at Movable Type
- Given two points, and a bearing from each point, find the point where the lines of bearing intersect: Use the tool at Movable Type or Gazza's Great Circle Calculator
- Given three points, and a distance from each, find the point by trilateration: I don't know of any online tools for this, so I use OziExplorer. Enter each point as a waypoint, and in the edit dialog, set a proximity circle with radius equal to the distance from that point. Then look for where the circles intersect.
Want to convert between different number systems, like base 36? Try this link.
General manipulation of large numbers, or high precision? Try Wolfram Alpha.
For images, I find the GIMP and Irfanview (and it's plugins) to be invaluable. If you don't want to install applications on your PC, there are online image editors that will do some of what you need. For example pixlr let's you determine RGB values for colours, but doesn't import animated GIFs properly. To check for info hidden in image metadata (such as EXIF and IPTC fields), you really can't go past Jeffrey's Exif Viewer.
Okay, this is a variation on image analysis, but there are a number of tools available for embedding data into images. There is a large list of Steganographic software at JJTC.
WARNING: I've had a report from one user of malware associated with Stegdetect, but have been unable to confirm this, so I've left the link active. Before downloading or running any of these files, make sure that you have appropriate antivirus protection in place. If you have any doubt about a link or file, do not download it!
Stenagography detection tools:
- StegDetect - Can detect data embedded using jsteg, jphide, invisible secrets, outguess, F5, appendX and camouflage. Please read the warning above!
- Hiding information in the order of a list
There's an excellent Java applet sonogram viewer for analysing sound files, though it doesn't accept MP3 format.
Here are a few other websites that are generally interesting.
Cross+A is a tool that lets you create and solve a number of grid and word based puzzles. I've not tried the tool, but this page has a good description of a number of grid puzzles, including those invented by Nikoli and others.
Sites No Longer Useful
The pages at http://homepages.cwi.nl/~dik have disappeared, which is a shame as they were a great reference for punched cards, morse and braille variants, and maritime flags.