為什麼 MuSig 中的公鑰聚合被描述為公鑰的產物?
在 MuSig2論文中,描述為:
每個簽名者隨機生成一個隨機數 Ri=g^ri 並與其他人通信;然後,他們每個人計算 R=∏ni=1Ri,c=H( ̃X,R,m)其中 ̃X=∏ni=1Xii 是各個公鑰的乘積
我希望橢圓曲線上兩個或多個點的運算將被描述為加法運算,例如單個公鑰 {X1…Xn} 的總和(不是單個公鑰的乘積)。該論文將公鑰和公共 nonce 值的聚合描述為一個產品。我是否誤解了這裡發生的實際操作?為什麼這是曲線點的乘積?
換句話說:我的理解是,在曲線上添加點涉及在兩點之間畫一條線並找到與曲線相交的第三個點(翻轉 x 軸)的幾何操作。當涉及到組合公鑰和公共隨機數之類的事情時,相同的幾何運算是否仍在發生?這不是仍然被描述為在曲線上“添加”點嗎?
這純粹是一個符號問題。
橢圓曲線上的點組成一個循環群。組是具有關聯標識元素和組操作的集合。人們需要一個符號來進行該組操作。在某些情況下,更常見的是使用加法符號(以及表示重複應用組運算的乘法),而在其他情況下,更常見的是使用乘法符號(以及表示重複應用組運算的取冪)。
這兩種符號都是常用的,對實際操作沒有影響。這只是一個如何寫什麼的問題。關於這個話題甚至有一些激烈的爭論。您甚至可能會注意到 MuSig2 論文的一位作者在該執行緒中發表評論。
需要指出的一點可以解釋這一點,MuSig2 論文從未提及橢圓曲線。它需要某些假設成立的素數有序群,但除此之外,它可以是任何群——論文在第 3.1 節中指出,“群 G 是乘法表示的”。大多數基於離散對數問題的密碼學都是這種情況:它適用於任何組。從歷史上看,用於此目的的第一種類型的組是整數模素數(具有某些其他限制) - 其中乘法是符號的明顯選擇。您可能還會注意到它被稱為“離散對數”問題,而不是“離散除法”問題。
同時,在橢圓曲線的上下文中,您當然是正確的,該操作稱為點加法 - 重複應用它稱為點乘法。我個人也更喜歡它,因為這意味著您可以在標量和組操作之間獲得更明顯的對應關係(例如,用於計算 Schnorr 簽名的s = k + H(R,P,m)x與**s·G = k·G + H (R,P,M)·x·G = R + H(R,P,m)·P用於驗證它,而不是乘法符號中的G s = R·P H(R,P,m) ),並避免在排版中有時嵌套的上標層。
編輯:Tim Ruffing 向我指出,在 MuSig2 中使用乘法符號的真正原因是該論文最初是對MuSig 論文的修訂,該論文也使用了乘法符號。然而,MuSig-DN 論文使用加法符號。