Commitments
位承諾,兩個具有相同位的 blob,而不顯示它?
假設我們有比特承諾方案: $ n=p*q $ 和 $ t \in QNR_n $ , 與雅可比 $ (\frac{t}{n})=1 $
承諾(P),隨機 $ x\in \mathbb{Z}_n $ , $ y=x^2t^b $ , 在哪裡 $ b $ 有點。
好的,假設我們有 $ y_1 $ 和 $ y_2 $ 包含相同的斑點 $ b $
P 如何證明兩個 blob 包含相同的位而不顯示它?
給出一個零知識證明 $ y_1 \times y_2 $ 是二次殘差。
$$ Extra verbage included because a one line answer feels too brief $$ 如果我們有 $ y_1 = x_1^2 t^{b_1} $ 和 $ y_2 = x_2^2 t^{b_2} $ , 然後 $ y_1 y_2 = (x_1x_2)^2 t^{b_1 + b_2} $ .
如果 $ b_1 = b_2 $ , 該產品是 $ (x_1x_2)^2 $ (如果 $ b_1 = b_2 = 0 $ ), 或者 $ (x_1x_2t)^2 $ (如果 $ b_1 = b_2 = 1 $ ),在這兩種情況下都是二次殘差。
如果 $ b_1 \ne b_2 $ , 這個產品是 $ (x_1x_2)^2 t $ ,這是一個二次非殘差,因此我們將無法生成它的零知識證明。