Hash

較慢功能的相對安全位

  • May 19, 2022

拋開記憶體硬度假設不談,一些慢速散列函式是正常加密散列的迭代加鹽散列鏈版本。這通常由round參數定義,即在 PBKDF2 中。rounds是否有任何密碼學論文基於一個輸出計算的線性連續呼叫(非並行)的因素來解決安全位定義?

即,一個具體的例子:sha3(fresh_salt, input_value)sha3(sha3(sha3(sha3(fresh_salt, input_value))))某些低熵input_value(即 64 位)更容易打破原像,如果是**,後者是否提供 2 位的額外安全性,因為攻擊者所需的相對努力是 4 倍以上**? 是否有任何研究論文討論了這一點(獨立或線性相關函式與所提供安全性的實用位之間所需的相對對抗努力)?

對於協議的意義,已經有了精煉的概念 $ \lambda $ -安全性。最著名的可能是 Miccincio-Walter On the Bit Security of Cryptographic Primitives

位安全的概念是不同的,無論是使用

  • 決策遊戲,它在哪裡 $ \min_A\log_2 \frac{T(A)}{(\mathsf{adv}^A)^2} $ ,即與對抗性優勢成二次方比例,或
  • 搜尋遊戲,它在哪裡 $ \min_A \log_2 \frac{T(A)}{\mathsf{adv}^A} $ ,即與對抗性優勢成線性比例。

這 $ \min_A $ 最小化所有攻擊原語的對手,並且 $ T(A) $ 是執行時間 $ A $ . 請注意,搜尋/決策遊戲的優勢定義不同(對於搜尋遊戲,它大致是成功機率,對於決策遊戲,它是 $ 2\delta-1 $ , 在哪裡 $ \delta $ 是成功機率)。

無論如何,在這個框架中,你可以嘗試證明類似

如果 $ H(\cdot) $ 是一個雜湊函式,它是 $ \kappa $ -位前映像抗性,然後 $ H^{\circ k}(\cdot) $ , 這 $ k $ -折疊組成 $ H $ , 是 $ (\log_2(k) + \kappa) $ 位前映像抗性。

證明大致如下

  1. 從…開始 $ \min_A \log_2 \frac{T(A)}{\mathsf{adv}_H^A}\geq \kappa $ , 在哪裡 $ \mathsf{adv}^A_H $ 是優勢 $ A $ 在定義前像阻力的遊戲中。
  2. 建立某種優勢界限 $ \mathsf{adv}_{H^{\circ k}}^A \leq \mathsf{adv}H^A $ ,跟踪新對手的執行時間 $ B $ 一個(隱式)構造作為其中的一部分。為簡單起見,假設 $ \mathsf{adv}{H^{\circ k}}^B \leq \mathsf{adv}_H^A $ , 和 $ T(B) = kT(A) $ —我不清楚這是真的,但我認為這個假設隱含在你的問題中。
  3. 然後,我們有 $ \min_B \frac{T(B)}{\mathsf{adv}{H^{\circ k}}^B} \geq \min_A\frac{kT(A)}{\mathsf{adv}{H}^A} = \log_2 k + \kappa $ .

正如上面的#2 所指出的,這確實減少了顯示形式的(傳統)優勢界限。

對於任何對手 $ B $ 反對 $ SHA3^{\circ k} $ , 有對手 $ A $ 反對 $ SHA3 $ 和

  • $ T(B) = kT(A) $ , 和
  • $ \mathsf{adv}^B_{SHA3^{\circ k}} \leq \mathsf{adv}^A_{SHA3} $ .

這就是說 MW 框架允許人們討論更高的執行時間是多少 $ B $ 影響安全性(這是您的問題),但仍然需要證明具有優勢。

對此有一些想法,不確定我的回答是否會涵蓋您,並且可能存在缺陷。

首先是關於安全的幾件事。當我們說一個密碼方案有 $ λ $ 安全性我們通常的意思是,打破它的唯一方法是暴力破解陷門資訊,然後嘗試 $ 2^λ $ 組合。當然,我們不考慮任何其他類型的攻擊、側通道攻擊等。之後我們考慮一個對手模型,例如計算有界。如果我們證明該方案對這個對手是安全的,那麼我們說它有 $ λ $ 一點安全感。

由於您指的是理論上的安全性,因此答案是否定的。如果您指的是量化安全,那可能是肯定的。我將嘗試提供一個非常直覺的反例。

例如,不要考慮散列函式,而是考慮具有適當填充的 Textbook RSA。讓我們僅根據語義安全性來定義它的安全性。所以它是安全的,因此我們說它有 $ 1^λ $ 一些安全性,如果有的話 $ PPT $ 對手(在安全參數上)任何一對相同長度的消息 $ m_1, m_2 $ ,它們的核心密文在計算上是無法區分的。如果 RSA 假設成立,我們知道 RSA 在語義上是安全的。

現在考慮一個新方案,其中 $ c=Enc_k(Enc_k(x)) $ . 如果最後一個加密方案比第一個加密方案更安全,這意味著對手將能夠在遊戲中獲得不可忽略的優勢,其中給它兩個密文,每個密文都用這兩種方案加密,例如分發需要不可忽略地接近。從 RSA 假設來看,情況並非如此。

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