Page 1 of 3

Documentation of tested ideas

PostPosted: Mon Jun 20, 2016 3:01 pm
by Largo
Hi,

my name is Heiko and I am from germany. I've introduced myself a couple of days ago:
http://www.zodiackillersite.com/viewtopic.php?f=20&t=3091.
As stated in the linked topic I've implemented a library in python which allows me to test various transposition ideas for Z340. With this library I can pick rows, columns or rects from the original cipher, flip them, rotate them and put them into the transposed cipher. The results are passed to zkdecrypto and AZDecrypt.
My work is based on the assumption that z340 is a transposed clear text with a homophonic layer on top. I know that a lot of people are thinking the same and thus many ideas have been tested multiple times by different people. So it would be great to have some kind of a database of tested ideas.
I wrote some documentation about my current work and the ideas I've tested so far. The documentation is nowhere near completed yet since I only described a handful of the ideas I've implemented.
Maybe someone has an idea how to create a searchable database or something else which gives us the ability to check which ideas have been tested yet? May my documentation can help? If not, what kind of information I can contribute?

There is another aspect I would like to discuss: A lot of people think that there is something odd with the huge amount of "+" signs in z340. My opinion is that they are maybe some kind of a hint for a transposition. Maybe they form a cross or a square if the cipher is transposed in the intended way. Are there any threads about that idea? To test this idea my library also creates a "plus pattern" for each idea. This is simply a version of the transposed cipher with all letters but the + signs are replaced by a "-". Maybe I will implement a function which creates a bitmap instead of a text file (each + sign will represent a pixel).


Thank you for this great forum!

Largo

Re: Documentation of tested ideas

PostPosted: Mon Jun 20, 2016 5:30 pm
by smokie treats
Thanks for joining the site, Heiko. We need more people like you.

Largo wrote:Maybe someone has an idea how to create a searchable database or something else which gives us the ability to check which ideas have been tested yet? May my documentation can help?

That's fantastic, and thank you for recognizing that it needs to be done. It would be nice if you preserved your work somehow on this site so that it can be accessed far into the future. Unfortunately the work of other good cryptographers has been lost in the past.

Perhaps a table of contents, an outline with links, or something similar. See the first post for Homophonic Substitution, which is an example of what Jarlve did:

viewtopic.php?f=81&t=2617

Here is an outline of general concepts, including transposition, most of them experimented with to one degree or another for purposes of identifying possible issues:

viewtopic.php?f=81&t=2916

Largo wrote:There is another aspect I would like to discuss: A lot of people think that there is something odd with the huge amount of "+" signs in z340. My opinion is that they are maybe some kind of a hint for a transposition. Maybe they form a cross or a square if the cipher is transposed in the intended way. Are there any threads about that idea?

That is a good idea. I don't know if anyone has proposed that before, and perhaps doranchak could answer that question.

Re: Documentation of tested ideas

PostPosted: Tue Jun 21, 2016 4:48 am
by doranchak
Largo, thanks for joining the forum and sharing your ideas! I agree with smokie - we need more people like you.
smokie treats wrote:
Largo wrote:Maybe someone has an idea how to create a searchable database or something else which gives us the ability to check which ideas have been tested yet? May my documentation can help?

That's fantastic, and thank you for recognizing that it needs to be done. It would be nice if you preserved your work somehow on this site so that it can be accessed far into the future. Unfortunately the work of other good cryptographers has been lost in the past.

I once tried to track them on my ciphers wiki: http://zodiackillerciphers.com/wiki/ind ... variations

However, I did not keep it up to date. Also, recently I have been taking a more methodical "hypothesis testing" approach with transposition schemes. Historically, people have tried many schemes, but I think they have not been strongly ruled out. I'm trying to address that by generating many test ciphers that resemble Z340's stats and implement suspected schemes. This way, if the test ciphers can be broken but Z340 remains unsolved, the evidence against the specific scheme is stronger. It's also a way to answer the question: Can a Z340-like cipher be created under this scheme while retaining its interesting statistics (symbol frequency, periodic bigrams, apparent cycling of symbols, pivots, etc)? It's an extremely tedious process, however.

One of the difficulties is that when considering a hypothesis about Z340, it consists of several assumptions. For example: 1) the plaintext is English, 2) It is written left to right, 3) then transposed, 4) then enciphered, etc. It may be that only one of those assumptions is wrong, which rules out the entire hypothesis. But testing all permutations of the assumptions to identify which one is wrong is a very large task.

So it would really help to uncover some unambiguous clue to narrow the search! I think most of us here regard the period 19/15 bigram repeats and pivots (and possibly the Kasiski spike at shift 78) as possible strong clues into the underlying scheme.
smokie treats wrote:
Largo wrote:There is another aspect I would like to discuss: A lot of people think that there is something odd with the huge amount of "+" signs in z340. My opinion is that they are maybe some kind of a hint for a transposition. Maybe they form a cross or a square if the cipher is transposed in the intended way. Are there any threads about that idea?

That is a good idea. I don't know if anyone has proposed that before, and perhaps doranchak could answer that question.

I don't think I've seen that idea discussed before. I do remember discussions about Z340 possibly being a word search or crossword-style layout (the pivots are suggestive of words written vertically and horizontally), with the "+" signs standing for null / filler sections.

Have you looked at the "prime phobia" phenomenon? Perhaps that statistical anomaly is consistent with your suspicions.

Another observation about "+": It is frequently adjacent (in all directions, not just left/right) to the symbol 'R'. (Source: viewtopic.php?p=39791#p39791). 'B' is the 2nd most common symbol in the cipher (12 appearances), but for some reason it is adjacent to only one of the 24 '+' symbols.

Jarlve discovered this one: The average of the position numbers for all occurrences of the '+' symbol is 171, which is only one position from the midpoint of the cipher. This suggests the + symbols are very uniformly distributed throughout the ciphertext. (So it seems to be distributed more randomly than other symbols). He also pointed out that "+" does not cycle well with other symbols.

Re: Documentation of tested ideas

PostPosted: Thu Jun 23, 2016 5:47 am
by BartW
Hi Largo look forward to collaborating with you on this.

Largo wrote:A lot of people think that there is something odd with the huge amount of "+" signs in z340.


Perhaps there is something Odd with "+" in Z340 but I personally am not yet convinced.
The only odd thing I can see is the Prime/Odd Phobia. keeping in mind that Prime and odd are somewhat a similar sample group.
Otherwise I still see it as a single Symbol to char association in the homophonic cipher such as the Q for M at a count of 16 in Z408 set to mislead a frequency attack
the even distribution through out the text is also supportive of this idea. What do you guys think??

Largo wrote:Here is a littlebit of my documentation:
https://www.dropbox.com/sh/xlsjup1en6evq2o/AABHmixWHW9rdbWupupSC87sa?dl=0

I hope to download this soon and have a good look thank you for taking the time to document and sharing.
I must admit i am pretty bad for documenting apart from a key point text file.

Regards
Bart

Re: Documentation of tested ideas

PostPosted: Thu Jun 23, 2016 1:41 pm
by Largo
Hi,

thank you for your welcome!

smokie treats wrote:It would be nice if you preserved your work somehow on this site so that it can be accessed far into the future. Unfortunately the work of other good cryptographers has been lost in the past.

Thank you for the links. I will use this thread to document my transposition ideas as shown in those threads. I will post links to a shared dropbox folder which contains the detailed descriptions and all the generated ciphers.


doranchak wrote:Have you looked at the "prime phobia" phenomenon? Perhaps that statistical anomaly is consistent with your suspicions.

Another observation about "+": It is frequently adjacent (in all directions, not just left/right) to the symbol 'R'. (Source: viewtopic.php?p=39791#p39791). 'B' is the 2nd most common symbol in the cipher (12 appearances), but for some reason it is adjacent to only one of the 24 '+' symbols.

Jarlve discovered this one: The average of the position numbers for all occurrences of the '+' symbol is 171, which is only one position from the midpoint of the cipher. This suggests the + symbols are very uniformly distributed throughout the ciphertext. (So it seems to be distributed more randomly than other symbols). He also pointed out that "+" does not cycle well with other symbols.


I've read those threads and find them very interesting. I totally agree that these observations don't look like coincidence. There are several things on my todo list that have to be tested.


doranchak wrote:However, I did not keep it up to date. Also, recently I have been taking a more methodical "hypothesis testing" approach with transposition schemes. Historically, people have tried many schemes, but I think they have not been strongly ruled out. I'm trying to address that by generating many test ciphers that resemble Z340's stats and implement suspected schemes. This way, if the test ciphers can be broken but Z340 remains unsolved, the evidence against the specific scheme is stronger. It's also a way to answer the question: Can a Z340-like cipher be created under this scheme while retaining its interesting statistics (symbol frequency, periodic bigrams, apparent cycling of symbols, pivots, etc)? It's an extremely tedious process, however.

One of the difficulties is that when considering a hypothesis about Z340, it consists of several assumptions. For example: 1) the plaintext is English, 2) It is written left to right, 3) then transposed, 4) then enciphered, etc. It may be that only one of those assumptions is wrong, which rules out the entire hypothesis. But testing all permutations of the assumptions to identify which one is wrong is a very large task.

I really like your approach. Unfortunately my approach is not that sophisticated. I just transform my ideas into python code and pass the results to zkdecrypto and azdecrypt. Sometimes I am examine all those interesting statistics and things like the pivots. On the other day I ignore them and just try several schemes. I hope to help to rule out specific transpositions on this way.

BartW wrote:Perhaps there is something Odd with "+" in Z340 but I personally am not yet convinced.

Every other day I change my mind about the "+" symbols. There are so many possible solutions...maybe they map to a single letter, maybe it's a polyphone, maybe a hint, some sort of crossword....or just gibberish. So I keep trying and implement my ideas. But I agree with you...the prime/odd phobia is the most concrete thing on that.


Maybe it is a good idea to keep this thread "clean" and just use it for documentation? I could create an outline with links like described above and keep it up to date. But please give me some time since unfortunately my spare time is very rare :(


Largo

Re: Documentation of tested ideas

PostPosted: Sun Jun 26, 2016 5:13 am
by Largo
Here we go:

(By the way ... I am using my own transposition with a different mapping of the symbols)

Obvious basics:

Download the generated ciphers: https://www.dropbox.com/sh/kgqfanvm221gbry/AABs8Yy50fVmkbXVZt7GV-WJa?dl=0
Download the generated plus patterns: https://www.dropbox.com/sh/rumkwdd2cep2hto/AACD-McJa620YMgW4WYbf6c1a?dl=0

Rotated the cipher in steps of 90 degrees (flipped / not flipped). There is a total of 8 different permutations.

Example (flip horizontally + rotated 90 degrees):
Code: Select all
Original      Rearranged
ABC           LIFC
DEF           KHEB
GHI           ADGJ
JKL



Odd/Even and prime related transpositions:

Download the generated ciphers: https://www.dropbox.com/sh/ffuwhkc9lz4al1b/AADC46Jm4ELenxw2ZgFnDOdEa?dl=0
Download the generated plus patterns: https://www.dropbox.com/sh/bhu0r8g10egwani/AAAjhCh9gsp6IdHKFOdJC8zia?dl=0

Odd before even / even before odd
Uses all letters on odd positions as first half of the rearranged cipher. Letters on even positions represents the second half. Same for even before odd

Example (odd before even):
Code: Select all
Original      Rearranged
ABABA         AAAAA
BABAB         BBBBB


Undoing odd before even / even before odd
Assuming that the first half of the cipher text represents all the letters on odd positions in the clear text. Second half represents the even positions. Same for even before odd

Example (odd before even):
Code: Select all
Original      Rearranged
AAAAA         ABABA
BBBBB         BABAB


Primes first / primes last
Take all letters at prime positions and use them as the first part of the rearranged cipher. Then take all letters on non prime positions and use them as the second part of the rearranged cipher. Same for the other direction

Example (primes first):
Code: Select all
Original      Rearranged
ABCDE         BCEGA
FGHIJ         DFHIJ


Undoing primes first / primes last
Assuming that the first part of the cipher text represents all the letters on prime positions in the clear text. Second half represents the letters at non-prime positions. Same for the other direction

Example (primes first):
Code: Select all
Original      Rearranged
ABCDE         EABFC
FGHIJ         GDHIJ


Primes only / non-primes only
Use only letters which are at prime positions. Same for non-prime positions

Example (non-primes only):
Code: Select all
Original      Rearranged
ABCDE         ADFHI
FGHIJ         J



Shapes and patterns:

Download the generated ciphers: https://www.dropbox.com/sh/p5pm5foeoa9hx4l/AADNoLOpYhFE8Ega_olXRxgna?dl=0
Download the generated plus patterns: https://www.dropbox.com/sh/e97kv1q0b0b19fw/AABzRvAOukcH3RHGdWWehMA0a?dl=0

Z-Patterns
Maybe Zodiac liked the letter Z so much that he created a pattern to mask valid letters and filler in the cipher text. Imagine a big Z which is put onto the cipher. All letters which are covered by the Z-shape are valid letters, the other ones are filler. The example shows a Z-Pattern with a bar size of four lines. The width of the slash is 6 (calculated by the algorithm automatically). Each letter from z340 which corresponds to a 1 is put into the rearranged cipher. All letters which are corresponding to a 0 are skipped.
In this approach I used Z-Patterns with bar sizes from 3 to 8.

Example:
Code: Select all
11111111111111111
11111111111111111
11111111111111111
11111111111111111
00000000000111111
00000000001111110
00000000011111100
00000000111111000
00000001111110000
00000011111100000
00000111111000000
00001111110000000
00011111100000000
00111111000000000
01111110000000000
11111100000000000
11111111111111111
11111111111111111
11111111111111111
11111111111111111


Z-Patterns inverted
Same like the approach above. This time the masks are inverted.

Example:
Code: Select all
00000000000000000
00000000000000000
00000000000000000
00000000000000000
11111111111000000
11111111110000001
11111111100000011
11111111000000111
11111110000001111
11111100000011111
11111000000111111
11110000001111111
11100000011111111
11000000111111111
10000001111111111
00000011111111111
00000000000000000
00000000000000000
00000000000000000
00000000000000000



Horizontal stripes:

Download the generated ciphers: https://www.dropbox.com/sh/cc78clahj8k5kie/AADKK2tqgerDaWeRvhyoOdRaa?dl=0
Download the generated plus patterns: https://www.dropbox.com/sh/yo8g378adqpbjza/AAC_xLilnjbuF9jc46A-6V1Ha?dl=0

Dan Olson's assumption
Dan Olson from FBI assumed that the lower half of the cipher should be placed to the right hand side of the upper one. I’ve extended his approach by applying rotation and/or flipping to both halves. The opposite direction (upper half placed to the right hand side of the lower one) was also tried. There is a total of 32 permutations.

Example:
Code: Select all
Original      Rearranged
AAA           AAACCC
BBB           BBBDDD
CCC
DDD


Permutation of horizontal stripes
I assume that Zodiac maybe wrote the plaintext in a 17*20 grid, cut it into pieces and stick it together in a different order before applying the homophonic substitution. If he cut it into horizontal stripes (each with the same height) then the most likely sizes would be five stripes with 17*4, four stripes with 17*5 or two stripes 17*10.
The stripes are rearrangend in any possible order and are flipped or rotated. So each stripe can be used unmodified, flipped horizontally, flipped vertically or rotated by 180 degrees. This means that there a four possible variations of each stripe. When cutting the cipher into two, four or five stripes we have a total of 129056 permutations (2! * 4 * 4) + (4! * 4 * 4 * 4 * 4) + (5! * 4 * 4 * 4 * 4 * 4).

No plus patters where created.

Example:
Image


Columnar transpositions:

Download the generated ciphers:
https://www.dropbox.com/sh/cxfuvs23edfj3np/AAC7RDNL088hNMZ8V-r6lwsoa?dl=0
Download the generated plus patterns:
https://www.dropbox.com/sh/i5aiie1t76g07o3/AAC2j8l6uZz2SF1axTuEQJVBa?dl=0

Rearrange columns by indices
Maybe Z rearranged the columns in some way. This approach is based on a list of indices which represents the new order of the columns. The following orders have been tested by now. The most of them represents some kind of patterns.

Tested by now:
Code: Select all
2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 16, 15
3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12, 16
4, 3, 2, 1, 0, 9, 8, 7, 6, 5, 14, 13, 12, 11, 10, 16, 15
5, 4, 3, 2, 1, 0, 11, 10, 9, 8, 7, 6, 16, 15, 14, 13, 12
0, 16, 1, 15, 2, 14, 3, 13, 4, 12, 5, 11, 6, 10, 7, 9, 8
16, 0, 15, 1, 14, 2, 13, 3, 12, 4, 11, 5, 10, 6, 9, 7, 8
2, 1, 0, 3, 4, 5, 8, 7, 6, 9, 10, 11, 14, 13, 12, 15, 16
0, 1, 2, 5, 4, 3, 6, 7, 8, 11, 10, 9, 12, 13, 14, 16, 15
0, 9, 1, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8
9, 0, 10, 1, 11, 2, 12, 3, 13, 4, 14, 5, 15, 6, 16, 7, 8
8, 9, 7, 10, 6, 11, 5, 12, 4, 13, 3, 14, 2, 15, 1, 16, 0
9, 8, 10, 7, 11, 6, 12, 5, 13, 4, 14, 3, 15, 2, 16, 1, 0


Example (only a 8*2 „cipher“ to keep the example simple):
Code: Select all
Original          Order             Rearranged
ABCDEFGH          52617034          FCGBHADE
IJKLMNOP                            NKOJPILM


Rearrange columns by keywords
Same approach like above but using keywords instead of indices. This is a simplified version of an usual columnar transposition cipher. Only a few keywords have been tested by now.

Tested by now:
Code: Select all
MOSTDANGEROUSGAME
MOATDANGEROUSGAME
BEORIETEMETHHPITI
EBEORIETEMETHHPIT
ILIKEKILLINGPEOPL
IAMARTHURLEEALLEN
LEIGHLEIGHLEIGHLE
PARADICEANDSLAVES
PARADISEANDSLAVES
SLAVESANDPARADICE
SLAVESANDPARADISE
TOSHITOSHITOSHITO
ZODIACZODIACZODIA
BYFIREBYROPEBYGUN
GUNGUNGUNGUNGUNGU
ROPEROPEROPEROPER
FIREFIREFIREFIREF
KNIFEKNIFEKNIFEKN


Example (only a 8*2 „cipher“ to keep the example simple):

Keyword: Rolling
Alphabetical order of keyword: 7634251
Code: Select all
Original         Keyword          Rearranged
ROCKING          ROLLING          GNCKOIR
GUITARS                           SRITUAG



Skipping letters, rows or columns:

Download the generated ciphers:
https://www.dropbox.com/sh/e2ch7v50v4bzl6m/AADnEpwdyBok-GlHOL20zL3sa?dl=0

Download the generated plus patters:
https://www.dropbox.com/sh/tce7ixudy3ynuco/AADU23XHMRCdznpqc9fZBIoXa?dl=0

TODO: Upload 75264 permutations (ciphers) of skipping column test
TODO: Upload 162220 permutations (ciphers) of skipping symbols test

Skipping each Nth letter
Assuming that Z used some letters as useless filler to confuse people. This approach removes each Nth letter from the cipher where N reaches from 3 to 20 (starting by letter 0 or letter N)

Example:
Code: Select all
Assumed original plaintext:   Spiked with fillers:     Result:
ILIKECHILLING                 #ILI#KEC#HIL#LIN#G       ILIKECHILLING


Skipping chunks of letters
Same as above but skipping two or more letters. Filler lengths from 2 to 5 letters and valid text length from 2 to 20 are tested (152 permutations)

Example:
Code: Select all
Assumed original plaintext:   Spiked with fillers:             Result:
ILIKEGRILLING                 ###ILIK###KEGR###ILLI###NG       ILIKEGRILLING

(Resulting file would be named „remove_filler_chunks_lf_3_lv_4_filler_first.txt“. „lf“ means „length filler“, „lv“ means „length valid letters“)


Skipping columns (different reading directions)
This approach assumes that at least one column is a filler which containts gibberish. The number of omitted columns ranges from 1 to 5 and all permutations are tested. The „cleaned“ cipher is rotated/flipped so that all possible reading directions are taken into account.
I have also tested variations which assume that the cipher was rotated 90 degrees before the columns (respective rows) were skipped. The number of permutations is higher since now the binomian coefficient is [20, 5] instead of [17, 5].

This test created 75264 different ciphers which were tried to solve by AZDecrypt. No solution was found :)

Skipping cipher symbols
Maybe some cipher symbols are used as fillers. To reduce the amount of possible permutations this test only removes symbols which occur at least 4 times (45 symbols total). I have tested from 1-4 filler symbols. This makes a total amount of 164.220 permutations.



Way transpositions:

Download the generated ciphers:
https://www.dropbox.com/sh/tfz6tlq9tem63th/AAABORf3ydHjx0_xAT4lvo2ja?dl=0

Download the generated plus patters:
https://www.dropbox.com/sh/hjhykvdfzewyogy/AAA4p90cNKjYlkXPEPnUEPH5a?dl=0

Snake route
This approach untransposes the cipher using snake routes. All 8 possible variations are generated

Example (Snake beginns bottom left):
Code: Select all
Cipher:         Rearranged

ABCDE           UPKFA
FGHIJ           BGLQV
KLMNO           WRMHC
PQRST           DINSX
UVWXY           YTOJE

Re: Documentation of tested ideas

PostPosted: Sun Jun 26, 2016 5:15 am
by Largo
Placeholder for further documentation

Done, but not documented yet:
- Mixing upper and lower halfes
- Garden fence in various variations
- Shifting columns
- Shifting rows
- (Undoing) diagonal transpositions
- Diamond shape
- Various route transpositions

Re: Documentation of tested ideas

PostPosted: Sun Jun 26, 2016 5:16 am
by Largo
Placeholder for further documentation

Re: Documentation of tested ideas

PostPosted: Sun Jun 26, 2016 5:17 am
by Largo
Placeholder for further documentation

Re: Documentation of tested ideas

PostPosted: Sun Jun 26, 2016 5:17 am
by Largo
Placeholder for further documentation