One-Time-Pad
是否可以在 base64 密文上使用嬰兒床拖動?
我對密碼學領域很陌生,但我想知道是否可以在不包含單詞的密文上使用嬰兒床拖動?該數據將使用具有一次性密碼的相同密鑰進行加密,並且數據在加密之前使用 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 在一起,我們可能會或可能不會得到
CBDK
或HKLU
基於用於 cribbing 的單詞,即使我們確實得到了一個,您如何驗證它是正確的消息?再次完全是菜鳥,並試圖自學。;)
是的,可以使用嬰兒床拖動。很容易證明這一點:您可以搜尋嬰兒床的 base 64 編碼版本。即使您只是簡單地使用每 4 個字元搜尋一次嬰兒床,這也會起作用,因為這是編碼 4 個字節所需的基本 64 個字元的數量。所以成功的機會會減少,但它仍然是可能的。
也可以在基於 64 的字節邊界上執行 crib 拖動,但是您可能需要檢查可能有效的多種可能性。因此,如果您從 64 位字元的中間開始,成功的機會就會低得多。
您當然也可以猜測嬰兒床本身之前的字元,因此擴展嬰兒床仍然可以跨邊界移動。不過,您最多需要猜測 3 個字元。