Zero-Knowledge-Proofs
Sigma 協議中的挑戰 c(使用 Fiat Shamir)
眾所周知,下圖是一個 sigma 協議,為了消除互動性,Prover 可以使用 Fiat Shamir 變換通過散列 ( t, y ) 生成**c 。我的問題是:1)。證明者可以將c作為雜湊(0x1234 , 0x4321)獲得嗎(其中0x1234 , 0x4321是設置時的公共參數)?2)。如果上面的答案是肯定的,那麼在 Fiat Shamir 變換中,不同的 Provers 可以同時使用相同的c嗎?
我不明白這個問題。您的意思是 (0x1234,0x4321) 在生產 t 之前是否可以獲得?sigma 協議是誠實驗證者零知識協議,其中模擬器通過首先生成c然後以可接受的方式計算t和z來模擬與誠實驗證者的互動,以便發布的成績單看起來像真實的互動。因此,事先知道c將允許證明者輕鬆生成假證明。
不會。由於 0x1234、0x4321 是公開的,因此在執行之前就知道了,證明者在發送 t 之前就知道挑戰 c。這紫是 sigma 協議的要求:在收到 t後將c 發送給 P。