Hash

為什麼我們在 SPHINCS+ 中同時需要位遮罩和鍵控雜湊

  • March 15, 2022

我認為其中一個與多目標攻擊有關,另一個與碰撞攻擊有關。但是我找不到基於雜湊的加密與雜湊衝突的關係。

1-) 考慮以下 Lamport one 拍號方案

  • 假設一個 128 位的散列函式 $ H $ 用來
  • 隨機選擇 $ p_i $ 和 $ r_i $ 為了 $ 1\leq i \leq 128 $
  • $ SK={(p_i,r_i)}_i $ 是密鑰並且 $ PK={(H(p_i),H(r_i))}_i $ 是公鑰。
  • 對於消息 $ M $ ,我們取雜湊 $ h=H(M) $ . 讓 $ h=h_1h_2\cdots h_{128} $
  • 用於簽名 $ M $ , 我們發布 $ p_i $ 如果 $ h_i=0 $ 和 $ r_i $ 如果 $ h_i=1 $ 對於每個 $ i $ .

對手如何申請 $ 2^{64} $ -成本攻擊?

該方案的安全性如何?(我認為是 120 位,因為多目標適用,即足以找到至少一個 $ p_i,r_i $ 的。隨機猜測有機率 $ \frac{256}{2^{128}} $ )

2-) 考慮原始的 Merkle 樹 $ 2^{10} $ Lamport one time 簽名沒有帶有雜湊函式的位遮罩 $ H $ 上面用過。該方案的安全性如何?(類似於上面我們有 120 噸位安全後 $ 2^t $ 簽名因為 $ \frac{256\cdot 2^t}{2^{128}} $ )

我認為如果我們在這裡使用鍵控散列或位遮罩,該方案的安全性將是 128 位。那麼為什麼我們兩者都需要呢?

或者,沒有鍵控散列或位遮罩的 SPHINCS+ 的安全性是什麼?

我認為如果我們在這裡使用鍵控散列或位遮罩,該方案的安全性將是 128 位。那麼為什麼我們兩者都需要呢?

事實上,我們沒有。Sphincs+(至少是第 3 輪版本)有兩組參數集,“simple”和“robust”。Simple 只有“鍵控散列”(我將在每個 PRF、F、H 和 T 評估中包含的地址結構中解釋它;不是真正的鍵,因為它不是秘密的),而健壯具有鍵控散列和位遮罩。

為什麼是這樣?它歸結為可證明的屬性;如果我們假設散列函式的行為類似於隨機 Oracle,則 simple 具有 128 位安全性(對於 1 級參數集);為了穩健,我們在計算散列函式的第二個原像需要的較弱假設下獲得該安全級別 $ 2^{128} $ 時間。

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