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 加密,將訊息隱藏在一般聊天文字中。它面向研究人員與注重隱私的使用者,提供一個自包含、本地執行的隱寫通道,但仍是存在已知實用與安全限制的概念驗證。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案