TGCTF Crypto-wp
字数 1189 2025-08-30 06:50:35

TGCTF Crypto Writeup 教学文档

1. AAAAAAAA·真·签到

题目类型

变异凯撒密码

解题方法

  1. 识别题目形式为凯撒密码变种
  2. 根据flag头"TGCTF"可以推断加密方式
  3. 加密特点:
    • 从左1到0再到右1的变异方式
    • 特殊字符保持不变
    • 在26个字母范围内循环移位

关键点

  • 需要根据已知的flag格式推断加密规则
  • 注意特殊字符不参与移位

2. mm不躲猫猫

题目类型

多组RSA攻击

解题方法

  1. 题目提供多组nc值
  2. 猜测这些n值之间可能有公约数
  3. 尝试计算各组n之间的GCD
  4. 找到公约数后,进行常规RSA解密

关键点

  • 多组RSA中n值可能有共同因子
  • 使用GCD算法快速找到公约数

3. tRwSiAns

题目类型

多项式方程求解

解题方法

  1. 题目给出c1和c2两个三次多项式
  2. 通过c1-c2可以得到一个关于m的一元二次方程
  3. 已知h1和h2系数
  4. 使用sympy等数学工具直接解方程

关键点

  • 通过多项式相减降低方程次数
  • 利用已知系数求解方程

4. 宝宝RSA

题目类型

RSA攻击

解题方法

Part 1

  1. 题目中缺少e值
  2. 由于e不大,可以进行爆破
  3. 尝试常见小e值(3, 5, 7, 65537等)

Part 2

  1. 发现e=3且c比n小很多
  2. 可以直接对c开三次方得到明文

关键点

  • 小e值可能导致直接开方攻击
  • 当c < n时,不需要模运算直接解

Flag: TGCTF{!!3xP_Is_Sm@ll_But_D@ng3r0}

5. 费克特尔

题目类型

多因子RSA

解题方法

  1. 使用factordb.com网站分解n
  2. 得到n的所有因子
  3. 应用多因子RSA解密板子
  4. 计算φ(n)和各部分参数

关键点

  • 大数分解可能已有在线记录
  • 多因子RSA需要正确计算φ(n)

6. EZRSA

题目类型

Emoji RSA

解题方法

  1. p0由一系列emoji表示
  2. 观察emoji对应的数值范围在4036991100到4036991200之间
  3. 爆破最后一个emoji的可能值
  4. 使用Coppersmith方法求出p
  5. 发现e与φ(n)不互素
  6. 使用AMM(Adleman-Manders-Miller)算法求解

关键点

  • Emoji需要映射到数值
  • 小范围爆破可行
  • 当e与φ(n)不互素时需要特殊方法
  • AMM算法适用于这种情况

通用工具和方法

  1. 数学工具

    • Sympy:用于解方程
    • SageMath:用于高级数论运算
  2. 在线资源

    • factordb.com:大数分解
    • 各种RSA解密板子
  3. 算法

    • GCD计算
    • Coppersmith方法
    • AMM算法
  4. 攻击方法

    • 小指数攻击
    • 共模攻击
    • 因数分解攻击

总结

本比赛涵盖了多种密码学攻击技术,重点包括:

  • 各种RSA变种和攻击方法
  • 多项式方程求解
  • 特殊编码(如Emoji)处理
  • 当标准方法失效时的替代算法

掌握这些技术需要扎实的数论基础和对常见攻击场景的熟悉程度。

TGCTF Crypto Writeup 教学文档 1. AAAAAAAA·真·签到 题目类型 变异凯撒密码 解题方法 识别题目形式为凯撒密码变种 根据flag头"TGCTF"可以推断加密方式 加密特点: 从左1到0再到右1的变异方式 特殊字符保持不变 在26个字母范围内循环移位 关键点 需要根据已知的flag格式推断加密规则 注意特殊字符不参与移位 2. mm不躲猫猫 题目类型 多组RSA攻击 解题方法 题目提供多组nc值 猜测这些n值之间可能有公约数 尝试计算各组n之间的GCD 找到公约数后,进行常规RSA解密 关键点 多组RSA中n值可能有共同因子 使用GCD算法快速找到公约数 3. tRwSiAns 题目类型 多项式方程求解 解题方法 题目给出c1和c2两个三次多项式 通过c1-c2可以得到一个关于m的一元二次方程 已知h1和h2系数 使用sympy等数学工具直接解方程 关键点 通过多项式相减降低方程次数 利用已知系数求解方程 4. 宝宝RSA 题目类型 RSA攻击 解题方法 Part 1 题目中缺少e值 由于e不大,可以进行爆破 尝试常见小e值(3, 5, 7, 65537等) Part 2 发现e=3且c比n小很多 可以直接对c开三次方得到明文 关键点 小e值可能导致直接开方攻击 当c < n时,不需要模运算直接解 Flag: TGCTF{!!3xP_Is_Sm@ll_But_D@ng3r0} 5. 费克特尔 题目类型 多因子RSA 解题方法 使用factordb.com网站分解n 得到n的所有因子 应用多因子RSA解密板子 计算φ(n)和各部分参数 关键点 大数分解可能已有在线记录 多因子RSA需要正确计算φ(n) 6. EZRSA 题目类型 Emoji RSA 解题方法 p0由一系列emoji表示 观察emoji对应的数值范围在4036991100到4036991200之间 爆破最后一个emoji的可能值 使用Coppersmith方法求出p 发现e与φ(n)不互素 使用AMM(Adleman-Manders-Miller)算法求解 关键点 Emoji需要映射到数值 小范围爆破可行 当e与φ(n)不互素时需要特殊方法 AMM算法适用于这种情况 通用工具和方法 数学工具 : Sympy:用于解方程 SageMath:用于高级数论运算 在线资源 : factordb.com:大数分解 各种RSA解密板子 算法 : GCD计算 Coppersmith方法 AMM算法 攻击方法 : 小指数攻击 共模攻击 因数分解攻击 总结 本比赛涵盖了多种密码学攻击技术,重点包括: 各种RSA变种和攻击方法 多项式方程求解 特殊编码(如Emoji)处理 当标准方法失效时的替代算法 掌握这些技术需要扎实的数论基础和对常见攻击场景的熟悉程度。