4

In cryptography, a nonce is a random sequence of bytes added to data to ensure the same message won't be encrypted the same way twice.

This seems to fall under the definition of "a word made up for the occasion", but Wiktionary's etymology is:

Contraction of number used once.

This seems like a (poor) backronym to me and unlikely to be the true etymology. I haven't been able to find a definition specifically for the cryptographic sense in any other online dictionary so far, or on etymology online. Is there any further information available?

EDIT

Based on the responses here and discovering the original text from whence the claim came, I outlined my reasons for changing the Wiktionary entry, which were agreed with and applied by another editor. So the link will not show the etymology as I saw it when I posted my question.

8

The detective work on this one was quite involved. I searched Wiktionary's edit history for the nonce page until I found the first place that

contraction from "number used once"

was added to the etymology for the cryptographical meaning. It was from 4 June 2008, and referenced Security Engineering by Ross Anderson. The author has made the full text of his book freely available online, and a copy can be found here.

The cited text is in chapter 2, page 15 of the 1st edition [2001] (chapter 3, pages 66-67 in the 2nd edition [2008]):

The in-car token sends its name, T, followed by the encrypted value of T concatenated with N, where N stands for “number used once,” or nonce. The purpose of [the] nonce is to assure the recipient that the message is fresh, that is, it is not a replay of an old message that an attacker observed. Verification is simple: the parking garage server reads T, gets the corresponding key, KT, deciphers the rest of the message, checks that the plaintext contains T, and, finally, that the nonce N has not been seen before.

[...]

The term nonce can mean anything that guarantees the freshness of a message. A nonce may, according to the context, be a random number, a serial number, or a random challenge received from a third party[, or even a timestamp].

Bold emphasis mine, revelant 2nd edition additions in [brackets].

It's clear that the author is defining the meaning of the term N, not the etymology of nonce. He also never states that nonce is a contraction.

The Wiktionary page does cite a few authors stating that nonce means number used once, but I haven't seen anyone claim that the cryptographical meaning of nonce is a new word coined without knowledge of the preexisting word. The level of coincidence for that to be true is just too high:

  • A new word was coined with the same spelling, unusual pronunciation, and almost the same meaning as a word which has been in continuous use in English for around 800 years
  • It was decided to contract number used once to nonce, completely ignoring the word used, instead of nuo or other more likely contractions, assuming no prior knowledge of the the preexisting word
  • The pronunciation would more likely be nunce, to match the vowels of number and once, and the spelling would reflect that
  • While a nonce can be a number, it can also be any sequence of random bytes, which when appended to text, are considered characters, not numbers

In conclusion, there is no evidence to support the claim that the etymology of the cryptographical meaning of nonce is "a contraction of number used once". We can safely say that the word is a repurposing of the existing word, the etymology is the same as the 800 year old word, and that number used once is a folk etymology.

| improve this answer | |
  • The technical term was used well before 2008, ngrams has it in is in a 1970 crypto textbook and it isn't explained as a new term there. If it was first used by a Cambridge computer mathematician in the 1950s they could well have been aware of it's original meaning. – mgb Jul 7 '18 at 4:06
  • @mgb While all this is true, the claim about the etymology was made in 2008, and that is what I was addressing. – CJ Dennis Jul 7 '18 at 7:25
4

(Since for some reason the answer seems to have gone down the rabbit hole of comments)

Nonce in the cryptography sense is plausibly from an old (middle English) word meaning used once. Although whether the first person to use it in the crypto sense was a well-rounded student of English literature or just abbreviated N-once is probably known only to them

The criminal slang sense is (like most criminal slang) uncertain

| improve this answer | |
  • 1
    As I remember, "nonce" came from the expression "for then once", i.e, for one time only, which became "for the nonce". – tautophile Jul 4 '18 at 3:31
  • 1
    @tautophile "then" is actually a variant of "the" in Middle English. It is not the same meaning as modern English "then", although the "-n" is important to explain how "once" became "nonce". – CJ Dennis Jul 4 '18 at 4:17
  • @tautophile Actually, that isn’t quite right. The OED says that: “The word is thus not a form (with metanalysis) of the genitive of one adj., n., and pron., nor of once adv.: its spelling in the Ormulum, for example, corresponds to the form in that text of the genitive of one (which is aness) but not to that of the adverb once (which is æness).” – tchrist Jul 5 '18 at 3:35
  • @CJDennis It comes from metanalysis of þan anes, meaning a certain thing, in the genitive aness not the adverbial æness which would eventually give us once. – tchrist Jul 5 '18 at 3:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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