Signature

比特幣簽名中的低 s 值

  • April 9, 2019

在交易簽名中使用s數的“正常”(大於 N/2)值有什麼問題,為什麼我們使用較低的值?是關於 ecdsa 背後的數學嗎?

詳細資訊在BIP 146中:

我們要求 ECDSA 簽名中的 S 值最多是曲線階數除以 2…

簽名中的高 S 值可以簡單地替換為 S’ = 0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141 - S。

簽名編碼兩個重要的驗證值rS. 如果(r, S)是一個有效的簽名,那麼 也是(r, -S),它等價於(r, curver_order -S)

引用自:https://bitcoin.stackexchange.com/questions/85946