Dictionary Attack Resistance

Understand how dictionary attacks work and why common passwords fail instantly. Learn about wordlists, rule-based mutations, and how to generate passwords that resist dictionary-based cracking.

Attack Methods

Detailed Explanation

How Dictionary Attacks Work

A dictionary attack tests a precompiled list of likely passwords instead of trying every possible combination. This approach is devastatingly effective because humans choose predictable passwords. Studies of breach data consistently show that the top 1,000 passwords account for a significant percentage of all user-chosen credentials.

Common Wordlists

Attackers maintain curated wordlists built from:

  • Previous data breaches: the RockYou list (14 million passwords), Collection #1 (773 million), and more recent compilations
  • Dictionary words: English dictionaries, names, places, pop culture references
  • Keyboard patterns: "qwerty", "asdfgh", "zxcvbn"
  • Number sequences: "123456", "111111", "987654"

The largest combined lists contain billions of entries and can be tested in seconds with fast hash algorithms.

Rule-Based Mutations

Modern dictionary attacks apply transformation rules to each word:

password → Password     (capitalize first)
password → password1    (append digit)
password → p@ssword     (l33t substitution)
password → PASSWORD     (all caps)
password → drowssap     (reverse)
password → password!    (append symbol)
password → Password1!   (combine rules)

Tools like Hashcat and John the Ripper can apply thousands of rules to each dictionary word, expanding a 10-million-word list into billions of candidates.

Why Common Patterns Fail

Passwords following predictable patterns are found almost instantly:

Pattern Example Time to Find
Top 100 password password < 1 ms
Dictionary word sunshine < 1 second
Word + digit monkey7 seconds
Capitalized + digit + symbol Summer2024! minutes
Two concatenated words bluefish minutes

How to Resist Dictionary Attacks

  1. Use a CSPRNG: randomly generated passwords contain no dictionary words or patterns
  2. Avoid personal information: names, birthdays, pet names are in targeted wordlists
  3. Use passphrases with random words: 5+ randomly selected words from a large wordlist resist dictionary attacks because the combination space is enormous
  4. Check against breach databases: services like Have I Been Pwned identify passwords already in attacker wordlists

The Role of Password Strength Analyzers

A good strength analyzer goes beyond entropy calculation — it checks whether a password (or parts of it) appears in known dictionaries and breach lists. This is the single most effective defense against dictionary attacks, because a high-entropy password is useless if it happens to match a common pattern.

Use Case

Understanding dictionary attacks is critical for developers building authentication systems, security professionals conducting penetration tests, and anyone setting password policies. By knowing how attackers prioritize their guesses, you can generate and validate passwords that fall outside the reach of even the most comprehensive wordlists.

Try It — Password Strength Analyzer

Open full tool