為什麼最小熵在密碼學中很重要?
讓 $ H_{min} $ = 最小熵和 $ H $ =香農熵。
除非你在玩系統遊戲或故意裝傻,否則很少有 $ \frac{H} {H_{min}} > 10 $ 來自任何可能的物理來源。在硬體/現實生活中實現 >10 的比率將是一項工程壯舉,無異於玩笑/NSA 陰謀。對於世俗的情況,電梯工程通常使用 7 的安全係數。如果電梯齒輪發生故障,真人會死。既然隨意, $ \frac{H}{100} << H_{min} $ 在絕大多數情況下,為什麼 $ H_{min} $ 在密碼學中很重要?
我知道定義。
在大多數情況下,密碼學要求值是一致隨機的(在這種情況下,對最小熵的討論是沒有意義的)或不可預測的(在這種情況下,最小熵是不夠的——儘管“有條件的”最小熵可能是—— - 因為在這些情況下,對手通常有多種猜測)。
我認為最小熵發揮最大作用的上下文是隨機提取。由於隨機性的物理源很少產生均勻隨機位,因此我們需要一種方法來將某些物理系統的輸出(可能包含一定量的熵,無論如何測量)轉換為均勻隨機位串。到那時,我們就可以開始做密碼學了。
Leftover Hash Lemma 告訴我們如何接受輸入 $ X $ 並將其轉換為一個值 $ f_S(X) \in {0, 1}^n $ 那是“接近”制服。特別是,它告訴我們如何建構 $ f $ 這樣 $ n \leq H_{\infty}(X) - 2 \log(1/\epsilon) $ , 在哪裡 $ \epsilon $ 是均勻分佈和之間的統計距離 $ f_S(X) $ (從技術上講,之間的距離 $ (S, f_S(X)) $ 和 $ (S, U) $ , 在哪裡 $ U $ 和 $ S $ 是統一的並且 $ S $ 隱含地是一個固定的公共值)。
我們不做任何假設 $ X $ 除了它是最小熵。這非常好,因為在實踐中我們無法精確描述用於向 RNG 提供輸入的分佈(在 HW RNG 的情況下,這些分佈因設備而異,並且在例如 /dev/ 的情況下不知道先驗隨機)。當然,估計 $ H_{\infty}(X) $ 是它自己的蟲袋…