SQCTF2025-Crypto-WP
字数 2490 2025-08-30 06:50:35

SQCTF2025 Crypto题目解析与教学文档

1. 魔改Base64解码

题目内容: 91kR53l4pXoztyd3wSe3kJc3dBpyQQpj8Qbm8Odm8Jcz4OpC5zcClzcCgPvg==

解题步骤:

  1. 识别这是一个经过修改的Base64编码
  2. 尝试标准Base64解码失败后,需要分析魔改部分
  3. 通过观察发现可能是替换了字符集或添加了前缀
  4. 去除前缀"91"后解码成功

Flag: SQCTF{b7b48685-03ef-4e24-b25b-212fac2ec2d3}

教学要点:

  • Base64变种常见修改方式:字符集替换、添加固定前缀/后缀、位操作等
  • 遇到Base64解码失败时,可尝试去除固定部分或分析字符集

2. Base91与Rabbit解密

题目内容: 长字符串加密数据

解题步骤:

  1. 首先使用Base91解码
  2. 根据提示"哔哔哩哔哔哩的哈哈大笑"猜测密码为"233"
  3. 使用Rabbit流密码解密

Flag: SQCTF{LOOK_my_eyes_baby_why?}

教学要点:

  • Base91编码特点:比Base64更高的压缩率
  • Rabbit流密码的使用方法
  • CTF中常见密码提示的关联方式

3. 核心价值观解码

题目内容: 核心价值观编码数据

解题步骤:

  1. 识别核心价值观编码特征
  2. 使用核心价值观解码工具连续解码

Flag: SQCTF{E2jacnicamcm_cnanamw_kwkma}

教学要点:

  • 核心价值观编码原理
  • 多层编码的识别与处理方法

4. 简单RSA

题目内容: 标准RSA加密

解题步骤:

  1. 识别为费马分解情况
  2. 使用yafu工具分解n得到p和q
  3. 标准RSA解密流程

教学要点:

  • 费马分解适用条件:p和q接近时
  • yafu工具的使用方法
  • RSA标准解密流程

5. ezCRT

题目内容: RSA-CRT问题

解题步骤:

  1. 猜测e=3(常见小指数情况)
  2. 应用中国剩余定理(CRT)攻击
  3. 计算明文

教学要点:

  • 中国剩余定理在密码学中的应用
  • 小指数攻击的原理
  • 多组同余方程求解方法

6. 椭圆曲线密码(ECC)

题目内容:

crypted_data = [(5081741, 6744615), (610619, 6218)]
c1 = E(5081741, 6744615)
c2 = E(610619, 6218)
m = c2 - secretKey * c1

解题步骤:

  1. 理解椭圆曲线上的点运算
  2. 计算离散对数问题求secretKey
  3. 使用secretKey解密得到明文

Flag: SQCTF{5720914}

教学要点:

  • 椭圆曲线密码基本原理
  • 椭圆曲线上的点加法和标量乘法
  • 离散对数问题在ECC中的应用

7. 维吉尼亚与凯撒密码

题目内容: 多层加密数据

解题步骤:

  1. 爆破得到维吉尼亚密码为"123456"
  2. 维吉尼亚解密后得到中间结果
  3. 再使用凯撒密码解密

Flag: SQCTF{you_are_win!}

教学要点:

  • 维吉尼亚密码的加密解密方法
  • 凯撒密码的特点
  • 多层加密的识别与分离

8. 密室逃脱挑战

四关解密过程:

  1. 第一关 - 凯撒密码:

    • 解密得到: "I am the key to the next"
  2. 第二关 - 栅栏密码:

    • 使用Fence解码,去除"?"得到: "The secret message is hidden in the flag"
  3. 第三关 - 摩斯密码:

    • 解码得到: "HALLO MORSE CODE GUTR"
  4. 第四关 - Base系列编码:

    • 连续Base解码得到flag

Flag: SQCTF{F4BBAC33-8D80-A886-5238-EA35B38B353A}

教学要点:

  • 多步骤密码挑战的解题思路
  • 各类古典密码的识别特征
  • 信息提取与组合技巧

9. RSA dp泄露攻击

题目内容: 标准RSA dp泄露场景

解题步骤:

  1. 利用dp泄露信息
  2. 通过数学推导恢复私钥
  3. 解密得到明文

教学要点:

  • dp参数在RSA中的含义
  • dp泄露攻击的数学原理
  • 攻击实现的具体步骤

10. 变种猪圈密码

题目内容: 特殊符号序列

解题步骤:

  1. 识别为猪圈密码变种
  2. 查找或构建对应密码表
  3. 逐符号解码

Flag: SQCTF{jijibaotonghualizuoyingxiong}

教学要点:

  • 猪圈密码的基本原理
  • 变种密码的识别方法
  • 符号到字母的映射技巧

11. 边信道分析(SCA)

题目内容:

  • template_trace_0.npy 和 template_trace_1.npy
  • energy_traces_with_flag.npy

解题步骤:

  1. 理解能量轨迹与二进制位的关系
  2. 计算每个轨迹与两个模板的欧氏距离
  3. 根据距离比较判断每位是0还是1
  4. 组合所有位得到二进制序列
  5. 转换为文本

教学要点:

  • 边信道攻击基本原理
  • 能量分析攻击的实现
  • 欧氏距离在模式识别中的应用
  • 二进制到文本的转换方法

12. 摩斯密码

题目内容: 摩斯电码

解题步骤:

  1. 识别摩斯密码特征
  2. 标准摩斯解码

Flag: SQCTF{YOU-HAVE-TALENT}

教学要点:

  • 摩斯电码的编码规则
  • 常见工具使用方法
  • 摩斯密码的变种识别

13. 共模攻击

题目内容: RSA共模场景

解题步骤:

  1. 识别共模攻击适用条件
  2. 应用扩展欧几里得算法
  3. 计算明文

教学要点:

  • RSA共模攻击原理
  • 扩展欧几里得算法实现
  • 相同明文不同加密指数的安全性问题

14. 托马斯·杰斐逊密码

题目内容: 历史密码

解题步骤:

  1. 识别为托马斯·杰斐逊密码轮
  2. 按照参考方法解密
  3. 从第17行提取flag

Flag: SQCTF{maketysecgreat}

教学要点:

  • 杰斐逊密码轮的历史与原理
  • 多行密码的识别方法
  • 历史密码在现代CTF中的应用

总结

本系列题目涵盖了广泛的密码学知识点,包括:

  1. 现代加密算法(RSA, ECC)
  2. 古典密码(凯撒、维吉尼亚、猪圈密码等)
  3. 编码方式(Base系列、核心价值观)
  4. 特殊攻击方法(边信道、共模攻击)
  5. 历史密码系统

解题关键在于:

  • 准确识别加密/编码类型
  • 了解各类密码的脆弱性
  • 合理使用工具与数学方法
  • 注意题目中的隐藏提示
  • 多层加密的分步处理
SQCTF2025 Crypto题目解析与教学文档 1. 魔改Base64解码 题目内容 : 91kR53l4pXoztyd3wSe3kJc3dBpyQQpj8Qbm8Odm8Jcz4OpC5zcClzcCgPvg== 解题步骤 : 识别这是一个经过修改的Base64编码 尝试标准Base64解码失败后,需要分析魔改部分 通过观察发现可能是替换了字符集或添加了前缀 去除前缀"91"后解码成功 Flag : SQCTF{b7b48685-03ef-4e24-b25b-212fac2ec2d3} 教学要点 : Base64变种常见修改方式:字符集替换、添加固定前缀/后缀、位操作等 遇到Base64解码失败时,可尝试去除固定部分或分析字符集 2. Base91与Rabbit解密 题目内容 : 长字符串加密数据 解题步骤 : 首先使用Base91解码 根据提示"哔哔哩哔哔哩的哈哈大笑"猜测密码为"233" 使用Rabbit流密码解密 Flag : SQCTF{LOOK_my_eyes_baby_why?} 教学要点 : Base91编码特点:比Base64更高的压缩率 Rabbit流密码的使用方法 CTF中常见密码提示的关联方式 3. 核心价值观解码 题目内容 : 核心价值观编码数据 解题步骤 : 识别核心价值观编码特征 使用核心价值观解码工具连续解码 Flag : SQCTF{E2jacnicamcm_cnanamw_kwkma} 教学要点 : 核心价值观编码原理 多层编码的识别与处理方法 4. 简单RSA 题目内容 : 标准RSA加密 解题步骤 : 识别为费马分解情况 使用yafu工具分解n得到p和q 标准RSA解密流程 教学要点 : 费马分解适用条件:p和q接近时 yafu工具的使用方法 RSA标准解密流程 5. ezCRT 题目内容 : RSA-CRT问题 解题步骤 : 猜测e=3(常见小指数情况) 应用中国剩余定理(CRT)攻击 计算明文 教学要点 : 中国剩余定理在密码学中的应用 小指数攻击的原理 多组同余方程求解方法 6. 椭圆曲线密码(ECC) 题目内容 : 解题步骤 : 理解椭圆曲线上的点运算 计算离散对数问题求secretKey 使用secretKey解密得到明文 Flag : SQCTF{5720914} 教学要点 : 椭圆曲线密码基本原理 椭圆曲线上的点加法和标量乘法 离散对数问题在ECC中的应用 7. 维吉尼亚与凯撒密码 题目内容 : 多层加密数据 解题步骤 : 爆破得到维吉尼亚密码为"123456" 维吉尼亚解密后得到中间结果 再使用凯撒密码解密 Flag : SQCTF{you_are_win!} 教学要点 : 维吉尼亚密码的加密解密方法 凯撒密码的特点 多层加密的识别与分离 8. 密室逃脱挑战 四关解密过程 : 第一关 - 凯撒密码 : 解密得到: "I am the key to the next" 第二关 - 栅栏密码 : 使用Fence解码,去除"?"得到: "The secret message is hidden in the flag" 第三关 - 摩斯密码 : 解码得到: "HALLO MORSE CODE GUTR" 第四关 - Base系列编码 : 连续Base解码得到flag Flag : SQCTF{F4BBAC33-8D80-A886-5238-EA35B38B353A} 教学要点 : 多步骤密码挑战的解题思路 各类古典密码的识别特征 信息提取与组合技巧 9. RSA dp泄露攻击 题目内容 : 标准RSA dp泄露场景 解题步骤 : 利用dp泄露信息 通过数学推导恢复私钥 解密得到明文 教学要点 : dp参数在RSA中的含义 dp泄露攻击的数学原理 攻击实现的具体步骤 10. 变种猪圈密码 题目内容 : 特殊符号序列 解题步骤 : 识别为猪圈密码变种 查找或构建对应密码表 逐符号解码 Flag : SQCTF{jijibaotonghualizuoyingxiong} 教学要点 : 猪圈密码的基本原理 变种密码的识别方法 符号到字母的映射技巧 11. 边信道分析(SCA) 题目内容 : template_ trace_ 0.npy 和 template_ trace_ 1.npy energy_ traces_ with_ flag.npy 解题步骤 : 理解能量轨迹与二进制位的关系 计算每个轨迹与两个模板的欧氏距离 根据距离比较判断每位是0还是1 组合所有位得到二进制序列 转换为文本 教学要点 : 边信道攻击基本原理 能量分析攻击的实现 欧氏距离在模式识别中的应用 二进制到文本的转换方法 12. 摩斯密码 题目内容 : 摩斯电码 解题步骤 : 识别摩斯密码特征 标准摩斯解码 Flag : SQCTF{YOU-HAVE-TALENT} 教学要点 : 摩斯电码的编码规则 常见工具使用方法 摩斯密码的变种识别 13. 共模攻击 题目内容 : RSA共模场景 解题步骤 : 识别共模攻击适用条件 应用扩展欧几里得算法 计算明文 教学要点 : RSA共模攻击原理 扩展欧几里得算法实现 相同明文不同加密指数的安全性问题 14. 托马斯·杰斐逊密码 题目内容 : 历史密码 解题步骤 : 识别为托马斯·杰斐逊密码轮 按照参考方法解密 从第17行提取flag Flag : SQCTF{maketysecgreat} 教学要点 : 杰斐逊密码轮的历史与原理 多行密码的识别方法 历史密码在现代CTF中的应用 总结 本系列题目涵盖了广泛的密码学知识点,包括: 现代加密算法(RSA, ECC) 古典密码(凯撒、维吉尼亚、猪圈密码等) 编码方式(Base系列、核心价值观) 特殊攻击方法(边信道、共模攻击) 历史密码系统 解题关键在于: 准确识别加密/编码类型 了解各类密码的脆弱性 合理使用工具与数学方法 注意题目中的隐藏提示 多层加密的分步处理