I was looking through the Zodiac Killer ciphers the other day and woke in the middle of the night wondering how The Zodiac actually enciphered the first message (the one that was decoded).
The message consists of 408 symbols; there are 54 different symbols used for the alphabet. So there are multiple symbols for each letter of the alphabet. The Zodiac used a homophonic cipher to disguise the most common letters of the alphabet by using multiple symbols for common letters. For example, for the letter E The Zodiac used seven different symbols.
I started to wonder how when The Zodiac was writing out the message he picked which symbol to use. And it occurred to me that he might have used a really simple system: cycling through the symbols for each letter in the same order.
A quick look at the cipher showed that it was likely that the simple scheme was used. Here I looked at the letter E and the letter N and discovered that a simple pattern was used for each.
Using a small program I wrote I identified the sequence used by The Zodiac for all the repeated letters (note that I've used lowercase letters for the reversed or upside-down capitals used by The Zodiac):
(In the above table * is The Zodiac's character that looks like pi with curved legs). The Zodiac mostly kept to this scheme with occasional errors (either deliberate or unintentional).
This leads to a possible way to attack the unsolved Zodiac 340 cipher. If The Zodiac used a similar scheme where he repeated the same sequence over and again for each letter it should be possible to find those sequences and reduce the decryption to something close to a classic substitution cipher.
An attack would consist of the following:
1. Split the Zodiac 340 cipher on each of the symbols to obtain a list of lists of sequences
2. Remove any duplicated characters from the lists (since we can assume that there will be none if the characters are being used in order as in the Zodiac 408)
3. Generate all combinations of the first list and look for the same subsequence occurring in the other lists.
Looking at the Zodiac 340 it looks like it splits on average into deduplicated strings of between 20 and 30 symbols. If we look for subsequences of length say 6 then each search would require 38,760 and 593,775 combinations to be generated. For 63 characters that sets an upper bound of roughly 37m combinations. That leads me to think that this approach could be used.
The message consists of 408 symbols; there are 54 different symbols used for the alphabet. So there are multiple symbols for each letter of the alphabet. The Zodiac used a homophonic cipher to disguise the most common letters of the alphabet by using multiple symbols for common letters. For example, for the letter E The Zodiac used seven different symbols.
I started to wonder how when The Zodiac was writing out the message he picked which symbol to use. And it occurred to me that he might have used a really simple system: cycling through the symbols for each letter in the same order.
A quick look at the cipher showed that it was likely that the simple scheme was used. Here I looked at the letter E and the letter N and discovered that a simple pattern was used for each.
Using a small program I wrote I identified the sequence used by The Zodiac for all the repeated letters (note that I've used lowercase letters for the reversed or upside-down capitals used by The Zodiac):
| Plaintext | Cipher symbols in order |
|---|---|
| E | Z p W + ◉ N E |
| T | H I ● L |
| A | G S ⌟ ▲ |
| I | △ P U k |
| O | X * T d |
| N | O ∧ D ⦶ |
| S | F ◬ K ▣ |
| H | M ⦵ |
| R | t r \ |
| D | f z |
| L | ◪ B ■ |
| F | J Q |
This leads to a possible way to attack the unsolved Zodiac 340 cipher. If The Zodiac used a similar scheme where he repeated the same sequence over and again for each letter it should be possible to find those sequences and reduce the decryption to something close to a classic substitution cipher.
An attack would consist of the following:
1. Split the Zodiac 340 cipher on each of the symbols to obtain a list of lists of sequences
2. Remove any duplicated characters from the lists (since we can assume that there will be none if the characters are being used in order as in the Zodiac 408)
3. Generate all combinations of the first list and look for the same subsequence occurring in the other lists.
Looking at the Zodiac 340 it looks like it splits on average into deduplicated strings of between 20 and 30 symbols. If we look for subsequences of length say 6 then each search would require 38,760 and 593,775 combinations to be generated. For 63 characters that sets an upper bound of roughly 37m combinations. That leads me to think that this approach could be used.
Comments
http://wiki.zodiac-ciphers.dreamhosters.com/wiki/Homophone_sequences
I tested for the presence of quadrant-based layouts in the 340 by measuring the quality of homophone sequences in millions of transformed versions of the 340:
http://wiki.zodiac-ciphers.dreamhosters.com/wiki/Quadrant_analysis_Part_2
I recommend the paper "An Algorithmic Solution of Sequential Homophonic Ciphers" by John C King for a description of an efficient attack that exploits sequential homophones to reduce homophonic substitution ciphers to simple substitution ciphers.
Finally, I have a brute-force homophone search in the CryptoScope: http://oranchak.com/zodiac/webtoy/stats.html
Scroll down to "Brute force search for sequential homophones". More detail about this can be read here: http://wiki.zodiac-ciphers.dreamhosters.com/wiki/CipherScope_Help#Discovering_sequential_homophones
Keep up the good work!
Is there a non-$ version of the actual paper available?
I started doing more research on Roman,Greek,Phoenician,Babylos...Ect.And all the symbols are there,including the one from the Card,except I believe it to be two symbols put into one.I just see too many similarities between them all and I'm not dismissing it.I thought I would just speak what I had to say,thank You.Travis.
http://zodiackillerciphers.com/wiki/index.php?title=Homophone_sequences
http://zodiackillerciphers.com/wiki/index.php?title=Quadrant_analysis_Part_2
http://zodiackillerciphers.com/wiki/index.php?title=CryptoScope_Help#Discovering_sequential_homophones
(http://en.wikipedia.org/wiki/PETSCII), although this was released in the 80's there may be some older typewriters or "computers" from the 60's that can have the same alternative characters.
Just had a thought that the Zodiac can have used some current 60's keyboard-layout to "decrypt" his messages, just have to find out if something like this existed back then.
I mean if no one ever found out his encrypt/decrypting method, who knows..
His letters and characters looks like those from Ascii and unicode tables.
http://www.simonsingh.net/The_Black_Chamber/homophonic_cipher.html
He is not worth it.
Plus he's probably dead