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 中的高层次流程)

  1. 秘密 → AES-SIV 加密 – 明文使用从共享密钥短语导出的密钥加密(PBKDF2-HMAC-SHA-256,600k 轮)。
  2. 加密字节 → LLM token 选择 – 加密字节流输入本地 LLM,LLM 选择其二进制表示编码这些字节的 token。生成的 token 序列被渲染为自然语言英文(覆盖文本)。
  3. 覆盖文本 → 消息应用 – 用户复制覆盖文本并粘贴到任何普通聊天中。
  4. 覆盖文本 → LLM 解码 – 接收方在收到的覆盖文本上运行相同模型,提取隐藏的 token 编码字节,并使用共享密钥解密,恢复原始秘密消息。
  5. 消息链式 – 每一步还对会话 ID、发送者名称、消息索引和所有先前消息的哈希进行签名,因此任何乱序或修改的消息都会被检测到。

快速入门(来自 README 的步骤)

  1. 克隆并构建
    git clone https://github.com/nethical6/conversation-stenography.git
    cd conversation-stenography
    go build -o conversation-stenography ./cmd/conversation-stenography
    
  2. 运行设置向导./conversation-stenography)– 选择模型,让向导下载模型并创建本地配置文件。
  3. 本地测试(可选)使用 ./conversation-stenography simulate
  4. 开始真实聊天 – 运行 ./conversation-stenography,输入对话名称、用户名和共享密钥短语。
  5. 发送 – 输入秘密消息;工具输出生成的覆盖文本以供复制。
  6. 接收 – 使用 /paste <sender> 粘贴收到的覆盖文本;工具解码并显示隐藏消息。

典型使用场景

  1. 两人当面会面,商定一个密钥短语和对话名称。
  2. 双方安装工具,运行设置向导,并选择相同的 LLM。
  3. 他们通过任何现有消息平台交换覆盖文本,从不向平台暴露真实载荷。

限制与警告(作者说明)

  • 概念验证 – 基于 LLM 的隐写检测技术已存在;该工具未经过高级对手的验证。
  • 必须精确复制 – 任何自动纠正、智能引号或格式更改都会导致解码失败。
  • 模型一致性 – 双方必须运行完全相同的模型版本和设置;否则解码失败。
  • 本地资源需求 – 运行 3B 参数 LLM 需要较新的 Apple Silicon Mac(MLX)或具备强大 GPU 的设备(用于 Torch 后端)。
  • 法律/伦理免责 – 仓库强调仅用于教育用途;滥用被禁止。

许可证

仓库包含 LICENSE 文件(README 中未列出具体 SPDX 标识符),因此项目根据该文件定义的条款为开源。


总结

Conversation Stenography 是一个真实的开源实现,将现代 LLM 推理与经典 AES-SIV 加密结合,将消息隐藏在普通聊天文本中。它面向研究人员和注重隐私的用户,提供一个自包含、本地运行的隐写通道,但仍是存在已知实用和安全限制的概念验证。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目