Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

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

This question already has an answer here:

Suppose I create two TrueCrypt volumes using keyfiles. The first volume uses a keyfile generated by TrueCrypt, whereas the second one uses the same keyfile in addition to a second, non-entropic keyfile (picture a file in which most of its bytes are 0s, but has a few ones with different values). Which of the two volumes would be more secure and harder to decrypt?

share|improve this question

marked as duplicate by Adi, AJ Henderson, Xander, TildalWave, NULLZ Aug 6 '13 at 23:11

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 2 down vote accepted

You seem to be a bit confused about what "entropic" means. In the context of information security, "entropy" is a measure of the unknown. It is often expressed in bits, which is a logarithmic scale: "10 bits of entropy" means "could assume 210 possible values with uniform probability". Entropy translates to security in that an attacker, trying to guess a value with n bits of entropy through brute force will need, on average, 2n-1 tries. Beyond about 100 bits of entropy, brute force is infeasible because of the sheer cost (not enough energy is produced on Earth to complete that computation).

Being logarithmic, entropy adds up: if you concatenate a piece of data with 20 bits of entropy, next to a piece of data with 13 bits of entropy (and independent of the first piece), then the total entropy is 33 bits.

By definition, a "non-entropic file" is a file with 0 entropy, meaning that the attacker already knows it. Appending a non-entropic file will add exactly 0 to the entropy, so it won't make anything stronger.

When using "key files", TrueCrypt uses a cryptographic hash function which has a nice property of "keeping entropy around" in a much more compact form. A hash function with a 160-bit output will necessarily reduce entropy to at most 160 bits, but the bright side is that it won't reduce it any further. And 160 bits is far more than enough to defeat brute force attacks. Therefore, adding a "non-entropic" key file will not reduce your effective security (but that's because TrueCrypt does things properly).

share|improve this answer

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