Encryption

使用重複使用 的一次性密碼解密 vigenere 密碼

  • November 1, 2019

我了解,當使用相同長度的密鑰加密明文時,它被稱為一次性密匙。現在,當重新使用此密鑰來加密另一個明文時,就有可能解密原始密文。

繼這裡提出的問題之後,利用一次性鍵盤鍵重用?,那裡的密文是通過 Vernam 密碼檢索到的:-

$ ciphertext = plaintext \oplus key $

這導致了兩者之間的以下關係:-

$ ciphertext_1 \oplus ciphertext_2 = plaintext_1 \oplus plaintext_2 $

如果不是 Vernam 密碼,而是通過 Vigenere 密碼進行加密,其中我有兩個明文和一個密鑰,所有三個都是相同的長度 - 是否可以從生成的密文中得出任何與上述類似的關係,當我不知道明文和密鑰是什麼時?

嬰兒床拖動攻擊適用於不同的操作員。

p1 = AtextencryptedByFirstPassword
p  = HelloHelloHelloHelloHelloHell
c1 = hxpihlrncmwxpopfjtcgatldgdsco

p2 = ASecondEncryptedTextBySecondPassword
p  = HelloHelloHelloHelloHelloHelloHelloH
c2 = hwpncuhpyqycaeskxpihicdpqvroaozwhzfk

當你 $ c_1 - c_2 \bmod 26 $ 您將遇到與多次墊相同的問題。此減法將刪除密鑰。

c1[i] - c2[i] = p1[i] - p2[i]

但這次不是 $ \oplus $ 我們將有加模26。

c1 - c2 = azafvjqcwecflqdfowgbijsmkszmm

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