Commitments

承諾方案:隱藏財產

  • December 13, 2018

給定兩個承諾方案 $ Com_1, Com_2 $ (兩者都有隱藏屬性),我想證明 $ Com_1(m) || Com_2(m) $ 也在躲。

我建造了這些混合動力車並想展示 $ H_0 =_c H_1 =_c H_2 $ .

$$ \begin{align} H_0 &= Com_1(m) || Com_2(m) \ H_1 &= R_1 || Com_2(m) \ H_2 &= R_1 || R_2 \end{align} $$

為了 $ H_1 =_c H_2 $ : 如果有的話 $ D $ 分開 $ H_1 $ 從 $ H_2 $ 然後我們可以區分 $ Com_2(m) $ 和 $ R_2 $ 通過預先添加一些隨機的 $ R_1 $ 然後打電話 $ D $ .

但我們如何證明 $ H_0 =_c H_1 $ ?

我希望這不是家庭作業。應該和證明差不多 $ H_1=_cH_2 $ . 只需讓區分器(即區分 $ Com_1(m) $ 和 $ R_1 $ ) 生成和追加 $ Com_2(m) $ 在兩個世界。這樣就可以完美的模擬區分器的視圖 $ H_0 $ 和 $ H_1 $ .

你想出的混合體對證明這個陳述沒有幫助。承諾方案不需要使承諾與隨機字元串無法區分。例如,讓 $ \operatorname{Com} $ 是一個(綁定和隱藏)承諾方案,那麼 $ \operatorname{Com’} $ 定義為$$ \operatorname{Com’}(m) = 0|\operatorname{Com}(m) $$ 也是隱藏和綁定。但隨著 $ \operatorname{Com’} $ 你的雜交種很容易區分 $ 1/2 $ 通過簡單地檢查第一位是否為零(或後半部分的第一位) $ H_1,H_2 $ ).

隱藏實驗的工作原理是讓對手選擇兩條消息 $ m_0,m_1 $ . 然後對手收到 $ \operatorname{Com}(m_0) $ 或者 $ \operatorname{Com}(m_1) $ 並且不應該能夠以超過可忽略的機率區分這兩種情況。

然後證明你的問題的原始陳述,即 $ \operatorname{Com}(m) = \operatorname{Com_1}(m)|\operatorname{Com_2}(m) $ 每當兩者都隱藏 $ \operatorname{Com_1} $ 和 $ \operatorname{Com_2} $ 隱藏你確實可以使用混合參數。

你的極端混血兒是隱藏實驗的兩種情況。即,在混合 $ H_0 $ , 對手將收到 $ \operatorname{Com_1}(m_0)|\operatorname{Com_2}(m_0) $ 並且在 $ H_2 $ , 對手將收到 $ \operatorname{Com_1}(m_1)|\operatorname{Com_2}(m_1) $ . 然後,您可以定義中間混合 $ H_1 $ , 對手收到 $ \operatorname{Com_1}(m_1)|\operatorname{Com_2}(m_0) $ 反而。

顯示每對雜種無法區分的簡化非常簡單。讓 $ \mathcal{A} $ 是針對隱藏屬性的任意 PPT 區分器 $ \operatorname{Com} $ .

然後我們構造一個區分器 $ \mathcal{R} $ 反對隱藏屬性 $ \operatorname{Com_1} $ 如下: $ \mathcal{R} $ 執行 $ \mathcal{A} $ 並收到兩條消息 $ m_0,m_1 $ ,它也輸出到外部隱藏實驗,收到一個承諾 $ c_1 $ 作為回應。 $ \mathcal{R} $ 然後給 $ c_1|\operatorname{Com_2}(m_0) $ 至 $ \mathcal{A} $ . 最終 $ \mathcal{A} $ 輸出一點 $ b’ $ , 哪個 $ \mathcal{R} $ 也輸出。請注意,如果 $ \mathcal{R} $ 收到 $ c_1=\operatorname{Com_1}(m_0) $ ,那麼它完美地模擬了 $ H_0 $ . 另一方面,如果它收到 $ c_1=\operatorname{Com_1}(m_1) $ ,那麼它完美地模擬了 $ H_1 $ . 因此, $ \mathcal{R} $ 以相同的機率區分這兩種情況 $ \mathcal{A} $ 區分 $ H_0 $ 和 $ H_1 $ . 通過假設 $ \operatorname{Com_1} $ 是隱藏的,這意味著機率必須可以忽略不計。

同樣,我們可以構造一個區分器 $ \mathcal{R} $ 反對隱藏屬性 $ \operatorname{Com_2} $ . $ \mathcal{R} $ 執行 $ \mathcal{A} $ 並收到兩條消息 $ m_0,m_1 $ ,它也輸出到外部隱藏實驗,收到一個承諾 $ c_2 $ 作為回應。 $ \mathcal{R} $ 然後給 $ \operatorname{Com_1}(m_1)|c_2 $ 至 $ \mathcal{A} $ . 最終 $ \mathcal{A} $ 輸出一點 $ b’ $ , 哪個 $ \mathcal{R} $ 也輸出。請注意,如果 $ \mathcal{R} $ 收到 $ c_2=\operatorname{Com_1}(m_0) $ ,那麼它完美地模擬了 $ H_1 $ . 另一方面,如果它收到 $ c_2=\operatorname{Com_1}(m_1) $ ,那麼它完美地模擬了 $ H_2 $ . 因此, $ \mathcal{R} $ 以相同的機率區分這兩種情況 $ \mathcal{A} $ 區分 $ H_1 $ 和 $ H_2 $ . 通過假設 $ \operatorname{Com_2} $ 是隱藏的,這意味著機率必須可以忽略不計。

使用三角不等式,我們可以得出結論 $ H_0 $ 和 $ H_2 $ 必須是不可區分的,從而證明隱藏 $ \operatorname{Com} $ .

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