古典密码分析
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/classical-cipher-analysis-gojx 技能。
技能介绍
要解决的问题
CTF 密码题里,拿到一段密文后最常见的错误并不是"不会解",而是直接猜密码类型。看到字母就套凯撒,看到多组密文就试维吉尼亚——方向错了,后面的计算全是白费。另一个高频坑是:密文本身可能包着一层 base64 或 hex 编码,不先还原就直接做频率分析,统计结果毫无意义。
这个技能把古典密码分析拆成先识别、后破解的流水线,覆盖 CTF 中反复出现的经典密码族。
技能如何工作
核心思路是用统计特征做指纹,而不是靠猜:
- 识别阶段:先计算
IC(重合指数)判断是否为替换类密码,用Kasiski 测试找密钥周期,再通过频率分布区分单表替换与多表替换。 - 破解阶段:单表替换用频率匹配加搜索;凯撒/ROT 对 26 种移位逐一打分;维吉尼亚先定密钥长度再分列分析;
affine枚举数学参数;Hill做矩阵逆运算;transposition分析位置重排规律。 - 恩尼格玛:围绕转子设置与键盘映射展开,抓住其多表替换的本质。
- 编码预处理:识别
base64、hex等外层编码,先解码再分析,避免在错误数据上做统计。
适用边界
这个技能只处理古典密码。AES、DES 这类现代对称加密应交给对称密码攻击技能;哈希构造用哈希攻击技能;背包类密码走格密码路线。
另外,频率分析、Kasiski 等手段的前提是密文存在统计冗余。现代强加密(如 AES-CTR)消除了这些特征,这些方法会直接失效——不要把它们当成通用解密器。
使用场景
- CTF比赛中拿到一段密文,需要判断是凯撒移位还是维吉尼亚多表替换,再选择对应的频率分析方法
- 遇到外层包着base64或hex编码的密文,需要先解码还原,再执行Kasiski测试或计算IC指数
- 需要通过重合指数和周期测试,区分单表替换、多表替换和置换类古典密码
- 面对恩尼格玛或希尔矩阵这类结构复杂的密码,需要按转子映射或线性代数原理逐步还原明文
适合人员
- CTF参赛选手,比赛中需要在有限时间内识别并破解多种古典密码题型
- 密码学初学者,想从经典案例入手理解频率分析、Kasiski测试等分析原理
- 网络安全讲师,需要为课程准备凯撒、维吉尼亚、恩尼格玛等密码的实战破解案例
- 安全工程师,在渗透测试或CTF式挑战中遇到古典密码题目,需要快速定位分析方法