Provable-Security

區別左右 CPA 安全性、IND-CPA 安全性

  • September 20, 2019

我試圖理解我講座中介紹的私鑰加密方案的左或右 CPA (LOR-CPA) 安全性概念。如果到目前為止我理解正確的話,與標準 IND-CPA 遊戲的唯一區別是加密預言機始終加密左側或右側給定消息,並且攻擊者可以隨意查詢預言機。

我得到以下游戲定義:

  1. 通過執行 KeyGen 生成密鑰 $ k \leftarrow KeyGen(1^n) $
  2. 選擇隨機隱藏位 $ h \leftarrow {0,1} $
  3. 準備一個預言機 $ O_{LOR} $ 稱為左或右預言機。當與 $ m_0, m_1 \in M $ 返回 $ c \leftarrow Enc_k(m_h) $
  4. 呼叫攻擊者 A $ 1^n $ , 攻擊者輸出兩條消息 $ m_0, m_1 $ 長度相同
  5. 稱呼 $ O_{LOR} $ 返回 $ c \leftarrow Enc_k(m_h) $ , 將 c 給 A, 並等待猜測 h'
  6. 如果 h’ = h 接受,否則拒絕

我的問題是:

  • 這種安全概念在什麼意義上比 IND-CPA 安全概念更強?
  • 標準的 IND-CPA 遊戲不是也總是根據隱藏位加密左消息或右消息嗎?

當您讓對手訪問加密預言機時,我想您隱含地考慮了對稱加密方案的安全性。在不對稱設置中,定義略有不同。這是我對它的理解(免責聲明:我絕不是對稱加密方案的安全專家)。

IND-CPA 是非對稱語義安全的標準名稱。攻擊者選擇兩條消息,挑戰者隨機加密其中一條,攻擊者試圖猜測哪一條被加密。與對稱設置的一個重要區別是,不必精確定義給予對手的預言機訪問類型,因為他可以自己加密任何他想要的東西(他得到了該方案的公鑰)。

因此,當涉及到對稱安全時,必須更加精確,因為預言機對加密預言機的訪問是必要的(對手無法自己加密),並且可以有不同的風格。

所以,對我來說,如果有人提到對稱方案的 IND-CPA 安全性,它本質上是“CPA 模型中的安全定義之一”的簡寫,“本質上是等效的”。更準確地說,這是本開創性論文中考慮的四個安全定義:

-左或右 CPA 安全性。預言機總是加密左邊的密文,或者他總是加密右邊的密文;你試著猜測你看到的是左神諭還是右神諭。

-真實或隨機 CPA 安全性。預言機始終加密您發送的消息,或始終加密均勻隨機的消息(獨立於您的消息)。您嘗試猜測它是真正的預言機還是隨機預言機。

-查找然後猜測 CPA 安全性。那個最接近非對稱情況下的 IND-CPA 安全概念:你給預言機兩個明文,預言機隨機選擇其中一個加密,你必須猜哪個。

-語義安全。給定根據您選擇的分佈 D 繪製的一些 x 的加密,為您選擇的函式 f 找到有關 x、id est、一些 f(x) 的“一些資訊”。

現在,為了回答您的問題,以下是安全性比較:

-Left-or-Right CPA security 和 Real-or-Random CPA security 是等價的(在兩個方向都有一個安全性減少)

-語義安全和 Find-Then-Guess CPA 安全是等價的

  • 從左或右 CPA 安全性到 Find-Then-Guess CPA 安全性的安全保護減少。這在另一個方向上*並不成立。*這意味著如果對手破壞了最後兩個安全屬性之一,他也必須首先破壞這兩個,但轉換不正確。

編輯:如果 IND-CPA 是指我用 Find-then-Guess CPA 名稱定義的安全概念,那麼如上所述,如果一個人可以打破 IND-CPA,那麼一個人可以打破 LOR-CPA,但反過來不是真的。因此,LoR-CPA 安全性是比 IND-CPA 更強大的安全性概念(此聲明的證明在本文中)這不能回答您的問題嗎?

對於您的最後一個問題:如果 IND-CPA 確實是 find-then-guess CPA,那麼區別如下。在 LOR 中,oracle 選擇一個位*,*並始終使用該位索引的明文加密來回答所有加密請求。在 IND-CPA 中,每次您向預言機送出一對明文時,預言機都會選擇一個隨機位並加密相應的明文。

我對 IND-CPA 和 LOR-CPA 的定義只呼叫一次攻擊者,而不是兩個階段,一次性測試預言將提供挑戰。由於左或右預言機是 LOR-CPA 的測試預言機,因此在這裡沒有區別。但對於 IND-CPA,它允許攻擊者在收到挑戰後查詢更多加密。這可能會導致稍強的安全概念,但我相信兩階段模型無論如何都是人為的。

現在回到你的問題:

  • 這種安全概念在什麼意義上比 IND-CPA 安全概念更強?

實際上,(t,e)-IND-CPA 安全性確實意味著 (t,le)-LOR-CPA 安全性,其中 l 是 LOR-CPA 遊戲中對左右預言機的呼叫次數的界限。姚的做法可以證明這一點。但是,您會失去因子 l。

在另一個方向上,您不會失去任何東西(但減少的時間很少)。

  • 標準的 IND-CPA 遊戲不是也總是根據隱藏位加密左消息或右消息嗎?

不,IND-CPA 遊戲有一個用於加密的預言機。它加密給定的消息,但不訪問隱藏位。攻擊者在請求挑戰時只能訪問隱藏位(通過我更喜歡的一次性預言機,或者通過你上面寫的兩階段模型)。

強調區別:在 LOR-CPA 遊戲中,攻擊者根據每個預言機呼叫的隱藏位獲得一些東西。在 IND-CPA 遊戲中,攻擊者只能訪問一次隱藏位。

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