Harden Up: Can We Break Your Password With Our GPUs?
Password Cracking: CPU-Powered
There are a myriad of programs to choose from for recovering passwords, but two most popular programs are Advanced Archive Password Recovery and Visual Zip Password Recovery Processor. When I lost the password to my WinZip file, I was able to use the first to recover a seven-character-long password within 20 minutes. But this got me a bit curious. How fast was my computer searching for passwords? What would have happened if I had used a stronger encryption method, like AES-128?
More important: are all of your password-protected archives really only 20 minutes away from being opened by someone who shouldn't have access to them?
Brute-Force Attack SpeedPasswords Per Second | Advanced Archive Password Recovery | Visual Zip Password Recovery Processor |
---|---|---|
Compression: NoneEncryption: Zip 2.0 | 28 357 311 | 20 943 157 |
Compression: None Encryption: AES-128 | 9715 | fail |
Compression: None Encryption: AES-256 | 9713 | fail |
Compression: Zip Encryption: Zip 2.0 | 28 492 733 | 20 888 938 |
Compression: Zip Encryption: AES-128 | 9733 | fail |
Compression: Zip Encryption: AES-256 | 9760 | fail |
Compression: RAR Store Encryption: AES-128 | 213 | - |
Compression: RAR Store Encryption: AES-128, File Names | 202 | - |
Compression: RAR Normal Encryption: AES-128 | 213 | - |
Compression: RAR Normal Encryption: AES-128, File Names | 202 | - |
As you can see, compression has a minor effect on the speed at which you can try plugging in passwords, but the biggest weakness is in the older Zip 2.0 encryption scheme. As a result, a five-character password is detected in just a few seconds because you can crunch about 28 million passwords per second using a Core i5-2500K. Visual Zip also found the correct password in the Zip 2.0 encryption method, but due to a software problem, it cannot detect a password of any length encoded in AES-128.
Of course, this doesn't really tell the full story. We don't care about speed for the sake of showing off what a new CPU can do (though this could, in fact, make an interesting benchmark). We care about it because it affects the speed at which I can recover a password.
Total Time for Search If You're Churning Through 28 Million Passwords/Second | Passwords Between 1 and 4 Characters | Passwords Between 1 and 6 Characters | Passwords Between 1 and 8 Characters | Passwords Between 1 and 12 Characters |
---|---|---|---|---|
Lower-case | instant | 11 seconds | 2 hours | 112 years |
Lower-case and Upper-case | instant | 12 minutes | 22 days | 451 345 years |
All ASCII characters | 3 seconds | 7 hours | 8 years | 701 193 345 years |
Even if you assume that you can try 28 million passwords per second, your chances of guessing the right one get increasingly dim as you move to longer passwords and larger character sets. Spending a whole month to crack an eight-character password composed of letters isn't a terrible prospect if the protected data is really important. But 700 million years is probably too long to ask you to wait.
Fortunately, Advanced Archive Password Recovery allows you to pause and save the position of your search. And, if you have a few computers at your disposal, you can really cut down on the time investment by distributing the workload. Getting scared yet?
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Current page: Password Cracking: CPU-Powered
Prev Page Exploring Password Strength Next Page Password Cracking: GPGPU-Style-
jeff77789 "While it would take a longer time to find a password made up of nine or 10 passwords, it's definitely doable between a few gaming buddies. "Reply
9 or 10 characters? -
ryandsouza "Think of this as generating every single combination of numbers that can be used to solve that same Sodoku puzzle, starting from an all zeros all the way through all nines. "Reply
Sudoku puzzles have numbers from 1 through 9! -
rpmrush This reminds me of Bitcoin GPU crunching. 6990s are favored right now. I wonder how many were sold specifically to Bitcoin miners? I tried it with my dual 6850s but the heat was rediculous. I didn't like the stress on my hardware so I gave up mining. I'm sure it's the same with password software. Maxing out your GPUs. Great for Winter, not Summer!Reply -
mediv42 I've always wondered about this: why don't they just code a delay into the decryption program, so you can't check a billion passwords a second?Reply
-
joshyboy82 I like the scale, but in your small example (a,b,c) you were right and wrong at the same time. Based on your configuration 6 possibilities are correct, but because you tell someone that they can use A or B or C in the password doesn't stop them from choosing aaa, therefor the combination is 9, not 6. Otherwise, interesting article.Reply -
acku 9515787 said:"Think of this as generating every single combination of numbers that can be used to solve that same Sodoku puzzle, starting from an all zeros all the way through all nines. "
Sudoku puzzles have numbers from 1 through 9!
Fixed! Sorry. I usually play Sudoku variants. :)
9515790 said:I like the scale, but in your small example (a,b,c) you were right and wrong at the same time. Based on your configuration 6 possibilities are correct, but because you tell someone that they can use A or B or C in the password doesn't stop them from choosing aaa, therefor the combination is 9, not 6. Otherwise, interesting article.
I could understand that, but I left out that since I was trying to show a simple example of how permutations differ from combinations. As you pointed out, repetitions are allowed in passwords. I actually mention that in the sentence that follows in the next paragraph. -
webdev511 Password Haystacks Yes Steve Gibson has already covered something like this. Passphrases with upper lower number and speical are the way to go. Yes, please avoid shortcuts.Reply -
acku 9515789 said:I've always wondered about this: why don't they just code a delay into the decryption program, so you can't check a billion passwords a second?
It wouldn't be easy from a design standpoint, cause now you're talking about fiddling with the design of the program.
The easiest way to slow down the verification portion of the password authentication process is increasing the number of transformation invocations for key generation. The problem is that this slows down the performance of your machine, even if you have the correct password.
jj463rdHow about adding some extended ASCII codes to a password.
That assumes WinZip and WinRAR supports them. To be honest, I haven't looked into that. Though, I'm inclined to believe that neither program supports them. -
shin0bi272 the tables in this review are horrible... they go from lengths of time to number of passwords and theres no discernible notation when they do.Reply