logo

A fast and automated cryptogram solver by Edwin Olson. An online version of the program is available here.



Decrypto 8.5 is a free program for solving cryptoquips (also known as simple substitution ciphers). It is completely automated and extremely fast.


About Decrypto

As a child, I used to race my parents to complete the cryptoquips published in our newspaper. Occasionally, all of us would get stumped, and we wished we could find out the answer. This program will automatically compute the answer to most cryptoquips.

Decrypto offers both dictionary and statistical attacks. In a dictionary attack, it tries to match up words in the dictionary against words in the puzzle. This means it can solve any puzzle that consists of words found in the dictionary, but it also employs techniques to deal with the occasional non-dictionary word. The statistical attack is effective on a broad range of puzzles, and can produce a solution even if the word boundaries are not known (i.e., spaces have been removed from the puzzle.)

You can also use WebDecrypto to solve cryptograms online using more-or-less the same algorithm.

Download

Decrypto is free software, distributed under the terms of the GNU Public License (version 2). You may redistribute it provided you distribute the complete distribution, including documentation. Decrypto comes without warranty of any kind.

Current version: build 239 (Wed Oct 29 15:17:18 2008)

You will need a Java virtual machine in order to use Decrypto or WinDecrypto.

The distributions come with the english-standard.dat dictionary. Additional dictionaries are available: english-tiny.dat, english-large.dat.

Source code, licensed under the terms of the GPLv2 is here. Note that it is quite large (about 14M), because it includes a training corpus used to generate statistics.

Historical versions:

FAQ/Troubleshooting

Where can I find cryptograms?
Look in your local paper. But to get you started, here are some:
  • PG XOYHLM XOYLY PZ GH TPUUYLYGRY EYXBYYG XOYHLM WGT JLWRXPRY. PG JLWRXPRY, XOYLY PZ. - MHIP EYLLW
  • BN SK HGKS SJPD SK SKXK OCBGI, BD SCZVO GCD LK MPVVKO XKRKPXMJ, SCZVO BD? - PVLKXD KBGRDKBG
  • T NEKZ ZD ZUE NDDOG PEWQMGE T NTGUEO ZD LTXE OELTPEHQZELB, ZD IHDKZ DKLB ZUE EGGEKZTQL IQWZG DI LTIE, QKO GEE TI T WDMLO KDZ LEQHK NUQZ TZ UQO ZD ZEQWU, QKO KDZ, NUEK T WQSE ZD OTE, ZD OTGWDXEH ZUQZ T UQO KDZ LTXEO. - UEKHB OQXTO ZUDHEQM
I get too many solutions!
Try providing (or guessing) a few hints or using a smaller dictionary.
I don't get a solution (or I don't get any good solutions)
This means that there are words in the puzzle that aren't in the dictionary. Try enabling partial solutions. You can also instruct Decrypto to ignore words by adding a carat (^) to the beginning; if the cryptogram looks like a quote, escaping the attribution (the proper name) might help. You can also try using a larger dictionary.
How can I create my own cryptograms?
Type in your puzzle and hit the "Encode" button.
How does it work?
Here's a description of the algorithm, or you can take a look at the source code (above).
How can I donate?
The software is free, but contributions are always welcome. Visit here for some options.