ShakalBhau0001/classical-crypto-gui-toolkit
GitHub: ShakalBhau0001/classical-crypto-gui-toolkit
一款基于Python CustomTkinter的经典密码学GUI教学工具包,支持多种古典密码的加解密与暴力破解演示。
Stars: 3 | Forks: 0
# 🗝️ Classical-Crypto-GUI-Toolkit
### 经典密码学桌面工具包
**Classical-Crypto-GUI-Toolkit** 是一款基于 Python 的桌面应用程序,用于进行经典密码和密码分析的实验。
它专为希望使用直观图形界面学习或演示经典加密技术的**学生、安全爱好者和开发者**而设计。
所有操作均在**本地**进行,确保**完全离线使用和隐私**。
## 🖥️ CLI 替代方案
对于喜欢基于终端交互的用户:
👉 CLI 版本通过命令行命令提供了类似的功能。
🔗 CLI 代码仓库:**[Classical-Crypto-CLI-Toolkit](https://github.com/ShakalBhau0001/classical-crypto-cli-toolkit)**
## ✨ 核心原则
1. **专注学习** – 非常适合初学者探索密码学
2. **以 GUI 为中心** – 使用 CustomTkinter 构建,清晰且易用
3. **模块化架构** – 将密码逻辑与界面层分离
这款工具包具有教育意义且功能完备,每种密码和攻击方式都是独立实现的。
## 🧩 包含的模块
### 🔐 经典密码
- Caesar Cipher – 基于移位的替换密码
- Playfair Cipher – 基于双字母组的替换密码
- Rail Fence Cipher – 之字形置换密码
- Row Column Cipher – 列置换密码
### 🧪 攻击
- Caesar 暴力破解攻击 – 尝试所有可能的移位
- Rail Fence 暴力破解攻击 – 尝试多个栏数值
## 📁 项目结构
```
classical-crypto-gui-toolkit/
│
├── LICENSE
├── main.py
├── README.md
├── requirements.txt
│
├── core/
│ ├── __init__.py
│ ├── utils.py
│ ├── ciphers/
│ │ ├── __init__.py
│ │ ├── caesar.py
│ │ ├── playfair.py
│ │ ├── rail_fence.py
│ │ └── row_column.py
│ │
│ └── attacks/
│ ├── __init__.py
│ ├── caesar_brute.py
│ └── rail_fence_brute.py
│
└── gui/
├── __init__.py
├── app.py
├── main_window.py
├── theme.py
├── validators.py
│
├── components/
│ ├── __init__.py
│ ├── action_buttons.py
│ ├── base_attack_frame.py
│ ├── base_cipher_frame.py
│ ├── sidebar.py
│ └── text_area.py
│
└── panels/
├── __init__.py
├── about_panel.py
├── attack_panel.py
├── cipher_panel.py
│
├── attacks/
│ ├── __init__.py
│ ├── caesar_attack_panel.py
│ └── railfence_attack_panel.py
│
└── ciphers/
├── __init__.py
├── caesar_panel.py
├── playfair_panel.py
├── rail_fence_panel.py
└── row_column_panel.py
```
## 🚀 快速开始
### 1️⃣ 克隆仓库
```
git clone https://github.com/ShakalBhau0001/classical-crypto-gui-toolkit.git
cd classical-crypto-gui-toolkit
```
### 2️⃣ 安装依赖
```
pip install -r requirements.txt
```
### 3️⃣ 运行应用
```
python main.py
```
## 🖼️ GUI 概览
应用程序提供:
- 在 Cipher、Attack 和 About 面板之间的侧边栏导航
- 每种密码的专用面板
- 带有结果显示的暴力破解攻击界面
- 输入与输出文本区域的清晰分离
## 📦 requirements.txt
```
customtkinter
cryptography
```
## ⚠️ 安全免责声明
此工具包侧重于**教育和研究**。
它使用的是经典密码,**不适用于现代安全通信**。
## 🛣️ 路线图
- 更多经典密码实现
- 频率分析工具
- 导出结果功能
- 独立可执行文件打包
## 🪪 作者
## ⭐ 支持
如果您喜欢这个项目,请考虑在 GitHub 上给它点个 ⭐!
标签:Python, 密码分析, 密码学, 手动系统调用, 教育工具, 无后门, 桌面应用, 经典密码算法, 逆向工具