# ctftool **Repository Path**: asddadsfxfs/ctftool ## Basic Information - **Project Name**: ctftool - **Description**: ctf密码学的一些常用脚本 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-25 - **Last Updated**: 2026-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CTF密码学工具集 > 一套完整的CTF密码学解题工具集,包含17个功能模块和密文自动识别工具 ## 项目简介 本项目专为CTF比赛设计,提供密码学题目的快速识别、分析和解密功能,涵盖编码、古典密码、XOR、AES、RSA、哈希等常见题型。 ## 功能特性 ### 🛠️ 主工具集 (crypto_toolkit.py) **7大套路题目:** - [x] 凯撒密码 - 字母位移 + 暴力破解 - [x] 二进制转ASCII - 8位一组转换 - [x] 单字节XOR - 爆破密钥 + 英文频率分析 - [x] Base64编解码 - 含自动识别 - [x] RSA基础解密 - 四步走法(分解n→算φ→求d→解密) - [x] 培根密码 - A/B序列解密 - [x] AES-ECB解密 - 分组密码 **附加工具箱:** - [x] 维吉尼亚密码 - 多表替换 + 密钥长度猜测 - [x] 栅栏密码 - W形排列 + 暴力破解 - [x] 仿射 & 埃特巴什 - 数学替换 + 暴力破解 - [x] ROT13 - 凯撒特例 - [x] 哈希计算 - MD5/SHA1/SHA256/SHA512 + 类型识别 - [x] 编码转换 - URL/HTML/Unicode/Hex/二进制/八进制 - [x] 进制转换 - 十/二/八/十六进制 + ASCII码表 - [x] 频率分析 - 字母频率统计 + 推测替换映射 - [x] 自动编码识别 - Hex/Base64/Base32/URL/HTML/二进制 - [x] 字符串工具 - 反转/大小写/Hex/Base64 + 字符统计 ### 🔍 密文识别工具 (cipher_identifier.py) 支持识别 15+ 种加密/编码类型: - Base64 / Base32 / Hex - URL编码 / HTML实体 / Unicode - 二进制 / 哈希值 - 培根密码 / 摩尔斯电码 - 凯撒 / 维吉尼亚 / 栅栏 - RSA / JWT / Brainfuck / Ook! ### 📚 攻略手册 (CTF密码学攻略手册.md) 完整的CTF密码学知识手册,包含: - 编码类基础(Base64/Hex/URL/HTML/Unicode/二进制) - 古典密码(凯撒/栅栏/培根/维吉尼亚/仿射/埃特巴什/摩尔斯) - XOR异或(单字节/多字节/已知明文攻击) - 分组密码(AES/DES模式/ECB检测/CBC翻转/Padding Oracle) - RSA非对称加密(基础公式/6种攻击手法) - 哈希与签名(长度识别/长度扩展攻击/JWT攻击) - 综合解题流程 + 工具网站推荐 ## 安装使用 ### 环境要求 - Python 3.6+ - pycryptodome(AES/RSA功能需要) ### 安装依赖 ```bash pip install pycryptodome ``` ### 运行工具 ```bash # 运行主工具集 python crypto_toolkit.py # 运行密文识别工具 python cipher_identifier.py ``` ## 使用示例 ### 示例1:凯撒密码解密 ``` 输入密文: WKH IODJ LV KHUH 选择: 1 (凯撒密码) 结果: THE FLAG IS HERE (偏移量=3) ``` ### 示例2:Base64解码 ``` 输入密文: ZmxhZ3tCYXNlNjRfaXNfZWFzeX0= 选择: 4 (Base64) 结果: flag{Base64_is_easy} ``` ### 示例3:密文自动识别 ``` 输入密文: 5f4dcc3b5aa765d61d8327deb882cf99 识别结果: 哈希值: MD5 / MD4 / NTLM (置信度: 90%) 下一步建议: 1. 确认哈希类型 2. 尝试在线彩虹表查询 ``` ## 项目结构 ``` ctftool/ ├── crypto_toolkit.py # 主工具集(17个功能) ├── cipher_identifier.py # 密文识别工具 ├── CTF密码学攻略手册.md # 完整知识手册 ├── README.md # 项目说明 ├── LICENSE # MIT开源协议 └── .gitignore # Git忽略文件 ``` ## 支持的密码类型 | 类型 | 识别特征 | 置信度 | |-----|---------|--------| | Base64 | A-Za-z0-9+/=,结尾有= | 95% | | Hex | 0-9a-f,长度偶数 | 95% | | URL编码 | %XX格式 | 85% | | 凯撒密码 | 单表替换,IC≈0.065 | 80% | | 维吉尼亚 | 多表替换,IC<0.065 | 75% | | RSA | 包含n=, e=, c= | 95% | | 培根密码 | 只有A和B,长度5的倍数 | 95% | | 摩尔斯电码 | . 和 - 组成 | 95% | ## 工具推荐 | 网站 | 用途 | |------|------| | [CyberChef](https://gchq.github.io/CyberChef/) | 瑞士军刀,150+种编码 | | [dcode.fr](https://www.dcode.fr/) | 古典密码全能解码 | | [factordb.com](http://factordb.com/) | RSA n分解查询 | ## 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 开源协议 本项目采用 [MIT License](LICENSE) 开源协议。 ## 作者 CTF密码学工具集 ## 致谢 感谢所有为CTF密码学领域做出贡献的开发者和研究者。 --- > 祝CTF比赛顺利!🎉