Cryptanalysis

對於任何數字甲,乙一個,ba, b, 什麼是運算符X,和X,是X, Y這樣揭示一個Xb一個Xba X b和和Yb一個是ba Y b不透露有關資訊甲,乙一個,ba,b?

  • April 30, 2022

之前想到了一對8位均勻分佈的隨機數 $ (a,b) \in {0,1}^8 $ , 和 $ X $ 按位異或, $ Y $ 為 8 位加法。但事實證明,揭示 $ a \text{ XOR } b, a+b \bmod{2^8} $ 確實揭示了很多關於 $ a,b $ .

一個聰明的傢伙在這裡提到了“依賴”作為一種屬性。所以我想我正在尋找獨立的運營商?或者,至少,當輸入是隨機數時獨立的運算符?

我的問題是:

  • 我們在最大限度地減少資訊量方面能走多遠 $ a\ X\ b $ 和 $ a\ Y\ b $ 放棄 $ a,b $ ?
  • 我們可以在數學上證明任何界限嗎?例如證明如果 $ a,b $ 是均勻隨機數,那麼如果 $ X $ 是……和 $ Y $ 是…,那麼它必須是 $ a\ X\ b $ 和 $ a\ Y\ b $ 不能超過 $ x $ 有關的資訊 $ a,b $ ?

有可能洩漏零資訊。假設均勻分佈 $ a $ 和 $ b $ 然後讓 $ a $ 沿行變化,並且 $ b $ 沿著下面的操作表的列:

$$ \begin{array}{ccc} \begin{array}{c|cccc} X & 0&1&2&3\ \hline 0 & 0&1&2&3 \ 1 & 1&2&3&0 \ 2 & 2&3&0&1 \ 3 & 3&0&1&2 \end{array} & \quad & \begin{array}{l|cccc} Y & 0&1&2&3\ \hline 0 & 3&0&1&2 \ 1 & 0&1&2&3 \ 2 & 1&2&3&0 \ 3 & 2&3&0&1 \end{array} \end{array} $$

請注意,對於每個知道輸出的操作 ( $ aXb $ 或者 $ aYb $ ) 沒有提供任何資訊 $ a $ . 也是如此 $ b $ . 但如果你知道其中之一 $ a $ 或者 $ b $ 然後,您就可以獨特地了解另一個。

此外,讓我們說 $ aXb=0. $ 可能的配對 $ (a,b) $ 現在在集合中 $$ S={(0,0),(1,3),(2,2),(3,1)}. $$

假設在計算操作中沒有錯誤,唯一的可能性是 $ aYb $ 是 $ aYb=3 $ 這沒有給出關於可能的配對的進一步資訊 $ S $ .

您可能會說這是一個奇怪的例子,但它證明了每個單獨的輸入變數的最小值可以為零。

最後一點,因為我不完全了解您的要求。可以將輸出的位長加倍,同時確保知道其中之一 $ a $ 或者 $ b $ 不會洩露對方的任何資訊。輸出 $ 2X3=12 $ 將對應於輸出位模式 $ 0110 $ 和 $ 01=1, $ 和 $ 10=2. $ 下面是一個例子:

$$ \begin{array}{c|cccc} X & 0&1&2&3\ \hline 0 & 00&11&22&33 \ 1 & 13&02&31&20 \ 2 & 21&30&03&12 \ 3 & 32&23&10&01 \end{array} $$ 現在讓我們說你知道 $ a=1. $ 這將您限制在手術台的第二行,但 $ b $ 仍然完全不確定,你對價值一無所知 $ b. $

此範例使用兩個 MOLS(相互正交拉丁方)。

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