Randomness

XOR 一組隨機數

  • December 2, 2019

關於 XOR 和熵的基本問題 - 給定一個集合 $ S $ 範圍內的偽隨機數 $ [0,b] $ , 將它們異或產生一個新的偽隨機數 $ [0,b] $ 還是該操作會降低熵?在某些數字的情況下 $ S $ 不是隨機的。例如,根據某些確定性過程選擇 - 這如何影響 XORed 結果的隨機性?還將感謝有關此類問題的任何相關數學/加密貨幣的連結。

非常感謝!

假如說 $ b = 2^k-1 $ 對於一些正整數 $ k $ , XORing 範圍內的兩個(或更多)數字 $ [0,b] $ 確實會產生相同範圍內的數字。

如果數字是隨機的,在範圍內均勻分佈且獨立,那麼結果也將是隨機且均勻分佈的。事實上,我們甚至可以證明一個更強的結果,即如果其中一個數字是隨機的並且均勻分佈在整個範圍內,並且獨立於其他數字,那麼結果將是隨機且均勻分佈的。

(有多種方法可以證明這一點。可能最直接的方法是觀察地圖 $ x \mapsto x \oplus c $ 是范圍內的雙射 $ [0,b] $ 無論常量的值如何 $ c $ . 因此,如果 $ x $ 是均勻分佈在範圍內的,那麼也是 $ x \oplus c $ ; 並且因為這對於任何常數都是正確的 $ c $ , 即使 $ c $ 本身就是一個隨機變數,只要它不依賴於 $ x $ . 對於異或的具體情況,也可以先對數的每一位顯示相同的結果,即將問題只歸約到情況 $ b=1 $ ,然後推廣到多個位。)

實際上,同樣的結果也成立,基本上根據定義,即使數字只是隨機數,即在計算上與真正的隨機數無法區分。這是因為,如果對它們進行異或運算的結果與真正的隨機數無法區分,那麼這將提供一種有效的方法來區分原始數字和真正的隨機數,從而表明它們一開始就不是真正的偽隨機數。

但是請注意,獨立性(或與獨立隨機數不可區分)的假設很重要。否則,會有一些微不足道的反例,比如選擇一個真正的隨機數 $ x $ 均勻地從 $ [0,b] $ ,然後讓 $ y = x $ . 因此,兩者 $ x $ 和 $ y $ 它們本身是真正隨機且均勻分佈的,但是 $ x \oplus y = x \oplus x = 0 $ .

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