19

What is the semantic difference between encipher and encrypt?

8
  • I have never read any piece where the difference between the two made a difference. encipher |enˈsīfər| verb [ trans. ] convert (a message or piece of text) into a coded form; encrypt.
    – Pascal Cuoq
    Jan 27, 2010 at 11:32
  • 2
    Well, the semantic difference is that they are different words. One has the ending of ... I'm going to assume you didn't mean "semantic" but "technical" difference. So the technical difference is, there isn't one. They are the same thing. Only, almost no-one uses the word "encipher". So stick to "encrypt".
    – Noon Silk
    Jan 27, 2010 at 11:32
  • 1
    Different word = syntactic difference. Different meaning = semantic difference. Semantic is the right word in the question.
    – ewernli
    Jan 27, 2010 at 11:38
  • @ewernli: Well sure, if you want to get all semantic about it :P
    – Noon Silk
    Jan 27, 2010 at 11:39
  • 1
    Actually, encipher was the original correct term; "encrypt" has only more recently become popular in the lexicon. Jan 27, 2010 at 15:13

6 Answers 6

12

In French, there are two words, "chiffrer" and "crypter"; theoretically, the latter would mean "to encrypt but without knowledge of the key, i.e. as part of an attack" (it is more often encountered as "décrypter" which means "to decrypt without prior knowledge of the key"). Relatively few French-speaking programmers are even aware of that distinction, and the French translations of many applications (including Outlook Express) use "crypter" in places where they should use "chiffrer".

In English, I do not think that this distinction actually exists. "Encipher" and "chiffrer" both come from the Arabic "sifr" which means "zero", while "encrypt" and "crypter" come from the Greek "kryptos" (hidden, secret). The use of "sifr" can apparently be traced back to Giovan Battista Bellaso, who published in 1553 cryptographic methods in Latin (as was normal at the time) but with Italian titles such as "La Cifra" and "Novi et singolari modi di cifrare". His point was that his cryptographic techniques involved some computations with numbers, and in 16th century Italy, mathematics was still an import from old Greek by way of Arab writers, brought to Christian Europe during the Crusades. Hence the use of the Arabic root.

In that sense, one could say that "to encipher" means "to encrypt, with some mathematics involved in the process". By definition, this covers any encryption in which a computer was used, so the terms "encipher" and "encrypt" are practically synonymous.

3
  • Wonderfully researched answer. These older language definitions mesh with the current English lexicon for the root word definition for "cipher" (noun): "a secret or disguised way of writing; a code." and (verb) form: "put (a message) into secret writing; encode." Apr 21, 2016 at 14:11
  • In English, the distinction did originally exist, but was lost thanks to us programmers, who are very sloppy with language (and do silly things like spell "kludge" with a "d", despite it rhyming with "huge" and "centrifuge", and not "judge", "fudge", "drudge", "sludge", "budge", or "nudge".) Mar 27 at 19:25
  • The Redhead [joke] says that déchiffrer can be a synonym of décrypter. déchiffrer goes beyond all the uses discussed here to mean read or make out or decode something. encipher is not much used in English.
    – Lambie
    Mar 27 at 20:05
10

There are a number of differences depending on context:

  1. In cryptology encipher and encrypt are synonymous. There was an effort a few years ago to stop using the root word crypt and use the root cipher instead because some cultures associate the root crypt with death (tales from the crypt). Hence encrypt = to kill. This change never really caught on. In terms of use certain uses of the words are preferred to others. For example: "one 'encrypts' plaintext with a cipher", rather than "one 'enciphers' plaintext with an 'encryption'".

  2. Outside of cryptology decipherment refers to decoding or understanding codes and languages that are not designed to keep secrets but are unknown. For example determining the genetic code or figuring out how to translate mayan.

The answer that Justice gave is incorrect:

"If one 'enciphers,' then one is using reversible cryptography. If one 'encrypts,' then one might be using either reversible cryptography or irreversible cryptography".

While cryptology contains reversible function and non-reversible 'one-way' functions, the term encryption/decryption explicitly refers only to reversible functions.

"In cryptography, encryption is the process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key." - http://en.wikipedia.org/wiki/Encryption

5
  • 1
    Justice wasn't incorrect, he was making an etymological point. The original meaning of decryption was to figure out what an encoded message meant, without the key. Until the popularization of crypto in the 80's and 90's, the words were used more carefully, but they've lost their original meanings. Mar 27 at 18:58
  • Re your 1), very interesting. When what is killing us is being PC. It's hard to fathom the PC incursion into computing.
    – Lambie
    Mar 27 at 20:08
  • I think it was less PC and more just branding and avoiding confusion. Imagine explaining to a customs official that you study necro. Mar 28 at 20:27
  • 1
    @JeffLearman I believe what you said is correct. A decrypt is an enciphered message which had its plaintext revealed often through cryptanalysis. Justice was arguing that it was about the reversibility of the function. Mar 28 at 20:31
  • @EthanHeilman - You're right. I mischaracterized Justice's point. Mar 31 at 15:13
3

There is not any difference as such, in non-technical usage, a 'cipher' is the same thing as a 'code'; however, the concepts are distinct in cryptography. In classical cryptography, ciphers are distinguished from codes.

Codes generally substitute different length strings of characters in the output, while the ciphers generally substitute the same number of characters as are in the input.

Source: Wikipedia.

1

In modern usage, the two are synonymous. Historically, though, "decrypt" and "decipher" had different meanings, and "encrypt" was nonsense.

Originally, "decrypt" was decoding a message without the key. (Because crypts had mysterious messages that we wanted to understand? Probably not: the Greek root for both is kryptos, meaning hidden.)

A "cipher" is a means of translating an alphabet into a different representation (versus a "code" which translates based on the meaning of the message rather than the way it is written in some alphabet.) I'm using the term "alphabet" loosely here.

So, what we now call "encrypting" was originally called "enciphering", meaning, to encode the message using some algorithm and key. "Deciphering" was the opposite process, knowing the algorithm and key.

"Decrypting" was figuring out the message without knowing the algorithm or key.

"Encypher" made no sense: it meant, if anything, encoding a message without knowing the algorithm or key.

Thanks to sloppy use of terminology by us programmers, these words have lost their distinctions, so now, "xxcipher" and "xxcrypt" are synonymous.

Note that this is "English.stackexchange.com" and not "stackoverflow.com" or "security.stackexchange.com".

0

Semantically speaking, the following may be inaccurate. However, I'll leave it here for future reference.

I've worked in a project where to encipher a piece of data, you would actually use the decryption function of the cipher. (The reason was to save on hardware implementation costs.) In order to be clear on the operation you wanted to perform on the data, encipher would mean to transform plaintext into ciphertext and decipher would mean to transform ciphertext into plaintext.

For example, I would encipher a piece of data by decrypting that data with cipher X. I would also decipher a piece of data by decrypting that data with cipher X. (This is possible because the data is exchanged with another device that can only use the encryption function of cipher X.)

-2

Cryptography includes two basic kinds of operations: reversible cryptographic operations and irreversible cryptographic operations. The reversible cryptographic operations are also known as ciphers, while the irreversible cryptographic operations are also known as hash algorithms or digests.

From my own observations on common usage and abusage: If one "enciphers," then one is using reversible cryptography. If one "encrypts," then one might be using either reversible cryptography or irreversible cryptography.

Whether this distinction has any technical merit, and whether this distinction is in fact how the terms are commonly used, are questions that I am unable to answer.

2
  • In actual cryptographic work, the terms are synonymous, and we use them interchangeably. Apr 30, 2012 at 11:31
  • Inaccurate conjecture. Mar 27 at 19:10

Your Answer

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

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