Security

最短的 ECDSA 簽名

  • October 25, 2020

我想創建非常低的 ECDSA 簽名{r,s}r例如1),並且可以在一個字節中以 DER 格式編碼。

如何計算k價值?在我看來,它不依賴於任何東西。kwhich的價值是什麼r=1

注意:發布此簽名時,我不擔心我的私鑰的安全。

kwhich的價值是什麼r=1

這是不可能知道的。如果您可以導出r任意值,那麼 ECDSA 將從根本上被破壞。你能做的最好的就是打磨k,直到你得到一個r恰好有一個短編碼的東西。

為了練習:

k: 55573144136627188774517374788342221967869962622835886499477787746883063622036
r: 771676860789419846973923839003663416737624455477806040640071960112246091

這個隨機數在編碼時會比大多數隨機數略小,但當然,如果你嘗試在簽名中使用它,你已經暴露了你的私鑰。如果您秘密生成此值,則只能使用k一次該值,結果可能最多是編碼事務中的幾個字節差異。

老實說,這似乎不值得。

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