Skip to content
Home

Dictionary attack

A dictionary attack is a password-cracking method that tests likely words and phrases from curated lists. It contrasts with brute-force attacks and can be mitigated by salting, complexity, and rate limiting.

Overview

A dictionary attack attempts to discover a secret such as a password, passphrase, or cryptographic key by trying many candidate strings drawn from a precompiled list. These lists — often called wordlists or dictionaries — contain likely choices: common words, names, phrases, and variants derived from real password leaks and language vocabularies. The technique is a targeted form of credential guessing that exploits predictable human choices and common patterns.

How it works and common features

Rather than enumerating every possible combination of characters, a dictionary attack uses a prioritized set of candidates that are more likely to succeed. Attackers feed the list to an authentication or cracking process and test each entry. The approach is often enhanced with simple transformations (for example, adding digits, replacing letters with similar symbols, or appending years), producing many more test strings from each dictionary entry. It is conceptually distinct from pure brute-force search because the candidate set is guided by probability instead of exhaustive coverage.

Typical components

  • Wordlist: a curated collection of candidate strings drawn from language dictionaries, leaked passwords, and common patterns.
  • Rules or mangling: functions that modify words to generate common variants (capitalization, suffixes, character substitutions).
  • Target and verifier: the system or hash that indicates whether a tested candidate succeeded.

History and relation to other attacks

Dictionary-style guessing has existed since the early days of computerized authentication, when users commonly chose simple, memorable passwords. Over time, attackers and defenders both refined techniques: attackers developed larger and more representative wordlists and transformation rules, while defenders adopted stronger hashing, salting, and password policies. The dictionary approach sits between social-engineering-driven credential stuffing and exhaustive brute-force attacks: it balances speed against likelihood by focusing on probable choices.

Uses, examples, and significance

Dictionary attacks are used by security researchers and malicious actors alike to test or compromise accounts. They are effective against weak, common passwords and against stored credential hashes if the hashing is fast or unsalted. To illustrate the concept in context, see discussions in cryptography literature: cryptography resources, the notion of a target key or secret, and explanations about password vulnerabilities password security.

Defenses and best practices

Mitigations include enforcing longer and less predictable passwords or passphrases, using unique salts and slow hashing functions for stored credentials, implementing rate limiting and account lockout policies, and encouraging multi-factor authentication. Regular auditing and the use of password managers also reduce the risk that common words alone will suffice to grant access. These defenses increase the work required for a successful dictionary attack and often make it impractical.

Notable distinctions

Unlike brute-force attacks that try all combinations in a defined space, dictionary attacks prioritize plausibility to improve efficiency. They are also different from credential stuffing, which reuses leaked username/password pairs against other services. In practice, attackers commonly combine techniques: starting with dictionary lists, applying mangling rules, and falling back to broader brute-force methods if needed.

Related articles

Author

AlegsaOnline.com Dictionary attack

URL: https://en.alegsaonline.com/art/27232

Share

Sources
  • codinghorror.com : "Dictionary Attacks 101"