Zero-Knowledge-Proofs
幾個離散對數零知識證明
根據Wiki,有一種方法可以證明知識 $ x $ 這樣 $ g^x = y $ . 我如何證明我知道 $ x_1, x_2 $ 這樣 $ g^{x_1} = y_1, g^{x_2}=y_2 $ . 當然,我可以單獨製作這些證明,但我想將它們組合成一個。我的想法是證明我知道這樣 $ x = x_1 + x_2 $ 那 $ g^x = y_1 y_2 $ . 但它安全嗎?它不會使系統易受攻擊嗎?
但它安全嗎?
嗯,知識 $ x_1 + x_2 $ 並不意味著你也知道 $ x_1 $ 或者 $ x_2 $ .
另一方面,如果你要證明知識 $ r_1x_1 + r_2x_2 $ , 對於隨機數(例如,由驗證者或隨機預言機選擇) $ r_1, r_2 $ 值,這將是兩者知識的零知識證明 $ x_1, x_2 $
這可以通過以一種相當簡單的方式擴展單指數零知識證明來完成:
- 證明者發送 $ g^v $ 給驗證者(對於一些隨機的 $ v $ )
- 驗證者隨機發送 $ c, d $ 給證明者
- 證明者發送 $ r = v - cx_1 - dx_2 $ 驗證者
- 驗證者接受如果 $ g^v = g^r (g^{x_1})^c (g^{x_2})^d $