穷举法
维基百科,自由的百科全书
穷举法(Brute force attack)是一种针对于密码的破译方法,就是人们常说的暴力破解法。这种方法很象数学上的“完全归纳法”并在密码破译方面得到了广泛的应用。简单来说就是将密码进行逐个推算直到找出真正的密码为止。比如一个四位并且全部由数字组成其密码共有10000种组合,也就是说最多我们会尝试10000次才能找到真正的密码。利用这种方法我们可以运用计算机来进行逐个推算,也就是说用我们破解任何一个密码也都只是一个时间问题。
[编辑] 字符类型
字符类型一般可以分为一下5种
- 数字型0、1、2、...9等(10個)
- 大写字母A、B、C、...Z等(26個)
- 小写字母a、b、c、...z等(26個)
- 特殊字符~、$、#、@、&、*等(33個)一般較少用
- 用户自定义字符。
如果一个多位数并且有可能包含以上所有字符的密码的组合方法一定多的惊人,相对来讲破译的时间也会长的没法接受,有时可能会长达数年之久。
[编辑] 字典
当然如果破译一个有8位而且有可能拥有大小写数字、字母、以及符号的密码用普通的家用电脑可能会用掉几个月甚至更多的时间去计算,其组合方法可能有几千万亿重种组合。这样长的时间显然是不能接受的。其解决办法就是运用字典,所谓「字典」就是给密码锁定某个范围,比如英文单词以及生日的数字组合等,所有的英文单词不过10万个左右这样可以大大缩小密码范围,很大程度上缩短了破译时间。
[编辑] 超级计算机与穷举法
在一些领域为了提高密码的破译效率而专门为其制造的超级计算机也不在少数,例如IBM为美国军方制造的“飓风”就是很有代表性的一个。