用途:面向 CTF 的古典密码识别与破解技能手册,提供从编码识别到具体密码攻击的系统化流程。
主要能力:
- 识别方法:字符集分析、字母频率分析、重合指数(IC)判断单表/多表、Kasiski 检验推断维吉尼亚密钥长度。
- 单表替换:频率分析、已知明文(crib dragging)构建映射。
- 凯撒/ROT:暴力枚举 25 种移位,用卡方评分选最优解,含 ROT13、ROT47。
- 维吉尼亚:先定密钥长度,再逐位当凯撒破解。
- 仿射密码:枚举 312 种组合,或由两组明密文对恢复 (a,b)。
- 希尔密码:已知明文攻击,用模 26 矩阵求逆恢复密钥。
- 换位密码:栅栏(暴力枚举轨数)、列换位(按关键词解密)。
- XOR:单字节、多字节(xortool)、已知明文恢复密钥。
- 特殊编码:培根、波利比乌斯方阵、Playfair 的规则与示例。
使用方式:资料给出 Python 实现片段和 xortool 命令,如 xortool ciphertext.bin -l 5、xortool ciphertext.bin -b、xortool ciphertext.bin -c 20。通常先判断字符集与是否为 Base64/Hex/二进制/摩斯等编码,解码后再进入密码分析;若为纯大写字母则计算 IC:约 0.065 倾向单表替换,约 0.038 倾向多表或随机。
适用场景:CTF 挑战中遇到替换、维吉尼亚、换位、XOR 或编码文本时的快速定位与破解;也可作为学习古典密码分析的参考。
限制:面向古典密码,现代对称密码(AES/DES)需转向对称密码攻击技能,哈希构造与格密码也有各自专题。部分代码依赖 sympy、numpy 等外部库;资料未提供具体安装步骤、性能数据和收费信息。