Elliptic-Curves
與 EdDSA 發生簽名衝突的可能性
以 EdDSA 為例,給定數據有效載荷的簽名長度為 512 位,如果還有另一個 512 位值也是有效簽名,那麼發生衝突的機率是多少?
使用對稱加密,我們知道整個空間中只有一個密鑰可以有效地解密使用相同密鑰加密的數據。
**我們能否證明對於給定的有效載荷和給定的私鑰,在 512 位簽名空間中只有一個有效簽名?**也就是說,不存在可以使用與創建簽名的私鑰對應的公鑰來驗證的其他簽名。
我們能否證明對於給定的有效載荷和給定的私鑰,在 512 位簽名空間中只有一個有效簽名?
不會。如果您考慮 EdDSA 驗證,則合法簽名者可以為給定消息生成多個簽名,並且所有簽名都將通過 EdDSA 驗證。但是,只有使用 EdDSA 簽名程序生成的簽名才能通過無輔助驗證。
此答案中提供了有關如何生成替代有效簽名的更多詳細資訊。
關於更廣泛的問題:
以 EdDSA 為例,給定數據有效載荷的簽名長度為 512 位,如果還有另一個 512 位值也是有效簽名,那麼發生衝突的機率是多少?
專門要求僅通過無輔助驗證(以避免上述技術生成的其他有效簽名),應該有一個有效的 $ S $ 對於每個可能的值 $ r $ . 自從 $ R $ 完全取決於 $ r $ , 和 $ 0 \le r < L $ , 至少有 $ L $ 可能的有效簽名,其中 $ L $ 是大素子群的階。對於 ed25519, $ L = 2^{252}+27742317777372353535851937790883648493 $