Back in the 2007 time frame, I was writing a cipher-solving program called CipherExplorer. The program works reasonably well. It’s capable of solving the Zodiac Killer’s 408 cipher and other homophonic substitution ciphers comparable to the apparent strength of the 340. Of course, the main goal was to find a solution to the 340, and, in that respect, it failed. But then again, so has every other effort thus far…
As part of the work of testing and developing CipherExplorer, I also wrote a Perl script to generate Zodiac-Killer-like ciphers with arbitrary lengths and symbol counts. This script was called gen_cipher.pl. A version of it was released with the well-known, popular, and successful cipher solver, zkdecrypto (which I, otherwise, was not a part of).
Recently, I’ve taken gen_cipher.pl and converted it to javascript such that it can work in a browser-based environment. After wrapping it in some html, I’m now rebranding it as the:
Zodiac Killer Cipher Generator
Simply enter some text, pick your options, hit the “generate” button, and voila: your very own homophonic substitution cipher.
I’ll probably add some bells and whistles in the future, but even now, it’s pretty functional.
As an example, I’ve enciphered the first part of this post using characteristics similar to the Zodiac-Killer’s 340 cipher. As can be seen from the solution, the generator strips out all numbers (and any other non-letter characters). Here are the resulting outputs:
CIPHER
3 53 1 0 61 32 12 35 47 42 6 11 31 7 62 18 29 30 25 58 50 55 58 59 61 46 6 38 60 50 28 61 23 35 26 59 19 37 57 27 61 32 60 40 59 52 60 59 39 11 1 39 24 57 15 10 1 8 23 35 30 59 47 56 40 57 36 62 47 16 21 44 47 23 62 37 60 62 18 29 58 52 62 0 55 59 31 50 19 37 32 50 3 57 20 58 4 24 57 61 46 55 28 51 23 53 3 57 47 37 7 34 52 57 41 6 32 60 9 35 47 45 13 10 6 53 49 0 25 57 57 4 17 33 28 61 40 43 26 62 51 32 14 5 42 43 26 48 35 5 11 52 23 43 52 2 8 49 33 22 3 55 46 61 46 22 54 8 13 38 49 61 40 44 15 16 55 49 52 29 40 50 17 51 3 57 30 9 37 46 44 47 53 23 40 51 17 26 38 21 55 9 59 31 38 60 42 35 52 7 9 43 30 5 7 28 5 22 48 34 30 46 35 47 29 51 25 2 60 13 53 24 58 51 55 9 37 7 25 32 14 53 19 36 57 22 54 25 13 38 54 52 46 44 31 39 38 10 25 2 21 43 39 46 48 31 33 40 26 49 54 25 9 7 53 8 57 31 14 3 22 21 21 44 26 32 39 60 53 61 38 55 37 44 50 33 47 41 15 62 20 13 54 35 31 62 47 7 7 36 59 42 12 44 22 34 7 50 62 53 34 23 39 17 34 46 0 59 47 22 6 43 13 10 28 48 48 56 19 41
SOLUTION
BACKINTHETIMEFRAM EIWASWRITINGACIPH ERSOLVINGPROGRAMC ALLEDCIPHEREXPLOR ERTHEPROGRAMWORKS REASONABLYWELLITS CAPABLEOFSOLVINGT HEZODIACKILLERSCI PHERANDOTHERHOMOP HONICSUBSTITUTION CIPHERSCOMPARABLE TOTHEAPPARENTSTRE NGTHOFTHEOFCOURSE THEMAINGOALWASTOF INDASOLUTIONTOTHE ANDINTHATRESPECTI TFAILEDBUTTHENAGA INSOHASEVERYOTHER EFFORTTHUSFARASPA RIASLWHRKNPLWNHNG
Hopefully, people will find this cipher generator fun and, perhaps, useful.
Very useful! Thank you for posting this!
Glad you like it. Thanks Dave!
Cool, Mike. This is a fun/useful tool
Thanks Mike!