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) was the word that was actually used in this period. (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.
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 but 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.
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.