BreakSmurf/ctf-crypto-challenge
GitHub: BreakSmurf/ctf-crypto-challenge
一个 CTF 密码学入门教学项目,包含自制加密链挑战及完整的解题步骤与原理解析。
Stars: 0 | Forks: 0
# CTF Crypto 挑战赛 — "Layers"
自制 CTF 风格的密码学挑战(Crypto 类别,Easy 难度)+
附带完整解析的详细 write-up。
## 结构
```
challenge/
README.md — условие задачи (то, что получает решающий)
output.txt — зашифрованный флаг
generate_challenge.py — скрипт автора (генерирует output.txt из секретного флага/ключа)
solve.py — решение
WRITEUP.md — пошаговый разбор атаки
```
## 任务
Flag 经由以下链条加密:`XOR(单字节密钥) → Base64 → reverse(字符串)`。
解题者不知道密钥。具体方案描述在 [`challenge/README.md`](challenge/README.md) 中。
## 解决方案
```
python solve.py
```
```
[+] Найден ключ: 0x7f
[+] Флаг: FLAG{x0r_bru73_f0rc3_1s_ea5y}
```
完整解析见 [`WRITEUP.md`](WRITEUP.md):为什么字符串反转很容易被
发现,如何解码 Base64,以及如何在已知明文前缀(`FLAG{`)的情况下,
通过穷举 256 个密钥来破解单字节 XOR。
## 本挑战的教学目的
- Base64 是一种编码方式,而不是加密(无需密钥即可逆向还原)
- 如果已知明文片段(crib-dragging),单字节 XOR 很容易通过暴力破解攻破
- 如果每一层加密本身都很薄弱,那么“多层”加密并不等于高加密强度
## Roadmap
- [ ] 难度更高的挑战:多字节密钥的 XOR(repeating-key XOR + 频率分析)
- [ ] 解析公开 CTF 平台(如 picoCTF 等)的真实任务
标签:Python, 安全靶场, 密码学, 手动系统调用, 无后门, 逆向工具