Install
openclaw skills install @yxy050208/ctf-crypto-solverCrypto密码学解题助手:RSA/AES/ECC/格/PRNG/哈希/签名攻击的识别与求解脚本开发。遇到 crypto、RSA、AES、CBC、padding oracle、格、LWE、PRNG、签名伪造类题目时使用。
openclaw skills install @yxy050208/ctf-crypto-solver识别密码体制 → 定位弱点 → 写求解脚本拿明文。
$PY = 64 位解题 Python(含 pycryptodome/z3/sympy/gmpy2)。
环境不确定时先运行 ctf-router 技能的 scripts/env-check.py 自检。/usr/share/wordlists/)。pip install fpylll 替代格归约,或装 Sage:
Linux sudo apt install sagemath;Windows 建议走 WSL。$PY -c "n=<N>; print('bits=', n.bit_length())" # RSA 模数位宽
$PY -c "from sympy import factorint; print(factorint(<n>))" # 小因子?
# 哈希识别:看长度(32=MD5, 40=SHA1, 64=SHA256 hex);hashcat --example-hashes 对照
# XOR 试探
$PY -c "from pwn import xor; print(xor(bytes.fromhex('<hex>'), b'flag{'))"
c*r^e 再除 rhash(SECRET||msg) 用 hashpumpy(pip 可装)srand(time(NULL)):用 ctypes 调 libc 的 srand/rand 同步序列(Windows 无 libc 时走 WSL)pip install fpylll(C 扩展,Windows 装不上就转 WSL)flag{ 前缀直接推 key;未知长度用 Kasiski(重复串距离 GCD)C1 xor C2 xor P_known = P_unknown,crib draggingfrom z3 import *
flag = [BitVec(f'f{i}', 8) for i in range(N)]
s = Solver()
# 按题目逻辑加约束(异或、乘、模、比较)
# 可加 Printables 约束: And(f>=32, f<=126)
if s.check() == sat:
m = s.model()
print(bytes(m[f].as_long() for f in flag))
本技能目录 references/ctf-crypto/ 下参考文件(含完整攻击代码):
| 文件 | 内容 |
|---|---|
| rsa-attacks.md / rsa-attacks-2.md | RSA 全攻击目录(含 Coppersmith、故障攻击、同态绕过) |
| modern-ciphers.md / -2 / -3 | AES 各模式攻击、padding oracle、MAC 伪造、GCM |
| classic-ciphers.md | 经典密码与 XOR 变体、文件格式头恢复密钥 |
| ecc-attacks.md | ECC/DSA 攻击全集 |
| lattice-and-lwe.md | 格攻击分诊、嵌入构造、失败模式 |
| advanced-math.md | LLL/BSGS/Coppersmith/同态等数学攻击代码 |
| prng.md / prng-attacks.md | MT/LCG/V8 random/ctypes 同步等 PRNG 攻击 |
| stream-ciphers.md | LFSR/RC4 |
| zkp-and-advanced.md | Z3 模式、Shamir、ZKP 伪造 |
| exotic-crypto*.md | 冷门代数结构(Paillier、热带半环等) |