One-Time-Pad

為什麼偽隨機 OTP (P-OTP) IND-CPA 不安全

  • January 5, 2017

我的講義指出 P-OTP 是 IND-COA 但不是 IND-CPA 不安全。我理解 IND-COA 是安全的,假設 PRG 是安全的,因為這是 OTP 的重點,但為什麼 IND-CPA 不安全?當然,如果假設 PRG 是安全的,那么生成的密文將是隨機的,因此無論您輸入預言機的任何明文都不會透露任何資訊。

我問這個是因為 PRF+OTP 是 IND-CPA 安全的,並且無法找出區別。

$ Enc_k(m)=m\oplus PRG(k) $

$ Dec_k(c)=c\oplus PRG(k) $

和 IND-CPA 對手博弈:

  1. 選擇兩條消息 $ m_0 $ 和 $ m_1 $ 任意。
  2. 將它們發送給選擇的挑戰者 $ b\in{0,1} $ 均勻隨機返回給你 $ c_1=Enc_k(m_1) $ .
  3. 輸出你的猜測 $ b $ 命名為 $ b’ $ . 如果你“贏”了 $ b=b’ $ .

編輯:相關幻燈片的截圖

您所說的遊戲不是IND-CPA遊戲,而是IND-EAV遊戲,其中對手僅獲得挑戰密文,並被要求猜測被加密的消息。在IND-CPA遊戲中,攻擊者可以訪問加密預言機,該加密預言機可以加密他選擇的任意消息。

P-OTP不能是 CPA-secure 的主要原因是因為它是確定性,也就是說,如果你對相同的明文進行兩次加密,你將得到相同的密文。一般來說,任何具有此屬性的方案都不可能是 CPA 安全的,你能找出原因嗎?

另一方面,PRF+OTP不是確定性的:它用隨機值刷新每個加密 $ r $ . 這個關鍵區別使方案 CPA 安全,證明可以在任何基本書籍中找到,例如 Katz 的《現代密碼學》(第 2 版中的 Thm 3.31),但基本思想是,如果值 $ r $ 在預言機的查詢中不重複,那麼攻擊者就得不到關於被加密的消息的資訊(所以在這種情況下你有完美的保密性,就像在 OTP 中一樣),並且這種情況不會發生的機率足夠小。

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