Stream-Cipher

你真的可以一次性插入你想要的文本嗎?

  • October 28, 2017

Wikipedia 文章“一次性便箋〜身份驗證”說:

例如,攻擊者知道消息在特定時間點包含“明天下午三點三十分見簡和我”,可以將該內容替換為長度完全相同的任何其他內容,例如“取消三點三十分的會議,留下home”,無需訪問一次性密碼本,這是所有流密碼的一種屬性,稱為延展性。

我不太明白這怎麼可能。

假設字元串是使用一鍵時間加密的。黑客以某種方式獲得了該加密文本,他知道最後一個單詞包含 6 個字元。因此,他從密文中刪除了最後 6 個字元,並且他想添加自己的 6 個字元的單詞。他怎麼能那樣做?

如果他只是插入那個詞,那麼在解密之後插入的詞很可能只是胡言亂語。還是我錯了?

它非常簡單,源於翻轉密文中的一位會翻轉明文中的相應位的想法。

所以,說密文是 $ 1011 $ 我們知道明文是 $ 0101 $ (因此關鍵是 $ 1110 $ )。假設我們想要一個明文 $ 0000 $ ,我們只需要將密文改成 $ 1110 $ (注意位被翻轉的地方)我們有 $ 1110\oplus 1110=0000 $

從這個意義上說,如果您可以翻轉任何您想要的位,並且您知道明文所說的內容,並且您知道您想要明文所說的內容,那麼您可以翻轉密文中的正確位,然後解密就可以根據需要進行。

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