可以使用安全的兩方計算來實現互動式零知識證明系統嗎?
我正在使用真正理想的範式定義多方計算(請參閱安全多方計算的實用介紹)。也就是說,對於現實世界中對 MPC 協議的任何成功攻擊,都存在一個模擬器,可以在理想世界中成功地執行這種攻擊。由此可見,現實世界的安全必須等同於理想世界的安全。
我正在為一種語言定義互動式零知識證明系統 $ L $ 使用互動式證明系統的知識複雜性中的原始定義。也就是一對 $ (A, B) $ 互動式圖靈機必須滿足
- 完整性:給定 $ x \in L $ , $ B $ 以非常高的機率接受;
- 穩健性:給定任何證明者 $ A’ $ 和 $ x \not\in L $ 傳入 $ (A’, B) $ , $ B $ 以非常低的機率接受;
- 零知識:存在一個機率多項式時間模擬器,可以模擬兩者之間的整個消息交換 $ A $ 和 $ B $ 對於任何輸入 $ x \in L $ .
現在,來自安全多方計算的零知識論文提到了以下內容:
零知識協議可以被視為安全兩方計算的一個特例,其中該函式驗證證明者持有的證人的有效性。
也就是說,給定 $ L \in \mathcal{NP} $ , 存在一個算法 $ A $ 這樣 $ x \in L \iff \exists w\colon A(x, w) = 1 $ (定義 $ \mathcal{NP} $ )。一方 $ P_1 $ 作為證明者,另一個 $ P_2 $ 作為驗證者。 $ P_1 $ 知道 $ x $ 和 $ w $ , $ P_2 $ 只知道 $ x $ . 他們執行 $ A(x, w) $ 一起判斷是否 $ x \in L $ 或不。
清楚地, $ w $ 不向驗證者透露 $ P_2 $ 由於 MPC 協議。但是,零知識的定義不是更籠統嗎?如果證明者 $ P_1 $ 出於某種原因,發送了某個實例的解決方案 $ \mathcal{NP} $ -完成問題1,沒有多項式時間模擬器可以模擬這個假設 $ \mathcal{P} \neq \mathcal{NP} $ . 創建的證明系統不會是零知識。
因此,鑑於 MPC 協議可以交換不可模擬的消息,MPC 協議實際上不能用於為某些語言實現零知識證明系統 $ L \in \mathcal{NP} $ , 它可以?
1解決方案可以依賴於 $ x $ 這樣它就不是恆定的,因此很容易模擬。
零知識最初是針對任意(可能是無界的)證明者定義的。然而,當我們在密碼學中使用或討論零知識時,我們幾乎總是隱含地假設 NP 的 ZK,其中證明者在多項式時間內執行,給定陳述的見證人。這就是論文所指的零知識證明類型,這確實是惡意安全兩方計算的一個特例。