Background of Password cracking

Print Version
Share to a friend

Passwords to access computer systems are usually stored, in some form,

in a database in order for the system to perform password verification.

To enhance the privacy of passwords, the stored password verification data

is generally produced by applying a one-way function to the password, possibly in

combination with other available data. For simplicity of this discussion,

when the one-way function does not incorporate a secret key, other than the password,

we refer to the one way function employed as a hash and its output as a hashed password.

Even though functions that create hashed passwords may be cryptographically secure,

possession of a hashed password provides a quick way to verify guesses for the password

by applying the function to each guess, and comparing the result to the verification data.

The most commonly used hash functions can be computed rapidly and the attacker can do this

repeatedly with different guesses until a valid match is found, meaning the plaintext password

has been recovered.


The term password cracking is typically limited to recovery of one or more plaintext

passwords from hashed passwords. Password cracking requires that an attacker can gain

access to a hashed password, either by reading the password verification database or

intercepting a hashed password sent over an open network, or has some other way to rapidly

and without limit test if a guessed password is correct. Without the hashed password,

the attacker can still attempt access to the computer system in question with guessed passwords.

However well designed systems limit the number of failed access attempts and can alert

administrators to trace the source of the attack if that quota is exceeded. With the hashed password,

the attacker can work undetected, and if the attacker has obtained several hashed passwords,

the chances for cracking at least one is quite high. There are also many other ways of

obtaining passwords illicitly, such as social engineering, wiretapping, keystroke logging,

login spoofing, dumpster diving, timing attack, etc.. However, cracking usually designates a guessing attack.


Cracking may be combined with other techniques. For example, use of a hash-based challenge-response

authentication method for password verification may provide a hashed password to an eavesdropper,

who can then crack the password. A number of stronger cryptographic protocols exist

that do not expose hashed-passwords during verification over a network, either by

protecting them in transmission using a high-grade key, or by using a zero-knowledge password proof.