A python utility that solves cryptograms
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README
cryptosolve.py

README

This is a cryptogram solver that I wrote to RSVP for the NYC Hack-and-Tell in September 2011.
It learns a simple language model from some text that you give it and then uses simulated annealing
to find the most likely solution to the cryptogram.  It will also attempt to figure out spacing
as well, however it doesn't really work very well right now.  See the help output for more
information on how to run it.

The program requires some source text to build its language model.  I used 'Alice in Wonderland' 
from Project Gutenburg, but any relatively long English text should work well.
You can download 'Alice in Wonderland' for free here: http://www.gutenberg.org/ebooks/11

By default the program will attempt to solve the original cryptogram I was trying to solve, but
it will accept others as well.  The solution to the cryptogram is an excerpt from the preamble
to the GPL:

    When we speak of free software, we are referring to freedom, not price. Our General Public
    Licenses are designed to make sure that you have the freedom to distribute copies
    of free software (and charge for them if you wish), that you receive source code
    or can get it if you want it, that you can change the software or use pieces of 
    it in new free programs, and that you know you can do these things.

Here are the slides I used to show this at the Hack-and-Tell in November 2011:
https://docs.google.com/presentation/d/1dzk4jZ87LloUdu84999_weR6sJAAYh_96V3K86YYn88/edit