Segment 2:Introduction Number Theory——Fermat and Euler【费马定理和欧拉定理】
这是整个数论简介的内容,下面是这个的主目录,其链接为:https://blog.youkuaiyun.com/qq_43479839/article/details/119079620
2.1 Fermat’s theorem【费马定理】
1、Fermat’s thoerem的定义
Zp不仅表示的是{0,1,2,……p-1},也是模p运算;
x∈(Zp)*表示的是:在Zp中的所有可逆元素的集合;
(如上图)
1》 Fermat’s theorem【费马定理】描述:若p是素数(或叫质数),x是正整数且不能被p整除,则x^p-1≡1 (mod p).或是
2》 并且上图中的Example满足费马定理
3》 我们看在费马小定理中的一个简单应用,假设给Z_P*里的一个元素x,我想说的是这里的p必须是质数,由费马定义可知上述1中的式子;这就给我们另一个计算x模一个质数的逆的算法;计算X^(p-2);就会得到x的逆;实际上这是一个计算模一个质数的逆的好的方法,但是与欧几里德算法相比有俩个不足。首先:他只能工作在质数模(即mod p)上,而Euclid算法还可以工作在合数模上;第二实际这个算法效率更低,这个算法会花掉大约logP的三次方;但是欧几里得算法中计算逆只会花掉logp的平方时间内。
2、费马定义的一个应用
(如上图),假设我们想生成一个随机的大质数,比如说:我们的质数需要有1024位长,我们要找的质数是2的1024次方的量级,这是一个非常简单的概率问题。
1》 step1:我们可以选择一个随机整数p,方范围是在21024到21025-1的范围。
2》 然后测试,我们选取的这个整数p是否满足费马定理,换句话说,我们可以用2为底数进行检测;如果这个等式不成立;那么我们知道我们选择的这个数p一定不是一个质数,不成立返回step 1即可;知道选取的p满足费马定理这个式子;实际上,虽然很难证明,但是如果一个随机数通过这里的检测,那么它极有可能是质数,特别地,这个p不是质数的概率非常小;小于2(-60);随着数p的变大,当它通过这里的测试但不是质数的概率会迅速向0衰减;
【因此上面的算法,不能保证输出的p一定是一个质数,但是我们知道它非常可能是一个质数。尽管在实际中,我们并不用这个方法来生成质数,但是大家可能想知道这个迭代需要重复多少次,有一个经典的结果叫做质数定理,这个定理是说,经过几百次迭代我们就能以很高的概率找到质数,】
3、the structure of (Zp)*——【(Zp)*的结构】
(如上图)
1> 用现代的语言【欧拉定理】来讲,(Zp)*是一个循环群。(Zp)*是一个循环群是什么意思?这意味着(Zp)里有某个元素g,如果我们选取g计算g的一组幂,g2,g3,g4.。。因为根据费马定理,g^(p-1)=1 in Zp…我们就得到了一个循环,如果我们增加g的指数,我们可以就停在g(p-2);
2> Euler【欧拉】证明了事实上,有这么一个元素g,如果你看它的所有幂,可以扩展成整个群(Zp),g的幂给出了(Zp)*里的所有元素,这样的元素g叫做生成元。那么g就叫做(Zp)*的一个生成元;
Example:p=7,看3的所有幂,如下图,由36=1即没必要写了;所以说3是的一个生成元【generator】。
但是不是所有Zp{0}每个元素都是生成元。例如:如果我们看2的所有幂,因为当2^3=8 mod 7 =1[也就循环回来了] ,并不会生成整个群因此我们说2不是的(Z7)*生成元。
4、Order【定义g的生成群的大小——即是g在(Zp)*里的阶】
1、一个很常用的是:给定(Zp)*里的一个元素g,如果我们看g的全体幂组成的集合,得到的集合就叫做g的生成群【the group generated by G】;它们给了我们一个乘法群【multiplicative group】,用
2、然后我们把g的生成群的大小叫做g在(Zp)*里的阶(order);换一个表示方法,如下:
对有上图的一些记号,如下图可能会有比较好的理解:
例如:看在各个元素的阶,如下图:
5、 the theorem of lagrange【拉格朗日定理】(这里只是说的拉格朗日定理的一个特例)
定理说:有限子群的阶必然必然整除有限群的阶;拉格朗日定理意味着:如果你看g模p的这个阶始终整除p-1;即你的阶始终是p-1的因子;
举例如下:
6、Euler’s generalization of Fermat【欧拉定理:一个费马定理的直接推广或一般化】欧拉定理是RSA密码系统的基础;
1、 定义:欧拉定义了下面这个函数,那么给定了一个整数N,欧拉定义了函数Ψ,有时也叫做欧拉的Ψ函数,例如:Ψ(N)表示了(ZN)*的大小;其中(ZN)*表示的是N中的可逆元素。当N为素数p时,有Ψ§=p-1;【不包含0元素】
这里要说的是:之后再RSA系统中我们要用到的,如果N正好是两质数p和q的乘积?为什么下面这个会成立?因为N是ZN的大小,现在我们要移除所有与N不是互质的元素,一个元素如何才能不与N互质呢?它要不被p整除,也要不被q整除,那么在0到N-1之间,有多少元素能被p整除?一定有q个;又有多少元素能被q整除?一定有p个;那么我们用N-p-q;但是大家注意,在这其中减去了0俩次;因为0同时被p和q整除;故N-p-q+1;
Euler Thm【欧拉定理】:如果你给我(ZN)*中的任意元素X,事实上,X的Ψ(N)次方在Z_N中一定等于1;这是一个费马定理的一个推广
对于质数而言,我们知道Ψ§=p-1;换句话说,如果N是质数,我们再这里这下p-1;那么我们就得到了费马定理;但是这个欧拉定理最棒的地方在于:他也适用在于合数,不仅仅是质数;