Working on a cipher (which I assume to be a mono-alphabetic substitution cipher due to the letter frequency) I struggle with the fact that I don't know which language the plain text is written in. Looking at the letter frequency only, gives some hints, at least to exclude some languages, but far from pointing out one. I have also studied the index of coincidence, but several languages are quite close to each other and I am uncertain how much I can trust this.

Both these ways indicates that my particular cipher isn't written in English. It's also a patristocrat (no separations between words), which makes word-matching harder.

My question is: what methods are there, and which one tends to produce optimal results?

  • $\begingroup$ Out of curiosity, can you tell us more about the context? $\endgroup$
    – starblue
    Sep 21, 2011 at 5:48

1 Answer 1


I can't tell you which method is the best, but I can point out some places to look. The longer the message the easier it is easier to identify. How long is the message?

n-gram frequency: Look at the likelihood that groups of n-letters appear next to each other (often called n-grams). For example is does the n-gram AAA appear frequently (not many languages have words that contain the same letter repeated three times). N-grams are often used for language recognition. Bi-gram and Tri-gram (2-gram and 3-gram) frequency tables can be found here. Any long subsections of the ciphertext repeat?

Writing analysis Is this a hand written note? Often different languages that share the same character sets have different ways of writing characters (Germans/Mathematicians tend to put a line in the middle of their Z's, members of the US military tend to cross-slash their zero's).

Size of Alphabet: Are there 26 different letters in the ciphertext? Are the characters the standard latin alphabet. Any whitespace? Any punctuation? Numbers (many WW1 ciphers were broken by attacking ciphered numbers)? Capitals/Lowercase?

Plaintext: Do you have any clues about what the plaintext might be? Even if you don't know the language if you know that the ciphertext might be about battleships you can try translating water/gas/ships/boats/knots/depth into the candidate languages and see if you find any matches. You can try a similar approach with common words (equivalents of 'to be', 'to', 'it', 'hello' etc).

  • $\begingroup$ Thank you for your tips! My cipher is not handwritten, have no whitespaces and I have no clue what it's about (it consist of some 400 letters, the most common occurs 18.4%, IC= 0.077, no triplets). So it may be an example of a cipher with unknown language. I guess what you are saying is that one have to assume one language and then try solving it, if that fails try another. Is there a smart way to identify a language through pattern-matching, without actually solving it? (Remember i do not know the word boundaries) May the formation of the monogram frequency-chart somehow be used? $\endgroup$
    – 128bits
    Sep 26, 2011 at 8:16
  • $\begingroup$ Certainly you can use a monogram frequency chart to guess the language. Another idea would be to use a common word such as in german 'ein' and look for three letters that have the same distance from each other (assuming it is a shift cipher). Where did you get a ciphertext in which you know so little about it, yet you know that it is monoalphabetic? $\endgroup$ Sep 26, 2011 at 12:44
  • $\begingroup$ I got it from a friend as a challenge, as he couldn't break it. Monoalphabetic is a guess, I'm quite new to ciphers but made this assumption due to the high IC and that the letter frequency table is unbalanced (otherwise it's a poor multialphabetic cipher!?) However, I'm not certain if it's a pure substitution cipher or a combination of that and transposition (could be as simple as it's reversed and pattern-matching becomes harder). Maybe the absence of whitespaces indicates something? Since I have such little to go on, identifying the language would be a nice first step. $\endgroup$
    – 128bits
    Sep 26, 2011 at 14:24
  • $\begingroup$ @128 - absence of whitespace is typical, most classical ciphers assume you remove whitespace. Solving classical ciphers can get a bit tricky, if you are really interested I'd recommend: 'Cryptanalysis: a study of ciphers and their solution' ( books.google.com/books/about/Cryptanalysis.html?id=fKNB-7y_Hs4C ). Also 'The American Black Chamber' (amazon.com/American-Black-Chamber-Cryptographic/dp/0894121545) has a bit of advice, examples on solving classical ciphers. $\endgroup$ Sep 26, 2011 at 14:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.