在假设密码是由小写拉丁字母组成的随机序列的情况下,我们评估了破解密码所需要的大致时间。我们首先假定,普通个人用户每秒可以检测10个密码,而一个预算为10亿美圆的机构可以达到100亿个密码/秒的检测速度。同时,我们也假设计算机处理器的性能每两年翻一倍,这样,对于6位以上的长密码而言,每增加一个拉丁字母则相应的需要增加大约9年的时间用于破解。
基于以上条件,我们可以得到了以下破解密码所需要的时间:
密码长度 个人用户破解 组织用户破解
1 2秒 1秒
2 1分钟 1秒
3 30分钟 1秒
4 12小时 1秒
5 14天 1秒
6 1年 1秒
7 10年 1秒
8 19年 20秒
9 26年 9分钟
10 37年 4小时
11 46年 4天
12 55年 4月
13 64年 4年
14 73年 13年
15 82年 22年
16 91年 31年
17 100年 40年
---------原文, 来源于7zip的帮助文件 Tips for selecting password length
We will estimate the time required for an exhaustive password search attack, when the password is a random sequence of lowercase Latin letters.
We suppose that one user can check 10 passwords per second and organization (with budget about $1 billion) can check 10 billions passwords per second. We also suppose that each 2 years processor doubles it's performance, so each additional Latin letter of long password adds about 9 years against exhaustive key search attack.
So we have such estimated time for attack: Password Length Single User Attack Organization Attack 1 2 s 1 s 2 1 min 1 s 3 30 min 1 s 4 12 hours 1 s 5 14 days 1 s 6 1 year 1 s 7 10 years 1 s 8 19 years 20 s 9 26 years 9 min 10 37 years 4 hours 11 46 years 4 days 12 55 years 4 months 13 64 years 4 years 14 73 years 13 years 15 82 years 22 years 16 91 years 31 years 17 100 years 40 years