Chosen-Plaintext-Attack

在進行純密文、已知明文、選擇明文和選擇密文攻擊時,攻擊者是否需要知道正在使用什麼密碼?

  • April 9, 2022

我試圖了解進行各種類型的密碼分析攻擊所需的基本成分。

例如,我知道對於純密文攻擊 (COA),攻擊者只能訪問密文。

使用已知明文攻擊 (KPA),攻擊者擁有一些密文,並以合理的確定性擁有或推斷出明文的某些部分。

選擇明文攻擊 (CPA) 涉及能夠將明文輸入加密系統並觀察生成的密文。選擇密文攻擊 (CCA) 是相同的,但攻擊者可以訪問解密系統。

我也明白,攻擊者的最終目的是獲取解密密文所需的密鑰。

我的問題是:這些成分(密文、明文、對系統的訪問)是否全部包含在內?攻擊者是否還需要知道正在使用什麼密碼,或者這些攻擊是否也允許推斷密碼?

我也明白,攻擊者的最終目的是獲取解密密文所需的密鑰。

實際上,攻擊者的目標是獲得一些關於明文的資訊(他還沒有);如果他能恢復密鑰,那很好——如果他能恢復一些關於明文的其他資訊(即使他仍然不知道密鑰是什麼),他也贏了。考慮Sweet32攻擊,它絕對不會產生關於密鑰的資訊,但是它確實獲得了關於明文的資訊。

這些成分(密文、明文、系統訪問)是否全部包含在內?攻擊者是否還需要知道正在使用什麼密碼,或者這些攻擊是否也允許推斷密碼?

通常假設攻擊者已經知道正在使用什麼密碼;正如 kelalaka 在評論中提到的那樣,Kerchhoff 的原則是,唯一可以認為是秘密的資訊是易於更改的資訊,例如密鑰。例如,從 AES 切換到 ChaCha20 是一個更大的變化,很難即時進行。

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