Zero-Knowledge-Proofs
承諾價值的零知識證明
我正在考慮以下問題,希望能提供任何幫助。
問題表述:
假設 Alice 持有一個秘密值 $ x $ 並且有一個公共的布爾謂詞函式 $ \texttt{Pred} $ 適用於 $ x $ , $ \texttt{Pred}: x \rightarrow {0,1} $ . 一個樣本謂詞函式可以是輸入是否 $ x $ 是否在一定範圍內。
現在 Alice 計算 $ y\gets\texttt{Pred}(x) $ , 但不是發布 $ y $ , 它公佈了加密 $ y $ , $ \texttt{Enc(y)} $ 或承諾這個值 $ \texttt{comm}_y $ . Alice 是否有可能通過評估來證明加密值或承諾值是正確計算的 $ \texttt{Pred} $ 超過 $ x $ 不露聲色 $ x $ 和 $ y $ ?
(如果需要解決這個問題,請做出額外的假設)。
是的,這是可能的,但你需要找到方程式 $ E_1, E_2 $ 它允許您檢查: $$ \texttt{Enc}(y)=c \iff E_1(y, c) $$ $$ \texttt{Pred}(x) = y \iff E_2 (x,y) $$
然後你必須找到一個零知識證明系統來授權你證明等式 $ E_1, E_2 $ . 例如,如果這些方程在雙線性組上下文中,那麼 Groth-Sahai 完全適合:https ://eprint.iacr.org/2007/155
或者如果 $ E_1 $ 和 $ E_2 $ 是電路,你可以看看這個:https ://eprint.iacr.org/2017/872.pdf
ps:在您的情況下,因為根本沒有關於 x 的公開資訊;用假的似乎很容易作弊 $ x $ ,但我假設您已經考慮過這一點。