v2.0: 新增 ChaosCryptChat 端到端加密聊天系统 + 更新文档

This commit is contained in:
dvs
2026-08-26 16:02:23 +08:00
parent 79f4ad8b78
commit 124b511d5f
5 changed files with 4765 additions and 6 deletions
+113 -6
View File
@@ -1,4 +1,4 @@
\# 🔐 ChaosCrypt - 混沌加密系统
\# 🔐 ChaosCrypt - 混沌加密系统(v2.0)
@@ -6,6 +6,8 @@
> \*不依赖 NIST、不依赖椭圆曲线、不依赖质数分解——只依赖随机性本身\*
> \*\*v2.0 新增 💬 ChaosCryptChat:基于混沌加密的端到端加密聊天系统(文本/图片/文件/语音)\*\*
\---
@@ -36,9 +38,11 @@
10\. \[常见问题](#常见问题)
11\. \[项目结构](#项目结构)
11\. \[💬 ChaosCryptChat 混沌加密聊天](#-chaoscryptchat-混沌加密聊天)
12\. \[免责声明](#免责声明)
12\. \[项目结构](#项目结构)
13\. \[免责声明](#免责声明)
@@ -60,6 +64,8 @@
> 这不是对现有加密算法的改进,而是对"安全"这个概念的重新定义。
\*\*v2.0 新增\*\*:在混沌加密内核之上构建了 \*\*ChaosCryptChat\*\* 端到端加密聊天系统,让混沌加密真正走进实时通信场景。
\---
@@ -128,6 +134,8 @@ ChaosCrypt 对此表示:
| 🐍 \*\*纯 Python\*\* | 仅需 Python 3.6+,零额外依赖 |
| 💬 \*\*加密聊天(v2.0)\*\* | ChaosCryptChat 端到端加密聊天:文本/图片/文件/语音,P2P + 中央服务器双模式 |
\---
@@ -482,6 +490,83 @@ AES 的 10⁷⁷ 在它面前就像一粒沙子对比整个银河系。
\## 💬 ChaosCryptChat 混沌加密聊天(v2.0 新增)
\*\*ChaosCryptChat\*\* 是基于 ChaosCrypt 混沌加密内核构建的端到端加密聊天系统。所有聊天内容(文本、图片、文件、语音)在发送前均经混沌加密,服务器与中间节点无法读取任何消息。
\### 核心特性
| 特性 | 说明 |
|------|------|
| 🔗 \*\*端到端加密\*\* | 所有消息客户端本地加密,服务器只做中继,不持有群密钥 |
| ☁️ \*\*双群模式\*\* | 🔗 端到端 P2P 直连 + ☁️ 中央服务器(解决 NAT 穿透) |
| 🎤 \*\*语音消息\*\* | 录音 → 混沌加密 → 发送 → 解密播放 |
| 🖼️ \*\*图片/文件\*\* | 二进制数据混沌加密传输,支持任意文件类型 |
| 👥 \*\*群管理\*\* | 创建群、加入群、群名、公告、踢人、群主审批 |
| 🚫 \*\*消息撤回\*\* | 2 分钟内可撤回自己的消息 |
| 🔑 \*\*每用户密钥\*\* | 每用户独立密钥认证,防止冒充他人 |
| 📜 \*\*历史记录\*\* | SQLite 本地存储聊天历史(重启不丢) |
| 🛡️ \*\*HMAC 校验\*\* | 每条消息带 HMAC 签名,防篡改、防伪造 |
| 📱 \*\*密钥分享\*\* | 群密钥支持复制 / 二维码 / 文件三种方式分享 |
\### 两种群模式
\*\*① 端到端(P2P)群聊\*\*:群主即服务器,成员直连群主主机,适合局域网或公网 IP 场景。群密钥由群主生成并分享给成员。
\*\*② 中央服务器群聊\*\*:运行 `server.py`(公网 IP)解决 NAT 穿透。服务器只负责用户认证、群成员管理、消息中继——\*\*不持有群密钥,无法解密任何消息\*\*。
\### 快速启动
\#### 启动聊天客户端
```bash
cd ChaosCryptChat
python qtmain.py
```
\#### 启动中央服务器(可选,公网/NAT 场景)
```bash
cd ChaosCryptChat
python server.py 8666
```
\#### 安装依赖
```bash
pip install PyQt5 \# 必需,GUI 界面
pip install pygame \# 语音播放(可选)
pip install sounddevice numpy \# 录音(可选,或 pyaudio)
pip install Pillow \# 图片显示(可选)
pip install qrcode \# 群密钥二维码(可选)
```
> 除 PyQt5 外均为可选依赖,未安装时对应功能自动禁用。
\### 使用流程
1\. \*\*注册/登录\*\*:启动后创建本地账户(PBKDF2 密码哈希,支持自动登录)
2\. \*\*创建群\*\*:点击「📡 创建群」,将群密钥复制/生成二维码分享给好友
3\. \*\*加入群\*\*:点击「📥 加入群」,粘贴群密钥或扫码加入
4\. \*\*开始聊天\*\*:发送文本/图片/文件/语音;右键消息可撤回、分享、下载;群主可踢人、设公告、改群名
\---
\## 快速开始
@@ -501,7 +586,7 @@ cd chaoscrypt
\# 无需安装依赖,Python 3.6+ 即可
\# 核心模块零依赖,Python 3.6+ 即可;ChaosCryptChat 需 PyQt5
```
@@ -813,6 +898,18 @@ A:有。证明如下:
A:初级和安全没有半毛钱关系。你长得好看能挡子弹吗?能破就是能破,不能破就是不能破。\*\*你破一个试试?\*\*
\*\*Q:ChaosCryptChat 聊天安全吗?\*\*
A:端到端加密——消息在客户端用群密钥混沌加密,服务器只转发密文、不持有密钥。即使服务器被入侵也拿不到聊天内容。
\*\*Q:聊天密钥怎么分享?\*\*
A:群主创建群后生成群密钥,可通过复制文本、二维码、密钥文件三种方式分享。请走可信渠道传递,避免被中间人截获。
\*\*Q:ChaosCryptChat 需要公网 IP 吗?\*\*
A:不需要。局域网用 P2P 直连即可;跨网络用中央服务器(server.py)中继,解决 NAT 穿透。
\---
@@ -831,13 +928,19 @@ chaoscrypt/
├── README.md # 本文档
└── SECURITY.md # 安全说明文档
├── SECURITY.md # 安全说明文档
└── ChaosCryptChat/ # 💬 混沌加密聊天(v2.0 新增)
├── qtmain.py # PyQt5 聊天客户端(端到端加密)
└── server.py # ☁️ 中央服务器(NAT 穿透 / 消息中继)
```
就这么三个文件,不藏任何东西,不依赖任何库。
核心就三个文件,零依赖;ChaosCryptChat 是 v2.0 新增的加密聊天模块。
@@ -855,6 +958,10 @@ chaoscrypt/
> 生产环境请确保 `.key` 文件和用户密码均安全存储,并考虑强制用户使用强密码策略。
> \*\*ChaosCryptChat\*\* 服务器不持有群密钥,但会记录用户登录信息与消息中继日志,请谨慎选择信任的服务器。
> 聊天密钥由群主分享,请通过可信渠道传递;即使服务器被攻陷也不会泄露历史聊天内容。
\---