1

I understand that guesses per second depends on the hardware and the encryption algorithm, so I don't expect an absolute number as answer.

For example, with an average machine you can make a lot (thousands?) of guesses per second for a hash created with a single md5 round, because md5 is fast, making brute force and dictionary attacks a real danger for most passwords. But if instead you use bcrypt with enough rounds, you can slow the attack down to 1 guess per second, for example.

1) So how does disk encryption usually work?

This is how I imagine it, tell me if it is close to reality: When I enter the passphrase, it is hashed with a slow algorithm to generate a key (always the same?). Because this is slow, brute force is not a good approach to break it. Then, with the generated key, the disk is unencrypted on the fly very fast, so there is not a significant performance lose.

2) How can I test this with my own machine? I want to calculate the guesses per second my machine can make.

3) How many guesses per second are possible against an encrypted disk with the fastest PC ever so far?

11
  • I don't feel this is a very complete answer so I will leave a comment: 1) See Shadok's answer 2) Go find a free decryption program and run it and see how many per second it runs. 3) The fastest ever is classified as it is owned by the government for decrypting data received by the enemy. I don't know how fast it is but $2 Billion can buy you a lot of decryption power Jun 4, 2012 at 15:00
  • The problem is verifying your results. How do you know the decrypted data is valid? Jun 4, 2012 at 15:03
  • 1
    @OliverSalzburg Usually the encrypted data for things like drive encryption will have a known header, if the header is gibberish then the key you tried was not the correct one. Jun 4, 2012 at 15:04
  • @Scott What if I used multiple layers of encryption? Jun 4, 2012 at 15:12
  • 2
    @OliverSalzburg: If you don't think your encryption algorithm is strong enough, you should change it, not put another insufficiently-strong band-aid on top of it and hope that it "adds up". Jun 4, 2012 at 16:49

1 Answer 1

3

The only thing you have to decrypt to be assured you have the right password is the header and its checksum.

You can just cut the first X bytes (as you only need the header) and throw passwords at it in RAM, thus speeding up the cracking many times.
The good password is the one which decrypts a valid header with a good checksum and you can then re-use it for the full disk, however you have to know the header structure beforehand for this to work.

Not the answer you're looking for? Browse other questions tagged .