Schnorr-Identification
Schnorr 的辨識協議
Schnorr 的辨識協議據說是一個誠實的驗證者零知識協議。如果驗證者不誠實,這是否意味著它不會起作用?我想知道是否是這種情況,這意味著誠實的證明者總是會被行為不端的驗證者拒絕授權。
不,事實並非如此。我們不能保證誠實的證明者會被不誠實的驗證者驗證(他們總是會撒謊並說“不,你失敗了”),但他們很可能會得到不誠實的驗證者的授權(除了撒謊並說“你通過了“對於每個人來說,如果這對他們有利,他們可以像誠實的驗證者一樣行事)。不誠實的驗證者通常可以做任何事情,因此無法說證明者是否會被他們驗證。此外,最有可能不誠實的驗證者(似乎遵循協議的人,以至於看到消息的第三方不知道他們是不誠實的)總是會驗證誠實的證明者。
“誠實的驗證者”指的不是認證位;這是關於零知識的。我們無法阻止不誠實的驗證者拒絕驗證誠實的證明者;但是,我們也許可以阻止他們了解這個秘密。對於隨機選擇挑戰的誠實驗證者,我們可以證明誠實驗證者無法了解有關秘密的任何資訊。但是這個證明不適用於非常仔細地選擇挑戰的驗證者。沒有已知的證據表明他們無法了解這個秘密(其他協議有證據表明作弊驗證者無法學習任何東西,但 Schnorr 沒有)。這並不意味著我們知道他們可以學到一些東西。我們不知道其中一種方式。
在這種情況下,如果協議參與者遵循協議,就會將其命名為誠實的。誠實驗證者意味著他按照規定隨機選擇挑戰,因此模擬成績單與真實成績單無法區分。任何(意思是不誠實的)驗證者都會將他的挑戰計算為雜湊,因此他將無法自己模擬任何此類成績單,從而導致零知識屬性。