A workshop at HistoCrypt was dedicated to codes and nomenclators – for centuries the most popular kind of encryption. One of the topics discussed was a consistent terminology. Here is my suggestion. Perhaps, my readers can help to improve it.

Can you decipher the following encrypted message?



You probably can’t. I have introduced this message (the Manchester cryptogram from 1783, check here for a transcription) several times on this blog. Many people have tried to solve it, but to no avail.

The Manchester cryptogram was probably created with a nomenclator. A nomenclator is an encryption method based on a substitution table that replaces each letter of the alphabet and some frequent words with a number (or another character sequence). The following is a very simple example:



Using this nomenclator the cleartext WILL TRAVEL FROM LONDON TO PARIS TOMORROW encrypts to:

23 9 12 12 / 20 18 1 21 5 12 / 6 18 15 13 / 27 / 20 15 / 28 / 31

For centuries, nomenclators were by far the most popular encryption method. The following French nomenclator is from the 17th century (it is contained in the paper Briefe durch Feindesland published by Gerhard Kay Birkner in the proceedings of the conference Geheime Post).


In the 18th century nomenclators developped more and more to books (referred to as “codes”) with 50,000 and more entries. When a code is used, replacing single letters doesn’t play much of a role any more, as for every common word of a language an entry can be found. Codes played a major role in cryptology until the 1930’s, when they were more and  more replaced by cipher machines.

Messages encrypted with a nomenclator or code can be found in large number in archives throughout Europe and North America. There must be tens of thousands of them. Only a small fraction has been analyzed.


A workshop at HistoCrypt

Breaking a nomenclator or code message can be quite difficult. Although cryptograms of this kind are encountered very often, there are only few publications about the systematic breaking of nomenclators and codes. For this reason, Karl de Leeuw …


… invited experts to a workshop about breaking codes and nomenclators at the HistoCrypt in Uppsala. I was one of the speakers.

In my talk I lamented the lack of consistency in the use of terminlogy. There are different, sometimes contradicting definitions of expressions like “code” and “nomenclator”, while other concepts have several names or none at all.

As a result of the discussion, I created the terminilogy introduced in the following subchapter (I plan to update it, based on comments and suggestions).


Code and nomenclator terminology

Last change: 2018-07-09

Here is a definition of terms related to codes and nomenclators:

  • Cipher: encryption method that operates at the level of individual letters (or letter combinations or syllables)
  • Code: encryption method that operates at the level of meaning (words and phrases)
  • Codebook code: other word for “code” (this term is necessary, as the word “code” has many different meanings, like ASCII code or postcode; even in cryptography “code” can mean different things, as the title of David Kahn’s book “The Codebreakers” shows; it therefore makes sense to have an additional word for “code” that can be used for clarification)
  • Nomenclator: encryption method that contains elements of both a code and of a cipher; this usually means that frequent words have their own codegroups, while less frequent words are encoded letter-wise
  • Encryption method: includes both ciphers and codes (and nomenclators)
  • Ciphertext: result of an encryption (cipher or code or nomenclator); (this expression is not consistent, but there is no better word)
  • Codebook: book in which a code is noted
  • Codegroup: letter/symbol/number or group of letters/symbols/numbers that stands for a word/syllable/expression; the first codegroup appearing in the Manchester cryptogram is 3693
  • Wordgroup: codegroup that refers to a word
  • Lettergroup: codegroup that refers to a letter
  • Syllablegroup: codegroup that refers to a syllable
  • Phrasegroup: codegroup that refers to a phrase
  • Null: codegroup that has no meaning
  • Homophones: different codegroups that have the same meaning (by definition there are always at least two homophones)
  • Polyphone: a codegroup that has several meanings (e.g. the singular and the plural of a word)
  • Nullifier: codegroup that makes another codegroup meaningless
  • Prefix nullifier / postfix nullifier / embraced nullifier: nullifier that makes the following / the previous / both code group(s) meaningless; expressions like “3-prefix nullifier”, “2-postfix nullifier”, or “2-3-embraced nullifier” may be used if several code groups are made meaningless

The terminology discussion needs to go on

I hope that this article will help to create a consistent terminology for codes and nomenclators. If you have ideas on how to improve this first version, please let me know.

Further reading: Who can break this enciphered letter written by Albrecht von Wallenstein?


Subscribe to Blog via Email

Gib Deine E-Mail-Adresse an, um diesen Blog zu abonnieren und Benachrichtigungen über neue Beiträge via E-Mail zu erhalten.

1 / 2 / Auf einer Seite lesen

Kommentare (7)

  1. #1 TWO
    9. Juli 2018

    bigrams, trigrams?

  2. #2 Thomas
    9. Juli 2018

    Most of the nomenclators I have seen contain special code groups not only for frequent words but also for proper names of important persons and countries.

  3. #3 Jerry McCarthy
    England, Europa
    10. Juli 2018

    I did mention it during the workshop (but I realise that my case is hopeless) but: I have a pedant’s objection to the words “homophone” and “polyphone” as they mean “same sound” or “many sound(s)”

  4. #4 Norbert
    10. Juli 2018

    “embraced nullifiers”: As far as I remember, we were talking at HistoCrypt about embracing nullifiers, not embraced ones.

    A French cipher from 1689 containing embracing nullifiers was cracked by John Wallis and appears in his Opera Mathematica:

    “ɥ ɥ delent omnia interjecta.” – ɥ ɥ delete everything in between.

  5. #5 Davidsch
    10. Juli 2018

    I applaud this initiative, the term codegroup and sorts is very good.
    Do you have a suggestion for a name for nomenclators that represent 2, 3 or 4 lettered parts. Now I use “codegroup” but it is not specific enough. Would “2-3-4 Lettergroup” be the best solution?

    (something else, why does the address bar not say: HTTPS…)

  6. #6 Knox
    10. Juli 2018

    ~What would you call the 4-, 5-, or 6-character blocks that often divide ciphers?
    ~For transmission, ciphers might have added headers or footers in another cipher or code or plaintext. I think of the composite as a “transmission” when it is sent. The word could apply to a bare cipher, as well.

  7. #7 Thomas
    10. Juli 2018

    The letter above stems from George Montagu, 4th Duke of Manchester, who in Sept. 1783 not only wrote this letter (to King George III ?), but also signed the Treaty of Paris for Great Britain. There is a one-part nomenclator used by his great-grandfather Charles in 1701: Presumably it was a similar system, but with less code groups. As to the terminology list: What do you think of an entry “one-part” and “two-part”-nomenclator?