Pairings

使用配對來驗證擴展歐幾里得關係而不洩露值?

  • October 19, 2012

讓 $ P_i(x) $ 是多項式 $ i=1,…,n $ , $ s $ 一些價值,和 $ g $ 組的生成器 $ G $ 其中離散對數很難。

假設一個證明者想要說服一個可以訪問這些值的驗證者 $ g^{P_i(s)} $ 它知道多項式 $ q_i(x) $ 使得以下等式成立:

$ q_1(s)*P_1(s)+q_2(s)*P_2(s)+\ldots+q_n(s)*P_n(s) = 1. $

證明者因此向驗證者發送值 $ g^{q_i(s)} $ 並使用雙線性映射來驗證答案的正確性。

下面的方程能告訴我它是否正確計算了 $ q_i(s) $ :

$$ e(g^{q_i(s)},g^{P_i(s)}) = e (g,g) $$ 在哪裡 $ e $ 是一個雙線性映射 $ G\times G\rightarrow G_1 $ . 所以基本上我希望我的雙線性圖在隱藏指數的同時驗證指數。等式的第二部分是否正確?或者應該是1,或者 $ e(g,g)^{ord(G)}=1 $ ?

好吧,假設等式成立, $ \Pi_{i=1}^n e(g^{q_i(s)},g^{P_i(s)}) = e (g,g) $ 也必須成立,由於雙線性 $ e $ . (相反,該等式僅適用於 mod |G_1|。)

要了解原因,請回想一下映射 $ e $ 是雙線性轉化為 $ e(g^a,h^b)=e(g,h)^{a*b} $ 對於所有元素 $ g $ 和 $ h $ 在 $ G $ 並且對於所有整數 $ a $ 和 $ b $ . 因此,我們總是有 $ e(g^{q_i(s)},g^{P_i(s)})=e(g,g)^{q_i(s)*P_i(s)} $ 通過將所有這些等式相乘,我們得到

$$ \Pi_{i=1}^n e(g^{q_i(s)},g^{P_i(s)}) =e(g,g)^{q_1(s)*P_1(s)+\cdots+q_n(s)*P_n(s)}. $$ 現在你要檢查的是如果 $ q_1(s)*P_1(s)+\cdots+q_n(s)*P_n(s)=1 $ :如果為真,我們可以將上面配對方程中這個方程左邊的表達式替換為1,從而得到 $$ \Pi_{i=1}^n e(g^{q_i(s)},g^{P_i(s)}) = e (g,g) $$ 如開頭所述。 為了 $ e(g,g) $ 是一個群元素 $ G_1 $ ,它必須認為 $ e(g,g)^{|G_1|}=1 $ ,對於任何其他元素 $ G_1 $ .

對於實際值 $ e(g,g) $ 本身,我們只能說它是一個元素 $ G_1 $ (根據定義 $ e $ )。它可以是中性元素 $ G_1 $ 在這種情況下 $ e(g^a,g^b)=1 $ 對全部 $ a $ 和 $ b $ 因此沒有為您提供檢查擴展歐幾里得等式的方法,因為您基本上會得到 $ 1=1 $ 對於所有可能的值 $ q_i $ 和 $ P_i $ .

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