有限域介绍

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交换群
如果一个群(S, +)符合交换律,即对于集合中任意元素 a 和 b,满足:
a+b=b+aa+b=b+a 那么这个群被称为交换群,又叫阿贝尔群。
例子:两个实数相加谁先谁后对结果没影响,满足交换律,所以(R, +)是一个交 换群。

在一个交换群(S, +)上, 再定义另外一种运算(记作乘法“⋅”,同样地这个 乘法也不是指日常使用的乘法),得到(S, +, ⋅)。如果(S, +, ⋅)满足以下性质:
例子:(R, ⋅)中,除了实数 0((R, +)的单位元)以外所有数都有倒数,一个数和 他的倒数之积为 1(单位元),也就是一个实数的倒数就是它的乘法逆元。所以 (R, +, ⋅)是一个除环。但是如果把其中的实数集改为整数集,就不满足这个性质 了,因为大于 1 的整数倒数不在整数集中,因此没有乘法逆元。
加法和乘法
模加法模乘法和普通的整数加法乘法类似,唯一不同的是,当运算的结果超 出范围时,要将运算结果对素数 p 取模。比如 GF(7)定义在{0, 1, 2, 3, 4, 5, 6} 上,它的加法和乘法是这样的:
1+2=3mod75+6=11mod71∗2=2mod74∗5=20mod7=3=4=2=61+2=3mod7=35+6=11
乘法
乘法其实就是移位加上异或。乘法单位元是 1。 举个栗子,111 乘以 101,基于乘法分配律,可以得到:
111∗101=111∗100+111∗00+111∗1=11100+0000+111=11100⊕ 111=11011111∗101=111∗100+111∗00+111∗1=11100+0000+111=11100⊕111=11011
除了 GF(p)外,常见的有限域还有 GF(2^m)。它在里德-所罗门编码(二维码使用的编码) 以及椭圆曲线加密中都有使用。
GF(2^m)正如他的名称,包含 2^m 个元素。为什么是 2 的 m 次方而不是 3 的 m 次方或 者 5 的 m 次方呢?
因为计算机是二进制的,2^m 个元素恰好跟长度为 m 的二进制数(0∼2m−10∼2m−1) 一一对应。比如 GF(2^8),刚好跟计算机中 8 个二进制位,也就是一个字节(0~255)对应。 所以它在计算机或者专用硬件上可以有很高的运算效率。
1. (S, ⋅)是一个幺半群。 2. 两种运算满足分配律,即 a(b + c) = ab + ac
那么(S, +, ⋅)形成一个环。此时群(S, +)的单位元被称为环(S, +, ⋅)的零元。 例子:实数集 R 和实数乘法形成一个幺半群(R, ⋅),单位元是实数 1,而且和实 数加法满足分配律,所以(R, +, ⋅)是一个环。
如果直接相乘得到的结果长度不大于 m,这就是最终结果。但是这里得到的结果是 11011,长度超过了 3,那么就要想办法对它进行处理。怎么处理呢?还是对一个“素数”取
模。 需要注意,这里的“素数”并不是普通的素数,而是基于上述乘法,无法由两个数相乘得
到的数。这Hale Waihona Puke Baidu的“素数”可能有多个,不同的选择会有不同的结果。
抽象代数基础
抽象代数,其实就是对我们日常使用的代数运算进行了抽象,将其泛化到更一般 的领域。我们学习加法和乘法,里面有说它们满足结合律、交换律、分配律。这 么多年我们一直把这些性质当成自然而然的东西,但是在抽象代数中,定义某些 运算时,他们未必就像在普通加法乘法里那么显然。
集合
这是高中数学就有的内容。集合具有三个性质:
实数有无限多个,所以实数域是一个无限域。而如果一个域的元素是有限的, 那么他就是一个有限域,又叫伽(ga1)罗瓦域。 有限域中元素的个数被称为有限域的阶(order)。有限域的阶一定是某个素数 p 的 k 次幂(k 是正整数)。
模 p 有限域 GF(p)
最常见的有限域莫过于模素数 p 有限域 GF(p)。 GF(p)是定义在整数集合{0, 1, … , p-1}上的域。GF(p)上的加法和乘法分 别是模加法和模乘法。
为了方便,我们把 GF(2^m)中的元素表示成长度为 m 的二进制形式。下面以 m=3 为例
加法和减法
GF(2^m)上的加法和减法都是异或运算。加法单位元是 0。 010 和 110 都是 GF(2^3)的元素。那么 010+110=010 ⊕ 110010−110=010 ⊕ 110=100=100010+110=010 ⊕ 110=100010−110=010 ⊕ 110=100 因为长度为 m 的二进制数异或结果还是长度为 m 的二进制数,所以不需要考虑结果超出范 围的情况。
交换环
如果环(S, +, ⋅)中,(S, ⋅)满足交换律,那么(S, +, ⋅)被称为交换环。
例子:实数乘法满足交换律,所以(R, +, ⋅)是一个交换环。

如果一个环(S, +, ⋅),既是除环又是交换环,那么它是一个域。
例子:(R, +, ⋅)既是除环又是交换环,所以它是一个域,称为实数域。
有限域
也就是解下面的方程:
bx=1mod7bx=1mod7
bx=1+7k,其中 k∈Z+bx=1+7k,其中 k∈Z+
这个方程的求解需要用到扩展欧几里得算法,这里不再赘述。下面直接给出结果:
3÷4=3∗(4−1)=3∗2=6mod7=63÷4=3∗(4−1)=3∗2=6mod7=6
有限域 GF(2^m)
1. 无序性。集合中的元素是无序的。 2. 唯一性。集合中每个元素都是唯一、不重复的。 3. 确定性。给定一个元素和一个集合,这个元素要么属于这个集合,要么不属于这个集
合,不存在其它情况。
比较常见的集合有:整数集(ZZ)、有理数集(QQ)、实数集(RR)等。
半群
在一个集合 S 中定义了某种运算(记作加法“+”,但这个加法指代广泛意义 上的运算,并不是指日常使用的加法),那么在这个集合上,如果这种运算满足 以下性质,那么他和集合 S 共同组成一个半群,记作(S, +):
1. 封闭性。也就是运算的结果始终在集合 S 内 2. 结合律。也就是满足:(a + b) + c= a + (b + c)
例子:如果集合 S 是全体实数(记作“R”),而运算是实数加法,那么它们共同 形成了一个半群,记作(R, +)
幺半群
如果一个半群(S, +)中存在一个元素 e,使得 S 中所有的元素 a 都满足:
对于 GF(2^3),1011 就是其中一个“素数”。11011 对 1011 取模,过程如下: 11011mod1011=11011−1011∗10mod1011=11011⊕
10110mod1011=1101mod1011=1101−1011∗1=1101⊕ 1011=11011011mod1011=11011−1011∗10mod1011=11011⊕
那么这个幺半群就是一个群。群中元素 a 和元素 b 互为逆元,记作 a = -b 或者 b = -a。逆元存在,也就定义了群上的减法。a 减去 b,其实就是 a 加上 b 的逆元。也就是:a−b=a+(−b)a−b=a+(−b) 例子:(R, +)中,每一个正数都和一个负数一一对应,他们的和为 0。0 取负是 它自身。所以(R, +)是一个群。
10110mod1011=1101mod1011=1101−1011∗1=1101⊕1011=110
实际上这个计算过程类似于除法的竖式运算。
除法
除法依然是乘以一个倒数,使用的方法同 GF(p)一样是扩展欧几里得算法,这里 不作介绍。
mod7=41∗2=2mod7=24∗5=20mod7=6
减法
a 减去 b,其实就是 a 加上 b 的加法逆元,关键是找到 b 的加法逆元。
1−2=1+(−2)=1+5=6mod71−2=−1mod7=6 又或者=61−2=1+(−2)=1+5=6mod7=6 又或
除法
者 1−2=−1mod7=6
a 除以 b,需要找到 b 的乘法逆元(在这里又被称为数论倒数)。即满足以 下式子的整数 x:
除环
如果幺半群(S, ⋅)里除了零元以外的所有元素都有逆元,那么(S, +, ⋅)被称为除环。
为了避免和(S, +)里的逆元混淆,(S, +)里的逆元称为加法逆元,(S, ⋅)里的则是 乘法逆元。 (S, +, ⋅)中乘法逆元存在,也就定义了除法,元素 a 除以元素 b 实际上就是 a 乘 以 b 的乘法逆元。也就是:a÷b=ab−1a÷b=ab−1
a+e=e+a=aa+e=e+a=a 那么这个半群被称为幺半群,元素 e 被称为单位元或者幺元。
例子:(R, +)中,实数 0 符合这一要求,所以(R, +)是幺半群,0 是它的单位元。

如果一个幺半群(S, +)中的每一个元素 a 都有唯一一个元素 b 与之对应且满 足以下性质:
a+b=b+a=e,其中 e 是单位元 a+b=b+a=e,其中 e 是单位元
相关文档
最新文档