One-Time-Pad

是否可以在 base64 密文上使用嬰兒床拖動?

  • November 6, 2018

我對密碼學領域很陌生,但我想知道是否可以在不包含單詞的密文上使用嬰兒床拖動?該數據將使用具有一次性密碼的相同密鑰進行加密,並且數據在加密之前使用 base64 進行編碼。

例如,

  • 關鍵=$$ 1, 2, 3, 4 $$
  • 消息1 =$$ C, B, D, K $$
  • 消息2 =$$ H, K, L, U $$
  • 加密消息1 =$$ D, D, G, O $$
  • 加密消息2 =$$ I, M, O, Y $$

(是的,我知道這不完全是 base64)

因此,如果我們將這兩個加密消息 XOR 在一起,我們可能會或可能不會得到CBDKHKLU基於用於 cribbing 的單詞,即使我們確實得到了一個,您如何驗證它是正確的消息?

再次完全是菜鳥,並試圖自學。;)

是的,可以使用嬰兒床拖動。很容易證明這一點:您可以搜尋嬰兒床的 base 64 編碼版本。即使您只是簡單地使用每 4 個字元搜尋一次嬰兒床,這也會起作用,因為這是編碼 4 個字節所需的基本 64 個字元的數量。所以成功的機會會減少,但它仍然是可能的。

也可以在基於 64 的字節邊界上執行 crib 拖動,但是您可能需要檢查可能有效的多種可能性。因此,如果您從 64 位字元的中間開始,成功的機會就會低得多。

您當然也可以猜測嬰兒床本身之前的字元,因此擴展嬰兒床仍然可以跨邊界移動。不過,您最多需要猜測 3 個字元。

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