Zero-Knowledge-Proofs

互動式證明比非互動式證明更安全嗎?

  • June 19, 2019

給定一個互動式 zk 證明,如果我們使用 fiat-shamir 使其成為 nizk 證明,證明是否會變得不那麼安全?

是否引入了任何新的攻擊媒介?

是否有任何理由使用互動式版本而不是非互動式版本?除了雙方一直線上

對於互動式和非互動式證明之間的區別,是否有任何復雜性理論評論?

當使用 Fiat-Shamir 變換將互動式 ZK 證明轉換為非互動式零知識論證時,必須考慮以下安全問題:

  • 即使互動式 ZK 證明是一個證明系統(意味著它在統計上是健全的),Fiat-Shamir 變換也會產生一個論證系統(其中健全性只是計算性的)。具體而言,這意味著您通常必須在使其非互動之前增加互動協議的健全性錯誤。例如,考慮一個互動協議,其中作弊者最多有機率 $ 2^{-40} $ 為不正確的陳述提供令人信服的證據:在許多現實世界的情況下,這可能是一個完美的安全保證。但是一旦你用 Fiat-Shamir 把這個協議變成一個 NIZK,保證就會改變:現在,你只能保證偽造一個不正確的證明需要 $ 2^{40} $ 惡意證明者的計算步驟。但表演 $ 2^{40} $ 在任何標準電腦上操作都是微不足道的,因此該方案將被完全破壞。換句話說,在通信和計算方面,NIZK 通常需要比相應的互動式 ZK 證明效率低,才能達到足夠的安全級別。
  • 許多互動式 ZK 證明自然滿足不可轉移性:如果證明者與驗證者互動並證明他知道某些價值,或者某些陳述是正確的,那麼驗證者即使在看到證明者的證明之後,也不能反過來說服另一方他知道該價值/該陳述是真的。這是因為驗證者最多只能向對方展示成績單,但是由於協議的零知識屬性,實際上可以在不知道證明是否真實的情況下輕鬆生成該成績單(否則:如果你知道提前挑戰,很容易偽造證明,對方怎麼會知道驗證者沒有勾結證明者提前給他挑戰?)。相比之下,NIZK 是自然可轉讓的,因為它們是可公開驗證的。有時,不可轉讓性至關重要:假設您解決了一個價值百萬美元的問題,並想向某人證明您已經找到了解決方案。使用零知識證明可以讓你說服他你知道解決方案而不透露它;但是您仍然不希望此人能夠使用您的零知識證明可以讓其他人相信他知道解決方案,因為他可以使用您的證明來獲得百萬美元的獎金!
  • 正如 Martin Kromm 所指出的,在任何已知的安全假設下,Fiat-Shamir 變換在標準模型中都沒有被證明是安全的。它僅在理想化模型中被證明是安全的,這意味著它提供的安全保證充其量只是啟發式的指示,即破壞它需要對底層雜湊函式執行“不平凡的事情”。具體來說,通過 Fiat-Shamir 變換獲得的 NIZK 迄今為止從未被破解,似乎相對安全,但我們沒有證據證明這一點,因此應該謹慎。

至於使用互動式證明而不是非互動式證明的原因(除了上面的那個,專門適用於 Fiat-Shamir):如果你想要一個非常有效的證明,驗證速度非常快並且通信非常小,那麼這個可以通過使用標準且經過充分研究的假設的互動式證明來實現,例如抗碰撞雜湊函式(本文)、離散對數問題(本文)等。相反,如果你想要這樣一個高效的 NIZK,你要麼僅在隨機預言模型中具有安全性(使用 Fiat-Shamir),或者必須依賴於奇異且難以理解的假設,例如指數知識假設。

至於關於 NIZK 與 ZK 證明的複雜性理論討論,我在這個答案中討論了與零知識證明的輪複雜度相關的複雜性理論問題。在我最近的論文的介紹中,也有一些關於從標准假設建構 NIZK 的難度的討論(與從標准假設建構互動式 ZK 的相對容易性相比),您可能會發現這很相關。

引用自:https://crypto.stackexchange.com/questions/71416