-
Notifications
You must be signed in to change notification settings - Fork 0
Perfect Isomorphism
A cipher method is said to be perfectly isomorphic or have perfect isomorphism if for all initial states, encrypting the same plaintext sequence causes every pair of output ciphertexts to be isomorphic to each other (meaning they are a substitution of each other). So every time the same sequence of text is encrypted, regardless of where it is in a message, it will form the same visible gap pattern. In contrast, a cipher is called imperfectly isomorphic if it sometimes produces isomorphs, but the gap patterns can be different for differing initial states.
There are a few levels of varying imperfect isomorphism which have perfect isomorphism on specific scales. These are called "perfect word isomorphism" if repeated individual words produce consistent isomorphs, and "perfect phrase isomorphism" if repeated sequences of multiple words in a row produce consistent isomorphs. These are normally caused by specific state change rules applying at word boundaries, and for either of these categories, repeated text that isn't aligned to word boundaries will not always form the same gap pattern. For example, the phrases "technically right" and "fundamentally rigorous" share a substring "ally rig", but this string will generally not always produce the same gap pattern for a perfectly word/phrase isomorphic cipher, whereas for a true perfectly isomorphic cipher, it will always produce the same gap pattern, and so will any repeated text at any scale.
We hope the eyes are perfectly isomorphic. One of the recent goals of the theoretical cipher research related to the eyes was to figure out which types of ciphers are perfectly isomorphic, something we have mostly figured out as the isomorphic cipher hierarchy.
We do not know the exact requirements for a cipher to be perfectly isomorphic, but it is conjectured that it happens when:
- The internal states of the cipher form a group which acts by permuting the ciphertext alphabet.
- The state update happens in the same way for sequences of plaintext in different contexts.
- The index of the ciphertext alphabet letter to output is also chosen in the same way for sequences of plaintext in different contexts.
This is known and proven to happen for CTAK, GCTAK, GAK, and XGAK ciphers. However, it's not yet known if the most general form, XGAK, covers all possible perfectly isomorphic ciphers.