Harden Up: Can We Break Your Password With Our GPUs?

Exploring Password Strength

A much more primitive approach to defeating encryption is simple "guessing and checking." This is known as a brute-force attack. Think of this as generating every single combination of numbers that can be used to solve that same Sodoku puzzle, starting from an all ones all the way through all nines. There are ways to hide the "checking" part of the process to make the attack more complicated. But simple programs like WinZip and WinRAR don't have that luxury. If you are persistent, you can keep guessing passwords until hell freezes over. There is no limit on the number of guesses you get. So, the real problem in recovering a password is the speed at which you can guess the right answer.

Manually checking passwords is probably a foolish endeavor at best, especially if you're dealing with a long password. This is where password recovery tools come into play. They automate the process of guessing passwords. 

Swipe to scroll horizontally
Available Characters Using The  English LanguagePossible PasswordsTwo CharactersPossible PasswordsFour CharactersPossible PasswordsSix Characters
Lower-case676456 976308 915 776
Lower- and Upper-case27047 311 61619 770 609 664
Lower-case, Upper-case, and Numbers384414 776 33656 800 235 584
All ASCII Characters883678 074 896689 869 781 056

Brute-force attacks rely on probability. The longer the password, the more passwords there are to check. This relies on the notion of permutations, which are the arrangement of objects in a particular order. So think of passwords as anagrams. If I gave you the letters a, b, and c, how many different ordered arrangements could you make? With only three letters, you can create a set of six permutations of the set {a,b,c}, namely [a,b,c], [a,c,b], [b,a,c], [b,c,a], [c,a,b], and [c,b,a].

Calculating the number of possible passwords is simple. Repetitions are allowed, so the formula is n(password length), where n is the number of possible characters. As you can see, at six characters, we're already in the billions if you include lower- and upper-case letters. If you also include special characters and numbers (all ASCII characters), you'll find that the number of password candidates explode to three-quarters of a trillion. And don't forget that that if you don't know the length of your password, you have to search all of the possible combinations from a single-character password to the length of your choosing.

Can you see where this is going?