伽罗华域
- 域 -  一组元素的集合,以及在集合上的四则运算,构成一个域。其中加法和乘法必须满足交换、结合和分配的规律。加法和乘法具有封闭性,即加法和乘法结果仍然是域中的元素。 -  域中必须有加法单位元和乘法单位元,且每一个元素都有对应的加法逆元和乘法逆元。但不要求域中的 0有乘法逆元。 
- 有限域 -  仅含有限多个元素的域。因为它由伽罗华所发现,因而又称为伽罗华域。所以当我们说伽罗华域的时候,就是指有限域。 -  GF(2^w)表示含有2^w个元素的有限域。 
 
- GF(2^w)上的多项式运算 -  对于GF(2^w)上的多项式计算,多项式系数只能取 0或1。(如果是GF(3^w),那么系数可以取 0、 1、 2)。 -  GF(2^w)的多项式加法中,合并阶数相同的同类项时,由于0+0=0,1+1=0,0+1=1+0=1,因此系数不是进行加法操作,而是进行异或操作。 -  GF(2^w)的多项式减法等于加法,例如x ^4 – x^4就等于x^4 + x^4。 
 
伽罗华域
- 有限域GF(p) -  有限域GF(p),其中p为素数。伽罗华域取p为素数是为了保证有限域中的每一个元素都有逆元(0除外)。根据费马小定理很容易得出p为素数的时候所有不能整除p的正整数k都具有逆元 $k^{p-2} \quad \because k^{p-1}=1 (mod \space p)$。 -  GF(p)里面的加法和乘法与一般的加法和乘法差不多,区别是结果需要mod p,以保证结果都是域中的元素。GF(p)的加法和乘法单位元分别是 0和1。 -  GF(p)加法是(a+b) mod p,乘法是(a*b)mod p。 -  对于域中的乘法,当p为素数时,才能保证集合中的所有的元素都有乘法逆元(0除外)。即对于域中的任一个元素a,总能在域中找到另外一个元素b,使得a*b mod p 等于1。 -  说明:假如p等于10,其乘法单位元为1。对于元素2,找不到一个数a,使得2*a mod 10 等于1,即2没有乘法逆元。这时,在域上就不能进行除2运算。 
- 有限域GF(2^w) -  GF(p)中p必须是一个素数,才能保证集合中的所有元素都有加法和乘法逆元(0除外)。但实际应用中,很多场合需要 0到255这256个数字能组成一个域。但256不是素数,小于256的最大素数为251,如果直接把大于等于251的数截断为250,则会丢失一部分数据。 -  因此引入了GF(p^w),其中p为素数,通常取p=2。计算机领域中经常使用的是GF(2^8),8刚好是一个字节的比特数。为了保证单位元性质,GF(2^w)上的加法运算和乘法运算,不再使用一般的加法和乘法,而是使用多项式运算。 
- 本原多项式 -  伽罗华域的元素可以通过该域上的本原多项式生成。通过本原多项式得到的域,其加法单位元都是 0,乘法单位元是1。 -  以GF(2^w),w=3为例,指数小于3的多项式共8个: 0, 1, x, x+1, x^2, x^2+1, x^2 + x, x^2+x+1。其系数刚好就是000,001, 010, 011, 100, 101, 110, 111,是0 到7这8个数的二进制形式。 -  对于w=3来说具有多个本原多项式,选其中一个$P(x) = x^3+x+1$,本原多项式表示了任意有限域中的元素都是对于本原多项式取模,比如计算$x^2+x$的逆元可得$x+1$ 
 $$
 对于GF(2^w)的有限域来说,系数项只能为0和1,如果不是0和1则对应取模2得到0、1 \\
 \begin {aligned}
 \because (x^2+x)(x+1) \space mod \space (x^3+x+1) & = x^3+2x^2+x \space mod \space (x^3+x+1) \\
 & = x^3+x \space mod \space (x^3+x+1) \\
 & = -1 \space mod \space (x^3+x+1) \\
 & = 1 \space mod \space (x^3+x+1)
 \end{aligned} \\
 \therefore inv(x^2+x) = x+1
 $$
  部分常用的本原多项式
- 通过本原多项式生成元素 - 设P(x)是GF(2^w)给定的对应w值的某一个本原多项式,彩笔可以查表所得(~) - 通过不断对P(x)取模,就可以将x^0 , x^1 , … , x^n表示出来。表示成的是一个<w次的多项式,然后遇到可化简的对应系数项,进行从高次到低次的化简即可。 
 
		