Hash

使 WOTS+ 公鑰更短

  • July 15, 2021

在 WOTS+ 中——如RFC 8391第 3 節所述——公鑰、私鑰和簽名都由 $ len $ 字元串與 $ n $ 每個字節,其中 $ len, n \in \mathbb{N} $ . 使用所有連接的雜湊是否安全 $ len $ 字元串作為短公鑰?由於您只需要消息和簽名來計算(長)公鑰,因此該過程將與 RFC 的第 3.1.6 節中描述的完全相同,除了驗證者需要在最後採用額外的雜湊並比較結果與短公鑰。我特別疑惑為什麼文件中沒有提到這種可能性。我懷疑他們更擔心簽名的大小而不是公鑰的大小。這合理嗎?

這確實是可能的。RFC 4.1.5 中的 L-trees 正是這樣做的,它防止了對抗衝突散列函式的要求。僅在此處進行了描述,因為“雜湊函式”在很大程度上與 Merkle 樹本身相同。因此,您可以簡單地使用 L-tree 作為 WOTS 的一部分,將公鑰壓縮為 n 字節值(對於 RFC 中使用的 n)。如果您想使用單個雜湊函式呼叫,您可以查看在 SPHINCS+ 中完成此操作的方式,其中他們引入了可調整的雜湊函式(本質上是在雜湊函式中使用偽隨機位遮罩和鍵的概念的概括),或者您可以對 2n 字節的抗衝突雜湊函式進行一次呼叫。在後一種情況下,長度必須為 2n,因為選擇 n 僅是為了防止(第 2 次)原像攻擊。尤其,

引用自:https://crypto.stackexchange.com/questions/91956