Aes

將位與 XOR 組合時,每位熵的位的公式

  • October 6, 2020

假設位 $ A $ 和 $ B $ 每個位都有 0.5 位熵。

連接的兩位結果 $ A‖B $ 總共有 1 位熵,並且它保留了每位 0.5 位熵的熵密度。

異或的一位結果將有多少位熵 $ A $ 和 $ B $ ,即 $ A⊕B $ ,有每比特嗎?

我猜這個公式是這樣的 $ \mathord{\mathrm{E}}(A⊕B)=1-(1 - \mathord{\mathrm{E}}(A))(1-\mathord{\mathrm{E}}(B))=.75 $ 位熵。這個對嗎?如果是這樣,我可以參考這個等式的簡短證明嗎?

另外,我是否正確解釋了您只能通過對密度較小的熵位進行異或運算來接近每位熵,但實際上從未達到?

假設位 $ A $ 和 $ B $ 每個位都有 0.5 位熵。

很公平(我假設我們正在談論香農熵)

連接的兩位結果 $ A‖B $ 總共有 1 位熵,並且它保留了每位 0.5 位熵的熵密度。

沒那麼快。串聯具有 0.5 到 1 位的熵。

問題是這些位可能是相關的;如果位總是完全相同(或完全相反),則串聯將永遠不會有比僅一個位更多的熵。如果位是獨立的(即不相關),則串聯將總共有 1 位。如果它們是部分相關的,那麼熵將介於 0.5 和 1 之間。

這不是一個迂腐的觀點。在計算多個事件的聯合熵時,總是需要了解這些事件之間可能存在的相關性。

異或的一位結果將有多少位熵 $ A $ 和 $ B $ ,即 $ A \oplus B $ ,有每比特嗎?

這是一個稍微複雜一些的情況;如果我們計算一個源產生一個具有 0.5 位熵的單個位的機率,那麼這就是 $ p \log_2(p) + (1-p) \log_2(1-p) = -0.5 $ ,這些解決方案是 $ p = 0.110028… $ 或者 $ p = 0.889972… $ . 當我們將其轉換為異或的可能熵時,它的最小值為 0(如果位完全相關)到最大值 0.760269…(如果兩個位同時處於低機率狀態,則會發生這種情況); 如果它們不相關,則熵為 0.713537… 這些值是通過上述計算得出的 $ p $ 值,導出相應的異或機率,並將它們代入香農熵公式。

我猜這個公式是這樣的 $ \mathord{\mathrm{E}}(A⊕B)=1-(1 - \mathord{\mathrm{E}}(A))(1-\mathord{\mathrm{E}}(B))=.75 $ 位熵。這個對嗎?

不,這是不正確的(即使我們假設獨立),至少如果 $ E $ 是熵函式而不是期望。我不確定是否有一個簡單的公式可以為您提供;如果 $ p $ 是一個解決方案 $ p \log_2(p) + (1-p) \log_2(1-p) = -E(A) $ , 和 $ r $ 是一個解決方案 $ r \log_2(r) + (1-r) \log_2(1-r) = -E(B) $ ,然後將香農熵公式應用於 $ A \oplus B $ 將涉及該術語 $ \log_2( p \cdot r + (1-p) \cdot (1-r)) $ ,並且沒有直接明顯的方法來簡化這個術語,或者將它與其他術語結合起來。

另外,我是否正確解釋了您只能通過對密度較小的熵位進行異或運算來接近每位熵,但實際上從未達到?

奇怪的是,通過適當的相關性,您實際上可以獲得 1 位熵。考慮兩個來源都以機率生成 1 的情況 $ 0.25 $ (所以有 $ 0.811278… $ 熵位)。如果它們從不同時生成 1 位,那麼恰好其中一個生成 1 位的機率為 $ 0.5 $ ,因此異或確實產生了 1 的熵。

當然,如果輸入位不相關,那麼您是正確的(除非其中一個輸入位的熵已經為 1)。

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