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 密码等经典替换密码的固有弱点。 严禁将其用于未经授权的访问、恶意活动或现实世界中的安全攻击。 ## 📸 预览 ![Rich CLI 预览](https://static.pigsec.cn/wp-content/uploads/repos/cas/1e/1e126bdb398159541cc1679987b32811c959c54b12b6d3587e0c743e19c22287.png) ## 🪪 作者 ## ⭐ 支持 如果您喜欢这个项目,请考虑在 GitHub 上给它一个 ⭐!
标签:PoC, Python, 凯撒密码, 安全教学, 密码分析, 密码学, 手动系统调用, 文档结构分析, 无后门, 暴力破解