暴力破解密码速度 - Winrar

暴力破解密码速度 - Winrar

我暂时忘记了某个文件的密码,于是使用一款名为 KRyLack RAR Password Recovery 的软件尝试恢复密码。幸运的是(但不幸的是,在购买了这款软件后),我记起了密码,并能够打开文件。

我的问题是关于该软件每秒尝试密码的速度 - 完全出于好奇。我知道这可能与机器的速度有关,但我运行的是 i7,例如在其峰值时,该软件每秒会尝试 13 个密码。为什么会这样?我尝试了 3 个字符、4、5、9、10 个字符的长度,速度相同。这似乎是出于某种原因而强加的限制,这是由于 winrar 本身的一些限制,还是其他原因?

答案1

WinRAR 用于对保护加密密钥的密码进行哈希处理的算法 -PBKDF2-HMAC-SHA256

6. Changes in RAR 5.0 encryption algorithm:

 a) encryption algorithm is changed from AES-128 to AES-256 in CBC mode.
   Key derivation function is based on PBKDF2 using HMAC-SHA256;

... 设计得很慢,特别是为了抵抗高速离线攻击......虽然 CPU 确实会慢一些:

$ hashcat -w 4 -O -b -D 1 -m 10900
hashcat (v4.1.0) starting in benchmark mode...

* Device #7: AMD FX(tm)-8350 Eight-Core Processor, 8034/32139 MB allocatable, 8MCU

Hashmode: 10900 - PBKDF2-HMAC-SHA256 (Iterations: 999)

Speed.Dev.#7.....:    21213 H/s (370.38ms)

... 比 GPU:

$ hashcat -w 4 -O -b -D 2 -m 10900
hashcat (v4.1.0) starting in benchmark mode...

* Device #1: GeForce GTX 1080, 2028/8113 MB allocatable, 20MCU
* Device #2: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU
* Device #3: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU
* Device #4: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU
* Device #5: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU
* Device #6: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU

Hashmode: 10900 - PBKDF2-HMAC-SHA256 (Iterations: 999)

Speed.Dev.#1.....:  1222.0 kH/s (478.00ms)
Speed.Dev.#2.....:  1204.6 kH/s (484.15ms)
Speed.Dev.#3.....:  1213.5 kH/s (481.70ms)
Speed.Dev.#4.....:  1210.2 kH/s (482.47ms)
Speed.Dev.#5.....:  1220.8 kH/s (477.90ms)
Speed.Dev.#6.....:  1214.7 kH/s (480.94ms)
Speed.Dev.#*.....:  7285.8 kH/s

这些基准测试假设了理想条件。实际速度可能只有该速度的一半甚至更低,具体取决于攻击类型。

只要生成候选密码的速率足够高,并且由于算法本身及其工作因素(迭代等)而可能产生的本机每秒哈希值速率足够慢,候选密码的长度就不会影响猜测率。

相关内容