CCA 安全密碼系統可以用作 CMA 安全 MAC 嗎?
每個 CCA 安全密碼系統都可以用作 CMA 安全 MAC 嗎?
我知道每個 CCA 安全系統都是 CPA 安全的,但我不確定 CMA。據我了解:要使系統具有 CCA 安全性,它必須同時具有 CPA 和 CMA 安全性。因此,我覺得如果知道該系統是 CCA 安全的,那麼它可能會用作 CMA 安全 MAC,但不太確定,對此有任何見解將不勝感激。謝謝!
讓 $ (\mathsf{KGen},\mathsf{Enc},\mathsf{Dec}) $ 是一個 CCA 安全加密方案。我假設您在詢問 MAC 的以下構造 $ (\mathsf{KGen’},\mathsf{Mac},\mathsf{Vfy}) $ :
$$ \mathsf{KGen’}(1^n) := \mathsf{KGen}(1^n) \qquad \mathsf{Mac}(k,m) := \mathsf{Enc}(k,m) \qquad \mathsf{Vfy}(k,m,\tau) := (\mathsf{Dec}(k,\tau) \stackrel{?}{=} m) $$
如果這就是你要問的,那麼沒有。這種結構在無消息攻擊下通常甚至不是不可偽造的。讓 $ m^* $ 是來自加密方案的消息空間的任意固定消息。我們可以構造一個新的加密方案 $ (\overline{\mathsf{KGen}},\overline{\mathsf{Enc}},\overline{\mathsf{Dec}}) $ 作為
$$ \overline{\mathsf{KGen}}(1^n) := \mathsf{KGen}(1^n) \quad \overline{\mathsf{Enc}}(k,m) := 1|\mathsf{Enc}(k,m) \quad \overline{\mathsf{Dec}}(k,b|c) := \begin{cases}\mathsf{Dec}(k,c) & \text{if } b=0\ m^* & \text{otherwise}\end{cases} $$
很容易證明這個方案也是 CCA 安全的,但我將把這個作為練習留給讀者。然而,當用這種方案實例化時,偽造上述 MAC 是微不足道的。只輸出 $ m^*,0^{\ell(n)+1} $ , 在哪裡 $ \ell(n) $ 是下密文的長度 $ \mathsf{Enc} $ .