频道栏目
首页 > 安全 > 加密解密 > 正文

CPU与GPU破解WinRAR加密算法速率对比

2013-03-19 10:26:33            作者:罗杰
收藏   我要投稿
今天我们来测试五位数密码:testt。使用WinRAR 3.7加密压缩文件。首先利用CPU来破解Winrar密码速率效果,我分别尝试了RAR Password与RAR Password Unlocker这两款知名Winrar的破解工具。使用的破解为密码字典破解、暴力破解的方式,对于密码长度我优先定义为5位数并不包含数字。

 

    但是经过漫长的等待,测试结果均超过30分钟,平均每秒尝试字符52个左右。但在此之前我已经将进程优先级与优化速率级提升至高,但结果从严格上来说是不尽如人意的。

 

接下来使用一款利用GPU性能来破解Winrar密码的工具RAR GPU Password Recovery.

 

 

RAR GPU Password Recovery v0.5

 

软件使用说明:

 

    该软件可用于ATI RV 670/770/870芯片组及nVidia "CUDA" 显卡来恢复RAR v 3.x版本的密码。HD4850的恢复速度优于2.4Ghz单核Q6600约20倍。 (仅在iCore平台比较下优化了SSE2的代码。目前只有2个RARv3.x版本较好的优化方案-- crark及ARCHPR)。对于非优化的CPU版本,可以[在这里将您最喜欢的数字如100倍或200x中]。

 

    nVidia卡相对于ATI来说性能较差(由于nVidia的GPU架构)。8600gt大约是2.4Ghz单核Q6600的2倍快。GTX260/192流处理速度约是Q6600的12倍。

 

 

 

破解速度(以4位RAR密码为例):

 

约168个密码/秒,2.4ghz单核Q6000(crark的速度)

 

约325个密码/秒,8600 GT

 

约3350个密码/秒,ATI HD4850

 

约2075个密码/秒,GTX260/192流处理器

 

注:密码恢复速度不是恒定的,依赖于密码长度(短密码的速度要比长密码的快)

 

 

 

显卡支持列表:

 

ATI:基于RV670、RV740+和RV870芯片组(如3870, 4770, 4850, 4870, 4890, 5870等)

 

Catalyst 9.9+需得安装。更新至最新催化剂驱动可能有些变化,所以没有必要更新至最新。如果看到"Cannot init, error = 19" 字样,则需要更新显卡驱动。

 

对RV670的支持并未测试。

 

 

 

NVidia:有CUDA支持的显卡,即G80+。8600 GT、8600 GTS、GTX260/192SP、GTX260/216SP、GTS250已测试,理论支持G80+的显卡。

 

从V0.4版本开始就可以选择显卡了,可以用“/device:N”命令选择,例子如下。

 

 

 

使用参数说明:

 

这是控制台应用程序,所以必须运行命令行。

 

igrargpu.exe [switch:param] filename.rar

 

-a:b|d|r             攻击方式:暴力破解(brute-force默认)、字典攻击(dictionary)或字典规则攻击(dictionary with rules)

 

-c:csdepa          字符集定义 (cap, small (默认), digits, special, space, all)

 

-u:[chars]          用户定义的字符

 

-sf:[password]    密码攻击开始于

 

-m:[mask]          隐藏密码

 

-ms:[symbol]      隐藏字符

 

-min:[value]       最小长度(默认为1)

 

-max:[value]      最大长度(默认为5)

 

-d:[filename]      词典文件名

 

-sl:[N]               从字典第[N]行开始

 

-r:[filename]      规则文件名

 

-rl:[N]               从规则第[N]行开始

 

-blocksize:[N]     设置块大小 (默认取决于GPU)

 

-device:[N]        使用显卡GPU

 

 

 

暴力破解例子:

 

igrargpu.exe /a:b /c:s /min:1 /max:4 archive.rar

 

将检测所有1-4位小写拉丁字母组合的密码

 

 

 

igrargpu.exe /a:b /c:s /m:??u??la archive.rar

 

将检测密码aauaala、aauabla、 ... 到zzuzzla

 

 

 

注意密码长度。根据字符集设置的最大实际长度约为5-7字符。例如:

 

igrargpu.exe /min:6 /max:6 archive.rar

 

检测所有6位小写拉丁字母组合的密码会有96的6次方=308915776种可能,HD4770的速度大约为2465个/s,那得花308915776/2465/60s/60m=35 小时等待。

 

 

 

总而言之超过6位字符,暴力破解的成功率会很低。

 

可以手动非配范围,如果你有多块GPU,例如:

 

igrargpu.exe /a:b /c:cs /min:5 /max:5 /sf:AAAAA /device:0 archive.rar

 

igrargpu.exe /a:b /c:cs /min:5 /max:5 /sf:NAAAA /device:1 archive.rar

 

将打开两个主程序igrargpu的副本来使用多块GPU。

 

注:只有密码长度<=18才能破解。

 

………………………………………………我们使用GPU的测试结果…………………………………………………………

 

X:\Documents and Settings\VNZME\Desktop\GPU PASSWORD\igrargpu>call testrules.cmd test.rar

 

 

******************************************************************

 

***               RAR GPU Password Recovery v0.5               ***

 

***  For ATI RV670/770/870 cards and nVidia 'CUDA' ones (G80+) ***

 

***          (c) 2009 Ivan Golubev, http://golubev.com         ***

 

***              see "readme.htm" for more details             ***

 

******************************************************************

 

Opened [test.rar]

 

Found 1 compatible CUDA device(s).

 

CUDA device #0 [GeForce GT 220]: GPU clock = 1250.000 Mhz, SP = 48.

 

Blocksize = 48 x 64

 

Found 135 rules, rules set [135]

 

Starting rules attack from line #0, dictionary [example.dic]

 

2230 words at [example.dic].

 

CURPWD: duty2 DONE: 17.68% ETA: 10m 32s AVRSPD: 392.0 CURSPD: 435.9 @ 5

 

Found password: [testt], HEX: 0074 0065 0073 0074 0074

 

Processed 52 224 passwords (including "fillers") in 2m 13s.

 

Thus, 392 password(s) per second in average.

 

总结:

 

    结果其实很明显,在2分13秒的时候,RAR GPU Password Revovery就轻松将密码攻破。当初几年前看见软件,鄙人有少许震撼,在以前当密码的位数超过八位数,只要密码没有任何核心规则、词组做密码。它是根本没有可能在这么短时间内被破解的!假设单纯从浮点运算速率为衡量标准,GPU的浮点运算速率远远高于CPU,因为GPU的运算能力目前已经超过了1万亿次每秒,而CPU只是区区的十亿到百亿级别而已。如果靠着许多GPU高达数千核心,同时做平行运算,也可以做到以前连超级计算机也无法达到的破解速度!

 

    当然这款工具公布的时候是2009年,刚才去了一下官方看到一款Accent RAR Password Recovery他同时支持CPU与GPU运算,支持目前主流AMD与intel中央处理器。使用特殊算法达到更高破解效率,但是可惜的是它是收费的,如果有条件的朋友可以去尝试一下。

 

相关TAG标签 速率 算法
上一篇:DiskGenius注册算法简析
下一篇:Android DEX加壳
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站