Zero-Knowledge-Proofs

事後不涉及佩吉的平等證明

  • October 1, 2022

設置如下:

  • 愛麗絲有一個秘密x
  • Alice 可以生成證明P1, P2, P3, ...
  • Bob(一個局外人)應該能夠證明任何兩個證明來自同一個x ,而無需與 Alice 溝通

是否存在這樣的證明協議?

這感覺像是屬於非互動式零知識協議領域的問題。

我一直在閱讀 Fiat-Shamir、Chaum-Pedersen 和 Schnorr 協議。

  • Fiat-shamir:要求 Alice 和 Bob 事先就兩個公共值 G 和 H 達成一致
  • Chaum-pedersen:這應該可以,但我需要快速確認才能知道這是否是我正在尋找的。即使 Alice 需要生成兩個以上的證明,只有兩個公共值可供 Alice 生成證明是否安全?
  • Schnorr:旨在證明 的知識x,但不是證明的相等性,x因此這不起作用

有沒有比 ZK 更簡單的方法,還是我想多了?提前謝謝了

是否存在這樣的證明協議?

我不確定每個“證明”應該證明什麼,因此我提出了一個似乎可以滿足最終目標的簡單建議。

假設我們有一條素數階配對友好曲線;Alice 選擇了一個生成器 $ G \in G_1 $ 和一個發電機 $ H \in G_2 $ (鮑勃不需要知道)。

然後,對於每個證明,Alice 選擇一個隨機值 $ r \ne 0 $ , 並發布對 $ (rG, xrH) $ .

然後,當 Bob 想要驗證兩個“證明”是否 $ (X, Y), (Z, W) $ 對應同一個秘密 $ x $ ,他首先驗證了 $ X, Z \in G_1 $ , 和 $ Y, W \in G_2 $ ,並且它們都不是中性元素。然後,他檢查是否 $ e(X, W) = e(Y, Z) \ne 1 $ . 如果 $ X = r_1G $ , $ Y = r_1x_1H $ , $ Z = r_2G $ , $ W = r_2x_2H $ (對於某些人來說總是如此 $ r_1, x_1, r_2, x_2 $ ), 然後:

$$ e(X, W) = e(r_1G, r_2x_2H) = (e(G, H)^{r_1r_2})^{x_2} $$

$$ e(Y, Z) = e(r_2G, r_1x_1H) = (e(G, H)^{r_1r_2})^{x_1} $$

僅當它們相等時 $ x_1 = x_2 $

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