Modular-Arithmetic

在什麼意義上加法模nnn(n>2 ) 在欄位mathbb{F}_2n>2n>2n>2中不是線性的?F2F2mathbb{F}_2

  • July 14, 2016

我一直在閱讀***“異或”是線性運算但普通“加法”不是的原因?***問題,其中一個答案表明加法模n $ n $ ( n>2 $ n>2 $ ) 在Zn $ \mathbb{Z}_n $ 中是線性的,但在F2 $ \mathbb{F}_2 $ 中不是線性的,它還指出 - 相反 - XOR在\mathbbXOR $ XOR $ 中是線性的F2 $ \mathbb{F}_2 $ 但不在Zn $ \mathbb{Z}_n $ ( n>2 $ n>2 $ ) 中。

但在什麼意義上?

我的意思是,我怎麼能想到\mathbb{F}_2中的n $ n $ ( n>2 $ n>2 $ ) 模加法?F2 $ \mathbb{F}_2 $

當我必須對模n $ n $ 求和時,我通常將數字模10求和(或在求和之前10 $ 10 $ 直接將它們模n減少),然後將結果模n減少n $ n $ n $ n $

Fi:取n=3,x1=2,x2=2 $ n = 3, x_1=2, x_2=2 $

x1+x2=2+2=4=1(mod3)

$$ x_1+x_2 = 2+2 = 4 = 1 \pmod 3 $$ 但是我怎麼能想到\mathbb{F}_2中的和模n?為什麼它在\mathbb{F}_2中不是線性的?n $ n $ F2 $ \mathbb{F}_2 $ F2 $ \mathbb{F}_2 $

相反,我怎麼能想到一個XOR $ XOR $ 在Zn $ \mathbb{Z}_n $ ,為什麼它不是線性的?

Sicne您的問題是指本網站上的答案,我不會在這裡引用整個答案。但關鍵點在最後一段:

如果這些對你沒有任何意義,那沒關係。你只需要閱讀抽象代數、域、環和群。這是一個迷人而美麗的數學領域,如果不至少對它有所了解,大部分密碼學將毫無意義。

我只能建議您這樣做並再次仔細閱讀答案,因為答案中根本沒有提到\mathbb{F}2 。它包含關於特徵2 的(有限)欄位的語句,對於任何整數k,它們都是\mathbb{F}{2^k}。F2 $ \mathbb{F}2 $ F2k $ \mathbb{F}{2^k} $ k $ k $

如果您再次仔細閱讀這些陳述,您會發現F2 $ \mathbb{F}_2 $ 實際上滿足這兩個條件,即特徵 2 的有限域\mathbb{Z}_n形式的環Zn $ \mathbb{Z}_n $ 。事實上,異或和模加法是同一種群運算。在此範例中非常明顯,但可以通過記下運算符表輕鬆檢查。

考慮到您關於有限域線性的真正問題,讓我們看一下F4 $ \mathbb{F}_4 $ ,它具有特徵 2,並且也在相應的Wiki文章中進行了描述。所以我們得到F4=0,1,a,1+a $ \mathbb{F}_4 = {0,1,a,1+a} $ ,其中加法只是多項式的正常加法,係數模 2 減少,乘法是多項式模X2+X+1 $ X^2+X+1 $ 。

不幸的是,有問題的答案有幾點,僅在某種觀點下才有意義。基本上,如果您考慮二進制格式的數字,然後將每個位解釋為F2k $ \mathbb{F}_{2^k} $ 中的係數(參見上面的\mathbb{F}_4構造,在a和F4 $ \mathbb{F}_4 $ 之前有 2 個係數)一個常數1 ),那麼 XOR-ing 數可以被解釋為該有限域中多項式的實際相加。但是,您不能將\mathbb{Z}_4中的 XOR 表示為線性方程- 它的含義與代數中的線性函式完全不同。模擬,你不能表達模 4 的加法(在 \mathbb{Z}_4a $ a $ 1 $ 1 $ Z4 $ \mathbb{Z}_4 $ Z4 $ \mathbb{Z}_4 $ ) 作為欄位\mathbb{F}_4中的線性方程F4 $ \mathbb{F}_4 $ 。

作為最後一點,我只能說:符號和細節在代數中很重要。特別是如果您不理解確切的陳述,這對於避免混淆變得更加重要 - 或者更糟糕的是,您學到的東西只是錯誤的。

好吧,作為您引用的答案的作者,我對 tylo 的答案沒有太大的改進。然而,也許幾個例子將是一個有用的補充。

首先,請注意對於a,b∈Z4 $ a,b \in \mathbb{Z}_4 $ : a⊕b≡a+b+2ab(mod4)

$$ a \oplus b \equiv a + b + 2ab \pmod 4 $$ 其中左側的⊕ $ \oplus $ 表示 XOR,右側是加法和乘法模 4。換句話說,您可以使用模 4 的加法和乘法方程在F4 $ \mathbb{F}4 $ 中表示 XOR ,但請注意方程(嗯,同餘)在右手邊不是線性的,因為它涉及將兩個變數相乘的項。這就是我所說的 XOR 不能表示為Zn $ \mathbb{Z}n $ for n>2 $ n>2 $ 中的線性方程的意思。 類似地,您可以用n方程表示加法模2^n ,其中位作為變數,其中 XOR 是加法,按位 AND 是乘法(即作為\mathbb{F}2中的方程)。令a_0和b_0是兩個n位字元串A和B的最低有效位(而a{n-1}和 b{n-1}相反是最高有效位)。字元串C,其中C\equiv A+B \pmod {2^n},可以由以下方程組表示: c_0 = a_0 + b_0 \ c_1 = a_1 + b_1 + y_1 \ … \ c{n-1} = a_{n-1} + b_{n-1} + y_{n-1}2n $ 2^n $ n $ n $ F2 $ \mathbb{F}2 $ a0 $ a_0 $ b0 $ b_0 $ n $ n $ A $ A $ B $ B $ an−1 $ a{n-1} $ bn−1 $ b_{n-1} $ C $ C $ C≡A+B(mod2n) $ C\equiv A+B \pmod {2^n} $ c0=a0+b0c1=a1+b1+y1…cn−1=an−1+bn−1+yn−1

$$ c_0 = a_0 + b_0 \ c_1 = a_1 + b_1 + y_1 \ … \ c_{n-1} = a_{n-1} + b_{n-1} + y_{n-1} $$ 這些方程看起來是線性的,但除了第一個之外,它們都包含進位的臨時變數,用yx $ y_x $ 表示,它具有涉及變數乘法的非線性表達式(即按位與): y1=a0b0y2=a1b1+(a1+b1)y1…yn−1=an−2bn−2+(an−2+bn−2)yn−2$$ y_1 = a_0b_0 \ y_2 = a_1b_1 + (a_1 + b_1)y_1 \ … \ y_{n-1} = a_{n-2}b_{n-2} + (a_{n-2} + b_{n-2})y_{n-2} $$

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