Steganography

任何有效的基於文本的隱寫方案?

  • May 3, 2022

可以使用以圖像為封面的複雜高效的隱寫方案。但是,我想知道:有沒有使用文本作為封面的?

如果由於限制只能傳輸一些可列印的自然語言文本,那麼使用文本作為封面可能會很有用。

**有誰知道這樣的方案或如何設計一個?**我希望隱寫位以不低於 1/50 的比率覆蓋文本位。該方案應該是使用者友好的並且易於實施。

$$ Addendum 1, edited $$我創建了一個名為 WORDLISTTEXTSTEGANOGRAPHY 的方案。它應該工作,在範圍內$$ 0.5, 1.0 $$自然語言文本的每個單詞的位數。在其中,使用者必須在軟體的指導下進行一些嘗試和錯誤。(例如,使用適當的密碼本可以高度壓縮輸入的隱寫序列。)最新版本 2.1 在 Python V.3.6.1 上執行。

我的理解是“以文本為封面的隱寫術”的三種最流行的方法是:

1 通過從字典中一次選擇一個單詞來生成一個全新的文本,使用密文位來選擇哪個單詞。

2 取一些固定的文本,並發送與原始文本完全相同的一系列字母,通過以我們希望監獄長不會注意到的方式修改該文本的表示來添加密文位。

  • 使用與培根密碼(1605)中略有不同的兩種字型。
  • 在行尾添加空格字元,它們通常是不可見的,如SNOW (1996?)。
  • 改變單詞之間的間距;左右微調字母(非標準字距調整)或上下微調。
  • 等等。

3 取一些固定的文本,並以我們希望監獄長不會注意到的方式稍微修改單詞。

在他的回答中,Michael 提到了一種已知的使用單詞/句子的第一個字元作為隱寫字元的隱寫方案,並正確地指出,只有當隱寫字元序列是自然語言時,該方案才能實際應用(“使用者友好”)(即未加密,在這種情況下,該方案顯然非常弱),並且當隱寫字元序列是要傳輸的實際秘密消息的密文時,則不是。

在我看來,通過適當的改編/修改,如果人們可以接受傳輸效率的某些相應降低,那麼同樣的經典已知想法仍然可以得到有效利用。用一個具體的結構來說明:將字母表中的 26 個字元適當地分成 8 組(通常大小不同),使得在每組中至少有一個字元經常是自然語言句子的第一個字元通訊。然後,給定任意 3 個 stego 位的集合,使用者不會有太大的困難來編寫一個對於給定的通信上下文足夠自然的句子,並且該句子以上述 8 個組之一中的一個字元開頭對應於這 3 個隱秘位的編碼。這邊走,隱藏文本的每個句子都可以傳輸 3 個隱寫位,雖然不是很高的速率,但在實踐中值得考慮的事情恕我直言。(請注意,由於僅利用單詞的一個字元而不是整個單詞,因此自然具有靈活性/簡單性,這對於依賴於單詞替換的方案幾乎無法實現。)

引用自:https://crypto.stackexchange.com/questions/6058