关于 Argon2id 算法
加密笔记用它把口令变成 256 位密钥;本文说明为什么暴力破解不可行。
要点
- 内存硬:每次尝试都要占用
m=256 MiB, t=4, p=1,一次猜测就吃掉 256 MiB。 - 并行受内存限制:同时猜 N 个口令就要 N×256 MiB;一张 80 GB 的 H100 最多约 300 路,不是无限。
- 空间指数增长:随机密码每多一位,搜索空间 ×62。
- 只保护强密码:Argon2 抬高每次尝试的成本,但救不了字典词与短数字。
破解时间估算
随机密码,字符集 62(A–Z a–z 0–9);平均时间 = 搜索空间 ÷ (2 × 速率)。数量级估算,非精确基准。
| 密码长度 | 单核 CPU | 9950X 16 核 | 1× H100 | 1000× H100 |
|---|---|---|---|---|
| 8 位 | 173.0 万年 | 10.8 万年 | 1.2 万年 | 12 年 |
| 10 位 | 66.5 亿年 | 4.2 亿年 | 4,432.6 万年 | 4.4 万年 |
| 12 位 | 2.56×1013 年 | 1.60×1012 年 | 1,703.9 亿年 | 1.7 亿年 |
| 16 位 | 3.78×1020 年 | 2.36×1019 年 | 2.52×1018 年 | 2.52×1015 年 |
结论
10 位以上的随机密码,即便 1000 张 H100 也要数万年;12 位以上基本不可行。与其堆机器,不如换更长的随机密码。