Schnorr-Signature
MuSig/Schnorr 密鑰聚合:如何獲取組合私鑰
給定MuSig中各方的私鑰,是否有可能得到與組合公鑰對應的組合私鑰?我知道可以對消息進行簽名,但是如何獲取組合私鑰?
是的,如果您最終知道所有各方的密鑰,這是有可能的!但是,請注意,在大多數實際應用場景中,至少有一個誠實方的密鑰未知,在離散對數假設下,給定腐敗的政黨。下面讓我使用Maxwell 等人在 MuSig 論文中介紹的符號。
讓 $ L $ 是一個多重集(同一個公鑰可以多次出現在 $ L $ ) 簽名者的公鑰:$$ L={X_1=g^{x_1},\dots,X_n=g^{x_n} }. $$要簽名的消息表示為 $ m $ , $ H $ 表示一個散列函式並且 $ R=\prod_{i=1}^n R_i=\prod_{i=1}^n g^{r_i}, $ 在哪裡 $ r_i $ 是由 $ i $ 參與者。挑戰計算如下: $ c_i=H_{agg}(L,X_i)\cdot H_{sig}(\tilde{X},R,m), $ 我們定義的地方 $ a_i= H_{agg}(L,X_i) $ 聚合公鑰定義為 $ \tilde{X}=\prod_{i=1}^n X_i^{a_i}. $
自從 $ \tilde{X}=\prod_{i=1}^n X_i^{a_i}=g^{\sum_{i=1}^n a_i x_i} $ 因此很容易看出聚合的密鑰是 $ \sum_{i=1}^n a_i x_i. $ 的驗證方程 $ (R,s) $ 消息上的聚合簽名 $ m $ 是:$$ g^s=R\tilde{X}^c, $$在哪裡 $ c=H_{sig}(\tilde{X},R,m) $ . 儘管請注意,聚合密鑰在驗證聚合簽名中沒有任何作用,並且在 MuSig 方案中沒有任何作用。