#Method: Earthquake Gears

1 messages · Page 1 of 1 (latest)

hoary pebble
#

A couple of months ago, I found a cipher method capable of reproducing the isomorphs and funny-looking obstacle from the first 3 messages, involving a 3-gear system rotating according to the 3 earthquake sequences.
This seems pretty plausible. The main problem is that if this is the method the eyes use, then the ciphertext alphabet must be shuffled rather than in numerical order, and it will be difficult to figure out the order with so little information (especially not knowing the plaintext alphabet size/order either).

#

An explanation of the method:

Start with two disks for the plaintext and ciphertext. For the plaintext I'm using any alphabet order on that disk and trying different lengths. For the ciphertext I'm just using consecutive values mod n (83 or 84 is what I've been testing).

Initialize the state by setting the rings to point to some arbitrary values.

Then given the next plaintext symbol, rotate the plaintext disk until you reach that symbol. For each rotation step, rotate the ciphertext disk by a weighted sum of the earthquake sequence, potentially with different rotation amounts for each of the three earthquake binary rings. I like to think of this as having the pt and ct alphabet connected through gears which activate or deactivate based on the earthquake sequence. I've been interpreting them as open and closed eyes meaning 1 and 0 since otherwise the outer ring would do nothing. Then output the ciphertext symbol that it ends up pointing at.

(Another modification I've been experimenting with is resetting the earthquake sequence position at the start of a new word.)

So the parameters of this cipher are: pt alphabet size, pt alphabet order, ct_alphabet size, initial pt and ct states (ends up being isomorphic to other initial states), the three rotation rates, and whether to reset the earthquake sequence at new words.
Since weighted sums of the earthquake sequence (even [1,1,1]) are so chaotic, the pattern of the output appears pretty random. You can effectively prevent doubles by having a particular set of rotation rates such that no pair of letters will cause a total rotation of the full ciphertext disk. Isomorphs are also very common in this system, but whether they appear for a particular word depends on the particular parameters chosen in a pretty unpredictable way.

#

The method could have any ciphertext size in general, I just thought 84 might be more fitting since it's a multiple of 42. Also because the equal rotation rate case ends up not giving any good-looking results for mod 83 and alphabet size 42.
I can only search a tiny fraction of the space, but so far I've only seen reasonable results in this gear system with mod 83 for alphabet sizes 37, 39, and 41. Though it depends on the rotation rates.

I've been looking at matching the patterns of the first 3 messages. Checking for the funny-looking obstacle, the alignment in 1/2, and checking that the repeated word forms the correct gap pattern. And I have found some that match this. Most of them end up still having some gap 1 repeats, but I've seen some with no gap 1 repeats, too.

#

This particular one had an alphabet size of 37. Ignoring the first symbol of the messages being different.

?:'c;H?ep.-PE-XAlrWK:H0^hY`LNF;r0!N8T2mi];Bp;_ip2_Z9&\cS8Ti2."O9X3kg[9@n9]gnqlK8n"Lp$?7BSOF(1TO&jB
?:'c;H?ep.-PE-XAlrWK:H0^r%:lNF;rMb@nT2mi];Bp;_ip2_07RJUfbY;DqK&;lG-^FB6gnIg8BI^8\c+#.?;2gp@Ia*fA1[6Q3i
?:'c;H?ep.-PE-XAlrWK:H0^ Nb@Q2<n+k1X6d&W2kI1-!RY4R#-4I#Gr*;:.clB+XS5[PL&TiG"[9!pdBI$Bfp$9f7bm+*qS\2D_ \To4o"IeN>9P_GW
#

Another one with some different choices of alphabet order and such. Same test messages.

?WYBm@P<GXp=,6'c;ZX;C()W'kr$?4(rMA4qS *?,2k%2-?%LFZ9?")bdFW ?- ]Bbi+kqWdql+d-A &\c:W+2T_p5)$re-mZ9
?WYBm@P<GXp=,6'c;ZX;C()W1P^A?4(rW,rQS *?,2k%2-?%LFf:Acn,D83.(nS(nMOo&;(.g!.);!HBb6=_j(@4/*pC$\?priD- V
?WYBm@P<GXp=,6'c;ZX;C()W2Y:1B<_;dTm71i>1ce2<Q>D*7D?Q7^X%p+9NE@>.7#> \QI<!I<np=G\IO5BOJ\Bic0(6DYPKI9k"[ZRmge1X!#_';fg:

This shows these isomorphs that follow the same pattern as the ones in the messages.

?,2k%2-?%
+kqWdql+d
?,2k%2-?% (again)
;(.g!.);!
Q>D*7D?Q7
\IO5BOJ\B
hoary pebble
#

Sampled measurements of isomorph imperfection scores, measured in a way where each difference in isomorph backbones adds 1 to the score, with the number of differences averaged over all pairs of initial states. This metric was measured for random words/phrases of different lengths. I also showed the best fit line for each number of repeats in the gap patterns formed.

As a bit of an explanation of the chart, it looks like having more repeats and longer words increases the chance of isomorph backbone differences for repeated plaintext words, which is what I would expect for any imperfectly isomorphic method.

Another thing I think is notable here is that with multiple repeats in the gap pattern, it seems very unlikely to end up with perfect isomorphs at longer lengths. We see e.g. a pair of perfect isomorphs of length 24 and 26 in the eyes, which makes this method seem pretty unlikely. But these measurements are still averages, there are certainly some particular situations possible where the isomorphs are still perfect. It just seems like it would have to be kind of fine-tuned to keep the isomorphs intact if this was the method used.

For this reason I personally think it's more likely to be a perfectly isomorphic method, as fun as this method is.

opal patio
#

Would you be able to gather up everything relating to this method and pass it along? Specifically if you have generation code with adjustable parameters that'd be awesome.

hoary pebble
#

I can add some code to generate it, but I've lost the plaintext and settings for the example outputs here so you'll have to solve it if you want those