Algorithm-Design
將狀態相關的基於雜湊的簽名方案轉換為無狀態的消息相關的簽名方案
假設我們有一個XMSS MT實例,當給定一些與狀態相關的資訊時,它能夠安全地簽署多達 2^60 條消息,我可以設想使其無狀態,如下所示:
- 散列消息並截斷摘要 $ t $ 到 60 位。
- 分裂 $ t $ 進入 $ d $ (超樹層)塊並解釋為每一層的整數葉索引。
- 在每一層,每個葉子都簽署一個 WOTS+ 公鑰,該公鑰由通過加密葉子索引創建的種子生成。
顯然,這會將方案的安全性從可接受的 30 位降低到僅 30 位,因為簽名密鑰是根據 60 位散列摘要選擇的。
Q1:這可以通過使用一些獨特的映射功能來挽救嗎?或者我們有更好的機會依賴 UTC 時間或使用 SPHINCS 系列方案?
Q2:我們可以從使用 XMSS MT而不是 SPHINCS 系列方案中獲得什麼好處?
這可以通過使用一些獨特的映射功能來挽救嗎?
一個“獨特的映射功能”;也就是說,一個永遠不會發生衝突的雜湊函式???
或者我們有更好的機會依賴 UTC 時間
這意味著它仍然是有狀態的(只是狀態存在於時間中)
還是使用 SPHINCS 系列方案?
實際上,您的建議與 Sphincs+(或 Gravity Sphincs)相差不遠。兩者都採用您的一般方法來獲取消息,對其進行散列,並使用該值來選擇通過超樹的路徑(或者,如您所說,解釋為每一層的整數葉索引)。不同之處在於,在底部,他們使用 Few-Time 簽名方案而不是一次性簽名方案(因此超樹不必太高以使衝突不可能發生;他們只需要確保您不太可能在同一地點發生太多碰撞)。
我們可以從使用 XMSS MT而非 SPHINCS 系列方案中獲得什麼好處?
出色地:
- 簽名要小得多
- 簽名生成時間要快得多(相關LMS方案的生成時間更快)