When talking about the Zodiac Killer Z340 cipher, FBI cryptanalyst Dan Olson once pointed out that:

Statistical tests indicate a higher level of randomness by row, than by column. This indicates that the cipher is written horizontally and rules out any transposition patterns that are not strictly horizontal.

Here, while I’d agree with his observation part (the first sentence), I’m really not so sure about the conclusion part (the second sentence). And a little further on, Olson continues:

Row randomness of 408 is .22, 340 is .19. Column randomness of 408 is .48, 340 is .68. By way of comparison, row and column randomness should be near identical if the 340 does not contain any message, or if there is a message that is evenly scrambled.

This second time round, I’m comfortable with the observations here (the first two sentences), and mostly comfortable with Olson’s conclusion (the last sentence). However, I’d add that you have to be careful with his conclusion, because there is an implicit (but incorrect) follow-on conclusion lurking just beyond its limits for many readers: that if the cipher is not sequenced along columns, it must surely be primarily sequenced along rows of the text.

On the positive side, I would agree that we can conclude from this that we are not looking at a ‘pure’ periodic transposition cipher (i.e. one that rakes over the whole ciphertext, or even over the top or bottom halves). But what would it mean to assert that the Z340 is a bit more horizontal than vertical, though not as horizontal as the Z408?

An New Axis to Grind?

My (admittedly as-yet-hypothetical) explanation for all of the above is that what lurks behind is perhaps a short transposition cycle (i.e. no more than two or three elements long), where the elements are arranged across two or three consecutive lines, and where the end of each cycle steps back to the letter position immediately after the beginning of the cycle.

According to this, each ciphertext line would contain every second or third letter in the plaintext: for even though this would weaken the horizontal (row) adjacency patterning, it would not eliminate it. And statistically, this is essentially what we see: weakened horizontal patterning but no obvious vertical patterning. Because of the apparent groups of three lines (also noted by Olson), I suspect that these are arranged over three lines: and so this forms my primary hypothesis going forward.

A Quick JavaScript Test

I’ve posted up a quick JavaScript gist of what I’m talking about here: https://gist.github.com/anonymous/c53f88caf1dc6bd18a6bf6af45895b2c

The preliminary results of running this code fragment yields a different internal structure to each of the two halves (various intriguing results in bold):

Top half, first nine lines:
0: off2 = 3, off3 = 3, metric = 8
1: off2 = 2, off3 = 6, metric = 8
2: off2 = 2, off3 = 3, metric = 8
3: off2 = 0, off3 = 3, metric = 7

4: off2 = 3, off3 = 14, metric = 6
5: off2 = 1, off3 = 7, metric = 6
6: off2 = 0, off3 = 7, metric = 6
7: off2 = 3, off3 = 2, metric = 5
8: off2 = 2, off3 = 7, metric = 5
9: off2 = 2, off3 = 5, metric = 5

Bottom half, first nine lines:
0: off2 = 1, off3 = 0, metric = 10
1: off2 = 3, off3 = 11, metric = 9
2: off2 = 3, off3 = 10, metric = 9
3: off2 = 0, off3 = 4, metric = 9
4: off2 = 3, off3 = 15, metric = 8
5: off2 = 0, off3 = 8, metric = 8
6: off2 = 4, off3 = 8, metric = 7
7: off2 = 4, off3 = 4, metric = 7
8: off2 = 2, off3 = 15, metric = 7
9: off2 = 0, off3 = 10, metric = 7

Note that the period-19 (i.e. 17+2) effect is still slightly visible in the top half, but it’s much less apparent in the bottom half.

However, the most striking new pattern here is the (off2 = 1, off3 = 0) pattern in the bottom half, that yields ten pair matches in the untransposed text. This is the kind of zigzag transposition pattern one might expect of what Filippo Sinagra calls “peasant ciphers” – improvised amateur cryptographic tricks, that aim for security through obscurity.

Of course, I still have no idea whether or not I’m merely generating coincidences from the 17 x 17 x 2 = 578 permutations being examined here. But nonetheless it’s all quite interesting, right?

6 thoughts on “Zodiac Killer Z340, transposition patterns, and homophone cycles…

  1. You are missing a pre tag round your source code, so most of it doesn’t display.

  2. Prufrax: *sigh* anything with that many angled brackets is going to come out badly in HTML. 🙁 I tried putting in pre/code, but as it seemed too far gone for even that, I simply removed it all – but everything’s in the gist, so any passing programmers will be able to twiddle with it to their digital heart’s content. 🙂

  3. Davidsch on September 29, 2017 at 2:44 pm said:

    Not into this cipherr, but has the knight chess move been tried?
    or..any other direct or near grouping? Would be do-able to make software to check all possible patterns.

  4. Davidsch: the so-called knight’s tour cipher was one of the fake ciphers appropriated by the Priory of Sion hoaxers. I don’t believe it has ever been used as a real cipher, unless you count crypto-themed games etc.

  5. Davidsch on October 2, 2017 at 1:28 pm said:

    hi Nick, I meant with respect to the freq.anal. of the letters or words groups, not in general. duh
    If I remember well the deciphered zodiac letter used some sort of letter jump as well. In line with that I would expect a similar but more difficult method in the later ciphered letters

  6. Jarlve on October 4, 2017 at 6:10 pm said:

    Hey Nick,

    Is your metric the total amount of bigram pairs? The multiplicity of the 340 by top or bottom half is too high for bigram measurements to be sufficiently reliant.

    Could you please share a numerical version of your transposition idea? Such as 01 03 05 07 09 02 04 06 08 10.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post navigation