I have invented a technique for breaking monoalphabetic substitution ciphers. However, I believe that such simple thing must have been already invented. I wonder how is this called. I call it “word fingerprints”.
I assume that ciphertext is a natural language, you can identify words (e.g., you have guessed what character is space by its frequention, or spaces aren't encrypted at all), but you have limited or no knowledge of other symbols. I also assume you have an idea about the language dictionary.
Then, you can just pick a word and learn something about it not only by its length, but also by information what characters are the same and what characters differ.
In order to perform it more systematically, I suggest a canonical form of an unknown word, called word fingerprint: All occurrences of the first unique character is replaced by the first letter of alphabet (say “a”), all occurrences of the second unique character is replaced by second character of a alphabet (say “b”) and so on. In other words, going letter-by-letter, you substitute the letter by the same letter you have already substituted it, or (if you see the letter the first time), you substitute it by first unused letter of the alphabet. (If the description is unclear, I can provide pseudocode.) For example:
- “hello“ –> “abccd”
- “hell” –> “abcc”
- “help” –> “abcd”
- “alphabet” –> “abcdaefg”
- “unique” –> “abcdae”
Due to nature of monoalphabetic substitutional ciphers, word fingerprint is the same for plaintext word and ciphertext word (regardless of the key). While fingerprints are generally ambiguous, a single long word is likely to have an unambiguous fingerprint. Once you know some mappings of the key, you can disambiguate more fingerprints.
But back to the question: Is there an established name for word fingerprints or any similar concept? I prefer using established terms.