Bootstrap

【Crypto】CTF 密码学题目解题思路图

CTF密码学题目解题思路图

密码学题目
├── 1. 编码/转换
│   ├── 1.1 Base64
│   │   └── 步骤:检查填充字符(=),解码工具(CyberChef)。
│   ├── 1.2 Hex
│   │   └── 步骤:检查0-9a-f,转换为ASCII。
│   ├── 1.3 ASCII码
│   │   └── 步骤:十进制/十六进制转字符。
│   └── 1.4 其他编码(摩尔斯、URL等)
│       └── 步骤:识别符号(如.-/),使用专用解码器。
│
├── 2. 古典密码
│   ├── 2.1 替换密码
│   │   ├── 2.1.1 凯撒密码
│   │   │   └── 步骤:暴力尝试所有移位(0-25),或频率分析。
│   │   ├── 2.1.2 单表替换(ROT13/Atbash)
│   │   │   └── 步骤:ROT13直接转换,Atbash字母反向映射。
│   │   └── 2.1.3 维吉尼亚密码
│   │       └── 步骤:Kasiski测试确定密钥长度,频率分析猜密钥。
│   └── 2.2 置换密码
│       ├── 2.2.1 栅栏密码
│       │   └── 步骤:尝试不同栏数重组文本。
│       └── 2.2.2 列置换
│           └── 步骤:确定列顺序,按密钥排列。
│
├── 3. 现代密码
│   ├── 3.1 对称加密
│   │   ├── 3.1.1 AES
│   │   │   ├── ECB模式:检测重复块,利用已知明文。
│   │   │   └── CBC模式:需IV,尝试Padding Oracle攻击。
│   │   └── 3.1.2 DES/3DES
│   │       └── 步骤:已知密钥解密或弱密钥攻击。
│   └── 3.2 非对称加密
│       ├── 3.2.1 RSA
│       │   ├── 小n分解:使用factordb/yafu分解n。
│       │   ├── 共模攻击:相同n不同e,扩展欧几里得求m。
│       │   ├── 小e攻击:直接开e次方(如e=3)。
│       │   └── Wiener攻击:d较小时利用连分数分解。
│       └── 3.2.2 椭圆曲线(ECC)
│           └── 步骤:利用参数漏洞或异常曲线。
│
├── 4. 哈希算法
│   ├── 4.1 已知哈希(MD5/SHA1)
│   │   └── 步骤:查彩虹表或爆破(John the Ripper)。
│   └── 4.2 加盐哈希
│       └── 步骤:提取盐值,组合字典爆破。
│
└── 5. 数学问题
    ├── 5.1 因数分解
    │   └── 步骤:Pollard's算法或利用特殊结构(如相近素数)。
    ├── 5.2 离散对数
    │   └── 步骤:Pohlig-Hellman或BSGS算法。
    └── 5.3 LFSR
        └── 步骤:Berlekamp-Massey算法恢复初始状态。

工具推荐

  • 编码/古典密码:CyberChef、quipqiup.com(自动替换密码分析)。
  • RSA:RsaCtfTool、sageMath。
  • 哈希破解:Hashcat、John the Ripper。
  • 数学计算:Python脚本、Wolfram Alpha。
;