nethical6/conversation-steganography
Use LLMs to hide messages inside normal looking conversations
Conversation Stenography – 基于 AI 的隐写聊天
是什么 – 用 Go 编写的命令行工具,允许两个人通过任何普通消息应用(WhatsApp、Telegram、Signal、iMessage、电子邮件、Instagram 私信等)交换秘密消息。秘密文本首先使用 AES-SIV 加密,然后由本地运行的 LLM(例如 Llama 3.2 或 GPT-2)生成一段看起来像正常对话的 覆盖 文本。接收方运行相同程序,从 LLM 的 token 选择中提取隐藏的字节并解密,恢复原始秘密消息。
为何重要 – 载体文本与普通聊天无法区分,因此被动监控扫描加密载荷时难以标记该对话。所有加密工作和模型推理均在用户设备上完成;无数据发送至云端。
主要功能(如 README 所述)
| 功能 | 详情 |
|---|---|
| 端到端加密 | AES-SIV(认证加密)保护机密性和完整性。 |
| 消息链式 | 每条消息验证前序消息,检测篡改、删除或重排序。 |
| 本地 AI 模型 | 在设备上生成覆盖文本(Apple Silicon 上使用 MLX,其他平台使用 PyTorch + Transformers)。 |
| 跨平台载体 | 生成的覆盖文本可复制到任何聊天应用中;工具不直接集成到应用中。 |
| 模拟模式 | ./conversation-stenography simulate 可让两个虚拟参与者在单台机器上测试聊天。 |
| 可配置模型 | 支持 Llama 3.2(1B、3B)、Llama 3.1 8B、GPT-2(base 与 medium)。 |
| CLI 命令 | /paste、/send、/show、/status、/help、/quit 以及用于设置、列出对话和脚本化链式发送/接收的顶层命令。 |
| 环境变量覆盖 | 可通过环境变量提供密钥、模型路径、运行时等,用于自动化。 |
工作原理(README 中的高层次流程)
- 秘密 → AES-SIV 加密 – 明文使用从共享密钥短语导出的密钥加密(PBKDF2-HMAC-SHA-256,600k 轮)。
- 加密字节 → LLM token 选择 – 加密字节流输入本地 LLM,LLM 选择其二进制表示编码这些字节的 token。生成的 token 序列被渲染为自然语言英文(覆盖文本)。
- 覆盖文本 → 消息应用 – 用户复制覆盖文本并粘贴到任何普通聊天中。
- 覆盖文本 → LLM 解码 – 接收方在收到的覆盖文本上运行相同模型,提取隐藏的 token 编码字节,并使用共享密钥解密,恢复原始秘密消息。
- 消息链式 – 每一步还对会话 ID、发送者名称、消息索引和所有先前消息的哈希进行签名,因此任何乱序或修改的消息都会被检测到。
快速入门(来自 README 的步骤)
- 克隆并构建
git clone https://github.com/nethical6/conversation-stenography.git cd conversation-stenography go build -o conversation-stenography ./cmd/conversation-stenography - 运行设置向导(
./conversation-stenography)– 选择模型,让向导下载模型并创建本地配置文件。 - 本地测试(可选)使用
./conversation-stenography simulate。 - 开始真实聊天 – 运行
./conversation-stenography,输入对话名称、用户名和共享密钥短语。 - 发送 – 输入秘密消息;工具输出生成的覆盖文本以供复制。
- 接收 – 使用
/paste <sender>粘贴收到的覆盖文本;工具解码并显示隐藏消息。
典型使用场景
- 两人当面会面,商定一个密钥短语和对话名称。
- 双方安装工具,运行设置向导,并选择相同的 LLM。
- 他们通过任何现有消息平台交换覆盖文本,从不向平台暴露真实载荷。
限制与警告(作者说明)
- 概念验证 – 基于 LLM 的隐写检测技术已存在;该工具未经过高级对手的验证。
- 必须精确复制 – 任何自动纠正、智能引号或格式更改都会导致解码失败。
- 模型一致性 – 双方必须运行完全相同的模型版本和设置;否则解码失败。
- 本地资源需求 – 运行 3B 参数 LLM 需要较新的 Apple Silicon Mac(MLX)或具备强大 GPU 的设备(用于 Torch 后端)。
- 法律/伦理免责 – 仓库强调仅用于教育用途;滥用被禁止。
许可证
仓库包含 LICENSE 文件(README 中未列出具体 SPDX 标识符),因此项目根据该文件定义的条款为开源。
总结
Conversation Stenography 是一个真实的开源实现,将现代 LLM 推理与经典 AES-SIV 加密结合,将消息隐藏在普通聊天文本中。它面向研究人员和注重隐私的用户,提供一个自包含、本地运行的隐写通道,但仍是存在已知实用和安全限制的概念验证。
相关
- 项目
- 项目
- 项目
- 项目
- 项目