穷举法(暴力破解法)

2013-06-06

穷举法,或称为暴力破解法,是一种针对于密码的破译方法,这种方法很像数学上的“完全归纳法”并在密码破译方面得到了广泛的应用,即将密码进行逐个推算直到找出真正的密码为止。

例如一个已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试9999次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码,问题只在于如何缩短试误时间。因此有些人运用计算机来增加效率,有些人辅以字典来缩小密码组合的范围。

当然如果破译一个有8位而且有可能拥有大小写字母、数字、以及符号的密码用普通的家用电脑可能会用掉几个月甚至更多的时间去计算,其组合方法可能有几千万亿种组合。

在一些领域,为了提高密码的破译效率而专门为其制造的超级计算机也不在少数,例如IBM为美国军方制造的“飓风”就是很有代表性的一个。

现今稍具严密度的密码验证机制都会设下试误的可容许次数以应对使用密码穷举法的破解者。当试误次数达到可容许次数时,密码验证系统会自动拒绝继续验证,有的甚至还会自动启动入侵警报机制。

可以用c语言编程实现穷举法。
例如:使用穷举法列出100以内的素数

#include "stdio.h"
int main()
{
int n,i;
for(n=2;n<=100;n++) { for(i=2;i=n)
printf("%d\t",n);
}
}

分类:安全 | 标签: |

相关日志

评论被关闭!