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
- 1Values used
- 2Dictionary Attack Probability
- 3Exhaustion time
- 4Probability of Success= 0.0327
- 5Candidate Space= 918,041,024.000
- 6Candidate Space Covered= 0.1089
- 7Time to Exhaust the List= Under 1 second
- 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.
Related Calculators
- Brute Force Attack Time Calculator
- Password Crack Time Calculator
- Passphrase Strength Calculator
- Credential Stuffing Risk Calculator
- Authentication Health Score Calculator
- MFA Security Calculator
- Password Entropy Score Calculator
- Attack Surface Score
- Account Lockout Threshold Calculator
- Annual Rate of Occurrence
You might also need
- Password Crack Time CalculatorCommonly used together
- Passphrase Strength CalculatorCommonly used together
- Brute Force Attack Time CalculatorCommonly used together
- Credential Stuffing Risk CalculatorCommonly used together
- Authentication Health Score CalculatorAlso in Password Security
- MFA Security CalculatorAlso in Password Security
