CRYPTO - 密码学

方向技能索引。攻击对象为加密、哈希、签名、PRNG、ZKP、数论类题目时从本索引路由。不要用于:二进制逆向出的自定义密码(先转 Reverse),纯编码解谜(转 Misc),题目主体是 Web 但用了 JWT/哈希(转 WEB)。

知识域路由表

分组 知识域
编码与古典 编码与解码 · 加法密码 · 单表替换 · 简单代换 · 多表替换 · 其他古典 · 键盘密码
对称与现代 流密码 · RC4 · LFSR · 分组密码 · 对称密码 · DES · AES
非对称 RSA · ElGamal · DSA · ECC · 非对称密码 · 离散对数 · 密钥交换 · 格密码
哈希与签名 MD5 · SHA1 · FNV · 电子签名
随机数与求解 LCG · MT19937 · Z3 · 数理

环境与工具基线

pip install pycryptodome z3-solver sympy gmpy2 hashpumpy fpylll py_ecc
apt install hashcat sagemath        # SageMath 用于 ECC/Coppersmith/格
python RsaCtfTool.py -n <n> -e <e> --uncipher <c>   # RSA 自动化攻击套件

通用解题流程

  1. 识别类型:密文形态(base64/hex/数字串)、给出的参数(n,e / c,p,q / 签名)。
  2. RSA 先做体检:位长、e 大小、N 可否分解(factordb/yafu/RsaCtfTool)。
  3. 对称/流密码找"预言机":服务端是否返回解密结果、padding 合法性、长度变化。
  4. PRNG 题先问:种子从哪来(时间?用户输入?)、泄露了多少输出。
  5. 解出明文后检查 flag 格式;m 可能是逐字符拆开、分层加密或与密钥异或的复合结构。

评论