TC/VC加密容器的密码破解(二):测试验证"

admin 2026-11-12 12:20:28 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

TC/VC加密容器的密码破解(二):测试验证

原创

MicroPest
MicroPest

MicroPest

2026年11月11日 00:14
安徽

去阅读

接着《TC/VC加密容器的密码破解》继续聊聊这个。

以Truecrypt为例:

它提供了8种加密算法,分别为:3种单加密(AES/Serpent/Twofish)、3种双混加密(AES-Twofish/Serpent-AES/Twofish-Serpent)、2种三混加密(AES-Twofish-Serpent/Serpent-Twofish-AES)。

哈希算法3种:Ripemd-160/SHA-512/Whirlpool。

二、加密算法和哈希算法两者的关系

TrueCrypt/VeraCrypt 卷里有两个相互独立、缺一不可的密码学选择:

  • 哈希算法

→ 决定\"怎么从密码得到密钥\"(密钥派生,KDF)
* 加密算法

→ 决定\"怎么把密文解开\"(XTS 加密/解密)

两者都必须与卷创建时的设置一致,任何一个选错,解密都会失败。所以\"起决定作用\"的其实是两个,不只是加密算法。

三、测试

我们完成了单加密算法、双混加密算法、3混加密算法共8种组合,以及3种哈希算法的字典密码破解测试。

1、全部用法:

python truecrypt\_veracrypt\_decrypt.py -h

usage: truecrypt\_veracrypt\_decrypt.py [-h] {extract,verify,crack,decrypt} ...

TrueCrypt/VeraCrypt 解密工具(纯 Python 实现,无第三方依赖)

positional arguments:

{extract,verify,crack,decrypt}

extract             从容器提取 hash(等同 truecrypt2hashcat.py)

verify              验证密码

crack               从单词表破解

decrypt             解密数据(已知密码)

options:

-h, --help            show this help message and exit

2、字典破解---用法:

python truecrypt\_veracrypt\_decrypt.py crack -h

usage: truecrypt\_veracrypt\_decrypt.py crack [-h] [--type {truecrypt,veracrypt}] [--kdf {ripemd160,sha512,whirlpool}][--xts {512,1024,1536}] [--iterations ITERATIONS] [--pim PIM] [--boot][--keyfile KEYFILE] --wordlist WORDLIST [--hash HASH] [--offset OFFSET][--backend {cpu,gpu,auto}] [--device DEVICE] [--jobs JOBS][--hashcat-path HASHCAT\_PATH] [--timeout TIMEOUT][container]

3、测试结果,截图如下(单加密/双混加密/3混加密破解)

如1:3混加密算法的破解+RipeMD-160哈希算法(默认选择,上图)

python truecrypt\_veracrypt\_decrypt.py crack --type truecrypt --wordlist wordlist.txt 7-serpent-twofish-aes-whirlpool (用CPU破解)

FOUND: tl!qax@wsx-serpent-twofish-aes-whirlpool

如2:3混加密算法的破解+whirlpool哈希算法(下图)

破解结果如下图:

python truecrypt\_veracrypt\_decrypt.py crack --type truecrypt --wordlist wordlist.txt --backend gpu 7-serpent-twofish-aes-whirlpool  (用GPU破解)

FOUND: tl!qax@wsx-serpent-twofish-aes-whirlpool

通过测试,可以看出来,我们已完成了Truecrypt(VC应该也一样)容器文件的密码破解(理论上所有都可以,但密码字典要包含密码在内)。

四、速度

实测 crack 的实际破解速度(纯 Python 实现的 PBKDF2 是主要开销),用官方向量在不同配置下测量每个密码的耗时,换算成\"次/秒\"。

1、CPU速度测算

配置 词/秒 换算
TrueCrypt XTS512(显式 --kdf ripemd160 --xts 512) ~17.7 1000 词 ≈ 57 秒
TrueCrypt XTS1536(三级联,显式) ~11.3 1000 词 ≈ 89 秒
TrueCrypt 自动检测(正确密码命中即停) ~11.3 —
TrueCrypt 自动检测(错误密码,最坏情况) ~0.23 1000 词 ≈ 72 分钟
VeraCrypt XTS512(显式,655331 次迭代) ~0.15 1000 词 ≈ 1.8 小时
VeraCrypt 自动检测(错误密码) ~0.06 1000 词 ≈ 4.6 小时

使用建议

  • 小单词表(<5000 词)的 TrueCrypt 卷,自动检测即可,几分钟内跑完。
  • 大单词表或 VeraCrypt 卷:务必 --kdf(如 --kdf sha512)+ --xts 显式指定,能省几倍到几十倍时间。
  • 追求最高速仍应使用 hashcat式的GPU/OpenCL,本脚本定位是\"无依赖、可离线、教学/单机验证\"。

2、GPU 速度测算( RTX 3060 Laptop)

基准吞吐(「次/秒」= 每秒可尝试的密码个数;「每次耗时」= 试 1 个密码平均要多久):

类型 / 算法 速度 (次/秒) 每次耗时
TrueCrypt SHA512 XTS512 303,600 3.3 µs
TrueCrypt RIPEMD160 XTS512 196,800 5.1 µs
TrueCrypt RIPEMD160 XTS1536 78,600 12.7 µs
TrueCrypt Whirlpool XTS512 45,700 21.9 µs
VeraCrypt SHA512 XTS512 751 1.33 ms
VeraCrypt RIPEMD160 XTS512 703 1.42 ms
VeraCrypt SHA512 XTS1536 267 3.75 ms
VeraCrypt RIPEMD160 XTS1536 306 3.27 ms
VeraCrypt Whirlpool XTS512 121 8.26 ms
VeraCrypt Whirlpool XTS1536 12 83.3 ms

换算关系:1 次/秒 = 1 H/s;µs=微秒(10⁻⁶ 秒),ms=毫秒(10⁻³ 秒)。XTS 位宽越大(512→1536)代表密码级联越复杂,速度越慢。

后端 速度 (次/秒) 每次耗时
GPU(hashcat) 78,600 12.7 µs
CPU 单进程 ≈0.43 ≈2.32 秒

一句话结论:GPU 端在 TrueCrypt RIPEMD160 场景可达 7.8 万次/秒,在 VeraCrypt 多级联场景约 267~751 次/秒;相比纯 Python CPU 单进程,整体提升约 300 倍(常见卷)到 18 万倍(RIPEMD160 卷)。

    评论:0   参与:  0