Skip to content
ENExplore Calculators

Dictionary Attack Probability Calculator

Estimate the chance a dictionary and rule-mangling attack finds a password, and how long exhausting the wordlist takes.

About Dictionary Attack Probability Calculator

A dictionary attack never searches the full keyspace — it searches a ranked candidate list built by applying mangling rules to every word. The chance of success is therefore the chance the target password is somewhere in that list, multiplied by the fraction of the list the attacker actually gets through. Because the list is ordered by real-world frequency, early guesses are worth far more than this uniform model suggests. It explains why a policy-compliant password like Summer2024! dies in seconds: rule-mangled wordlists reach it after a few million guesses, while brute force would need 10^23.

Formulas

Dictionary Attack Probability

P(success) = P(password is in the corpus) × (guesses made ÷ (words × mangling rules)), capped at the in-corpus probability.

words × rules
Total candidates the attack will generate
guesses made
How far into that candidate list the attacker gets

Exhaustion time

time to exhaust = (words × rules) ÷ guesses per second.

Worked example

With the default values below, Dictionary Attack Probability Calculator returns Probability of Success of 0.0327%. Change any input above and every figure here is recalculated in your browser.

Inputs used

Wordlist sizeaccepts 1–1,000,000,000 words
14,344,391 words
Mangling rules per wordaccepts 1–100,000 rules
64 rules
Guesses the attacker makesaccepts 1–1,000,000,000,000 guesses
1,000,000 guesses
Chance the password is in the corpusaccepts 0–100 %
30 %
Attack rateone of Online, throttled — 100/s, Online, unthrottled — 10 k/s, Offline bcrypt — 30 k/s, Offline SHA-256 — 10 G/s, Offline MD5 — 100 G/s
Offline MD5 — 100 G/s

Results

Probability of Success
0.0327%
Candidate Spacewords × rules
9.180 × 10⁸
Candidate Space Covered
0.1089%
Time to Exhaust the List
Under 1 second
Risk Band
Informational

Step by step

  1. 1Values used
  2. 2Dictionary Attack Probability
  3. 3Exhaustion time
  4. 4Probability of Success= 0.0327
  5. 5Candidate Space= 918,041,024.000
  6. 6Candidate Space Covered= 0.1089
  7. 7Time to Exhaust the List= Under 1 second
  8. 8Risk Band= Informational

Assumptions and limits

  • The result is derived only from the 5 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 4 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

How is Dictionary Attack Probability calculated?

P(success) = P(password is in the corpus) × (guesses made ÷ (words × mangling rules)), capped at the in-corpus probability. A dictionary attack never searches the full keyspace — it searches a ranked candidate list built by applying mangling rules to every word. The chance of success is therefore the chance the target password is somewhere in that list, multiplied by the fraction of the list the attacker actually gets through. Because the list is ordered by real-world frequency, early guesses are worth far more than this uniform model suggests.

Why does Dictionary Attack Probability matter?

It explains why a policy-compliant password like Summer2024! dies in seconds: rule-mangled wordlists reach it after a few million guesses, while brute force would need 10^23.

What values do I need to enter?

This calculator takes 5 inputs: Wordlist size, Mangling rules per word, Guesses the attacker makes, Chance the password is in the corpus, Attack rate. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why is my computed probability lower than headlines suggest?

This model assumes the attacker walks the candidate list in random order. Real cracking tools order candidates by observed frequency, so the first million guesses recover far more than one millionth of the list — commonly 20–30 % of a leaked hash set. Treat the output as a floor.

How do I defend against this?

Block the corpus rather than trying to out-run it: screen new passwords against a breach list, require length instead of composition, and use a memory-hard hash so each candidate costs the attacker real time.

Dictionary Attack Probability Calculator | Calcrivo