證據不可區分性
定義. (證據不可區分性,Witness Indistinguishability,簡稱WI)記Π=(Setup,Prove,Vrfy,Check)是與語言L∈NP相關的證明協議,對於任意兩個滿足Check(x,w1)=1∧Check(x,w2)=1的證據w1和w2,若以下條件成立,則稱協議Π滿足證據不可區分性,
π1←Prove(crs,x,w1)∧π2←Prove(crs,x,w2)∧π1≈cπ2。
ZK意味着WI
定理. (zero knowledge imples witness indistinguishability)記Π=(Setup,Prove,Vrfy,Check)是與語言L∈NP相關的證明協議,若協議Π滿足零知識性質,則它同時滿足證據不可區分性。
證明. 假設證據w1和w2滿足Check(x,w1)=1∧Check(x,w2)=1,由零知識性質可知,有
∣∣∣Pr[crs←Setup(1λ):AProve(crs,x,w)(crs)→1]−Pr[(crs,td)←Sim1(1λ):ASim2(crs,td,x)(crs)→1]∣∣∣≤negl(λ),
即
π1←Prove(crs,x,w1)∧πs←Sim(crs,td,x)∧π1≈cπs,且
π2←Prove(crs,x,w2)∧πs←Sim(crs,td,x)∧π2≈cπs,
根據不可區分性的傳遞法則,進一步有π1≈cπ2,證畢。
一個例子
假設函數f(ω)=ω2+1,語言L=def{ι:∃ω s.t. ι=gf(ω)},其中g爲羣G的生成元。
若離散對數問題是困難的,易推L∈NP。證明思路如下:給定ι,假設敵手A能夠找到ω,則能計算出f(ω),從而找到離散對數難題的解,這與題設不符合,故假設不成立,A以可忽略概率找到ω。
P爲了證明它知道ω,可以先計算x:=f(ω),然後運行Schnorr協議證明它知道x。
- 易構造出模擬器Sim。
- 若P∗能夠給出有效證明π,易證它必然知道ω∗=±x−1。
可進一步推出上述協議是ZKP。
從上述例子中可以得到WI的直觀理解。
Reference
http://www.cs.umd.edu/~jkatz/gradcrypto2/NOTES/lecture21.pdf