One-Time-Pad

如果使用隨機替換方案兩次使用一次性密碼 (OTP) 加密,那麼它有多脆弱

  • February 6, 2018

在閱讀了一次性密碼 (OTP) 加密方法之後,我可以看到如果使用得當,它將如何提供牢不可破的加密。

此外,我還研究瞭如果在不止一條消息上使用 OTP 密鑰,OTP 是如何被破壞的。

我現在想知道的是:如果傳統上您使用 Vigenère Square 根據您的 OTP 密鑰替換字母,您可以通過找到嬰兒床然後在第二條消息中應用字母替換來破解加密。這是可能的,因為我知道替代方案。

現在有趣的一點是:如果我隨機化我的替換錶,我會認為不再可能使用相同的 OTP 密鑰進行解密,除非我有足夠的消息來成功地將每個字母(幾乎)映射到這個未知表。

正確的?

壞主意(據我所知和理解)。

首先,讓我們確保不要將 Vernam 密碼 (XOR) 與 OTP 混淆。

  1. OTP (One Time Pad) 要求您 -如這裡所述- 使用 (1) 真正隨機的一次性填充值,(2) 以安全的方式生成和交換,(3) 至少與消息一樣長,以及(4) 只能使用一次。因此,您所描述的不是 One-Time-Pad
  2. Vernam 密碼將此概念應用於流密碼(簡單異或)

“誤用” OTP 的最佳範例通常如下所示:

$ c_1 = m_1 \oplus k\ c_2 = m_2 \oplus k\ c_1 \oplus c_2 = m_1 \oplus k \oplus m_2 \oplus k = m_1 \oplus m_2 $ .

使用相同的密鑰兩次會破壞其目的並提供有關純文字的有趣資訊(統計攻擊)。

為什麼你的想法不好?

鑑於Kerckhoffs 的原則

  • 該系統必須在實踐中(如果不是在數學上)難以破譯;
  • 它不應該要求保密,如果落入敵人手中也不成問題;
  • 必須能夠在不使用書面筆記的情況下交流和記住密鑰,並且通訊員必須能夠隨意更改或修改;
  • 它必須適用於電報通信;
  • 它必須是攜帶式的,並且不應需要幾個人來處理或操作;
  • 最後,考慮到要使用的環境,系統必須易於使用,並且使用時不應有壓力或要求其使用者了解並遵守一長串規則。

因此**,您必須考慮您的 Vigenere 替換錶必須是公開**的:秘密應該只依賴於 OTP 值。因此,隨機化替換錶的意義不再那麼有趣了。

因此,給定已知的替換,可以找到會破壞隨機化想法的統計特性。

順便說一句,這個想法與 Enigma 的設計很接近,其中替換錶在每一輪都由初始密鑰定義,該密鑰在一天內保存。猜猜二戰期間發生了什麼……如果德國人在每次傳輸之間都換了鑰匙會發生什麼?

PS:滾動你自己的加密貨幣總是一個壞主意。

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