Signature

快速兩方 ECDSA 簽名的安全性

  • December 27, 2018

Yehuda Lindell的論文“快速安全的兩方 ECDSA 簽名”描述了一個系統,其中兩方, $ P_1 $ (有 1/2 份額的長期 ECDSA 簽名密鑰 $ x_1 $ ) 和 $ P_2 $ (與另外 1/2 份額, $ x_2 $ ),合作以產生 ECDSA 簽名, $ P_1 $ 是實際輸出最終簽名的一方。

在第 3.2 節中,描述了分佈式簽名的過程,據說假設攻擊 $ P_2 $ 意味著發送惡意消息,如果 $ x_1 \bmod 2 = 0 $ 那麼最終的簽名是不正確的(因此 $ P_1 $ 不會輸出簽名),如果 $ x_1 \bmod 2 = 1 $ ,那麼最終的簽名是正確的(因此 $ P_1 $ 將輸出簽名)。然後,作者參考了安全證明以了解如何處理此問題的詳細資訊。

如果我沒記錯的話,這是在第 20-22 頁的第 4.1 節中解決的(第 5 節中有另一種安全證明,但我主要關注第 4 節中的那個)。在本節中,通過簡化為 ECDSA 的安全性來證明安全性(即,如果我們有攻擊者 $ A $ 破壞 2 方 ECDSA,然後我們可以建構一個破壞 ECDSA 的攻擊者)。具體來說,對於手頭的事情,策略是讓模擬器模擬 $ P_1 $ 在某個隨機點中止。這使得模擬視圖以不可忽略的機率與真實視圖無法區分,因此我們可以使用 $ A $ 打破 2 方 ECDSA,然後用它來打破 ECDSA,依此類推。

現在,我的疑問是:這如何證明惡意 $ P_2 $ 被阻止學習 LSB $ x_1 $ 如果第 3.2 節中提到的假設攻擊是可能的。或者這是否意味著,在實踐中,我們實際上需要強制 $ P_1 $ 隨機中止?在那種情況下,這在實踐中是否現實?

在真實生活中, $ P_1 $ 當然不會隨機中止;這是沒有意義的。構想如下。假設作弊 $ P_2 $ 可以有機率偽造簽名 $ \epsilon $ 互動獲取時 $ p(n) $ 簽名與系統簽署。現在,如果 $ P_2 $ 作弊然後有一個第一個地方 $ P_1 $ 中止。ECDSA 的對手可以模擬一切並猜測第一次中止發生的位置,並且有可能是正確的 $ 1/p(n) $ . 這意味著 ECDSA 的對手可以偽造簽名 $ \epsilon/p(n) $ . 由於假定 ECDSA 是安全的,這意味著 $ \epsilon $ 必須可以忽略不計。

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