One-Time-Pad

通過加密下一個密鑰來隱藏一次性填充消息的元數據

  • May 20, 2017

這是一個我覺得有一些我無法指出的大缺陷的想法。

場景是:Alice 將出國 5 天,希望能檢索到一些資訊並發回給 Bob。她不想讓任何聽的人知道她是哪一天得到資訊的。她隨身攜帶了一個一次性的資訊大小和一個硬體隨機數發生器。

我想到的解決方案是:

Alice and Bob at home
Alice creates new key(key1) > Bob (key1)

Alice travels to Elbonia
Alice creates new key (key2) XOR key1 > Bob (key2)
Alice creates new key (key3) XOR key2 > Bob (key3)
Alice creates msg + padding (msg) XOR key3 > Bob (msg)
Alice creates new (rand) > Bob (rand)
Alice creates new (rand) > Bob (rand)
Alice travels home

這個系統比在她收到資訊的那天發送加密消息,在其他日子發送純隨機數據更好還是更差?

基本上,這是一個一次性的變體,每天都會發送一個密碼,包括一個

  • 在實際消息發送前的幾天,一個新的隨機填充替換以前的隨機填充(與原始填充相同的大小),通過 XOR 與目前隨機填充加密;
  • 在某一天,要發送的消息(填充到 pad 大小)與目前隨機 pad 進行 XOR 加密;
  • 隨後幾天隨機(墊大小)。

這允許發送一條消息。實際上,接收者必須提前知道或弄清楚消息是在哪一天發送的,但對於實際消息來說,後者很容易。

這樣可行; 假設生成的所有隨機位完全獨立且無偏,它確保了與 one pad 相同的無條件安全性,並滿足了隱藏資訊發送日期的既定安全目標。生成器的質量是最重要的:例如,請注意,僅通過區分攻擊就可以找到實際消息在哪一天發送。

從實際的角度來看,與在不發送消息的每一天隨機發送相比,所提出的系統具有嚴重的操作缺陷:如果實際消息發送前任何一天的密碼失去(或亂碼),則消息不能被破譯(或亂碼)。

在所有生成的隨機位完全獨立且無偏的假設下,我看不到任何優勢。

更糟糕的是,無論是從實際情況還是從歷史角度來看。你陷入了一種非常常見但非常誘人的嘗試,以改進古老的一次性墊。歷史一再證明所使用的技術的完整性。密鑰材料從未在傳輸通道上擴展。運送關鍵物資的人已被處決。如果一個 pad 可以通過與密文相同的通信通道可靠地傳輸,他們就可以呆在家裡喝茶。

您可能在數學上能夠擴展,但是當您開始使用這個位和那個位執行所有 xor 時,您可能會冒著重複使用和暴露焊盤的風險。如果您的團隊可以訪問硬體隨機數生成器,請按預期使用它,並為 Alice 提供足夠的密鑰材料來生成真實和虛擬消息。允許填充你的願望。然後隨機或定時發送真偽消息,偽裝真實傳輸。

隱藏真正傳輸的日期被稱為掩蔽,security.SE 的人可能會對此進行更多說明並進行更廣泛的流量分析。這是嚴重的恐怖分子和戀童癖,因此請關注軍事信號情報。可以理解的是,那裡沒有很多當代材料(不包括業餘學術材料),但這裡有一份有趣的 1948 年文件,您可以從這裡開始。

是的,這是不必要的複雜。

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