应用密码学中的抽象代数基础

image
首先,一切的一切都是从群的概念引入的。群是一个最基本的代数结构,包括一个集合和一个运算,记作(G,)。这个运算要满足四个性质:运算封闭性、满足结合律、具有单位元、具有逆元。群的一个典型的例子就是整数集合上的加法群,单位元为0,对于每个整数a其逆元就是-a。

如果在群G中选取一些元素,在G的运算下仍够成一个群,那么这个群就是G的子群。有了子群,就可以引入陪集的概念了。设H是群G的一个子群,选择一个元素aG,集合Ha={ha|hH}称为H在G中的一个右陪集,简写为Ha;aH={ah|hH}称为H在G中的一个左陪集,简写为aH。若对于所有aG,都有aH=Ha,则称H是G的一个正规子群。

首先,我们可以将群划分为互不相交的子群,然后对H进行程度为a的平移得到陪集,对于不同的程度就可以得到一系列等价类,也就是说如果x和y属于同一个陪集,那么它们就具有等价关系。如果我们结合数论中的同余关系,将能够更好地理解陪集。比如我们选定一个子集H={6n|nZ},运算为加法,那么a=1时,陪集a+H={...,11,5,1,7,13,...},这个陪集中的元素模6的结果均为1,它们具有同余关系,也就具有了等价关系。

接下来引入商群的概念。若H是G的一个正规子群,则用G/H表示H在G中的所有陪集组成的集合{aH|aG},并定义乘法,称为G关于H的商群,那么为什么叫商群呢?首先我们观察集合{aH|aG}={aH,bH,...},在这个集合的集合上可以定义一种陪集的乘法运算,(aH)(bH)=a(Hb)H=a(bH)H=(ab)HH=(ab)H,可以看到陪集的乘法满足封闭性,因此这是一个群。其次,当我们选定子群H=6Z={6n|nZ}后,a=0,1,2,3,4,5这5种取值自然地将群G划分成6个不相交的等价类{6n},{6n+1},{6n+2},{6n+3},{6n+4},{6n+5},这也就是商群G/H的6个组成元素,如果“约去”了正规子群H(就好像做了商),就可以得到商群的代表元集{0,1,2,3,4,5}。从字面意义看代表元集更应该称为“商集”,但是由于商集用途更广泛,并且商群是同构于代表元集的,所以就这样命名了。

接着,我们开始讨论环和理想。环有加法和乘法两种运算,记作(R,+,)。环是群的一个拓展,这么说是因为环关于加法是一个加法群,而关于乘法只需满足封闭性、交换律和分配律即可。一个重要的环是多项式环。设R是一个数环,R[x]表示系数属于R的所有x的多项式构成的集合,则R[x]关于多项式的乘法和加法构成一个环,称为R上未知量x的多项式环。

环有一种特殊的子环称为理想:设I是环R的一个子环,如果R中任意元素与I内元素相乘都属于I,即rR,xIrxI,xrI,则称I是R的一个理想。举个例子,子环6Z就是整数环Z的一个理想,因为任何数乘6的倍数仍然是6的倍数。一种特别的理想称为主理想:设J是R的一个理想,如果存在aR使得J=(a),那么(a)称为由a生成的主理想,也就是说主理想里面的所有元素都是a的倍数。

我们可以像商群一样定义商环的概念。商环R/I:设R是一个环,I是R的理想。现在只关注加法,R是一个群,又因为理想的定义,所以I是R的一个正规子群,那么I在R中所有陪集ri+I组成的R/I是一个商群(因为是关于加法的,所以称为加法商群)。在其之上定义乘法(a+I)(b+I)=ab+I后,R/I是一个环,称为R关于理想I的商环。

我们会自然地想把商环的概念用到同余关系上,这样就可以对于同余关系利用商环的性质了,而这需要先定义剩余类环。首先介绍剩余类:设I是R的一个理想,定义R中元素的等价关系ababI,这种等价关系将R分成了若干互不相交的等价类的并,每个等价类叫做模I的剩余类,剩余类[a]中的元素都有形式a+c,cI。剩余类环:商集Zm={[0],[1],...,[m1]}关于加法运算[a]+[b]=[a+b]和乘法运算[a][b]=[ab]构成一个环,称为模m的剩余类环。在同余关系中,[a]相当于所有模c为a的元素的集合,这些元素之间只差c的倍数,而I是c的倍数的集合。那么陪集ri+I就是模c为ri的元素的集合,也就是[ri],所以陪集们组成的集合R/I正是剩余类环。因此,在定义加法(a+I)+(b+I)=(a+b)+I和乘法(a+I)(b+I)=ab+I后,环R关于子环I的商环就等于剩余类环。

下面介绍更严格的环——域。域在环的基础上,还要求乘法满足交换律、有单位元、有逆元、无零因子,也就是说域关于加法和乘法都是交换群,乘法逆元这个条件使得域对于四则运算都是封闭的,有理数、实数、复数集合都属于域(当然整数集合只是环不是域,因为相除会得到分数)。域的一个重要的属性是域的特征:如果存在正整数p使得p1=0(1是乘法单位元),那么把最小的p称为域的特征。域的特征p一定是0或素数,假设p=hk,那么0=p1=(h1)(k1),所以h1=0或者k1=0,这与p最小矛盾。进一步,特征为p且有素数p个元素,形如{0,e,2e,...,(p1)e}的域就称为素域。

元素数量有限的域称为有限域,也叫做伽罗华域(Galois Field,GF),有限域是一种在密码学中应用广泛的代数结构,所以我们主要对它进行研究。有限域由素域经过扩张而来,我们想象一个n维的向量空间,每个坐标轴都有p个刻度,那么总共形成的向量个数就是pn个,这些向量就构成了一个阶数为pn的有限域,这也是为什么有限域的阶一定是一个素数的幂次。

让我们放眼上面的数学概念于实际应用中。AES分组加密算法的的列混合变换中需要进行模一个8次多项式的操作,F2[x]就是系数属于{0,1}的多项式的集合构成的环,设m(x)是F2上的一个8次不可约多项式,(m(x))即m(x)生成的主理想,那么我们将商环F2[x]/(m(x))类比上面简单的例子,就可以理解这个商环的意义:所有的二元系数多项式按照m(x)划分出的互不相交的集合,也就是从模一个数a转变为模一个多项式m(x)。由于m(x)是8次的,所以模m(x)得到的结果一定是小于8次的多项式,这些多项式和有限域GF(28)同构,这就有了:GF(28)F2[x]/(m(x))

posted @   眠眠眠眠  阅读(373)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示