Hash

對於單塊計數器模式,抗衝突雜湊是否足夠?

  • March 31, 2021

讓 $ H:{0,1}^*\rightarrow {0,1}^\ell $ 是一個抗碰撞雜湊函式(CRH),並讓 $ \Pi = (\mathsf{enc,dec}) $ 是具有以下屬性的加密方案:

  • $ \Pi.\mathsf{enc}: \mathcal{K} \times {0,1}^\lambda \rightarrow {0,1}^\ell, \lambda\leq \ell, $ 定義如下: $ \Pi.\mathsf{enc}(k,m) = m \oplus H(k) $
  • $ \Pi.\mathsf{dec}: \mathcal{K} \times {0,1}^\ell \rightarrow {0,1}^\lambda $ 定義如下: $ \Pi.\mathsf{dec}(k,c) = c \oplus H(k) $

**是 $ \Pi $ 選擇純文字安全 (CPA)?**據我所知,如果 $ H $ 被建模為偽隨機發生器(PRG)或偽隨機函式(PRF),然後 $ \Pi $ 如果區分器無法將 PRG/PRP 的輸出與真正隨機函式產生的輸出區分開來,則為 CPA。但是,我無法為 CRH 找到這樣的減少。

假設愛麗絲使用 $ \Pi $ 分享資訊 $ m $ 通過與 Bob 和 Charles 的成對通道(Alice-Bob、Alice-Charles 共享由 Diffie-Hellman 交換產生的對稱密鑰)。

  • 愛麗絲發送 $ c_b = m\oplus H(k_{AB}) $ 給鮑勃和 $ c_c = m\oplus H(k_{AC}) $ 給查爾斯

讓我們假設決策 Diffie-Hellman。如果對手能夠破壞 CRH,它能否提取 $ m $ 從 $ {c_b, c_c} $ ? (我們可以假設除了 Bob 和 Charles,Alice 也向其他人發送了相同的消息)。

**編輯:**我認為這個問題的答案有助於解釋為什麼 CRH 不足以提供 CPA 安全性。但是,在我看來,它並不能完全回答這個問題,因為正如下面的答案所述,簡單地提供均勻分佈的輸出並不意味著 CPA。需要非確定性。

這取決於您所說的抗碰撞性是什麼意思。

如果通過碰撞阻力你的意思是輸出 $ H(.) $ 無法與具有完全碰撞熵的流(即 $ H_2=\ell $ ) 那麼根據 Jensen 的不等式,我們無法區分香農熵至少這麼大的流,因此滿足一次性填充的條件。

如果通過抗碰撞性,您的意思是如果不做更少的工作就無法找到雜湊函式碰撞 $ n $ 雜湊函式評估,然後沒有。讓 $ n=2^{256} $ , 讓 $ \ell=1024 $ 並定義 $ H(x) $ 為 SHA3(x)||SHA3(x)。碰撞 $ H(x) $ 與 SHA3 衝突一一對應,因此無法找到更少的 $ 2^{256} $ 雜湊評估(前提是 SHA3 保持強大)。因此有 256 位的抗碰撞性,但加密功能現在非常弱,因為每隔一個 512 位的密鑰流塊是前一個的重複。

我希望我誤解了你的問題,否則它看起來非常不安全和確定性。看,玩 CPA 遊戲。第1輪:

  1. 選擇兩條消息 $ m_0 $ 和 $ m_1 $ 並將它發送到 oracle,你會得到 $ H(k)⨁ m_1 $ 或者 $ H(k)⨁ m_2 $ . 你現在有兩個候選人 $ H(k) $ . 第 2 輪用不同的消息重複相同的內容,你知道 $ H(k) $ ,

散列函式本身沒有被建模為偽隨機函式,實際函式將從一個族中採樣,並且對手不知道,(在這種情況下,如果密鑰未知,則對密鑰進行採樣,函式未知)。雜湊函式本身不是那樣的

請看,首先 CPA 安全加密是不確定的,CPA 遊戲假定密鑰是可重複使用的,而您的加密方案並非如此。我認為您正在尋找的是 PRF,而不是雜湊。每次加密,加密器選擇一個隨機數 $ r $ . 使用密鑰對 PRF 進行採樣 $ k $ 並且被稱為 $ F_k $ . 正在做 $ c=F_k (r) ⨁ m $ , 密碼是 $ (r,c) $ 雖然我仍然不確定它是否安全,但可能會這樣做。我認為這樣的事情是您實際上首先要問的

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