ShakalBhau0001/caesar-cipher-cryptanalysis-python
GitHub: ShakalBhau0001/caesar-cipher-cryptanalysis-python
一个教育性质的 Python 项目,通过暴力穷举和英语频率评分演示凯撒密码的密码分析过程。
Stars: 3 | Forks: 0
# 🔐 Caesar 密码密码分析 (Python)
一个教育性质的 **Python 实现的 Caesar 密码暴力破解密码分析。**
该项目演示了如何使用**穷举搜索和简单的英语频率评分来破解经典加密。**
它被设计为一个**学习和学术项目**,旨在了解为什么经典密码是不安全的,以及攻击者如何分析加密文本——而不是作为一个现实世界的攻击工具。
## 🧱 项目结构
```
caesar-cipher-cryptanalysis-python/
│
├── assets/ # Screenshots
├── app.py # Brute-force Basic CLI Version
├── interactive.py # Rich-powered CLI
├── requirements.txt # Dependencies
├── LICENSE # Project license
└── README.md # Project documentation
```
## ✨ 功能
### 🔍 全局暴力破解搜索
- 测试所有 25 种可能的 Caesar 位移
- 同时支持:
- `L` → 向左位移
- `R` → 向右位移
- 自动评估所有可能的明文候选
### 🧠 英语评分系统
- 使用基于频率的启发式评分
- 优先考虑常见的英语字母 (E, T, A, O, I, N 等)
- 为空格和可读结构加分
- 自动对输出进行排名
### 📊 自动排名结果
- 根据可能性对明文候选进行排序
- 显示最可能的解密结果
- 移除镜像重复结果
### 🧮 教育重点
- 演示密码分析工作流
- 展示经典替换密码的弱点
- 巩固模运算概念
- 简洁且模块化的 Python 实现
### 🎨 Rich CLI(交互模式)
- 使用 Rich 构建精美的彩色终端 UI
- 在结构化表格中显示密钥矩阵 🔥
- 带有验证的交互式提示
- 简洁易读的输出面板
### ⚡ 双模式支持
- 🧼 基础 CLI → 轻量级,无依赖
- 🎨 Rich CLI → 增强的 UI,带有颜色和结构化显示
## 🛠 使用的技术
| 技术 | 作用 |
| ---------------------- | ----------------------------------- |
| **Python 3** | 核心编程语言 |
| **ord() / chr()** | 字符到 ASCII 的转换 |
| **模运算** | 循环字母位移 (`% 26`) |
| **启发式评分** | 英语相似度评估 |
| **Rich** | 样式化 CLI、颜色、面板 |
## 📌 本项目的目的
该项目旨在:
- 了解 Caesar 密码的弱点
- 学习暴力破解密码分析
- 探索基本的频率分析概念
- 从道德角度模拟攻击者的视角
- 增强 Python 逻辑和模块化设计技能
## ▶️ 如何运行
### 1️⃣ 克隆仓库
```
git clone https://github.com/ShakalBhau0001/caesar-cipher-cryptanalysis-python.git
```
### 2️⃣ 导航到项目文件夹
```
cd caesar-cipher-cryptanalysis-python
```
### 3️⃣ 安装依赖
```
pip install rich
```
**或者**
```
pip install -r requirements.txt
```
### 4️⃣ 运行项目
#### 🧼 基础 CLI 版本
```
python app.py
```
#### 🎨 Rich 交互版本
```
python interactive.py
```
### 5️⃣ 按照 CLI 基础版本的提示操作
- 提供任何 Caesar 加密的消息
- 查看自动排名的可能明文
- 分析位移和方向结果
## 🔎 示例
```
Enter Caesar cipher text: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD
Top Possible Plaintexts:
Shift 3 | Dir R | Score 72 | THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
Shift 23 | Dir L | Score 72 | THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
...
```
## ⚠️ 局限性
- 英语评分是基于启发式的(非统计级别)
- 仅适用于 Caesar 密码
- 不适用于现实世界的加密系统
- 仅支持基于 CLI 的交互
## 🌟 未来改进
- 实现完整的频率分布比较
- 添加基于字典的验证
- 支持文件输入
- 增加对其他经典密码的支持
- 转换为可重用的 Python 模块
- 添加 Rich 表格以进行结果可视化
## ⚠️ 免责声明
本项目**仅出于教育和网络安全学习目的而创建。**
它展示了诸如 Caesar 密码等经典替换密码的固有弱点。
严禁将其用于未经授权的访问、恶意活动或现实世界中的安全攻击。
## 📸 预览

## 🪪 作者
## ⭐ 支持
如果您喜欢这个项目,请考虑在 GitHub 上给它一个 ⭐!
标签:PoC, Python, 凯撒密码, 安全教学, 密码分析, 密码学, 手动系统调用, 文档结构分析, 无后门, 暴力破解