沒有雙線性配對的非互動式門檻值簽名(可能)?
我見過的所有門檻值簽名方案都需要雙線性對來避免各方之間的參數交換。這些通常是針對某個秘密的承諾方案。
我相信不使用雙線性配對的 2 輪非互動式方案是可能的,但我不完全確定它是否安全。
設置
假設一組擁有一對私鑰/公鑰的各方 $ s_{i} \times G \mapsto P_{i} $ ,還有一個沙米爾的秘密股份 $ y_{i} $ 的 $ y $ 在一個 $ (t,n) $ - 門檻值在哪裡 $ t+1 $ 需要恢復秘密。
假設有一個客戶端對簽名結果感興趣並且可以參與簽名協議。它還可以嘗試破壞協議以獲取有用的資訊(例如嘗試獲取 $ y $ ),但在接收無效簽名時一無所獲。
拉格朗日插值定義為 $ \mathcal{L}^{i} $ 這樣 $ \mathcal{L}^{i} y_{i} \mapsto y $ 和 $ \mathcal{L}^{i} y_{i} \times G \mapsto Y $ . 還, $ y \times G \mapsto Y $ . 我知道這已經可以從這個執行緒中實現。
ThrGenSig(B) $ \mapsto $ (c, p)
為 $ B $ 來自 2 輪多方計算的數據塊。
*Round 1)*客戶端發送 $ B $ 超過 $ t+1 $ 派對。每一方計算一個雜湊值 $ H(s_{i}||B) \mapsto m_{i} $ 並回复 $ m_{i} \times G \mapsto M_{i} $ .
*Round 2)*客戶選擇第一個 $ t+1 $ 回復和計算 $ \mathcal{L}^{i} M_{i} \mapsto M $ . 元組 $ (B, M) $ 發送給選定的各方。各方派生 $ m_{i} $ 再次和 $ c = H(Y||M||B) $ , 等於各方。各方回复 $ (m_{i} - c \cdot y_{i}) = p_{i} $ . 簽名結果是在客戶端計算的 $ \mathcal{L}^{i} p_{i} \mapsto p $ , 和 $ c $ 已經知道了。
審查 (B, c, p) $ \mapsto $ {0,1}
驗證作為任何 Schnorr 簽名完成。
- $ p \times G + c \times Y = M $
- 是 c = H(Y||M||B)
正確性:請注意,由於相同 $ t+1 $ 派對被用來生產 $ M $ 和 $ p $ ,拉格朗日插值有效。多項式的次數為 $ m_{i} $ 是一樣的 $ y_{i} $ ,並且由於同態性質,我們可以將相同程度的份額相加。該方案只需 $ t+1 $ 2輪中的活躍方。
匆忙的對手:各方之間不需要承諾方案,因為沒有互動性。客戶和共謀方可能會嘗試執行 $ M_{0}^{’} + \sum_{i=1}^{t} M_{i} = M^{’} $ 迫使結果在哪裡 $ m^{’} \times G \mapsto M^{’} $ 是已知的。然而,由於 $ m_{0}^{’} $ 由於 DLP 無法獲知,該方無法參與以產生有效的簽名 $ M^{’} $ . $ m_{i} $ 值不會以任何其他方式公開。
清楚的 $ m $ 價值觀: $ m $ 和 $ m_{i} $ 相同的當事人的價值觀是相同的,並且 $ B $ .
這裡沒問題。甚至 $ t $ 共謀各方不能強制相同 $ m $ 對於不同的 $ B $ . 這 $ m_{i} $ 誠實的一方的份額將迫使一個獨特的 $ m $ 機率很高。對手可以通過衝鋒對手嘗試已知的 $ M $ 通過 $ M_{0} + \sum_{i=1}^{t} M_{i}^{’} = M $ ,但需要導出一個 $ m^{’} \times G \mapsto \sum_{i=1}^{t} M_{i}^{’} $ 為共謀方。 $ m^{’} $ 由於 DLP 無法導出。我錯過了什麼。這安全嗎?
如果攻擊者可以對同一消息進行兩次簽名,則所編寫的方案是不安全的。
誠實的各方將計算他們的 $ m_i $ 確定性地,但攻擊者不必這樣做。
攻擊者將獲得 $ (m_i - c \cdot y_i) = p_i $ 和 $ (m_i - c’ \cdot y_i)= p_i’ $ 對於每個參與者。
這些方程可以解得到 $ y_i = \frac{p_i - p_i’}{c’ - c} $ . 由於攻擊者知道右側的所有值,因此攻擊者可以得到 $ t+1 $ 分享並恢復 $ y $ .
避免這種情況的一種可能解決方案是確保同一消息永遠不會被簽名兩次。