Hash

任何人都可以解釋為什麼為隨機連結值找到所需消息的機率相等2−2242−2242^{-224}?

  • December 6, 2019

有人可以解釋為什麼機率相等 $ 2^{-224} $ 在下面的紙上?Hamsi 中消息塊的長度等於 32,連結值的長度等於 256。 在此處輸入圖像描述

在此處輸入圖像描述

引用論文第2節的第二段講述了函式的域 $ \mathcal F:{0,1}^{32}\times{0,1}^{256}\to{0,1}^{256} $ .

在合理的假設下,對於固定的第二輸入 ( $ h_{i-1} $ 在問題的陳述中), $ \mathcal F $ 表現為第一個輸入的隨機函式( $ M_i $ 在問題的陳述中),然後對於第一個輸入的每個值,輸出與固定目標值匹配的機率( $ h^*_i $ 在問題的陳述中)是 $ p=2^{-256} $ . 這將重複 $ n=2^{32} $ 可能的第一個輸入。

一種得出結論的方法是知道一個事件是否具有機率 $ p $ 在每個(獨立)實驗中發生的事件,然後是預期的事件數 $ n $ 實驗是 $ n,p $ ,並且至少一個事件的機率幾乎不低於該值 $ n,p $ 只要它仍然很小。這裡 $ p=2^{-256} $ , $ n=2^{32} $ , $ n,p=2^{32-256}=2^{-224} $ (如問題陳述中所述)。這非常小,因此所做的近似是有效的。

更數學的方法:第一個輸入不匹配的機率是 $ 1-p $ . 之後不匹配的機率 $ n $ 輸入是 $ (1-p)^n $ . 之後至少有一場比賽的機率 $ n $ 輸入(如問題陳述中所述)是 $ 1-(1-p)^n $ . 使用那個 $ 1-(1-p)^n=1-e^{n\log(1-p)} $ , 那 $ \log(1-p)=-p+o(p) $ (使用little-O 表示法),即 $ e^x=1+x+o(x) $ , 它來了 $ 1-(1-p)^n=n,p+o(n,p) $ . 因此 $ 1-(1-p)^n $ 是關於 $ n,p $ . 這種近似所產生的誤差總是過大的。什麼時候 $ n,p<0.3 $ , 相對誤差小於 $ 16% $ . 對於較低的值 $ n,p $ , 相對誤差的上限變得略高於 $ n,p/2 $ .

其他有用的數據點是,如果 $ n $ 很大,那麼 $ n,p=1\implies1-(1-p)^n\gtrapprox1-e^{-1}\gtrapprox63% $ ; 和 $ n,p=2\implies1-(1-p)^n\gtrapprox1-e^{-2}\gtrapprox86% $ 這解釋了大約之後的“高機率” $ 2^{224} $ 的隨機值 $ h_{i-1} $ 在問題的陳述中。

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