Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have two questions here.

  1. What does the cipher-text overhead means?
  2. Why we were suggested not to encrypts the plain-text itself instead just encrypts only the key (i.e random number)
share|improve this question
up vote 3 down vote accepted
  1. Cipher Text overhead is the positive difference in length between the encrypted text and the plain text.

    • In stream ciphers, the encrypted length is typically equal to the clear text so there is no overhead. However, when Initialization Vectors are used - this will add to the size.

    • In block ciphers, there is usually padding involved such that the size of the plain text increases to being a multiple of the blocksize. So the encrypted size is the size of the plain text + padding. Chaining mode and Initialization Vector also adds extra length.

  2. I think your questions refers to stream ciphers where the key is used to generate the stream and then stream is XOR'ed with the plain text to get the encrypted text. i.e. the key itself is not used directly to encrypt the plain text. The key + some state is used to generate the stream. And then stream & plain text are combined (typically by XOR) to create the encrypted text.

OTOH, if you are referring to Hybrid Encryption as suggested in the comments, then this is the explanation - The advantage of PKI is that it does not require the 2 parties to share a common secretHowever, PKI is much more inefficient and slower than symmetric cryptosystems. A hybrid cryptosystem combines the convenience of a PKI with the efficiency of a symmetric encryption.

In hybrid encryption, the symmetric key to be used for the encryption is agreed upon using PKI, but the rest of the communication is encrypted by the symmetric key.

For very long messages, the bulk of the work in encryption/decryption is done by the more efficient symmetric-key scheme, while the inefficient public-key scheme is used only to encrypt/decrypt a short key value.

share|improve this answer
i learn from dan boneh coursera class, he mentioned that it is wrong to encrypts the message itself, but instead use random key for private key encryption... or am i just so wrong? – habillqabill Jul 16 '13 at 10:22
opsss, i am sorry not to mentioned that my question is in publickey settings. – habillqabill Jul 16 '13 at 10:25
@habillqabill I have updated my answer - see if that answers your question or am I misunderstanding it. – user93353 Jul 16 '13 at 10:30
@habillqabill Boneh refers to "hybrid encryption," in which KEM produces $c$ and a key $k$ by using a public key and DEM encrypts a message $m$ into $C$ with the key $k$. Here, the overhead is $|c|+|C| - |m|$. – xagawa Jul 16 '13 at 16:41
@user93353 your answer is helpful, tqvm. – habillqabill Jul 19 '13 at 4:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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