Xor

線性變換證明

  • November 6, 2014

好的,所以我有這個問題,老實說,我不知道如何證明它。我知道該函式是線性的,並且我知道它適用於每種可能的組合,但我只是不知道如何以任意方式證明它。這是問題:

假設 DES 不使用這些 S-box,而是將其前 4 位替換為 6 位字元串,即 T(b1 b2 b3 b4 b5 b6) = b1 b2 b3 b4。我們稱這個變換為 T。證明 T 是一個線性變換(注:你需要證明 T(x xor y) = T(x) xor T(y),對於所有 6 位字元串 x 和 y,不僅適用於特定的 x 和 y 對;所以寫下適用於任意 x 和 y 的證明)。

我不知道從哪裡開始,因為這門課不是寫證明。

我們定義 $ T $ 作為:

$ T(B) = (b_0,b_1,b_2,b_3) $

我們用 $ D $ 來表示差異 $ X $ 和 $ Y $ :

$ D = X \oplus Y $

計算 $ T(D) $ :

$ T(D) = (d_0,d_1,d_2,d_3) $

$ = (x_0 \oplus y_0, x_1 \oplus y_1, x_2 \oplus y_2, x_3 \oplus y_3) $

$ =(x_0,x_1,x_2,x_3) \oplus (y_0,y_1,y_2,y_3) $

這是根據定義 $ T $ :

$ T(X) \oplus T(Y) $

好吧,我們從一個小的 XOR 定義開始,用於大於零位的位串。 $ x $ 和 $ y $ 是長度為的位串 $ n $ 和 $ x_{k} $ 表示 $ k^{th} $ 位(從 $ 0 $ 到 $ lenght - 1 $ ). $ || $ 表示連接和 $ \oplus $ 表示異或。所以我們得到:

$$ x \oplus y = ((x_{0} \oplus y_{0}) || (x_{1} \oplus y_{1}) || … || (x_{n-1} \oplus y_{n-1})) $$ 我們的功能 $ T $ 只返回 6 位字元串的前 4 位(或任意大的位字元串,長或等於 4 位,這並不重要),所以我們可以將其寫為: $$ T(b) = (b_{0} || b_{1} || b_{2} || b_{3}) $$ 現在我們想證明 $ T(x \oplus y) = T(x) \oplus T(y) $

我們怎麼能這樣做?也許我們可以插入我們函式的不同定義,看看它從哪裡開始……?

(這可能不是回答這個問題的最佳方式,但(我認為……)它有效。)

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