為什麼 Pedersen 承諾在計算上具有約束力?
這就是 Pedersen 承諾的運作方式:
讓 $ p $ 和 $ q $ 是大素數,使得 $ q \mid (p-1) $ , 讓 $ g $ 成為訂單的生成者- $ q $ 的子群 $ Z_p^{\star} $ . 讓 $ a $ 成為一個隨機的秘密 $ Z_q $ , 和 $ h=g^a \bmod p $ .
價值 $ p $ , $ q $ , $ g $ 和 $ h $ 是公開的,而 $ a $ 是秘密的。
送出消息_ $ m \in Z_q $ , 發送者隨機選擇一個 $ r \in Z_q $ 並發送承諾 $ c=g^mh^r \bmod p $ 給接收者;而為了 打開承諾,發送者透露 $ m $ 和 $ r $ ,並且接收者驗證 $ c=g^mh^r \bmod p $ .
此外,眾所周知,Pedersen 承諾方案是:
- 理論上隱藏的資訊:給定一個承諾 $ c $ , 每個值 $ m $ 同樣可能是承諾的價值 $ c $ . 例如,給定 $ m $ , $ r $ , 和任何 $ m^{\prime} $ , 那裡存在 $ r^{\prime} $ 這樣 $ g^m h^r = g^{m^{\prime}} h^{r^{\prime}} $ . 事實上,我們有 $ r^{\prime} = \frac{m-m^{\prime}}{a} + r $ .
- 計算綁定:如果發件人可以找到不同的 $ m $ 和 $ m^{\prime} $ 兩者都打開了承諾 $ c $ , 所以 $ g^m h^r = g^{m^{\prime}} h^{r^{\prime}} $ ,那麼他可以解離散對數 $ \log_g(h)=\frac{m^{\prime}-m}{r-r^{\prime}} $ . 如果我們假設離散對數是困難的,那麼發送者就不能用另一個值打開承諾。
我的問題涉及計算綁定屬性:
我們知道,從理論上隱藏要點的資訊來看,給定 $ m $ , $ r $ , 和任何 $ m^{\prime} $ ,發送者能夠計算出 $ r^{\prime} $ 這樣 $ g^m h^r = g^{m^{\prime}} h^{r^{\prime}} $ . 但這是否意味著他能夠以不同的資訊開啟承諾 $ m^{\prime} $ 甚至不必計算離散對數?
您的誤解是“發件人能夠計算出 $ r’ $ ……”
實際上,這不是真的,“理論上隱藏的資訊”要點並沒有說明這一點。它確實說明的是,對於每個 $ m’ $ , 存在一個 $ r’ $ 滿足關係;但是,這並不意味著真正的發件人可以找到這樣的值。事實上,“計算綁定”要點明確指出真正的發送者不能(假設他無法解決離散日誌問題)。
理論上隱藏要點的資訊不是談論發送者的能力,而是談論接收者;也就是說,即使接收者有無限的計算能力,他仍然無法從承諾中獲得任何關於承諾的資訊(因為所有可能的值都是等可能的)。現在,Pedersen 承諾方案在這方面是不對稱的(因為計算無界的發送方可以更改承諾);另一方面,事實證明,兩個計算無界方之間的承諾方案實際上是不可能的;佩德森計劃是我們所能達到的最接近的。