Protocol-Design

可以肯定地說具有未知輸入的 XOR 提供隨機輸出嗎?

  • April 29, 2021

我想知道你是否有意見 $ x_{1} $ 然後你用一個未知的隨機第二個輸入異或它 $ x_{2} $ , 是否可以肯定地說結果 $ x_{1}\oplus x_{2} $ 會隨機嗎?

最後的想法是首先修復所有 $ x_{i} $ 為了 $ i>0 $ 以至於不能改變它的 $ x_{i} $ 之後,然後設置 $ x_{0} $ 為隨機值。那麼,人1 $ p_{1} $ 得到一個值 $ a_{1}=x_{0}\oplus x_{1} $ , $ p_{2} $ 得到 $ a_{2}=x_{2}\oplus a_{1} $ … 到底人 $ p_{i} $ 獲取值 $ a_{i}=x_{i}\oplus a_{i-1} $ $ \forall i $

這樣做的目的是在其中隨機選擇一個人,這樣我們就可以選擇 $ p_{min} $ 在哪裡 $ a_{min} = min_{i}(a_{i}) $ .

你認為這樣隨意選擇一個人安全嗎?我們可能需要確保兩個不同的人不會有相同的 $ x_{i} $ 否則可能有兩個人有相同的 $ a_{i} $ 價值,但除此之外,我看不出有任何弱點可以提高被選中的機會,你看到了嗎?

編輯:我必須添加所有 $ x_{i} $ 也將被隨機挑選,否則之間會有明確的聯繫 $ x_{i} $ 和上一個 $ a_{i-1} $ .

我想知道你是否有意見 $ x_{1} $ 然後你用一個未知的隨機第二個輸入異或它 $ x_{2} $ , 是否可以肯定地說結果 $ x_{1}\oplus x_{2} $ 會隨機嗎?

是的,從字面上看,這就是一次性便箋簿安全性的證明。非正式地,它歸結為以下觀察:

  1. 如果 $ x_2 $ 是隨機的,那麼這意味著它的每個位都是 0 或 1 的機率相等,並且獨立於所有其他位 $ x_2 $ ;
  2. 如果 $ x_2 $ 有這些屬性,那麼 $ x_1 \oplus x_2 $ 也必須。

這真的歸結為在異或之後,對於每一位 $ x_1 $ 你得到相同的機率,無論是原始位 $ x_1 $ 或翻轉的位,並且您獨立於所有其他位對所有位進行異或。

如果是明文 $ p $ 是一個任意分佈的變數 $ {0,1}^n $ 和 $ k $ 是一個獨立的均勻隨機變數 $ {0,1}^n $ 然後是密文 $ c = p ⊕ k $ 是一個均勻隨機變數 $ {0,1}^n $ .

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