近世代数作为理论数学的一个完整分支,其对群、环、域等的研究非常复杂,此处仅总结一些与密码学相关的概念和基础

首先定义代数运算

定义集合M上的一个法则 $\cdot$ ,若对于M上的每一组有序对$(a,b)$,$a,b\in M$,总存在唯一的$d\in M$使得$a\cdot b=d$成立,即满足封闭性,则法则 $\cdot$ 被称为M上的一个代数运算

设G是一个定义了代数运算 $\cdot$ 的非空集合,当满足如下条件时称G对代数运算 $\cdot$ 做成一个群

  • 结合律:若$a,b,c\in G$,则$a\cdot(b\cdot c)=(a\cdot b)\cdot c$
  • 存在左单位元:存在一个元素$e\in G$,使得对G中任意元素$a$,都有$e\cdot a=a$成立
  • 存在左逆元:对G中任意元素$a$,在G中都有元素$a^{-1}$,使得$a^{-1}\cdot a=e$

群有一些重要定理

  • 群G的左单位元也是右单位元,即有$e\cdot a=a\cdot e=a$,且单位元是唯一的
  • 群G中任意元素$a$的左逆元$a^{-1}$也是其右逆元,即有$a\cdot a^ {-1}=a^{-1}\cdot a=e$,且逆元是唯一的

若群G还满足交换律,即对G中任意元素a、b,都有$a\cdot b=b\cdot a$成立,则称为交换群Abel群

设R是定义了两个代数运算+和×的非空集合,两个代数运算分别称为加法和乘法
当满足如下条件时称R对代数运算+和×做成一个环

  • 加群:R对加法做成交换群。此时用$0$表示其单位元,称为零元,$-a$表示$a$的逆元
  • 乘法满足结合律:若$a,b,c\in R$,则$a(bc)=(ab)c$
  • 结合律:若$a,b,c\in R$,则$a(b+c)=ab+ac$和$(a+b)c=ac+bc$均成立

若环R还满足乘法交换律,即对R中任意元素a、b,都有$ab=ba$成立,则称为交换环

此处再引入一个概念零因子

设R为环,$a\in R$且$a\neq 0$,若存在$b\in R$且$b\neq 0$使得$ab=0$,则称a为环R的左零因子,同理可定义右零因子

然后可以定义整环

阶大于1,有乘法单位元且无零因子的交换环称为整环

当满足如下条件时称环R做成一个域

  • $|R|>1$
  • R有乘法单位元,记为1,满足$a1=1a=a$
  • R的每个非零元都有逆元,即对任意$a\in R$且$a\neq 0$,都存在$a^{-1}$使得$aa^ {-1}=a^{-1} a=1$成立
  • R满足乘法交换律

根据上述定理可以推出域没有零因子,因此也可以将域定义为非零元都有乘法逆元的整环

有限域GF(p)

密码学中主要关注的是有限域,定理表明有限域的阶一定为$p^n$,其中$p$为素数,$n$为正整数

阶为$p^n$的域一般记为$GF(p^n)$,我们主要关注$GF(p)$和$GF(2^n)$

给定一个素数p,有限域$GF(p)$定义为$Z_p$,即${0,1,…,p-1}$,其运算为模 $p$ 的算术运算

$Z_p$中任意整数$a$有乘法逆元定义为使得$ab\equiv 1(\mod p)$成立的$b$
当且仅当$a$与$p$互素时$a$有乘法逆元,因此$Z_p$中除0元外均有乘法逆元,其余做成域的条件$Z_p$则显然满足

乘法逆元的求解可以用扩展欧几里得或费马小定理

特别的,$GF(2)$中加法等价于异或,乘法等价于逻辑与

多项式环

一个$n$次多项式的表达式形如$f(x)=\sum_{i=0}^na_ix^i$

设$f(x)=\sum{i=0}^na_ix^i,\ g(x)=\sum{m=0}^nb_ix^i,\ n\geq m$,定义多项式的加法与乘法运算如下

多项式的除法按如下定义:给定n次多项式$f(x)$和m次多项式$g(x)$,$n\geq m$,若用$g(x)$除$f(x)$,可得到商$q(x)$和余数$r(x)$,满足$f(x)=g(x)q(x)+r(x)$,其中$q(x)$次数为n-m,$r(x)$小于等于m-1

假如多项式的系数为域F的元素,则称之为域F上的多项式,这样的多项式集合是一个,因为其除法不一定是整除,也即不一定有乘法逆元,这个环称为多项式环

域F上的多项式$f(x)$称为不可约的,当且仅当$f(x)$不能表示为两个多项式的乘积,也称为素多项式

有限域GF(2^n)

由于所有加密算法都涉及整数集上的算术运算,若某个算法使用了除法,就必须定义一个域
同时我们希望这个整数集中的数与二进制位数表达的信息一一对应,即对n位的二进制数,我们希望整数集的范围是$[0,2^n-1]$,从而不造成空间浪费
综上所述,我们的任务就是构造一个合适的有限域$GF(2^n)$

设集合S由域$Z_p$上次数小于等于$n-1$的多项式组成,当满足如下条件时S是一个有限域

  • 运算遵循普通多项式运算
  • 系数运算以p为模,即遵循有限域$Z_p$上的运算规则
  • 若多项式乘法运算结果次数大于$n-1$,必须对某个次数为$n$的素多项式取模

根据上述条件,我们可以定义$GF(2^n)$为域$Z_2$上次数小于等于$n-1$的多项式构成的有限域
这样,每个n​位二进制数就唯一地对应一个系数为0或1的n-1次多项式