Information Security Stack Exchange is a question and answer site for information security professionals. 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

The main difference being TrueCrypt creates containers and 7-Zip encrypts the file itself, so file sizes can be guessed. Now let's just talk about the strength and breakability of the encryption.

Update: http://forums.truecrypt.org/viewtopic.php?p=107396

share|improve this question
2  
"The main difference being TrueCrypt creates containers and 7-Zip encrypts the file itself, so file sizes can be guessed." How do you figure this? Sure, a ZIP file's size will be more closely related to the total size of all the files it contains. But ZIP files are still just another sort of container - given the possibility that they contain any number of files, reliably guessing at the size of any individual file within the container is effectively impossible. – Iszi Jun 2 '14 at 19:46
up vote 46 down vote accepted

If implemented correctly, AES is AES; the output between two different implementations is identical, and therefore no distinction is possible in after-the-fact comparison -- if done correctly, the one is exactly the same as the other.

But there are a few points where differences can crop in:

Operation Mode
Truecrypt implements a modified counter mode called XTS. It's pretty well vetted and has withstood some serious abuse from some powerful attackers (such as the US Government).

From examining the p7zip source code, it appears that AES encoding for the 7-zip format operates in CBC mode. This is certainly not necessarily insecure; it's the mode most popularly used in protocols such as TLS, but it is potentially vulnerable to padding oracle attacks. See this discussion on operation modes for more information.

Key Derivation
Truecrypt uses PBKDF2 to turn your password into an encryption key. It's difficult to come up with a better alternative than that. p7zip uses a salted SHA256 hash repeated over a configurable number of iterations. PBKDF2 is a bit more configurable, but 7-zip's alternative is functionally similar and arguably reaches the same goals.

Vetted Implementation
Here's probably the biggest difference: TrueCrypt's code has been poured over by cryptographers and carefully examined for implementation mistakes. 7-zip's has not (at least not to the same degree). This means that there is a higher probability that 7-zip's code contains some sort of mistake that could allow for some sort of as-yet-unknown attack. That's not to say that such a mistake exists, and that's not to say that such a mistake couldn't be found in TrueCrypt instead. But the this is a matter of probability, not certainty.

All in all, the differences are minor, and for most use cases you shouldn't expect any difference at all from a security perspective. If it's a matter of life-and-death, I'd probably pick TrueCrypt. But for matters of mere secrecy, I'd recommend going with whichever solution fits your problem the best.

share|improve this answer
6  
The difference in work factor is a significant point in favour of 7z. – CodesInChaos Jan 20 '13 at 22:11
1  
@CodesInChaos, would you please elaborate on that? – Adi Jan 22 '13 at 14:13
2  
@Adnan 7z uses more hash rounds than truecrypt. Truecrypt uses PBKDF2 while 7zip does it manually; but 7zip's standard is to do more of it. – tylerl Jan 22 '13 at 20:25
    
@tylerl, thanks for explaining. – Adi Jan 23 '13 at 10:43
    
Do you have something to support the statements that TrueCrypt has been more thoroughly reviewed than 7-Zip? Both solutions are open source. While that does mean anyone can review them, it doesn't necessarily mean anyone has. (Poster child for this these days being OpenSSL and Heartbleed.) There is a crowdfunded project currently underway at istruecryptauditedyet.com but they haven't gotten through the crypto implementation audit yet. – Iszi Jun 2 '14 at 19:30

The security of a cipher depends on its specific implementation in a software utility. As far as I know, there are no known AES implementation issues in 7-Zip or TrueCrypt.

AES is a fast cipher, and hardware acceleration features such as AES-NI make it much faster. So protecting against brute-force requires strengthening the key through key extension mechanisms.

Brute-forcing tools exist for both 7-Zip and TrueCrypt and they support hardware acceleration.

7-Zip uses key extension to increase the time to brute-force. The user password is hashed 130,000 to 524,288 times (depending on the version) using SHA256.

TrueCrypt also uses PBKDF2 for key extension with 1000 iterations which is 2 orders of magnitude lower than 7-Zip. An issue is that TrueCrypt uses the minimum number of iterations recommended 10 years ago.

When the PBKDF2 standard was written in 2000, the recommended minimum number of iterations was 1000, but the parameter is intended to be increased over time as CPU speeds increase.

It also uses 512 bit salting that decreases vulnerabilities to dictionary and rainbow tables attacks.

So from a brute-force perspective, 7-Zip is a bit better than TrueCrypt, but both are considered fairly resilient to brute-force attacks.

There is a story where the FBI tried to crack a TrueCrypt volume for 12 months and failed.

share|improve this answer
1  
Forgot if it was 7z or rar, but one of them used ECB mode. This isn't a big problem for compressed files, but for uncompressed files the weakness of ECB can leak something. – CodesInChaos Jan 20 '13 at 10:54
    
@CodesInChaos The original 7-zip isn't open source, but p7zip (compatible, and by the same author) is. Digging through the source for p7zip shows that it uses CBC for 7z files. Since they're compatible with the original 7-zip, that would suggest that the original 7-zip also uses CBC. – tylerl Jan 20 '13 at 22:01
1  
@tylerl Seems to have been .rar with AES-ECB blog.zorinaq.com/?e=15 – CodesInChaos Jan 20 '13 at 22:07
1  
@tylerl: The only part that isn't open-source is the RAR extraction support, which isn't relevant for this. The rest is LGPL. – Mechanical snail Jan 22 '13 at 4:50
    
To the guy here who mentioned " FBI tried to crack a this kind of software with this level of implementation and PR(it was available for Windows, linux and mac from a long time, if anyone knows software programing h/she knows how hard it is to maintain several packages with this efficiency at this level), can't be without funding. If some shadow organisation has implemented it, then why they would want to share the backdoor with po-leece!!! It would ruin their project. Its for them and them only. FBI's power to do overseas ops doesn't make them a top/secret arm. – user45955 May 4 '14 at 4:26

I would differ with to tylerl's answer in that, at the time of the writing of the question and the answer, TrueCrypt's source code had NOT been audited by cryptographers. In fact, as of now, only a partial audit by respected cryptographers has been completed.

So, currently the the core cryptographic routines of both projects have the same level of review by expert cryptographers: none. Hopefully that will change soon for both codebases, but there's no effort underway to audit 7zip's code, AFAICT.

share|improve this answer

Barring implementation bugs, 7-Zip's encryption is more robust than TrueCrypt's, because TrueCrypt has a much harder job.

Sector-level full-disk encryption is hard:

  • You have a fixed amount of space, any part of which may be changed at any time.
  • You have only a relatively small amount of space to save for metadata. If you keep more than a few bits of tracking data per sector, you're probably eating too much space, and the user will object.
  • You can't afford to change key material: there's too much to re-encrypt.
  • You have to ensure an attacker can't copy one sector over another.
  • You have to ensure that a snooper can't read the disk multiple times on different days and gain information from the changes.

In comparison, 7-Zip's job is easy. It writes the file once and is done. If it needs to change something, it can re-encrypt the entire file using a different IV (even if the key is the same), and the new encrypted file looks completely different from the old one.

What this means is that 7-Zip can afford to use the well-understood CTR or CBC block cipher modes. Meanwhile, TrueCrypt has to use XTS, which makes a number of compromises in order to satisfy the additional constraints of full-disk encryption.

For more detail, see this article on the limitations of full-disk encryption.

share|improve this answer

Update March 2016:

It seems that TrueCrypt is no longer developed, which will lead to future security bugs not been fixed.

This appears when opening the TrueCrypt's website: "WARNING: Using TrueCrypt is not secure as it may contain unfixed security issues. This page exists only to help migrate existing data encrypted by TrueCrypt. The development of TrueCrypt was ended in 5/2014 after Microsoft terminated support of Windows XP."

share|improve this answer
    
This doesn't seem to answer OP's question in any way. – d1str0 Mar 10 at 21:06
    
Why not? I think the fact that TrueCrypt is no longer developed and security issues found in the future won't be fixed is a relevant fact, and it should be taken into account when choosing an implementation. Usually, the software is not "immutable" and the support is an important matter. – Luisg123v Mar 12 at 1:06

Your Answer

 
discard

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.