Entropy

期望熵磷(x)⊕x磷(X)⊕X磷(x)⊕xP(x)oplus x對於隨機[Math Processing Error], 在哪裡[Math Processing Error]是隨機排列Xxx磷PP

  • February 5, 2017

讓[Math Processing Error]是一個隨機排列 $ P $ $ n>1 $ 位。讓[Math Processing Error]是同一域上的函式 $ F $ $ {0,1}^n $ , 被定義為 $ F(x)=P(x)\oplus x $ . 什麼時候[Math Processing Error]是帶有消息塊密鑰的塊密碼,這是單向壓縮函式的Davies-Meyer 構造,它的一個變體用於 MD5、SHA-1 和 SHA-2。 $ P $

讓[Math Processing Error]是源的(以位為單位) $ H_F $ $ F(x) $ 在哪裡[Math Processing Error]是一個向量[Math Processing Error]隨機無偏獨立位。那是 $ x $ $ n $

[Math Processing Error]$$ \begin{align*} H_F&=\sum_{y\in F({0,1}^n)}-\Pr(F(x)=y)\cdot\log_2\big(\Pr(F(x)=y)\big)\ \ & = n-{1\over2^n}\cdot\sum_{y\in F({0,1}^n)}\big(#{{x, F(x)=y)}}\big)\cdot\log_2\big(#{{x, F(x)=y)}}\big) \ & = n-{1\over2^n}\cdot\sum_{2\le,j,\le2^n}\big(#{{y,(#{x:F(x)=y})=j}}\big)\cdot j\cdot\log_2(j) \end{align*} $$ 筆記: $ #{{x, F(x)=y)}} $ 第二個等式是向量的原像數 $ y $ ;和 $ #{{y,(#{x:F(x)=y})=j}} $ 第三個是向量的數量[Math Processing Error]原像。 $ j $ [Math Processing Error] $ H_F $ 可以從 $ 0 $ (什麼時候 $ P $ 恰好是一個常數的異或)到 $ n $ 位(當[Math Processing Error]恰好是一個排列,例如 $ F $ $ P: $ $ 00\to00 $ , $ 01\to10 $ , $ 10\to11 $ , $ 11\to01 $ ).

讓 $ H(n) $ 是的期望值 $ H_F $ ; 也就是說,平均[Math Processing Error]全面的 $ H_F $ $ (2^n)! $ 排列 $ P $ . 一個合理的猜想是

$$ \lim_{n\to\infty}{H(n)\over n}=1 $$ 如何證明這一點,什麼是一階近似 $ n-H(n) $ 對於大 $ n $ ?


如果 $ F $ 是一個隨機函式,我們會有 $ n-H(n)\approx0.8272\dots $ 從中度開始 $ n $ 根據我那裡的分析。但是對於更窄的類別,我無法嚴格推導出 $ F $ 在問題中。

據我了解,您的問題歸結為:“隨機排列的不動點數的機率分佈是多少?”

正如您在問題中指出的那樣,

$$ H_F = n-{1\over2^n}\cdot\sum_{2\le,j,\le2^n}\big(#{{y,(#{x:F(x)=y})=j}}\big)\cdot j\cdot\log_2(j). $$ 為簡潔起見,我將使用機率重寫它:

$$ n - H_F = \sum_{2\le,j,\le2^n}\Pr\big(|F^{-1}(y)|=j\big)\cdot j\cdot\log_2(j). $$ 在哪裡 $ |F^{-1}(y)| $ 是原像的大小 $ y $ . 重要的是,這整個總和是一個隨機變數,下面我們對隨機函式取期望 $ F $ .

帶著期望,我們得到

[數學處理錯誤]$$ \mathbf{E}\left[n - H_F\right] = \sum_{2\le,j,\le2^n}\mathbf E\left[\Pr\big(|F^{-1}(y)|=j]\big)\right]\cdot j\cdot\log_2(j). $$ 注意[Math Processing Error]獨立於[Math Processing Error], 所以我們不妨計算[Math Processing Error]. 自從 $ \mathbf{E}\left[\Pr\left(|F^{-1}(y)| = j\right)\right] $ $ y $ $ \mathbf{E}\left[\Pr\left(|F^{-1}(0)| = j\right)\right] $ $ F(x) = P(x) \oplus x = 0 $ 當且當 $ P(x) = x $ ,我們實際上是在尋找隨機排列的不動點數的機率分佈。

眾所周知,作為 $ n \to \infty $ ,這個分佈是期望為 1 的Poisson分佈,即:

[數學處理錯誤]$$ \mathbf{E}\left[\Pr\left(|F^{-1}(0)| = j\right)\right] \approx \frac{1}{ej!}. $$ 精確值(對於有限[Math Processing Error]) 可以根據 Rencontres 數獲得。 $ n $

因此,

[數學處理錯誤]$$ \lim_{n \to \infty} \mathbf{E}\left[n - H_F\right] = \sum_{j = 2}^{\infty} \frac{j\log_2(j)}{ej!}. $$ 請注意,我隱含地使用了有界收斂定理,也就是說,因為[Math Processing Error]是有界以上的每個[Math Processing Error],並且由於 $ \Pr\left(|F^{-1}(y)| = j\right) $ $ n $

[數學處理錯誤]$$ \lim_{n \to \infty} \Pr\left(|F^{-1}(0)| = j\right) = \frac{1}{ej!}, $$ 我們還有

[數學處理錯誤]$$ \lim_{n \to \infty} \mathbf{E}\left[\Pr\left(|F^{-1}(y)| = j\right)\right] = \mathbf{E}\left[\lim_{n \to \infty} \Pr\left(|F^{-1}(y)| = j\right)\right]. $$

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