Segment 2:Introduction Number Theory——Fermat and Euler【费马定理和欧拉定理】

这是整个数论简介的内容,下面是这个的主目录,其链接为:https://blog.csdn.net/qq_43479839/article/details/119079620

Segment 2目录@xyi

  • Segment 2:Introduction Number Theory——Fermat and Euler【费马定理和欧拉定理】
    • 2.1 Fermat’s theorem【费马定理】
      • 1、Fermat’s thoerem的定义
      • 2、费马定义的一个应用
      • 3、the structure of (Zp)*——【(Zp)*的结构】
      • 4、Order【定义g的生成群的大小——即是g在(Zp)*里的阶】
      • 5、 the theorem of lagrange【拉格朗日定理】(这里只是说的拉格朗日定理的一个特例)
      • 6、Euler’s generalization of Fermat【欧拉定理:一个费马定理的直接推广或一般化】欧拉定理是RSA密码系统的基础;

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】,用表示g的生成群;
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;那么我们就得到了费马定理;但是这个欧拉定理最棒的地方在于:他也适用在于合数,不仅仅是质数;

Segment 2:Introduction Number Theory——Fermat and Euler【费马定理和欧拉定理】相关推荐

  1. Number Theory Problem(The 2016 ACM-ICPC Asia China-Final Contest 找规律)

    题目: Mr. Panda is one of the top specialists on number theory all over the world. Now Mr. Panda is in ...

  2. NUMTRYE - Number Theory (Easy)

    NUMTRYE - Number Theory (Easy) Hard 版本就是用 pollard_rho 分解质因子. f(n)=∏(pi2ei+1+1)f(n) = \prod(p_i ^{2e_ ...

  3. Codeforces Round #628 (Div. 2) E. Ehab‘s REAL Number Theory Problem 巧妙的质因子建图

    传送门 文章目录 题意: 思路: 题意: 给你nnn个数,每个数的因子个数不超过777个,选出最少的数使其乘积为平方数. n≤1e5n\le 1e5n≤1e5 思路: 由于因子不超过777个,所以由约 ...

  4. 2016级算法第二次上机-F.ModricWang's Number Theory II

    891 ModricWang's Number Theory II 思路 使得序列的最大公约数不为1,就是大于等于2,就是找到一个大于等于2的数,它能够整除序列中的所有数. 考虑使得一个数d整除数组中 ...

  5. Elliptic Curves Number Theory And Cryptography——pairing learning

    <Elliptic Curves Number Theory And Cryptography 2n>中Example 11.5, magma脚本: clear; q:=7; Fq:=GF ...

  6. concrete maths ch4 number theory

    ch4 number theory 数论研究正数的性质 1.整除 gcd lcm 扩展欧几里得. 整除求和\(\sum_{n|m}\)的几个公式.ch2的知识会很有用. 2.质数 Fundamenta ...

  7. 图论 + 数论 ---- CF1325E E. Ehab‘s REAL Number Theory Problem (约数个数 + 枚举 + bfs找最小环)[从图结构优化搜索]

    题目链接 题目大意: 给你nnn个数,每个数保证约数个数不超过777个.问你从中选出若 干个数的乘积是完全平方数,最少要选择多少个数?,不存在输出-1. 题目思路: 1.每个数约数不超过7个→\rig ...

  8. FZU 2297 Number theory【线段树/单点更新/思维】

    Given a integers x = 1, you have to apply Q (Q ≤ 100000) operations: Multiply, Divide. Input First l ...

  9. BZOJ 1114 Number theory(莫比乌斯反演+预处理)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=71738 题意:给你一个整数序列a1, a2, a3, ... , ...

最新文章

  1. DOS命令行操作MySQL常用命令
  2. centos 7 jenkins githup测试
  3. matlab 提取数列里非零_什么!科研交流免费教Matlab?
  4. java 属性不序列化_怎样对带有不可序列化属性的Java对象进行序列化
  5. 别说了,叫爸爸吧! | 今日最佳
  6. 前端学习(1188):事件绑定
  7. wordpress关闭更新提示
  8. html页面顶部提示在更高浏览器下面提示语
  9. 6远程桌面连接不上_windows server2008 远程桌面 创建新用户和多用户登录
  10. python结构体_Python对象初探
  11. 【OpenGL开发】glut和freeglut下载及配置
  12. 卡尔曼滤波和互补滤波的区别
  13. synchronized原理
  14. 什么是数字化转型? 怎样算是转型?
  15. 如何做好一个IT项目经理? (一)
  16. C语言rot90的头文件,python – np.rot90()破坏了opencv图像
  17. 【宝塔面板】紧急安全更新通知
  18. 吉首大学第九届"新星杯"大学生程序设计大赛 J.小阳排队
  19. 生物化学《第二章糖类》
  20. Ubuntu14.04 桌面特效

热门文章

  1. IT培训机构到底靠谱不靠谱?首先看这4点
  2. springboot 整合 camunda,访问 web 管理界面报错
  3. 360等中概股遭遇找壳难 回归A股不容易
  4. HR 必须了解的绩效考核
  5. 数字后端:track的作用与创建
  6. 发票认证系统服务器调用失败,发票认证平台登录显示不成功怎么办
  7. 海淘iherb购物最新傻瓜攻略
  8. 再来一篇,看jdk源码大师亲自操刀编写的集合源码
  9. Android蓝牙bt/ble开发
  10. 2017中国国际教育装备博览会会刊(参展商名录)