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