Discrete-Logarithm
非誠實驗證者的離散日誌的零知識證明
取一個素數的循環群。證明某個群元素的離散對數知識的 Schnorr 協議是誠實驗證者零知識,這意味著如果驗證者隨機選擇他的挑戰,那麼他對日誌一無所知。
但是,我正在尋找離散日誌知識的零知識證明,它不是誠實驗證者的零知識;我希望它(尤其是模擬器)能夠處理任何驗證者,無論是否誠實。在證明者方面,最好盡可能高效。我的 Google-fu 似乎拋棄了我;有人有任何指示嗎?
經過大量額外的Google搜尋後,我找到了一些答案:
- 這些講義,幻燈片 12 到 23;特別是幻燈片 22,它展示了五步知識的 ZK 證明;
- 這篇由 Ronald Cramer、Ivan Damgård 和 Philip MacKenzie 撰寫的論文展示了四步棋的 ZK 證明(第 365 頁)。
用 p 表示組的順序,這兩個都有知識錯誤 2 -p,就像 Schnorr 一樣。
有兩個答案。一,與 Fiat-Shamir 變換進行非互動。這需要隨機 Oracle 模型 (ROM) 進行分析,但 ROM 在密碼學中足夠標準,並且 ROM 證明已在實踐中使用了足夠長的時間,因此您不必擔心。它讓你獲得完整的 ZK,奇怪的是,與普通 Schnorr 只是 HVZK 完全相同的原因。
另一個答案是減少挑戰空間的大小 $ p $ (團體順序)到 $ \log(p) $ . 這會讓你獲得完整的 ZK,但你的健全性錯誤會下降到 $ \frac1{\log(p)} $ 太,所以你必須重複整個協議 $ O(\log(p)) $ 次獲得與一次 HVZK Schnorr 執行相同的健全性。但是,這種重複不會破壞您的 ZK 屬性。
如果我記得很清楚的話,Jan Camenisch 的著作很好地描述了這些問題。