文章总结: 本文是CTFCrypto模块拆解的第四期,重点分析2025年赛事高频密码学考点,包括古典密码、RSA非对称加密和哈希攻击。文章详细介绍了各类密码学原理、常见攻击方法、解题技巧和避坑指南,并提供了实战案例和自动化脚本。古典密码部分涵盖凯撒密码、维吉尼亚密码和栅栏密码;RSA部分讲解低指数攻击、共模攻击和参数泄露攻击;哈希攻击部分包括MD5碰撞、长度扩展攻击和哈希爆破。文章还预告了下期将涵盖AES对称加密、流密码和随机数安全等进阶内容。 综合评分: 85 文章分类: CTF,WEB安全,漏洞分析,密码学,安全工具
CTF Crypto 模块拆解(第 4 期):2025 赛事高频密码学,从古典密码到现代加密实战
原创
点击关注👉
网络安全学习室
2025年12月14日 11:24 湖南
Web 模块三期拆解完结后,很多选手反馈 “Crypto 模块又难又绕,明明懂原理却解不出题”——2025 CTF 赛事数据显示,Crypto 模块占比稳定在 15%-18%,且呈现 “古典密码 + 现代加密混合出题”“数学原理 + 代码实操双重考核” 的趋势,成为区分中高水平选手的关键。
本期开启 Crypto 模块系列第一期,聚焦 “新手能快速上手、赛事高频出现” 的核心考点:古典密码、RSA 非对称加密、哈希攻击,全程贴合 2025 真题场景,附自动化解题脚本 + 避坑指南,文末福利包直接对标赛事题型,帮你打破 “ Crypto 恐惧症”!
一、古典密码:2025 赛事 “签到题常客”
1. 漏洞本质(一句话懂) 
通过简单的字符替换、移位、排列等规则加密,核心考察 “识别加密类型 + 手动破解 / 脚本自动化解题”,无需复杂数学知识,是 Crypto 模块的 “送分题”。
2. 2025 高频古典密码类型(真题适配) 
(1)凯撒密码(移位密码代表) 
-
2025 真题场景:题目给出密文
khoor zruog,提示 “移位 3 位”; -
核心逻辑:每个字母按字母表移位(如移位 3 位时,a→d、z→c);
-
实操:
- 手动破解:k→h、h→e、o→l、o→l、r→o → 明文 “hello world”;
- 脚本自动化(Python):
(2)维吉尼亚密码(多表移位代表) 
- 2025 真题场景:密文
rgnoqdznsl,密钥提示 “3 位英文单词”; - 核心逻辑:用密钥控制移位次数(如密钥 abc,第 1 位按 a 移位 0、第 2 位按 b 移位 1);
- 实操:
- 工具辅助:用 CyberChef 的 “Vigenère Decode” 功能,爆破 3 位密钥;
- 破解关键:若未给密钥,优先爆破 2-4 位英文单词(赛事常见密钥长度)。
(3)栅栏密码(排列密码代表) 
- 真题场景:密文
falg{etst_kye},提示 “2 栏”; - 核心逻辑:将明文按行数拆分后重组(2 栏即第 1、3、5… 位为一组,第 2、4、6… 位为一组);
- 手动破解:按 2 栏拆分
f a g { e s t _ k y e和l g e t s t _ k e }→ 重组后flag{test_key}。
3. 2025 解题技巧(快速识别类型) 
- 特征匹配:凯撒密码字母分布均匀;维吉尼亚密码密文长度通常是密钥长度的倍数;栅栏密码密文常出现 “flag” 片段拆分;
- 工具优先:CyberChef、CTFCrypto 工具集,直接输入密文自动识别加密类型。
4. 避坑清单(2025 赛事踩坑率 70%) 
- 区分大小写:部分题目大小写敏感,破解后需还原大小写格式;
- 非字母字符保留:空格、{、} 等字符不参与加密,直接保留位置;
- 密钥爆破范围:优先 1-4 位英文单词 / 数字,避免无意义爆破。
二、RSA 非对称加密:2025 赛事 “核心得分点”
1. 漏洞本质(一句话懂) 
基于大整数分解的数学难题,赛事中常因 “密钥设置不当”(如低指数、共模)或 “参数泄露”(如泄露 p/q)导致漏洞,考察 “数学原理 + 工具实操”。
2. 2025 高频攻击场景(真题聚焦) 
(1)低指数攻击(e=3/65537) 
-
2025 真题场景:已知 n=0x…、e=3、c=0x…,无其他参数;
-
核心逻辑:e=3 时,若明文 m 较小,c=m³ mod n → m≈c^(1/3),直接开根即可;
-
实操:
- 工具辅助:用 gmpy2 库计算大整数开根;
- 脚本代码:
(2)共模攻击(多组密文共用 n) 
- 真题场景:已知两组加密数据(e1,c1)、(e2,c2),共用 n,且 e1 与 e2 互质;
- 核心逻辑:利用贝祖定理找到 x、y 满足 e1x + e2y = 1 → m = c1^x * c2^y mod n;
- 实操:用 Crypto 库或 gmpy2 实现扩展欧几里得算法,求解 x、y 后计算明文。
(3)参数泄露攻击(泄露 p/q) 
- 真题场景:已知 p=…、q=…、e=…、c=…;
- 核心逻辑:计算 φ(n)=(p-1)(q-1) → 求 d=e 的逆元 mod φ(n) → m=c^d mod n;
- 工具辅助:用 RSA Tool 2 直接输入 p、q、e、c,一键计算明文。
3. 2025 解题关键 
- 记牢核心公式:φ(n)=(p-1)(q-1)、d=pow (e, -1, φ(n))、m=pow (c, d, n);
- 工具必备:gmpy2(大整数运算)、Crypto(RSA 实现)、RSA Tool 2(可视化工具);
- 常见 e 值:3、17、65537(赛事高频 e 值,遇到直接尝试对应攻击方法)。
4. 避坑清单(2025 赛事踩坑率 80%) 
- 大整数格式:题目给出的 n、c 可能是 16 进制字符串,需先转换为整数;
- 逆元存在条件:e 与 φ(n) 必须互质,否则需重新计算 φ(n)(可能 p/q 为合数);
- 明文编码:计算出的 m 可能是 16 进制或字节流,需用 hexdecode 转换为字符串。
三、哈希攻击:2025 赛事 “隐蔽得分点”
1. 漏洞本质(一句话懂) 
哈希函数(如 MD5、SHA1)的 “不可逆性” 被打破,通过碰撞、长度扩展等攻击,构造符合要求的哈希值,获取 flag 或绕过校验。
2. 2025 高频攻击类型(真题案例) 
(1)MD5 碰撞攻击 
- 2025 真题场景:要求构造两个不同的文件 A、B,使得 MD5 (A)=MD5 (B),提交文件获取 flag;
- 核心逻辑:利用 MD5 的碰撞漏洞,生成具有相同哈希值的不同文件;
- 实操:用 fastcoll 工具生成碰撞文件,命令:
fastcoll -p prefix.txt -o file1.bin file2.bin(prefix.txt 为文件前缀)。
(2)长度扩展攻击(SHA1/SHA256) 
- 真题场景:已知哈希值
hash = SHA1(secret + data),给出 data 和 hash,求 secret 长度后构造secret + data + padding + new_data的哈希值; - 核心逻辑:利用哈希函数的分组加密特性,在已知哈希值的基础上扩展数据;
- 工具辅助:用 HashPump 工具,命令:
hashpump -s 已知hash -d 已知data -a 新数据 -l secret长度。
(3)哈希爆破(弱口令场景) 
- 真题场景:已知 flag 格式为
flag{xxx},哈希值为e10adc3949ba59abbe56e057f20f883e; - 核心逻辑:对常见字符串进行哈希计算,与目标哈希值比对;
- 实操:用 Hashcat 工具,命令:
hashcat -m 0 e10adc3949ba59abbe56e057f20f883e rockyou.txt(rockyou.txt 为密码字典)。
3. 2025 解题技巧 
- 哈希值识别:MD5 为 32 位、SHA1 为 40 位、SHA256 为 64 位,根据长度快速判断算法;
- 字典选择:优先使用 CTF 专用字典(如 ctf-passwords.txt),包含常见 flag 格式、弱口令;
- 碰撞工具:MD5 用 fastcoll,SHA1 用 shattered,长度扩展用 HashPump。
4. 避坑清单(2025 赛事踩坑率 75%) 
- 哈希大小写:部分题目哈希值为大写,爆破时需统一格式;
- padding 格式:长度扩展攻击中,padding 需符合哈希函数的填充规则(如 SHA1 填充为 64 字节块);
- 字典路径:工具使用时需指定正确的字典路径,避免因路径错误导致爆破失败。
下期预告:Crypto 模块进阶篇
本期拆解的古典密码、RSA、哈希攻击,覆盖 2025 Crypto 模块 60% 的基础题和中等题!下期将聚焦 “进阶难点”:AES 对称加密(CBC/ECB 模式攻击)、流密码(RC4 密钥重用)、随机数安全(MT19937 预测),搭配多密码混合出题场景,帮你突破 Crypto 高分瓶颈!
福利:2025 Crypto 实战福利包免费领!
领取方式:扫描下方二维码,回复关键词【ctf】,即可直接获取福利包,还能加入 2025 CTF 实战交流群,群内每周更新真题、实时答疑,跟着大佬一起刷题上分!
查看原文:《CTF Crypto 模块拆解(第 4 期):2025 赛事高频密码学,从古典密码到现代加密实战》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论