Encryption

如果我有未加密的文本和加密的文本,我可以計算密鑰嗎?

  • May 6, 2016

如果我有未加密的文本和加密的文本,我可以計算密鑰嗎?根據我對加密的有限知識,我應該能夠做到這一點似乎是合乎邏輯的……但它似乎也是一個太明顯的漏洞,不可能實現。

有人可以解釋加密方案如何防止這種類型的漏洞嗎?

這完全取決於所使用的加密算法 - 對於一些小例子,請看下面的水平規則。

通常,這稱為已知明文攻擊。攻擊者有權訪問消息 $ m $ 及其加密 $ c=E_k(m)^{[1]} $ . 這種攻擊的更強形式是選擇明文攻擊 ( CPA ),攻擊者可以在其中選擇 $ m $ 並為他加密。


假設您觀察到至少一個字元,如果加密是凱撒密碼,那麼是的:恢復密鑰就足夠了。這是因為您可以通過明文和密文的第一個字元之間的差異來找到密鑰。

然而,即使使用維吉尼亞密碼,這是對凱撒密碼的輕微“改進”,這可能還不夠。如果密鑰比您觀察到的明文/密文對長,那麼您將不會了解有關密鑰後半部分的任何資訊。類似的例子來自簡單地從資訊的角度思考:如果你只見證 $ b $ 輸出的點點滴滴,不管它們有多有用,你最多只能學習 $ b $ 鑰匙的位 $ ^{[2]} $ . 因此,如果關鍵 $ k>b $ 位長,沒辦法 $ b $ 輸出位足以辨識它。


筆記:

  1. 在哪裡 $ E_k(m) $ 是加密的 $ m $ 下鍵 $ k $ .
  2. 我在這裡假設密鑰在某種意義上是最小的。也就是說,密鑰的位是隨機設置的,我們沒有關於密鑰形式的資訊。例如,如果我們知道密鑰是 $ 0000 $ 或者 $ 1111 $ , 那麼即使關鍵是 $ 4 $ 位長,可以從 $ 1 $ 少量。

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