FHE之代数基础(一)群环域、多项式

FHE之代数基础(一)群环域、多项式

非原创声明

本篇blog大部分为参考下文所作,其中进阶部分为个人总结。

基础

代数系统

代数是数学的其中一门分支,主要由初等代数和抽象代数组成,初等代数学主要研究方程组,而抽象代数则是研究代数系统上的运算和公理。代数系统主要有两部分组成:

  • 成分:运算及其载体,即运算和运算的对象
  • 公理:运算性质,即交换律、结合律等算律

举例而言,小学中学习的1+2=3,其中运算就是加法(这里用+表示),加法运算的对象是1、2,由于加法运算需要两个运算对象,因此加法也是一种二元运算。很明显,1+2=2+1,因此运算对象可以交换在运算中的位置,因此满足交换律,这就是加法运算的基本算律。

其中公理是很好理解的,但代数系统的成分容易理解但不好表达,下面从中抽象出一些共性,并用数学语言进行概况有:

  • 运算对象:用集合表示运算对象和运算的结果,比如集合A、B、X、Y等
  • 运算:用+,,×,,+, -,\times, \cdot, \circ等运算符号表示运算,它们不具有任何一种运算,仅仅是一种符号表示。

因此我们可以给出一些运算的定义:

  • n元运算的数学定义:给定集合A1,A2,...,AnA_1, A_2, ..., A_n和集合BB,那么映射f:A1×A2×...×AnBf:A_1\times A_2\times ...\times A_n\rightarrow B即表示一个n元运算。

笛卡尔乘积   上述的A1×A2×...×AnA_1\times A_2\times ...\times A_n称为笛卡尔乘积,其是由基本集合A1,A2,...,AnA_1, A_2, ..., A_n共同构成的集合,该集合中的任意元素是一个n元组(a1,a2,...,an),aiAi(a_1, a_2, ..., a_n), \forall a_i \in A_i。典型地,直角坐标系(x,y)(x,y)就是一个二元组。

根据运算所需的运算对象的个数,运算称为0元运算、一元运算、二元运算等。

集合 二元运算 一元运算 0元运算
整数ZZ,有理数QQ,实数 +,×+, \times -(取相反数) 0,10,1
n阶实数矩阵Mn(R)M_n(R) +,×+, \times ATA^T(取转置矩阵) 单位矩阵EE
集合组成的集合P(B)P(B) ,\cup, \cap ScS^c(取补集) 取空集\oslash

而讨论最多的就是下面的一种二元运算:

  • 集合A上的运算:设A为集合,称二元运算f:A×AAf:A\times A \rightarrow A为集合A上的二元运算。进一步地,若A​中任何元素都可参与运算,且结果属于集合A,那么称运算ff是封闭的

+,×+, \times是集合A上的二元运算,称为加法和乘法,那么有下面的运算规律和特异元素(指单位元和逆元):

  • 交换律:若a,bA\forall a, b\in Aa+b=b+aa+b=b+a,则称有加法交换律,同理有乘法交换律
  • 结合律:若a,b,cA\forall a, b, c\in Aa+(b+c)=(a+b)+ca+(b+c)=(a+b)+c,则称有加法结合律,同理有乘法结合律
  • 消去律:若a,b,cA\forall a, b, c\in Aa+b=a+cb=ca+b=a+c\Rightarrow b=c,则称有加法消去律,同理有乘法消去律
  • 乘法对加法的分配律:若a,b,cA\forall a, b, c\in Aa×(b+c)=a×b+a×ca\times (b+c)=a\times b+a\times c,则称乘法对加法具有分配律
  • 单位元:单位元ee满足eA,  aAe\in A,\;\forall a\in Aa+e=e+a=aa+e=e+a=a,则称有加法单位元,同理有乘法单位元
  • 逆元:对于xAx\in AyA\exists y \in A使得x+y=ex+y=e,则称有xx有加法逆元yyyy的加法逆元为xx),同理有乘法逆元

值得注意的是,算律、单位元和逆元是针对运算来说的,如果代数结构中有多种运算,那么对于不同的运算可能就有不同的运算规律和单位元和逆元。

加法和乘法   理解文章中提及的加法和乘法不是通常意义上的加减乘除中的加法和乘法,而是一般性的算术符号,用+,×+, \times表示只是为了方便,用,\cdot, \circ等符号表示同样没有问题。在近世代数的学习中切忌利用熟知的数学知识来思考群环域的构成,在群环域中的运算符仅仅是一些满足一些算律的符号,而不是特定的算术符号。

下面就基于上述概念介绍群环域等基本概念。

群、环、域基本概念

群(Groups)是一种具有一个二元运算的代数系统,通常记作<G,><G, \circ>,简记为GG,其满足以下条件:

  • 封闭性a,bG\forall a, b \in G,都有abGa\circ b\in G
  • 结合律a,b,cG\forall a, b, c \in G,都有a(bc)=(ab)ca\circ (b\circ c) = (a\circ b)\circ c
  • 单位元eG\exists e\in G使得aGa\in G,有ae=ea=aa\circ e=e\circ a=a,单位元也称幺元
  • 逆元aG\forall a\in Gaa都存在一个逆元a1a^{-1}使得aa1=ea\circ a^{-1}=e

由于有逆元,因此群也满足消去律。举个例子,整数集合上的加法运算构成的代数系统<Z,+><Z, +>就是一个群,因为整数和整数相加也是整数,整数加法满足结合律,其单位元为0,任意元素的逆元是其相反数。

进一步地,在群的基础上,如果增加一些条件那么就可以形成具有更多良好性质的群。

  • 半群:若<G,><G, \circ>只满足封闭性和结合律,那么<G,><G, \circ>是一个半群
  • 含幺半群:若<G,><G, \circ>只满足封闭性、结合律和单位元,那么<G,><G, \circ>是一个含幺半群(也称幺半群)
  • 有限群和无限群:若一个群的元素是有限的,则该群称为有限群,并且群的阶等于群中元素的个数,否则称该群为无限群。
  • 交换群:若对于群中任意运算还满足交换律,那么该群称为交换群
  • 循环群:记群中的幂运算an=aa...aa^n=a\circ a\circ ...\circ a(n个a相乘),且有a0=e,an=(a1)na^0=e, a^{-n}=(a^{-1})^n,那么如果群G中的每个元素都是有一个固定元素aGa\in G的幂,那么称群G​是循环群

显然循环群是交换群,但循环群可能是有限群,也可能是无限群。

环(Rings)是一个具有两个二元运算(通常称为加法和乘法)的代数系统,常记作<R,+,×><R, +, \times>,简记为RR,其满足以下条件:

  • <R,+><R, +>是加法交换群,此时用00表示其加法单位元,a-a表示环中元素aa的加法逆元
  • <R,×><R, \times>是半群
  • 乘法对加法具有分配律:a,b,cR\forall a, b, c\in Ra×(b+c)=a×b+a×ca\times (b+c)=a\times b+a\times c

由于加法一定有逆元,因此通过加法可以定义减法:ab=a+(b)a-b=a+(-b),同时若不会引起歧义,那么环中的乘法a×ba\times b也可记为abab。进一步地,如果环还满足其他性质,那么可以形成具有更多性质的环:

  • 交换环:若环RR中的乘法满足交换律,那么环RR是一个交换环

  • 整环:如果环RR满足下面两个条件,那么环RR称为整环:

    • 乘法单位元:环中的乘法有单位元,即<R,×><R, \times>是含幺半群,此时其单位元记作11

    • 无零因子:环中元素a,ba,b称为零因子当且仅当a,b0a,b\ne 0ab=0ab=0,因此环中无零因子则有a,bR\forall a, b \in R,若ab=0ab=0,那么必有a=0a=0或者b=0b=0(此处的00是加法的单位元)

(Z,+,)(Z,+,\cdot)是交换环

域(Fields)也是一个具有两个二元运算(通常称为加法和乘法)的代数系统,常记作<F,+,×><F, +, \times>,简记为FF,其满足以下条件:

  • <F,+><F, +>是加法交换群,此时用00表示其加法单位元,a-a表示环中元素aa的加法逆元
  • <F,×><F^*, \times>是乘法交换群,其中FF^*包括FF中的所有非零元素,F=F{0}F^*=F-\{0\},此时用11表示乘法单位元,a1a^{-1}表示元素a(a0)a(a\ne0)的乘法逆元
  • 乘法对加法具有分配律:a,b,cR\forall a, b, c\in Ra×(b+c)=a×b+a×ca\times (b+c)=a\times b+a\times c

有理数集、无理数集以及复数集是我们熟悉的代数系统,它们在普通的加法和乘法两种运算下都构成域。

  • 域是有单位元的交换环
  • 域一定是整环,整环不一定是域
  • 整数环Z\mathbb{Z}不是域
  • 具有有限个元素的整环是域
  • 具有有限个元素的域称为有限域

小结

可以看到群是最基础的代数结构,而环是由加法交换群和乘法半群构成的,进一步地,域是由加法交换群和乘法交换群(除0以外)构成的。

读者可能会问,群、环和域有什么用?下面举一个简单的例子来说明。假如在研究下表所示的集合S={a,b}S=\{a, b\}上的代数结构,其加法和乘法的定义如下(用算术表表示):

image-20240410194123820
  如果在集合S上可不可以用减法,加法和乘法有没有交换律等是需要的回答的问题,那么此时如果发现<S,+,×><S, +, \times>是环,那么一切都迎刃而解了。

另外,由于不是所有常见的运算都可以有加、减、乘、除、乘方、开方等运算,那么在遇到一个新的结构时,如果赋予它们一些好的性质是很重要的,比如学习矩阵运算时,加法是需要自己定义的,乘法是自己定义的,由此会发现矩阵加法满足交换律,但是矩阵乘法不满足,实际上会发现n阶实数矩阵对于加法和乘法构成环,那么n阶实数矩阵上的运算就可以利用许多环的运算了。

由此得出一个结论:

  • 群环域没有定义哪一种代数结构,而是定义了一类代数结构,数学工作者只需要研究这一类代数结构的共性。当某种特定的代数结构满足群、环、域的条件时,那么该代数结构自然而然地具备群、环、域的良好性质。

下图总结了群、环、域的基本性质,这里是按照群、环、域满足的条件来介绍的。

image-20240410194146409

进阶

环的拓展概念

剩余类(同余类)环

Zq={0,1,,q1}Z_q=\{\overline{0},\overline{1},\cdots,\overline{q-1\}}是整数模qq的同余类集合。

  • 加法:模q加法,a+b=a+b\overline{a}+\overline{b}=\overline{a+b}
  • 乘法:模q乘法,ab=ab\overline{a}\cdot\overline{b}=\overline{ab}

显然,(Zq,+,)(Z_q,+,\cdot)是有单位元的交换环,称为整数模qq同余类(或剩余类)环

  • (Zq,+,)(Z_q, +, \cdot)构成交换环

  • (Zq,+,)(Z_q,+,\cdot)是域的充要条件为qq是素数

子环

SS为环RR的一个非空子集,且SS关于RR的运算构成环,则称SSRR的一个子环,RRSS的一个扩环。

SSRR的子环的充要条件为:

a,bS,a+bS,abS\forall a,b \in S,a+b\in S ,ab\in S

理想

II为环RR的非空子集,若II满足:

  • r1,r2I,r1+r2I\forall r_1,r_2 \in I,r_1+r_2\in I
  • rI,sR,srI,rsI\forall r\in I,s \in R, sr\in I, rs\in I

则称IIRR的一个理想(ideal)

例:

  • mZ,I={mnnZ}\forall m \in Z,I=\{mn|n\in Z\}ZZ的理想
  • 数环RR上的多项式环R[x]R[x]中,令II表示一切常数项为0的多项式集合,即I={a1x+a2x2++anxnaiR,nN}I=\{a_1x+a_2x^2+\cdots+a_nx^n|a_i\in R,n\in N\},则II为多项式环R[x]R[x]的一个理想。

商环

II是环RR的一个理想

a=a+I={a+xxI},R/I={aaR}\overline{a}=a+I=\{a+x|x\in I\},R/I=\{\overline{a}|a\in R\}

(R/I,+,)(R/I,+,\cdot)是一个环,称其为RR关于II商环,或RRII同余类环

例:

  • 整数环ZZ的一个理想I=4ZI=4Z

Z/I={0+I,1+I,2+I,3+I}Z/I=\{0+I,1+I,2+I,3+I\}

环同态

RRSS是两个环,若φ:RS:rφ(r)\exists \varphi:R\to S:r\mapsto \varphi(r),满足:

  • r1,r2R,φ(r1+r2)=φ(r1)+φ(r2)\forall r_1,r_2 \in R, \varphi(r_1+r_2)=\varphi(r_1)+\varphi(r_2)
  • r1,r2R,φ(r1r2)=φ(r1)φ(r2)\forall r_1,r_2 \in R, \varphi(r_1r_2)=\varphi(r_1)\varphi(r_2)

则称φ\varphiRRSS的一个环同态(ring homomorphism)

环同构

若环同态中的φ\varphi是一个双射,则称φ\varphiRRSS的一个环同构(ring isomorphism),并称两个环是同构的,记为RSR\cong S

φ:RR\varphi:R\rightarrow R为同构映射,则称φ\varphi是一个RRRR自同构(automorphism)

高级

有限域

域中元素个数(称为域的阶) 有限,则称该域为有限域,否则称为无限域

有限域通常记作GF(qn)GF(q^n),符号GG是为了纪念群论的创立者Galois,符号F是域Fields,因此有限域称为Galois域。

构造

qq为素数时,同余类环<Zq,q,q><Z_q, \oplus_q, \otimes_q>,为一个有限域。

  • 模q加法:通常用q\oplus_q表示,aqb=(a+b)modqa\oplus_q b=(a+b)\mod q

  • 模q乘法:通常用q\otimes_q表示,aqb=(a×b)modqa\otimes_q b=(a\times b)\mod q

  • n=1n=1时的有限域GF(q)GF(q),由上面的讨论可以很容易构造该有限域

  • n>1n>1时的有限域GF(qn)GF(q^n),其中GF(2n)GF(2^n)在密码学中有重要的应用

多项式环

环上的多项式环

a0,a1,,anRa_0,a_1,\cdots,a_n\in R,则称形如f(x)=anxn+an1xn1+...+a1x+a0=i=0naixif(x)=a_nx^n+a_{n-1}x^{n-1}+...+a_1x+a_0=\sum_{i=0}^n{a_ix^i}的表达式为RR上多项式。环RR上所有关于xx的多项式构成的集合记为R[x]R[x]

  • 加法:多项式加法
  • 乘法:多项式乘法

此时(R[x],+,)(R[x],+,\cdot)称为环RR上的多项式环。

例:在同余类环Z7Z_7上定义多项式f(x),g(x)f(x),g(x)

f(x)=2x2+3x+4,  g(x)=3x2+5x+2f(x)+g(x)=((2+3)mod7)x2+((3+5)mod7)x+((4+2)mod7)=5x2+x+6f(x)g(x)=((23)mod7)x2+((35)mod7)x+((42)mod7)=6x2+5x+2f(x)g(x)=(6mod7)x4+(19mod7)x3+(31mod7)x2+(26mod7)x+(8mod7)=6x4+5x3+3x2+5x+1\begin{split} f(x)&=2x^2+3x+4,\;g(x)=3x^2+5x+2 \\ f(x)+g(x)&=((2+3)\mod7)x^2+((3+5)\mod7)x+((4+2)\mod7)\\ & =5x^2+x+6 \\ f(x)-g(x)&=((2-3)\mod7)x^2+((3-5)\mod7)x+((4-2)\mod7)\\ &=6x^2+5x+2 \\ f(x)*g(x)&=(6\mod7)x^4+(19\mod7)x^3+(31\mod7)x^2+(26\mod7)x+(8\mod7) \\ &=6x^4+5x^3+3x^2+5x+1 \end{split}

域上的多项式环

当以上环RR为一个域时,称R[x]R[x]为域上多项式环,记为F[x]F[x]

F[x]F[x]为一个整环

我们一般只研究有限域上的多项式环。设有限域GF(q)GF(q),其上有集合Zq={0,1,2,...,q1}Z_q=\{0, 1, 2, ..., q-1\},定义在ZqZ_q上的多项式有

f(x)=an1xn1+...+a1x+a0=i=0naixii{0,1,2,...,n1},aiZqf(x)=a_{n-1}x^{n-1}+...+a_1x+a_0=\sum_{i=0}^n{a_ix^i}\qquad\forall i\in\{0, 1, 2, ..., n-1\},a_i\in Z_q

设集合S是所有定义在ZqZ_q上的多项式集合,即

S={f(x)f(x)=an1xn1+...+a1x+a0=i=0naixii{0,1,2,...,n1},aiZq}S=\{f(x)|f(x)=a_{n-1}x^{n-1}+...+a_1x+a_0=\sum_{i=0}^n{a_ix^i}\qquad\forall i\in\{0, 1, 2, ..., n-1\},a_i\in Z_q\}

可知集合SS中共有qnq^n个元素,其包含了所有次数小于nn次的多项式。

例:

q=2n=3q=2,n=3则有集合SS23=82^3=8个元素

S={0,  1,  x,  x+1,  x2,  x2+1,  x2+x,  x2+x+1}S=\{0,\;1,\;x,\;x+1,\;x^2,\;x^2+1,\;x^2+x,\;x^2+x+1\}

特别地,我们还会研究有限域上的多项式商环

在有限域GFGF上的多项式环F(x)F(x)中,对f(x)F[x]\forall f(x)\in F[x],有I={g(x)f(x)g(x)F[x]}I=\{g(x)f(x)|g(x)\in F[x]\}F[x]F[x]的理想。

在有限域GFGF上的多项式环F(x)F(x)中,f(x)=an1xn1+...+a1x+a0=i=0naixii{0,1,2,...,n1}F[x]f(x)=a_{n-1}x^{n-1}+...+a_1x+a_0=\sum_{i=0}^n{a_ix^i}\qquad\forall i\in\{0, 1, 2, ..., n-1\}\in F[x]I={f(x)}I=\{f(x)\},则F[x]/I=F[x]/f(x)={i=0nbixi+Ib0,b1,,bn1F}F[x]/I=F[x]/f(x)=\{\sum_{i=0}^n{b_ix^i}+I|b_0,b_1,\cdots,b_{n-1}\in F\}

称为有限域上的多项式商环

多项式的带余除法

对于域FF中的nn次多项式f(x)f(x)mm次多项式g(x)g(x)mnm\le n),则用g(x)g(x)f(x)f(x)会得到一个商式q(x)q(x)和一个余式r(x)r(x),其满足

f(x)=q(x)g(x)+r(x)(f(x))=n,(g(x))=m,(q(x))=nm0(r(x))m1f(x)=q(x)g(x)+r(x) \\ \partial(f(x))=n, \partial(g(x))=m, \partial(q(x))=n-m,0\le \partial(r(x))\le m-1

其中(f(x))=n\partial(f(x))=n表示f(x)f(x)的最高次数为nn(即f(x)f(x)xx的最高次幂为n)。

通常将余式r(x)r(x)记作r(x)=f(x)modg(x)r(x)=f(x)\mod g(x),若余式为0则称g(x)g(x)整除f(x)f(x)

例:

f(x)=2x2+3x+4,  g(x)=3x2+5x+2f(x)=2x^2+3x+4,\;g(x)=3x^2+5x+2

f(x)/g(x)f(x)=q(x)g(x)+r(x)(2x2+3x+4)=3(3x2+5x+2)+(2x+5)f(x)/g(x)\Rightarrow f(x)=q(x)g(x)+r(x)\Rightarrow (2x^2+3x+4)=3(3x^2+5x+2)+(2x+5)

既约多项式

若域FF中多项式f(x)f(x)不能表示域FF上任两个多项式g1(x)g_1(x)g2(x)g_2(x)的乘积(g1(x)g_1(x)g2(x)g_2(x)在域F中,且次数都小于f(x)f(x)的次数),那么称多项式f(x)f(x)为既约多项式,也称不可约多项式、素多项式。

该概念类似整环中素数的概念。

多项式的模运算

针对域上的多项式商环而言。

  • 运算中,系数运算以q为模数,即遵循有限域ZqZ_q上的运算规则
  • 若乘法运算的结果是次数大于n-1的多项式,那么须将其除以某个次数为nn的既约多项式m(x)m(x)并取余式。对于多项式f(x)f(x),这个余数表示为r(x)=f(x) mod m(x)r(x)=f(x)\ mod\ m(x)

考虑有限域Z2Z_2,在其上定义多项式商环Z2(x)/(x8+x4+x3+x+1)Z_2(x)/(x^8+x^4+x^3+x+1)

m(x)=x8+x4+x3+x+1m(x)=x^8+x^4+x^3+x+1。考虑多项式f(x)=x6+x4+x2+x+1,  g(x)=x7+x+1f(x)=x^6+x^4+x^2+x+1,\;g(x)=x^7+x+1,则其加法和乘法有:

f(x)+g(x)=(x6+x4+x2+x+1)+(x7+x+1)=x7+x6+x4+x2f(x)×g(x)=(x6+x4+x2+x+1)×(x7+x+1)mod(x8+x4+x3+x+1)=x7+x6+1\begin{split} f(x)+g(x)&=(x^6+x^4+x^2+x+1)+(x^7+x+1)\\ &=x^7+x^6+x^4+x^2 \\ f(x)\times g(x)&=(x^6+x^4+x^2+x+1)\times(x^7+x+1)\mod(x^8+x^4+x^3+x+1)\\ &=x^7+x^6+1 \end{split}

良好性质

Z3[x]/(x3+x+1)Z_3[x]/(x^3+x+1)为例,其加法和乘法的运算表如图所示。可以发现以下特点:

  • 阴影部分的0表示多项式f(x)f(x)的加法逆元就是多项式f(x)f(x)本身,比如多项式x+1x+1的加法逆元就是x+1x+1
  • 阴影部分的1表示任一多项式f(x)f(x)都存在乘法逆元,比如xx的乘法逆元为x2+1x^2+1,因为(x×(x2+1))mod(x3+x+1)=1(x\times (x^2+1))\mod(x^3+x+1)=1
  • 无论是加法运算表,还是乘法运算表,其每一行的结果均不相同、每一列的结果也均不相同,而且每一行的结果组成的集合、每一列的结果组成的集合都等于集合S

image-20240410194227060