Security
最短的 ECDSA 簽名
我想創建非常低的 ECDSA 簽名
{r,s}
(r
例如1
),並且可以在一個字節中以 DER 格式編碼。如何計算
k
價值?在我看來,它不依賴於任何東西。k
which的價值是什麼r=1
?注意:發布此簽名時,我不擔心我的私鑰的安全。
k
which的價值是什麼r=1
?這是不可能知道的。如果您可以導出
r
任意值,那麼 ECDSA 將從根本上被破壞。你能做的最好的就是打磨k
,直到你得到一個r
恰好有一個短編碼的東西。為了練習:
k: 55573144136627188774517374788342221967869962622835886499477787746883063622036 r: 771676860789419846973923839003663416737624455477806040640071960112246091
這個隨機數在編碼時會比大多數隨機數略小,但當然,如果你嘗試在簽名中使用它,你已經暴露了你的私鑰。如果您秘密生成此值,則只能使用
k
一次該值,結果可能最多是編碼事務中的幾個字節差異。老實說,這似乎不值得。