In cryptology today, code and cipher refer to two distinct systems of secret writing. A code replaces words or phrases with code groups (that is, either code words or code numbers), while a cipher works on letters or bigrams.
However, as David Kahn cautions (The Codebreakers p.xiv; see also p.975), there is "no sharp theoretical dividing line between codes and ciphers." A code often includes entries for letters and syllables to spell out words not provided for in its vocabulary. On the other hand, a cipher is often accompanied with a list of symbols (letters, figures, or other symbols) for representing frequently used words, names, or syllables. So, as ciphers grow larger, they "shade into" codes.
The term "nomenclator" is occasionally used for a system that combines the elements of codes and ciphers. However, since most codes have elements of cipher (i.e., entries for letters) and most ciphers have elements of code (i.e., list of names etc.), the term "nomenclator", if applied aggressively, might preclude use of the terms "code" and "cipher." Kahn uses "nomenclator" for a system from the period 1400 to 1850, regardless of size. I now use "cipher" for the systems of this period (see below).
I may use "nomenclator" to refer to a system having a substitution cipher alphabet (possibly with homophones) plus a code list small enough to allow the whole to be written on a sheet of paper. (Kahn also observes "an odd characteristic" that "nomenclators were always written on large folded sheets of paper, whereas modern codes are almost invariably in book or booklet form." See the image to the right, reproduced from another article.)
(After I first wrote this article, I came to understand the word differently. See the section "Meaning of 'Nomenclator'" below.)
I now use "cipher" for encryption systems of the period from 1400 to 1850 because I believe "cipher" (or its variants in spelling or "chiffre" in French, "cifra" in Spanish or Italian, "zifra" earlier in Italian) was the word that was actually used in this period. In one instance, a list of code words without any substitution alphabet (French, the 1590s) is called "chifre" (see another article). (I might use "code" for large ones, especially when referring to encoding tables rather than text in code. Hopefully, such loose usage causes no serious confusion in most contexts.)
When I started this website, I used "codes and ciphers" to cover both systems but the more I write articles about historical secret writing, the more the simple word "cipher" felt right to me in the historical context.
The raison d'être of the term "nomenclator" seems to be a desire to keep the distinction between "code" and "cipher" but, as noted above, there is no such clear distinction.
While I seldom use the term "nomenclator", I often speak of "nomenclature" to mean the code portion (i.e., the list for representing names etc.) of a "nomenclator." I believe this usage is consistent with the ordinary meaning of the word (i.e., "appellation, designation", "list of names").
Meister (1906), Die geheimschrift im dienste der Päpstlichen kurie uses the term Nomenklator in this meaning (p.223 "Schlüssel ohne Nomenklator"; see also p.11, p.57, p.73, etc.).
The Latin etymology of the word "nomenclator" means "a caller of names." In English, its basic meaning is a listing of words/names.
I have come to reconcile my understanding of the word "nomenclator" with this etymological meaning. I now think it is a cipher that has a list of names/words.
It is as if we came back to the starting point: a system that is "half a code and half a cipher" (Kahn p.xv). But the term nomenclator focuses on the code portion (as with "nomenclature"), while a cipher is just assumed as a matter of course.
I now see Kahn explains the name "nomenclator" came from the fact that it was originally just a list of names.
Sometimes, the word "nomenclator" is used to refer to the code portion accompanying a cipher alpahbet (e.g., "the nomenclator of this cipher"), while one might also speak of "the cipher of this nomenclator", if one uses "cipher" in the strict sense and uses "nomenclator" to mean a combined system.
Of course, the word "encryption" can be used whether the system is a cipher, a code, or a nomenclator. I occasionally use the term but it sounds too modern to me when we discuss materials before the twentieth century. (The first occurrence of the word is in the 1940s.)
The word "codebreaking" is common enough that Kahn admits it encompasses solving ciphers (p.xv).
On the other hand, Kahn makes a distinction between "ciphertext" and "codetext." But I think "ciphertext" may be used to cover both. It is convenient when referring to "ciphertext-only attack" and "known-plaintext attack." These two cannot be distinguished by "cryptanalysis", the term coined ca. 1920 to mean codebreaking as opposed to deciphering/decoding/decrypting by using the key.
For people outside the field of cryptology, the most accepted term seems to be "code." For them, "encryption", "nomenclator", or even "cipher" sounds too technical. So, in a TV series Reign (Wikipedia), Mary, Queen of Scots, is supposed to have used "code." But such non-technical use may be tolerated.
When I reviewed my past writing, I found quite a confusion in my own use of the terms. The problem, I believe, is not my use of the term "cipher" instead of "nomenclator" but is in my usage of the term "code." I have been influenced by a usage such as "the ASCII code for uppercase A is 65." I beg the reader's patience until I can address these some day.
One more point may be made clear. As Kahn says, a code may include not only words and phrases but also letters and "syllables." But a scheme may not qualify as a "code" simply by including "syllables". A "letter-pair (digraph or bigram)" is also a basic unit of ciphers. If there is an encryption table consisting of solely symbols for letters and syllables (or letter-pairs/digraphs/bigrams), it would be called a cipher rather than a code. This will be better understood from the viewpoint of cryptanalysis. In figuring out the values of symbols, syllables would be more like letters than words or names in that their particular characteristics in the language will be exploited, which is dissimilar to a process of guessing words or names.
Use of the word "cipher" for secret writing is seen throughout centuries and examples can be easily found, e.g., in Calendar of State Papers. The term was commonly used to refer to what is called a "nomenclator." An encryption table (1796) with some 400 entries is titled "CYPHER" (see another article) and there would be many other examples.
The original meaning of the word "cipher" was "empty" in Arabic. When borrowed in English through French, it came to mean "zero", "an insignificant person", or "Arabic figures" in general.
The usage of "cipher" in the context of cryptography is sometimes explained as coming from the fact that ciphers often employed Arabic figures (e.g., William Blair's article "CIPHER" (1807) in Rees Cyclopaedia, for which see the links in another article).
However, the term appears to have been in use before numerical ciphers became common. For example, although Nicholas Wotton used the word in 1554, his cipher (at least one cipher used by him) consisted of arbitrary symbols rather than figures (see another article). Usage of the word (in the context of secret writing) can be found as early as 1526 (see another article) (and probably earlier). (Another article shows an example of use of "cipher" in 1494 but it is a calendared version of Spanish correspondence and the original should be checked to see whether the word "cifra" was actually used.)
The modern usage of the term "code" as distinct from "cipher" was established only in the twentieth century. As noted in another article, the US State Department code issued in 1918 (known as Gray Code or Gray Cipher) was still titled The Cipher of the Department of State. The term "code" in the sense of a system for representing words and phrases appears to have begun in the context of military or maritime signal code around 1800. The word was adopted in telegraphic code around 1870 (see another article), which must have influenced usage in cryptography (see another article for the direct relationship between a US military code of 1885 and a telegraphic code).
To complicate matters, for some decades during the age of telegraphy, the distinction between "code" and "cipher" was different from the modern usage in cryptology. Briefly, messages in "code", which consisted of words, were cheaper to send than messages in "cipher", which was a meaningless sequence of figures/letters. It was only in 1932 that such a distinction was abolished (see another article).
I have not seen any actual use of the term "nomenclator" before the twentieth century to mean a system of secret writing combining elements of code and cipher.
Kahn says he generally followed the definitions of Webster's Third New International Dictionary of the English Language Unabridged (1961). The distinction between "code" and "cipher" is indeed found in this dictionary. But this meaning of "nomenclator" is not found. Kahn's other sources should be checked.
The Oxford English Dictionary does not give this meaning of "nomenclator", either. The closest is
"2. Used as a title of works containing collections or lists of words; hence, a book of this kind; a vocabulary. Obs."
Of the five examples, one might, at a first glance, seem to actually mean the "nomenclator" in the above sense in cryptology. But though Thomas Bodley is known to have used ciphers (see another article), they seem to merely refer to "a nomenclator of tracts and sermons etc." (cf. Google).
For another, it is clear from the context that this has nothing to do with cryptology.
When the word "cipher" came into English via French, it did not have the meaning in cryptography, which may have been introduced into English from usage in French or Spanish.
Dictionnaire historique de la Langue Française (1992) sous la direction de Alain Rey explains how the word chiffre acquired the meaning of secret writing. The word, which originally meant "zero", came to mean figures (numbers) around 1485. After the usage of figures in esoteric or cabalistic context (expecially zero, which was associated with magical power), the word chiffre came to mean secret writing around 1497-1498.
To modern readers, magical power of "zero" seems unbelievable. When I saw a kids' encyclopedia (『増補改訂版 算数おもしろ大事典』学研 1994, 2018) explains such an old belief by zero's nature such as "any number multiplied by zero is zero; no number can be divided by zero"; "appending a zero to a number increases the number ten times, two zeros increases a hundred times, and so on." and states that several countries banned use of Arabic figures, it seemed plausible to me, but I have not found concrete evidence on this.
Use of Arabic figures was indeed banned in Florence in 1299, but it was to prevent errors by adding zero(s) (International Handbook of Mathematics Education (Google)).
I found two quotations on the Web:
Seife, Zero: The Biography of a Dangerous Idea: "Zero conflicted with the fundamental philosophical beliefs of the west, for contained within zero are two ideas that were poisonous to western doctrine. Indeed, these concepts would eventually destroy Aristotelian philosophy after its long reign. These dangerous ideas were the void and the infinite."
Hitchens, God is not great: "It may be significant that the papacy of the Middle Ages always resisted the idea of "zero" as alien and heretical, perhaps because of its supposedly Arab (in fact Sanskrit) origin but perhaps also because it contained a frightening possibility."
I need to search more to find out the significance of zero in esoteric or cabalistic context.
J. Corominas, J. A. Pascual, Diccionario Crítico Etimológico Castellano e Hispánico (1980, 2010) appears to describe the meaning of "escritura en clave" etc. of the word cifra developed in the sixteenth century.
A code in which successive numbers are assigned to alphabetically arranged words/names is called a one-part code. On the other hand, a code with a random assignment is called a two-part code, because it requires two separate tables: one in alphabetical order for encoding and the other in numerical order for decoding. Two-part code is often described as an invention of the French codebreaker, Antoine Rossignol, but there is no concrete evidence. The origin of two-part code has been one of my pursuits.
Apart from the origin, it should be noted that the degree of irregularity in the arrangement varies. The following considers how far the appellation "two-part" is applicable.
(Note that two-part code, by definition, refers to code as opposed to cipher. A substitution alphabet with random arrangement, with separate tables for enciphering and deciphering, was quite common from an early period.)
Up to now, I found the following:
• There was a two-part code in Italian as early as 1588, consisting of separate tables "per scrivere" and "per cavare" (see another article).
• In France, the earliest two-part code with really random arrangement known to me is Louvois' code from 1676 (see another article), whereas a partial two-part code with a two-dimensional arrangement of entries was used as early as 1650 (see Le Tellier-Colbert Cipher 2 in another article).
• Obviously, the distinction between "one-part" and "two-part" is meaningful only in numerial codes. (I know one example in which a decoding table sorted by symbol similarity was made for a non-numerical cipher for Henry IV of France (see another article).)
Entries of the latter type of ciphers with two-dimensional arrangement are basically arranged in alphabetical order, but with some twists. For example, figures are arranged vertically, while words/names are arranged horizontally (e.g., Le Tellier-Colbert Cipher 2 above). Such a two-dimensional arrangement introduces some irregularlity in the correspondence between figures and words/names. Still, a table in such a two-dimensional arrangement serves for both encoding and decoding, because the alphabetical sequence is apparent to the human eye.
Although I often spoke of "two-part code" in referring to this type of code, it does not literally fit the definition of "two-part." Moreover, while the arrangement may look random when the entries are sparse, the alphabetical structure is apparent when the entries are "dense." It would not seem right to call the latter cipher "two-part." (I may still call it "partially two-part." Karl de Leeuw calls it "modified 'one-part' structure" (Cryptology and Statecraft in the Dutch Republic p.28).)
The two-dimensional arrangement is not limited to such a matrix format. A Spanish cipher Cg.56 (1698) achieves the same effect by dividing the page into sections, where words are in alphabetial order in each section (see another article).
Another type of a hybrid between one-part code and two-part code is what I call "blockwise" one-part or alphabetical structure. For example, the cipher used in the XYZ Affair (WE023) consisted of blocks containing words in alphabetical order, but such blocks are arranged randomly. A cipher for Dutch Stadholder William V (1782) has smaller blocks, and may deserve the name "two-part" (de Leeuw. p.37, p.138). (Of course, if the length of the blocks is fixed, it is equivalent to the two-dimensional arrangement discussed above.)