-
Notifications
You must be signed in to change notification settings - Fork 0
Chaining Conflict Rates
Some statistics on the rates of chaining conflicts for selected groups, mainly small ones where the rates can be exactly calculated, and groups that are potentially relevant to the eyes. Specifically the most common type of conflict, a failure for the transformations between pairs of isomorphs to be commutative.
Each pair of isomorphs has an associated group element giving the change in state between them (as the cumulative product of elements from the plaintext between the starts of the two isomorphs). I'm calling these "contexts." In the chaining graph, each distinct context has a different color of arrow. The conflicts happen when you look at 3 isomorphs and the context between 1 and 2 and the context between 2 and 3 don't commute with each other. Minor detail: Pairs of letters within an isomorph won't always have the same context (they always do for commutative groups), instead in general all the letter pairs in an isomorph pair are conjugates of each other (conjugating g by h in group theory meaning g^-1 * h * g), specifically conjugating by the sequence of plaintext from the start of the isomorph to that point.
To be able to observe a chaining conflict at all, first there needs to be enough letters present in the isomorphs to make a short chain that could conflict or not. Having the right repeated symbols among a set of three isomorphs for a conflict to be visible or not is a prerequisite, so the calculated rates here are assuming a given set of three isomorphs covers enough symbols for this condition to be met. Since contexts between isomorphs failing to commute is a direct cause of chaining conflicts, this chance is exactly the chance that two contexts fail to commute. You can calculate this probability directly by looking at all pairs of elements of the state group and counting how many pairs don't commute, divided by the size of the group. This isn't too difficult to calculate for small groups.
For a triplet of isomorphs with
Since this only happens with non-commutative groups, the probability of chaining conflicts for commutative groups is 0%. However, chaining conflicts can still appear based on incorrect assumptions of which sections of the text come from the same plaintext, due to overextended isomorphs, typos in the plaintext, or transcription errors (on the part of the solver or the puzzle designer).
Note that these rates only depend on the group structure, and not on any particular choice of hidden subgroup used, even though the number of CT symbols will be different. Larger CT alphabets just mean you'll need more/longer isomorphs to be able to see the right conditions for conflicts.
Assuming that condition is met, here are the chances that a random triplet of isomorphs causes a chaining conflict for some particular groups:
| Group | Order | Chance |
|---|---|---|
| 6 | 50% | |
| 8 | 38% | |
| 8 | 38% | |
| 10 | 60% | |
| 12 | 50% | |
| 12 | 67% | |
| 14 | 64% | |
| 16 | 56% | |
| 18 | 67% | |
| 20 | 60% | |
| 20 | 75% | |
| 21 | 76% | |
| 24 | 79% | |
| 60 | 92% | |
| 120 | 94% | |
| 26 | 69% | |
| 52 | 69% | |
| 78 | 82% | |
| 104 | 87% | |
| 156 | 90% | |
| 312 | 92% | |
| 166 | 74% | |
| 3403 | 98.73% | |
| 6806 | 98.78% | |
| 83!/2 | ~100% | |
| 83! | ~100% | |
| 84 | 83% | |
| 84 | 76% | |
| 84 | 50% | |
| 84 | 64% | |
| 84 | 71% | |
| 84 | 83% | |
| 84 | 82% | |
| 84 | 76% | |
| 84 | 67% | |
| 84 | 86% | |
| 84 | 64% | |
| 84 | 50% | |
| 84 | 71% | |
| 168 | 96.4% |
Notation if you're not familiar with it:
-
$C_n$ = Cyclic Group -
$D_{2n}$ = Dihedral Group -
$Q_8$ = Quaternion Group -
$A_n$ = Alternating Group -
$S_n$ = Symmetric Group (All Permutations) -
$AGL(1, n)$ = Affine General Linear Group (AGL) -
$PSL(m, n)$ = Projective Special Linear Group (PSL) -
$\times$ for direct product of two groups -
$\rtimes$ for semidirect product of two groups
37.5% seems to be the smallest chance among all non-commutative groups. In general the chances for even-sided polygons are lower than for odd-sided polygons, and it looks like doubling the sides for an odd polygon actually gives the same rate, e.g. a triangle and hexagon rotation and reflection symmetries,
These conflict rates might be useful for distinguishing the group in a random unknown group-based cipher with a lot of ciphertext, but it's more realistic to just use the chaining graph if you have that much ciphertext available.
So mainly this was an exploration to show that commutation conflicts aren't just a once-in-a-while thing, they're pretty much the norm, and with larger groups it just becomes more frequent... Which kind of makes me feel like we should be calling them something other than "conflicts," which makes it sound like something is broken, when it's really just how these groups operate and the "conflict" is the assumption that state changes between isomorphs commute with each other.