NM-CPA 和 NM-CCA 是什麼意思?
當我一直在研究經過身份驗證的加密時,以下術語不斷出現:
- 註冊會計師
- NM-CCA
….對它們的含義沒有任何定義。我已經嘗試在網上搜尋他們的定義,但我並沒有走得太遠。有人能解釋一下這些縮寫是什麼意思嗎,為什麼像這樣的論文沒有給出它們的含義定義?
**編輯:**雖然可能的重複問題解釋了
IND-CPA
和IND-CCA
(我認為我仍然難以記住),但它並沒有解釋NM-
那些問題。
Bellare、Desai、Pointcheval 和 Rogaway 有一篇關於標準安全概念的經典論文:“Relations Between Notions of Security for Public Key Encryption Schemes”(PDF)。本文涉及您聽說過的所有標準安全概念,並給出了所有這些概念的定義。我會用它作為這個答案的參考。
所以首先我們需要了解 NM-* 概念的概念。對於給定任意密文的對手來說,它會生成一個密文列表,當解密時,這些密文在某種程度上與最初加密的明文相關。
我們需要一些符號: $ \bf x $ 和 $ \bf y $ 是 $ t-1 $ 元素列表(也稱為“向量”)和 $ R $ 是關係結束 $ t $ 元素。為了我們的理解,將其視為一個布爾謂詞就足夠了 $ t $ 論據,例如 $ R(x_0,{\bf x}) $ 並確定性地返回真或假。
現在遊戲(正式稱為“實驗”)有一個一位參數 $ b $ 這將在以後變得重要。但這裡是步驟:
- 選擇一個密鑰對 $ (pk,sk) $ 通過執行非確定性密鑰生成算法
- 執行對手 $ \mathcal A $ 可以訪問加密預言機(對於 CPA)、公鑰(如果可用)以及可以訪問解密預言機(對於 CCA)。他們現在可以對所有可用的預言機進行多項式呼叫並選擇兩條消息 $ x_0 $ 和 $ x_1 $ 長度相同並保存一些狀態 $ s $ .
- 現在加密 $ x_1 $ 至 $ y $ 使用加密預言機。
- 現在再次執行對手,這次給它 $ y $ 和保存的狀態 $ s $ 具有與以前相同的 oracle 訪問權限。對手會回來 $ R $ 以及密文列表 $ \bf y $ . 請注意,對手可能不會要求解密 $ y $ .
- 現在解密 $ \bf y $ 元素明智地得到 $ \bf x $ .
- 如果敵手獲勝 $ y $ 不包含在列表中 $ \bf y $ ,並且 5 中的所有解密都沒有錯誤,並且 $ R(x_b,{\bf x}) $ 評估為真。
然後將“優勢”計算為對手獲勝的機率之間的差異 $ b=1 $ 案例和在 $ b=0 $ 案子。這個想法是優勢考慮了一個普通值“偶然”滿足選擇關係的基本機率來處理選擇 $ R $ 例如總是輸出真。
請注意,儘管在上面的描述中,我已經刪除了一些細節(例如對手階段的形式區別,CCA1 與 CCA2 的提及,以及採樣算法而不是即時選擇的形式概念)。如果您對這些感興趣,請閱讀連結論文的 2.3,以上內容應該可以讓您輕鬆填補空白。