One-Time-Pad

這個 OTP 方案安全嗎?

  • June 10, 2013

我有消息 $ m_1 $ 我想通過用兩個密鑰進行異或來加密它 $ k_1 $ 和 $ k_2 $ :

$$ c_1 = m_1 \oplus k_1 \oplus k_2 $$ 到現在為止還挺好。

現在我想知道是否可以使用不同的消息創建“假”結果 $ m_2 $ :

$$ c_2 = m_2 \oplus k_1 \oplus k_2 $$ 這樣,如果我被迫交出 $ c_1 $ , 我能給 $ c_2 $ 相反和 $ m_2 $ 將被重建(而不是 $ m_1 $ )。我知道不應該重複使用 OTP 密鑰,所以也許這不能稱為 OTP(或者可以嗎?)。

所以問題是:這安全嗎?能 $ m_1 $ 從任何不同的東西重建 $ k_1 $ , $ k_2 $ , 和 $ c_1 $ ? 例如: $ c_2 $ , $ c_1 $ , 和 $ k_2 $ . 不考慮 $ m_1 $ 和 $ m_2 $ 作為選項,因為它們在加密之後消失,它們不會儲存在任何地方。

注 1:消息和密鑰的長度是固定的,大約 150 個字元,不是很多。這並沒有為密碼分析提供足夠的材料,對吧?

注 2:每把鑰匙將交給不同的一方;這就是為什麼我不結合 $ k_1 $ 和 $ k_2 $ 成一個鍵。

為了對方案進行有效的密碼分析,必須明確兩件事:首先,我們的目標(例如,我們想要保密的內容,我們想要保持完整性的內容等),其次,攻擊者的目標是什麼被允許知道或做。

所以,我們的目標是保密 $ m_1 $ , 我拿了它。因此,攻擊將嘗試找到它。

現在,攻擊者能知道什麼?在您的問題中,這似乎不太確定。您的問題實際上有四個項目,不包括消息: $ c_1 $ , $ c_2 $ , $ k_1 $ , 和 $ k_2 $ . 因此,您的問題沒有任何堅實的基礎,讓我們簡單地列舉攻擊者可能知道的各種組合。最後,我們可以觀察什麼破壞了計劃,什麼沒有破壞。


首先,讓我們看看知道任何兩個項目的攻擊者是否可以破壞該方案。 $ \binom{4}{2} = 6 $ ,所以有六組兩個項目,每個攻擊者可能會獲得。

**選項 1:**讓攻擊者知道 $ c_1 $ , $ c_2 $ .

在這種情況下,攻擊者可以計算

$$ c_1 \oplus c_2 = m_1 \oplus m_2 $$ 這可能會破壞您的資訊,或者至少讓您了解他們所說的內容。我不會對此多說;查找兩次墊的後果,因為這就是它。簡而言之,您可能不希望這種情況發生。

**選項2、3、4、5:**讓攻擊者知道一個密鑰和一個密文。

在這種情況下,攻擊者知道的密鑰仍然充當該消息的一次性便箋。所以,這是一個“安全”的情況。

**選項 4、5:**讓攻擊者知道 $ k_1 $ , $ k_2 $ .

這裡不多說。沒有密文,他們哪兒也去不了。

總之,這裡只有選項 1 是可怕的。


其次,讓我們看看知道任何三個項目的攻擊者是否可以破壞該方案。 $ \binom{4}{3} = 4 $ ,所以有四組要考慮。(作為旁白, $ \binom{n}{n-1} = n $ , 更普遍。)

**選項 1、2:**讓攻擊者知道 $ c_1 $ , $ c_2 $ , 和 $ k_i $ , 在哪裡 $ i $ 是固定的 1 或 2。

發生與上述選項 1 相同的情況:攻擊者可以計算

$$ c_1 \oplus c_2 = m_1 \oplus m_2 $$ 這又是兩次墊,可能很脆弱。在這裡引入另一個密鑰並不是非常有用,因為我看不到任何方法可以獲取比任何資訊更有用的資訊 $ m_1 \oplus m_2 $ .

**選項 3:**讓攻擊者知道 $ c_1 $ , $ k_1 $ , 和 $ k_2 $ .

破碎的!(顯然。)計算

$$ c_1 \oplus k_1 \oplus k_2 = m_1. $$ **選項 4:**讓攻擊者知道 $ c_2 $ , $ k_1 $ , 和 $ k_2 $ .

這是您在問題中提出的方案。在這種情況下,攻擊者所能恢復的只有 $ m_2 $ ,因為他沒有任何密文,甚至與 $ m_1 $ .

總之,選項 1、2 和 3 是可怕的選項。


我質疑這種情況。攻擊者通常不會要求提供密文;他們攔截他們。通常,我們會假設通過竊聽的線路進行通信,例如,被竊聽方(通常稱為 Eve)。噹噹局強迫你透露任何東西時,就是加密密鑰。他們通常已經有了密文。通常。

然而,我同意斯蒂芬·圖塞特的觀點。您可以提前準備一個“假”密鑰,使用該密鑰時,它會將密文解密為您想要的任何消息。在這種情況下,只有一個密文被截獲或知道,而您(單獨)有兩個單獨的密鑰。一個關鍵是真實的資訊,並且會被很好地隱藏。另一個隱藏得不那麼好,足以愚弄權威人物,而這將是你被迫透露的那個。這樣做的好處是允許監視,同時消除其他人為您保留您的鑰匙的需要。

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