Stream-Cipher
你真的可以一次性插入你想要的文本嗎?
Wikipedia 文章“一次性便箋〜身份驗證”說:
例如,攻擊者知道消息在特定時間點包含“明天下午三點三十分見簡和我”,可以將該內容替換為長度完全相同的任何其他內容,例如“取消三點三十分的會議,留下home”,無需訪問一次性密碼本,這是所有流密碼的一種屬性,稱為延展性。
我不太明白這怎麼可能。
假設字元串是使用一鍵時間加密的。黑客以某種方式獲得了該加密文本,他知道最後一個單詞包含 6 個字元。因此,他從密文中刪除了最後 6 個字元,並且他想添加自己的 6 個字元的單詞。他怎麼能那樣做?
如果他只是插入那個詞,那麼在解密之後插入的詞很可能只是胡言亂語。還是我錯了?
它非常簡單,源於翻轉密文中的一位會翻轉明文中的相應位的想法。
所以,說密文是 $ 1011 $ 我們知道明文是 $ 0101 $ (因此關鍵是 $ 1110 $ )。假設我們想要一個明文 $ 0000 $ ,我們只需要將密文改成 $ 1110 $ (注意位被翻轉的地方)我們有 $ 1110\oplus 1110=0000 $
從這個意義上說,如果您可以翻轉任何您想要的位,並且您知道明文所說的內容,並且您知道您想要明文所說的內容,那麼您可以翻轉密文中的正確位,然後解密就可以根據需要進行。