Signature
默克爾樹高度
我正在閱讀有關Merkle 樹簽名的資訊,我想知道該方案的安全性是否取決於樹的高度,還是僅取決於雜湊函式抗碰撞?
如果您查看確切的安全性,那麼高度很重要。原因是它定義了 OTS 密鑰對的數量,因此每個 MSS 密鑰對的一個時間簽名的可能數量。要偽造一個 MSS 簽名,只需 1 次偽造就足夠了 $ 2^h $ OTS 簽名。因此,您會降低 $ h $ 位。
Merkle 樹簽名方案主要假設使用的底層雜湊函式是密碼安全的。原像和第二原像屬性在這里特別重要,因為攻擊者不應該能夠:
- 找到原像 m 使得 h(m) = 公鑰。(原像抵抗)否則,驗證者可能會被欺騙認為合法使用者已經向他發送了有效簽名,即使合法使用者沒有發送。
- 找到消息 m 的另一個有效的一次性簽名,使得 H(m) = H(m’)。(第二個原像抗性)否則,攻擊者可能能夠偽造新的簽名。
根據我對該方案的理解,樹的高度僅影響使用單個公鑰(根節點)可以生成的簽名數量、樹構造的成本(2^n+1 - 1 次雜湊運算)和樹的儲存成本(2^n+1 - 1 乘以每個散列摘要的大小)。