密码学数学基础复习1

一. 群
群的基本介绍
群是一种抽象的代数结构,它的数学本质是具有一定运算规则且满足特定要求的集合。群包含了这个集合的所有元素以及该集合内任意两个元素之间的二元代数运算。若一个非空集合G及其运算“·”满足如下四个条件:①封闭性,群的基本介绍
群是一种抽象的代数结构,它的数学本质是具有一定运算规则且满足特定要求的集合。群包含了这个集合的所有元素以及该集合内任意两个元素之间的二元代数运算。若一个非空集合G及其运算“·”满足如下四个条件:
①封闭性, 在这里插入图片描述

②结合律 在这里插入图片描述

③存在单位元,在这里插入图片描述

④存在逆元, 在这里插入图片描述
。群的符号简单记为 在这里插入图片描述
举例来说,整数集以及其上的加法就构成一个群 在这里插入图片描述

这里需要注意的是,群中的a·b并不一定指的是代数意义上的相乘,而是指a元素与b元素在该群的运算下相互作用所产生的结果,且一般来说 a·b ≠b·a,这是群的非交换性,或者说是群作用的有序性。若某个群满足a·b=b·a则称这样的群是交换群或者阿贝尔群。群的分类有很多种,但从抽象意义上来说,群是一个骨架,我们可以向其中填充需要的元素以及运算,进而研究这些元素的对称性,不变性等性质。故群的元素不一定是数,也可以是某种操作或者变换。我们只需研究明白其抽象结构的一般性质,便能掌握各种实际对象的性质。

二. 有限群
密码学中通常研究的是有限交换群
封闭性、结合性、单位元、逆元、有限、交换性:
1.有限群G的阶m=|G|,则∀ g ∈ G , g m = 1 (根据循环群:g的阶是< g >的阶,根据拉格朗日定理:< g >的阶是|G|的因子,则g的阶是|G|的因子,即若g的阶为d,则有d ∣ m,即g^m = g ^(n d) = ( g ^d ) ^n = e ^n = e )
2.有限群G的阶m=|G|,∀ g ∈ G , ∀ x ∈ Z有g ^x =
g^ [ x m o d m ]

3.有限群G的阶m=|G|,e ∈ Z,函数f e : G → G fe :G→G定义为f e ( g ) = g e。
如果gcd(e,m)=1,则f双射;如果d = e ^− 1 mod m,那么f d 是f e 的逆。
(f d ( f e ( g ) )
=f d ( g ^e )
=( g ^e ) ^d
=g ^(e d)
=g^ [ e d m o d m ] = g ^1 = g,双射通过函数的逆来证明)

三. 关于互质和整除的一些有用结论和定理
数论对素数的特性尤其感兴趣,素数是整数的基础构件,就像是元素在化学式中的作用类似。
1、d整除a记作:d∣a
如果d∣a且d∣b,那么d∣(ax+by).
2、如果p是素数,且p整除乘积ab,则p整除a或者p整除b(或者p同时整除a和b)。
证明的关键是假设p不整除a,考虑1=gcd(p,a)同时整除p和a。但由于p是素数,p的因子只能是1或者p,所以gcd(p,a)=1。由后面的线性方程定理得知,可以构造线性方程px+ay=1=gcd(p,a),两边同时乘上b,得bpx+aby=b,p整除左边等价于p整除右边的b。p不整除b的情况可以用同样的方式证明。
拓展:如果素数p整除整数乘积a1a2a3…ar,则p至少整除a1,a2,a3,…,ar中至少一个因数。
3、1和任意一个自然数是都是互质关系。
4、任意两个质数构成互质关系。
5、一个数是质数,另一个数只要不是前者的倍数,两者就构成互质关系,比如3和10。
6、如果两个数之中,较大的那个数是质数,则两者构成互质关系,比如97和57。
7、 p是大于1的整数,则p和p−1构成互质关系,比如57和56。
8、p是大于1的奇数,则p和p−2构成互质关系,比如17和15。
9、素数p与1到p−1的任意整数均互质。并且阶乘(p−1)!pp互质,这个结论在后面费马小定理和欧拉定理的证明过程中会用到。

四.欧几里德算法
欧几里德算法的原理和流程其实比较容易理解。
(GCD递归定理) :对于任意的非负整数a和正整数b,满足
gcd(a,b)=gcd(b,amodb)
更详细的将,其计算流程:
a=q1×b+r1
b=q2×r1+r2
r1=q3×r2+r3
r2=q4×r3+r4

rn−3=qn−1×rn−2+rn−1
rn−2=qn×rn−1+rn
rn−1=qn+1×rn+0
rn即为求得的a和b的最大公约数。
以上流程主要需要思考三个问题:
1)为什么rn是公约数?(需要从下往上推理)
2)为什么rn是最大的公约数?(假设d是a与b的任意公约数,如果能够证明d整数rn,即可得证。)
3)为什么欧几里德算法最后一定会终止?(因为每轮辗转之后的余数是单调递减的,辗转的轮次数有上界,最后一定能够保证余数为0,然后取最后一个非零余数rn就是正确的结果。)

五.扩展欧几里德算法
扩展欧几里德算法可以用来求解一类有意思的线性方程的整数解,该线性方程的整数求解过程与最大公约数有密切关系。
对于线性方程(a,b,c为常数):
ax+by=c
是很熟悉的方程。这里讨论情况是a,b,c满足一定的关系:c=gcd(a,b),也即是这样的线性方程:
ax+by=gcd(a,b)
这个线性方程必然有整数解,但我们更关心如果用更好算法去求解,该算法利用欧几里德算法求解最大公约数过程中的中间商和余数,进行扩展运算,在求gcd(a,b)的过程中,同时也就求得线性方程的整数解(x,y)。

六.算术基本定理
(算术基本定理):每个整数n⩾2可唯一分解成素数的乘积:
n=p1e1p2e2…pr^er
其中,pi为素数,且p1<p2<…<pr,ei为正整数。
实际上,看似理所当然的事实,其实并非如此。如果自定义一个有别正整数集合的其他集合,很可能就不再满足唯一分解定理。例如,集合E是由偶数构成的集合:
E={0,2,4,6,8,10,12…}
也可在这个集合中定义所谓的“素数”,称之为“E-素数”,2,6,10,14,18,22,26,30都是“E-素数”。对这个集合中的元素尝试做“素因子”分解,并不总是能都到唯一分解的结果,例如180=10x18=2x30,存在两种“E-素数”的分解形式。
实际上算术基本定理包含两个方面:
1)n可以分解成素数乘积的形式。
2)仅有一种这样的素因子分解的形式(当然这里不考虑因数重排序的情况)。
显然唯一性分解是算术基本定理的关键和重点。
另外一个有意思的事实:
如果n是一个合数,则在小于等于√n的数中必定有一个数a整除合数n。
该结论基于算术基本定理:合数n必定可以唯一分解多个素数的乘积,这里假设pp是它的素因子中最小的一个,则nn必定可以写成n=p×m的形式,这里的m是其余大于等于p的素因子的乘积,显然m⩾p,因此n=p×m⩾p×p=p2
所以,在0… √n的范围内,必定存在一个数a整除n。
可以利用这种方法简单的分辨一个数是否是素数,也可以反复执行上述过程将一个较小的合数进行素因子分解。

七.同余式与模算术
一般来讲,可以将mod视为一种求余数的二元运算符,例如2=5mod3;也可以用来表示同余关系,这种同余关系通常用同余式表示。例如2≡5(mod3)表示模3时2与5同余。
同余式虽然有别于普通的算数运算下的等式,但是具有相同模的同余式与普通等式有一些相似的特性:
如果已知:
a1≡b1(modm) 且a2≡b2(modm)
那么有:
a2±a2≡b2±b2(modm)和a2a2≡b2b2(modm)a2a2≡b2b2(modm)
同时,也不难得出:
如果,a^k
≡b(modm),
那么,(ak)j
≡b^j(modm)
特别的当b=1时:如果a^k
≡1(modm),那么,(ak)j≡1(modm)。
但是,由ac≡bc(modm)不一定能得到a≡b(modm)。
例如2×25≡2×20(mod10),但是25≢20(mod10)。
只有当c和m互质时(也即是gcd=(c,m)=1),才能够从同余式两边消去c。
由同余式可以引出同余方程:ax≡c(modm)
求解上述同余方程有一个定理,叫做同余方程定理。
(同余方程定理):设a,c,m是整数,m⩾1,且设g=gcd(a,m),则
1)如果g不整除c,那么同余方程ax≡c(modm)没有解。
2)如果g整除c,那么同余方程ax≡c(modm)恰好有g个解。
以上同余方程的求解过程需要用到扩展欧几里德的求解方法。实际上ax≡c(modm)可以转化为线性方程ax+m(−y)=c。
特别地,当a和m互质,即g=gcd(a,m)=1时,同余方程变成:
ax≡1(modm),a和x互为模反元素,这在RSA公钥加密算法生成秘钥过程中有应用。
八.费马小定理
费马小定理揭示了整数的幂在模运算下的特殊规律。
(费马小定理):设p是素数,a是任意的正整数且满足a≢0(modp),则
a^p−1≡1(modp)
实际上对于条件的更简单的表述可以为"a与素数p互质"即可。
证明费马小定理并不是非常难,证明过程是基于这样一个结论:
设素数p与任意正整数a互质,那么集合S={a,2a,3a,…(p−1)a}中任意任意两个元素均不可能模p同余。也即是ja≢ka(modp)。其证明过程只需要利用反证法即可。
上述结论表明,如果对集合S中的每一个元素模p的结果,其结果刚好与集合T={1,2,3,4…(p−1)} 中的元素一一对应(不考虑次序重排)。
于是有:
a×2a×3a…×(p−1)a≡1×2×3…×(p−1)(modp)
稍微整理得:
(p−1)!×ap−1≡(p−1)!(modp)
这里必然后gcd((p−1)!,p)=1,所以,可以两边消去(p−1)!,得到ap−1≡1(modp).
正是由于存在这样的关系,所有费马小定理可以用来简化对整数的幂取模的计算。
费马小定理在数论中非常重要,与其三个定理(分别是威尔逊定理、欧拉定理和中国剩余定理)合称数论四大基本定理。更有趣的是,费马小定理实际上可以视为欧拉定理的一个特例。
最后,费马小定理还有一种等价的表示形式:

九.中国剩余定理
中国剩余定理(也叫作孙子定理)所描述的问题在小学课本中都能找到,只不过当时只能用方程组去刻画这个的问题。
在数论中,它有不止一种表述形式,我见到的就至少有两种。
其中一种比较易懂的描述为:
设m,n是正整数,gcd(m,n)=1,b,c是任意正整数,则同余方程组
x≡b(modm)
x≡c(modn)
恰有一个解0⩽x⩽mn。
以上是从方程的角度描述,另外一种从对应的角度(数与k元组的对应关系)表述也是可行的,可以看做是上面表述形式更抽象的扩展:

在这里插入图片描述
,其中mi两两互质
则ZM={0,1,2,3…(m−1)} }中任意整数会对应一个k元组:
A↔(a1,a2…,ak)
其中ai当然是要在Zmi中(也即是ai∈Zmi),并且ai由关系ai=Amodmi给出。
从以上定理实际上可以推断出A与k元组唯一一对应的事实。
以上描述形式是算法导论和密码编码学与网络安全–原理与实践中采用的表述形式。相比于第一种表述形式,第二种表述更具有通用性,也更抽象。中国剩余在推导欧拉函数求解公式时会用到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值