Provable-Security
這個修改後的 Schnorr 簽名方案安全嗎?
簽約
- 讓 $ y = g^x $ ,這是您的公鑰/私鑰對。
- 讓 $ r = g^v $ , 對於隨機 $ v $
- 讓 $ c = H(M) $
- 讓 $ z = (v + cx) \bmod q $
- 簽名是對 $ (r,z) $
驗證
- $ g^z = ry^c \bmod p $
我們進一步假設簽名者註意不要對同一消息進行兩次簽名(這是他在我的應用程序中的工作),並且由此產生的延展性不是問題。這個方案在隨機 Oracle 模型中安全嗎?
如果是這樣,我們可以獲得非常快速的非互動式多重簽名聚合。 https://crypto.stackexchange.com/questions/19291/need-fast-bulk-signature-verification-followed-by-fast-non-interactive-multisig
這種方案是不安全的,因為任何擁有公鑰的人都可以偽造任意消息。
為此,偽造者將接收消息 $ M $ , 公鑰 $ y $ , 任意選擇 $ z $ , 併計算 $ r = y^{-H(M)} g^{z} \bmod p $ 和輸出 $ (r,z) $