收藏 分享(赏)

第9章-数论算法.pptx

上传人:天天快乐 文档编号:1156068 上传时间:2018-06-15 格式:PPTX 页数:41 大小:161.20KB
下载 相关 举报
第9章-数论算法.pptx_第1页
第1页 / 共41页
第9章-数论算法.pptx_第2页
第2页 / 共41页
第9章-数论算法.pptx_第3页
第3页 / 共41页
第9章-数论算法.pptx_第4页
第4页 / 共41页
第9章-数论算法.pptx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、第九章 数论算法,内容提要,数论基础知识RSA公钥密码体制Miller素数测试算法,重点与难点,重点:数论基础知识RSA公钥密码体制难点:Miller素数测试算法及其正确性的证明.,学习目的与要求,通过学习相关的数论基础知识,理解与掌握RSA公钥密码体制,理解Miller素数测试算法.,数论是一门古老的数学分支。以前人们都认为它是完全纯粹数学,在现实生活中很难找到它的实际应用。自从1976年公开密钥密码体制诞生以来,现代密码学就和数论有着千丝万缕的联系。,一、引言,约定:字母N表示全体自然数集合,Z表示整数集合,即N=0,1,2,Z=,-2,-1,0,1,2,,自然数与整数,定义1:如果存在一

2、个整数k使得n=kd,则称d整除n,记作d|n,其中d称作n的因子,n称作d的倍数。如果不存在这样一个整数使得n=kd,则称d不整除n,记为dn。,整除,定义2:整数p1称为素数,如果除了1和其本身外,p没有任何其它因数。不是素数的整数称为合数。,素数与合数,带余除法:设a,b是两个整数,其中b0。则存在两个整数q,r使得a=qb+r。其中q和r是唯一确定的。,带余除法,公因数:设a,b是两个整数,既是a的因数又是b的因数的数称为a,b的公因数。,公因数,最大公因数:a和b的所有公因数中最大者,称为a和b的最大公因数,记作gcd(a,b)。,最大公因数,公倍数:设a,b是两个整数,既是a的倍数

3、又是b的倍数的数称为a,b的公倍数。最小公倍数:a和b的所有公倍数中最小者,称为a和b的最小公倍数,记作lcm(a,b)。,公倍数与最小公倍数,lcm(a,b) gcd(a,b)=ab.,最小公倍数与最大公因数,a与b互素:如果对两个整数a,b有gcd(a,b)=1,则称a与b互素。,整数的互素,设a,b是自然数,则存在两个整数u和v使得: ua+vb=gcd(a,b),最大公因数的线性表示,算术基本定理:任何一个正整数m都存在唯一的因数分解形式:,算术基本定理,例如:,算术基本定理,算术基本定理,欧几里德(Euclid)算法(辗转相除法),欧几里德算法,1694=1917+777917=17

4、77+140777=5140+77140=177+6377=163+1463=414+714=27+0gcd(1694,917)=7,7=63-4 14 =63-4 (77-63) =-4 77+5 63 = -4 77+ 5 (140-77) =5 140-9 77 = 5 140 -9 (777- 5 140) =-9 777+50 140 =-9 777+50 (917-777) =50 917-59 777 = 50 917-59(1694-917) = -591694+109 917,两个整数同余:设a,b是两个整数,m是一个正整数。如果 m|(b-a), 则称a与b对模m同余。记作

5、a b(mod m).例如,3 1(mod 2) 4 1 (mod 3),a a (mod m),a b (mod m),b a (mod m),a b (mod m),b c (mod m),a c(mod m),同余,同余关系是一个等价关系,定义模m的算术运算:Zm=0,1,m-1,它有两种运算+和 。在Zm中的加法和乘法,除了将结果被模m约简外,恰好像实数加法和乘法。例如:在Z2中的加法0+0 0 (mod 2) 0+1 1 (mod 2) 1+0 1 (mod 2) 1+1 0 (mod 2) 例如:在Z16中的乘法11 13 11 13=143 15 (mod 16),模运算,定义4

6、 欧拉函数 是定义在正整数上的函数,它在正整数m的值等于1,2,m-1中与m互素的数的个数,记为,m=6, 1,2,3,4,5中与m互素的数为1,5,共两个,因此,=2,欧拉函数,设正整数m的标准分解形式为,则,例如 6=2 3,欧拉函数,欧拉定理:如果a和m互素,则,费尔马定理 若p是素数,则,欧拉定理与费尔马定理,中国剩余定理:设m1, m2, mk 是k个两两互素的整数,m= m1m2,mk , Mi=m/mi,I=1,2,k。则同余方程组,x b1 (mod m1),x bk (mod mk),x b2 (mod m2),有解,可由欧几里德算法求出。,中国剩余定理,离散对数,离散对数问

7、题,设x, r, n是正整数。已知x, r和n, 可以很快地求出,反过来,如果已知y, x和n, 求r使得:,成立,这就是离散对数问题。,离散对数,当y, x和n都比较小时,可以用穷举搜索求得r, 如果这些数都很大,这是非常困难的。如果给定一个整数r, 那么可以很容易验证它是否为,的解。因此,离散对数问题是NP问题。计算机理论科学已经证明,离散对数问题是NP完全问题。,加密机制,一个密码体制被定义为一对数据变换,其中一个变换应用于称之为明文的数据项,变换后产生的相应数据项称为密文;而另一个变换应用于密文,变换后的结果为明文。,加密,KE,解密,KD,加密过程,解密过程,公开密钥密码体制,利用计

8、算机网络进行商务活动,其信息的真实性是人们迫切需要的。为了防止欺诈,通信双方必须对对方的身份、消息的真伪进行验证。有时还需要通信双方对信息进行数字签名,以便在发生纠纷时,能够提交第三者(如法院)进行仲裁。这一切都使得传统密码体制越来越不能适应计算机网络保密通信要求了,人们迫切需要寻找新的密码体制。,单向函数,单向函数:如果给定x,求f(x)是容易的;而给定f(x),求x是困难的。,1976年,美国学者Diffie和Hellman根据单向函数的概述提出了公开密钥密码体制。公开密钥密码体制从根本上克服了传统密码体制的困难,解决了密钥分配和消息认证等问题,RSA公开密钥密码体制,1.RSA体制,RS

9、A体制是美国麻省理工学院(MIT)Rivest,Shamir和Adleman于1978年提出来的,它是第一个成熟的、迄今为止理论上最为成功的公开密钥密码体制。它的安全性基于数论中的Euler定理和计算复杂性理论中的下述论断:求两个大素数的乘积是容易计算的,但要分解两个大素数的乘积是困难的。,RSA公开密钥密码体制,2.RSA加密、解密过程,1)密钥生成,(1)随机选取两个大素数(200位的十进制数)p和q,令N=pq,随机选取两个整数e和d,使得e,d与,(2) 公开N,e,作为E,记为E(N,e);,(3) 保密p,q,d与,作为D,记为D(p,q,d, ),RSA公开密钥密码体制,2.RS

10、A加密、解密过程,2)加密过程,(1)在公开密钥数据库中,查得用户U得公钥:E(N, e),(2)将明文分组:,2.RSA加密、解密过程,2)加密过程,(3)对每组明文作加密变换,(4)将密文传送给用户U。,RSA公开密钥密码体制,2.RSA加密、解密过程,3)解密过程,(1)对每组密文作解密变换,(2)合并分组得到明文,RSA公开密钥密码体制,2.RSA加密、解密实例,设B选择p=101和q=113,那么N=pxq=101x113=11413, ; 选择e=3533,则 B公开N=11413和e=3533.现假设A要发送9226给B。A计算92263533mod(11413)=5761,将5

11、761通过公开信道传送给B。B收到5761后,进行解密,5761d mod(11413)=9226,即可得明文9226。,RSA公开密钥密码体制,Miller 素数测试,Millers Primality Test Algorithm1. Let n-1 = 2em, m be an odd number;2. Choose A Random Number a1,2,n-1;3. Calculate am (mod n). If am 1 (mod n), halt and output “prime”;4. Calculate am, a2m , a4m , , = an-1 (mod n)

12、. If an-1 1 (mod n), halt and output “composite”;5. Find the largest k such that,定理 1如果 n 是素数,则测试算法总是输出“prime”;如果n是合数, 则测试算法输出“合数”的概率不小于0.5。,如果对n运行Miller算法并回答“composite”,则 可以肯定n是合数并停机;如果回答“prime”,则不能肯定,但可以再运行 算法。假设每次运行都是相互独立的,运行25次 而每次回答“prime”, 则n是素数的概率有 99.99999%。,小结,本章主要讨论了数论基础知识;RSA公钥密码体制;Miller素数测试算法,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报