Known-Plaintext-Attack

這 4 種破解密碼技術之間的區別?

  • February 15, 2014

我試圖了解以下內容與它們的實際含義之間的區別:

  1. 已知明文攻擊
  2. 已知密文攻擊
  3. 選擇密文攻擊
  4. 選擇明文攻擊

任何澄清都非常感謝……

這些本身並不是“攻擊”,它們只是一種根據它們做出多少假設來對攻擊進行分類的方法。例如,如果攻擊需要明文-密文對來恢復密鑰,但它們不必是任何特定的對,則該攻擊被歸類為已知明文攻擊。但是,如果另一個攻擊要求攻擊者能夠提供輸入明文並獲得相應的密文,這將是選擇明文攻擊。

總而言之,就所做的假設和數據要求而言,從最弱到最強:

已知密文攻擊

攻擊者獲得了一些密文,但不知道(或不確切知道)該密文對應的明文是什麼。與之前的攻擊類型一樣,他無法選擇獲得的密文,也無法產生更多。

這是最弱的攻擊類型,因為除了從竊聽或其他方式獲得的一些密文之外,攻擊者基本上沒有什麼可使用的。因此,它通常是最難設計的,但最容易實現/執行。

例子:

  • 夏娃從愛麗絲的手提包裡偷了一堆密文,但不知道它們是什麼意思。

已知明文攻擊

攻擊者得到了一些他沒有選擇的明文-密文對(例如,從兩個人之間的加密對話中獲得——他知道對話是關於什麼的,但他無法選擇所說的內容)。攻擊者不能產生更多的明文-密文對,他必須從擁有密鑰的人那裡獲得它們,例如再次竊聽。

例子:

  • Eve 無意中聽到了 Bob 與 Alice 的加密通信,後來觀察到他們在貝克街會面——Eve 現在可以猜測該通信在某處包含“貝克街”一詞,這是一種已知的明文攻擊形式。

選擇明文攻擊

攻擊者能夠選擇任何明文並通過所謂的加密預言機獲得相應的密文,加密預言是一種黑匣子,可以在給定密鑰下的任何明文的情況下生成相應的密文,但不會洩露鑰匙本身(即您無法將其打開並抓住鑰匙)。

注意:有兩種類型的選擇明文攻擊。要麼攻擊者只能向預言機送出一組明文,之後他就不能再使用它(批量選擇明文攻擊),或者他可以互動地使用預言機,能夠根據預言機告訴的內容選擇新的明文他(自適應選擇明文攻擊)。

例子:

  • 設計不佳的文件儲存系統使用相同的密鑰來加密每個人的文件,並讓任何人看到任何人的文件(以加密形式)。Eve 知道 Bob 使用該服務,她也註冊並開始加密任意文件(她可以選擇)並查看生成的密文。她由此獲得服務的加密密鑰,並解密 Bob 的資料。

選擇密文攻擊

這與之前的攻擊本質上是相反的,攻擊者可以選擇任何他想要的密文,並使用解密預言機獲得相應的明文。然而,它是比選擇的明文攻擊更強大的攻擊模型,並且是所有四種攻擊中最強的(但在您的問題範圍之外還有更強大的模型,例如相關密鑰攻擊)。

例子:

  • 夏娃在鮑勃睡覺時闖入他的房子,並用她選擇的新密文替換了他明天要發送給愛麗絲的密文。然後,她在第二天竊聽他們的通信(加密或未加密),以嘗試找出 Alice 在解密假密文時讀到的內容(這種變體涉及 Eve 不僅創建一個新的密文,還稍微修改現有的密文)。

  • 加密和解密預言機通常被具體化為互動協議中的弱點,允許攻擊者試圖冒充合法使用者並從另一方獲取資訊(但還有許多其他情況可能導致攻擊者訪問預言機,當然)。它們實際上並不是幫助攻擊者的“神諭”,這只是一種數學抽象。
  • 根據 Kerckhoffs 的原則,除了他可能訪問的任何明文或密文之外,假定攻擊者總是知道所用密碼的內部結構。
  • 請注意,上面的某些攻擊類型是互斥的(例如,攻擊不能同時是選擇明文和已知明文)。
  • 選擇的明文/密文攻擊在某種程度上是現代密碼學所獨有的。在過去,這樣的神諭很難獲得,因為各方之間的物理交流並不容易。然而,它們並不是完全未知的,例如,在二戰期間,盟軍的密碼學家經常進行演習,以誘使德國人發送用 Enigma 加密的特定資訊(作為一個過於簡單的例子,通過摧毀敵艦,他們可以合理地確定隨後的傳輸將包含單詞“ship”和“destroyed”——一種選擇明文攻擊的形式,只是沒有完全可靠的預言)。

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