Reference-Request
對多種安全性中的術語感到困惑
我正在從不同的來源學習密碼學,我發現術語有點混亂。
原則上,我理解符號模型和計算模型之間的區別。但是,當我看到以下內容時,我感到很困惑:
- 資訊論安全
- 計算安全,
- 具體安全,
- 漸近安全
- 完善的安全性。
所有這些與符號和計算模型有什麼關係?它們之間有什麼關係?
有沒有可以統一理解術語的來源?
為了解釋,我將在一個範例中練習這些模型,即 LoR-CPA-security 模型。
LoR-CPA 遊戲 $ \operatorname{Priv}^{\text{cpa}}_{\mathcal A,\Pi}(n) $ 對於密碼 $ \Pi=(\operatorname{Gen},\operatorname{Enc},\operatorname{Dec}) $ 和一個安全參數 $ n $ 針對機率性的Oracle-Turing-Machine對手 $ \mathcal A $ 如下:
- $ k\gets \operatorname{Gen}(1^n) $
- 均勻隨機產生一點 $ b\stackrel$\gets{0,1} $
- 定義 $ \mathcal E(m_0,m_1)=\operatorname{Enc}_k(m_b) $
- 執行具有加密 oracle 訪問權限的對手 $ \mathcal E $ : $ b’\gets \mathcal A^{\mathcal E(\cdot,\cdot)}(1^n) $
- 輸出 1 如果 $ b=b’ $ 否則輸出 $ b $
然後我們定義優勢 $ \mathbf{Adv}^{\text{cpa}}{\mathcal A,\Pi}(n,q,t,s)=2\cdot \Pr[\operatorname{Priv}^{\text{cpa}}{\mathcal A,\Pi}(n)]-1 $ 在哪裡 $ \mathcal A $ 必須執行 $ t $ 步驟,僅使用 $ s $ 空間細胞,最多製造 $ q $ 向其 oracle 查詢。
現在定義:
- 符號模型:根據我從連結的論文 (PDF) 中收集到的內容,這將採用上述定義,並從所有算法中刪除所有出現的安全參數和執行時/空間限制,這應該等同於你唯一知道的概念/ 可以學習是正確性屬性。
- 完美的安全性/資訊論安全性:它們是相同的,並要求一個適合所有人的方案 $ n $ : $ \mathbf{Adv}^{\text{cpa}}_{\mathcal A,\Pi}(n,\infty,\infty,\infty)=0 $ 持有。這並不總是可以實現的。
- 漸近安全性:這個要求存在一個可忽略的函式 $ \varepsilon $ 這樣 $ \mathbf{Adv}^{\text{cpa}}_{\mathcal A,\Pi}(n,\operatorname{poly}(n),\operatorname{poly}(n),\operatorname{poly}(n))\leq \varepsilon(n) $ 對所有人 $ n $ 比一些大 $ n_0 $ 和一些多項式 $ \operatorname{poly} $ .
- 具體安全性:這需要為方案的安全性提供具體的關係/聲明,即必須存在一些功能 $ f $ 這樣 $ \mathbf{Adv}^{\text{cpa}}_{\mathcal A,\Pi}(n,q,t,s)\leq f(n,q,t,s) $ 並由使用者判斷是否 $ f $ 小到足以讓給定的參數集被認為對其應用程序是安全的。這是非複雜性理論結果的首選概念。
然後,計算模型是上面最後三個要點的總稱。 計算安全性通常是上面最後兩個要點的總稱。儘管我使用 CPA 安全作為範例,但上述內容適用於所有定義優勢的安全概念,但符號模型中的代數推理除外。