What is the probability of finding passwords in hackers dictionary? Suppose passwords are allowed to be 8 bit long and to use 128 characters so total combinations are $(128)^8$ which is basically $2^{56} $. Now total passwords contained in the password file, being hacked, is $2^{10}$. The Hacker has a password dictionary of $2^{20}$ common passwords. The probability that the password is in dictionary is $\frac{1}{4}$ but when I try it I get$\frac{2^{30}}{2^{56}}$.
Where am I getting wrong?

Considering that encrypted passwords are mostly salted, we can calculate with them independently.
We can assume that people has completely random passwords, which is surely not true, but in a math view, it is okay. Thus, we can calculate with a level distribution.
The hackers chance to find a match for a single password entry is $\frac{2^{20}}{2^{56}}$.
Thus, his chance to not find it, $1-\frac{2^{20}}{2^{56}}$.
Thus, his chance to not find anything in the $2^{10}$ passwords, is $(1-\frac{2^{20}}{2^{56}})^{2^{10}}$.
Thus, his chance to find a match is $\underline{\underline{1-(1-\frac{2^{20}}{2^{56}})^{2^{10}}}}$.
Note, considering that $\frac{2^{20}}{2^{56}}\ll1$, you can approximate $(1-\frac{2^{20}}{2^{56}})^{2^{10}}$ with $1-2^{10}\frac{2^{20}}{2^{56}}$, which is $1-\frac{1}{2^{26}}$.
Using this approximation, the result is $\frac{1}{2^{26}}$.
