Ripple
瑞波如何驗證簽名?
據我了解,客戶端將以下資訊發送到伺服器 1.消息的雜湊值,2.公鑰 3.私鑰簽名
並且伺服器用公鑰和雜湊驗證簽名,檢查它是否屬於某個私鑰,伺服器還需要檢查公鑰是否對應於漣漪地址。
我對嗎?
而且我已經看到有一種用於 ECDSA 簽名的公鑰恢復方法。<https://crypto.stackexchange.com/questions/18105/how-does-recovering-the-public-key-from-an-ecdsa-signature-work>
如果我之前的判斷是正確的,那麼客戶端是否可以只向伺服器發送簽名和雜湊?我想這是一個問題,因為我們無法從簽名和雜湊中得出曲線。
你對第一部分是正確的。
不幸的是,從簽名中恢復公鑰是不太可能*的。*您可以恢復用於 ECDSA 目的的公鑰,但這並不能保證它與預期的公鑰逐字節相同。這意味著它可能不會散列到正確的地址,這可能會導致檢查是否使用了正確的公鑰失敗。