第4章-公钥密码-现代密码学教案课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章-公钥密码-现代密码学教案课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 现代 密码学 教案 课件
- 资源描述:
-
1、第第4章章 公钥密码公钥密码4.1 数论简介数论简介4.2 公钥密码体制的基本概念公钥密码体制的基本概念4.3 RSA算法算法4.4 背包密码体制背包密码体制4.5 Rabin密码体制密码体制4.6 椭圆曲线密码体制椭圆曲线密码体制习题习题数论是密码学特别是公钥密码学的基本工具,本章数论是密码学特别是公钥密码学的基本工具,本章首先介绍密码学中常用的一些数论知识,然后介绍首先介绍密码学中常用的一些数论知识,然后介绍公钥密码体制的基本概念和几种重要算法。公钥密码体制的基本概念和几种重要算法。1.因子因子设设a,b(b0)是两个整数,如果存在另一整数是两个整数,如果存在另一整数m,使使得得a=mb,
2、则称则称b整除整除a,记为记为b|a,且称且称b是是a的因子。的因子。4.1 数论简介数论简介 4.1.1 素数和互素数素数和互素数整数具有以下性质:整数具有以下性质:a|1,那么那么a=1。a|b且且b|a,则则a=b。对任一对任一b(b0),b|0。b|g,b|h,则对任意整数则对任意整数m、n有有b|(mg+nh)。这里只给出的证明,其他这里只给出的证明,其他3个性质的证明都很简个性质的证明都很简单。单。性质的证明:性质的证明:由由b|g,b|h知,存在整数知,存在整数g1、h1,使得使得g=bg1,h=bh1所以所以mg+nh=mbg1+nbh1=b(mg1+nh1),因此因此b|(m
3、g+nh)。2.素数素数称整数称整数p(p1)是素数,如果是素数,如果p的因子只有的因子只有1,p。任一整数任一整数a(a1)都能惟一地分解为以下形式:都能惟一地分解为以下形式:其中其中p1p2pt是素数,是素数,ai0(i=1,t)。例如例如91=711,11011=7112131212ttappp这一性质称为整数分解的惟一性,也可如下陈述:这一性质称为整数分解的惟一性,也可如下陈述:设设P是所有素数集合,则任意整数是所有素数集合,则任意整数a(a1)都能惟一都能惟一地写成以下形式:地写成以下形式:其中其中ap0,等号右边的乘积项取所有的素数,然而大等号右边的乘积项取所有的素数,然而大多指数
4、项多指数项ap为为0。相应地,任一正整数也可由非。相应地,任一正整数也可由非0指指数列表表示。例如:数列表表示。例如:11011可表示为可表示为a7=1,a11=2,a13=1。两数相乘等价于对应的指数相加,即由两数相乘等价于对应的指数相加,即由k=mn 可得:可得:对每一素数对每一素数p,kp=mp+np。而由而由a|b可得:可得:对每一素对每一素数数p,apbp。这是因为这是因为pk只能被只能被pj(jk)整除。整除。pap Pap3.互素数互素数称称c是两个整数是两个整数a、b的最大公因子,如果的最大公因子,如果 c是是a的因子也是的因子也是b 的因子,即的因子,即c是是a、b的公因子。
5、的公因子。a和和b的任一公因子,也是的任一公因子,也是c的因子。的因子。表示为表示为c=gcd(a,b)。由于要求最大公因子为正,所以由于要求最大公因子为正,所以gcd(a,b)=gcd(a,-b)=gcd(-a,b)=gcd(-a,-b)。一般一般gcd(a,b)=gcd(|a|,|b|)。由任一非由任一非0整数能整除整数能整除0,可得,可得gcd(a,0)=|a|。如果将如果将a,b都表示为素数的乘积,则都表示为素数的乘积,则gcd(a,b)极易确定。极易确定。例如:例如:300=22315218=2132gcd(18,300)=213150=6一般由一般由c=gcd(a,b)可得:可得:
6、对每一素数对每一素数p,cp=min(ap,bp)。由于确定大数的素因子不很容易,所以这种方法不由于确定大数的素因子不很容易,所以这种方法不能直接用于求两个大数的最大公因子,如何求两个能直接用于求两个大数的最大公因子,如何求两个大数的最大公因子在下面介绍。大数的最大公因子在下面介绍。如果如果gcd(a,b)=1,则称则称a和和b互素。互素。设设n是一正整数,是一正整数,a是整数,如果用是整数,如果用n除除a,得商为得商为q,余数为余数为r,则则a=qn+r,0rn,其中其中x为小于或等于为小于或等于x的最大整数。的最大整数。用用a mod n表示余数表示余数r,则则 。如果如果(a mod n
7、)=(b mod n),则称两整数则称两整数a和和b模模n同同余,记为余,记为ab mod n。称与称与a模模n同余的数的全体为同余的数的全体为a的同余类,记为的同余类,记为a,称称a为这个同余类的表示元素。为这个同余类的表示元素。注意:注意:如果如果a0(mod n),则则n|a。4.1.2 模运算模运算aqnmodaanann同余有以下性质:同余有以下性质:若若n|(a-b),则则ab mod n。(a mod n)(b mod n),则则ab mod n。ab mod n,则则ba mod n。ab mod n,bc mod n,则则ac mod n。从以上性质易知,同余类中的每一元素都
8、可作为这从以上性质易知,同余类中的每一元素都可作为这个同余类的表示元素。个同余类的表示元素。求余数运算(简称求余运算)求余数运算(简称求余运算)a mod n将整数将整数a映射映射到集合到集合0,1,n-1,称求余运算在这个集合上的称求余运算在这个集合上的算术运算为模运算,模运算有以下性质:算术运算为模运算,模运算有以下性质:(a mod n)+(b mod n)mod n=(a+b)mod n。(a mod n)-(b mod n)mod n=(a-b)mod n。(a mod n)(b mod n)mod n=(ab)mod n。性质的证明:性质的证明:设(设(a mod n)=ra,(b
9、 mod n)=rb,则存在整数则存在整数j、k使得使得a=jn+ra,b=kn+rb。因此因此(a+b)mod n=(j+k)n+ra+rb mod n=(ra+rb)mod n=(a mod n)+(b mod n)mod n (证毕)证毕)性质、的证明类似。性质、的证明类似。例例4.1 设设Z8=0,1,7,考虑考虑Z8上的模加法和模乘法,上的模加法和模乘法,结果如表结果如表4.1所示。(见所示。(见77页表页表4.1)从加法结果可见,对每一从加法结果可见,对每一x,都有一都有一y,使得使得x+y0 mod 8。如对如对2,有,有6,使得,使得2+60 mod 8,称称y为为x的的负数,
10、也称为加法逆元。负数,也称为加法逆元。对对x,若有若有y,使得使得xy1 mod 8,如如331 mod 8,则称则称y为为x的倒数,也称为乘法逆元。本例可见并非的倒数,也称为乘法逆元。本例可见并非每一每一x都有乘法逆元。都有乘法逆元。一般地,定义一般地,定义Zn为小于为小于n的所有非负整数集合,即的所有非负整数集合,即Zn=0,1,n-1,称称Zn为模为模n的同余类集合。其上的同余类集合。其上的模运算有以下性质:的模运算有以下性质:交换律交换律 (w+x)mod n=(x+w)mod n(wx)mod n=(xw)mod n 结合律结合律 (w+x)+y mod n=w+(x+y)mod n
11、(wx)y mod n=w(xy)mod n 分配律分配律 w(x+y)mod n=wx+wy mod n 单位元单位元 (0+w)mod n=w mod n(1w)mod n=w mod n 加法逆元加法逆元 对对wZn,存在存在zZn,使得使得w+z0 mod n,记记z=-w。此外还有以下性质:此外还有以下性质:如果如果(a+b)(a+c)mod n,则则bc mod n,称为加法称为加法的可约律。的可约律。该性质可由该性质可由(a+b)(a+c)mod n的两边同加上的两边同加上a的加的加法逆元得到。法逆元得到。然而类似性质对乘法却不一定成立。例如然而类似性质对乘法却不一定成立。例如6
12、3672 mod 8,但但37 mod 8。原因是原因是6乘以乘以0到到7得到的得到的8个数仅为个数仅为Z8的一部分,见例的一部分,见例4.1。即如。即如果将对果将对Z8作作6的乘法的乘法6Z8(即用即用6乘乘Z8中每一数)中每一数)看作看作Z8到到Z8的映射的话,的映射的话,Z8中至少有两个数映射到中至少有两个数映射到同一数,因此该映射为多到一的,所以对同一数,因此该映射为多到一的,所以对6来说,来说,没有惟一的乘法逆元。但对没有惟一的乘法逆元。但对5来说,来说,551 mod 8,因此因此5有乘法逆元有乘法逆元5。仔细观察可见,与。仔细观察可见,与8互素的几互素的几个数个数1,3,5,7都
13、有乘法逆元。都有乘法逆元。这一结论可推广到任一这一结论可推广到任一Zn。定理定理4.1 设设aZn,gcd(a,n)=1,则则a在在Zn中有乘法中有乘法逆元。逆元。证明:证明:首先证明首先证明a与与Zn中任意两个不相同的数中任意两个不相同的数b、c(不妨设不妨设cb)相乘,其结果必然不同。否则设相乘,其结果必然不同。否则设abac mod n,则存在两个整数则存在两个整数k1,k2,使得使得ab=k1n+r,ac=k2n+r,可得可得a(b-c)=(k1-k2)n,所以所以a是是(k1-k2)n的一个因子。又由的一个因子。又由gcd(a,n)=1,得得a是是k1-k2的一个因子,设的一个因子,
14、设k1-k2=k3a,所以所以a(b-c)=k3an,即即b-c=k3n,与与0cbn矛盾。所以矛盾。所以|aZn|=|Zn|,又知又知aZnZn,所以所以aZn=Zn。因此对因此对1Zn,存在存在xZn,使得使得ax1 mod n,即即x是是a的乘法逆的乘法逆元。记为元。记为x=a-1。(证毕)证毕)设设p为一素数,则为一素数,则Zp中每一非中每一非0元素都与元素都与p互素,因互素,因此有乘法逆元。类似于加法可约律,可有以下乘法此有乘法逆元。类似于加法可约律,可有以下乘法可约律:可约律:如果如果(ab)(ac)mod n且且a有乘法逆元,那么对有乘法逆元,那么对(ab)(ac)mod n两边
15、同乘以两边同乘以a-1,即得即得bc mod n费尔玛费尔玛(Fermat)定理和欧拉定理和欧拉(Euler)定理在公钥密定理在公钥密码体制中起着重要作用。码体制中起着重要作用。4.1.3 费尔玛定理和欧拉定理费尔玛定理和欧拉定理1.费尔玛定理费尔玛定理定理定理4.2(Fermat)若若p是素数,是素数,a是正整数且是正整数且gcd(a,p)=1,则则ap-11 mod p。证明:由证明:由4.1.2的讨论知当的讨论知当gcd(a,p)=1时时,aZp=Zp,其中其中aZp表示表示a与与Zp中每一元素做模中每一元素做模p乘法。又知乘法。又知a00 mod p,所以所以aZp-0=Zp-0,a(
16、Zp-0)=Zp-0。即即a mod p,2a mod p,(p-1)a mod p=1,2,p-1所以所以 a2a(p-1)a(a mod p)(2a mod p)(p-1)a mod p)mod p(p-1)!mod p另一方面另一方面a2a(p-1)a=(p-1)!ap-1因此因此(p-1)!ap-1(p-1)!mod p由于由于(p-1)!与与p互素,因此互素,因此(p-1)!有乘法逆元,由乘有乘法逆元,由乘法可约律得法可约律得ap-11 mod p。(证毕)证毕)Fermat定理也可写成如下形式:定理也可写成如下形式:设设p是素数,是素数,a是是任一正整数,则任一正整数,则apa m
17、od p。2.欧拉函数欧拉函数设设n是一正整数,小于是一正整数,小于n且与且与n互素的正整数的个数互素的正整数的个数称为称为n的欧拉函数,记为的欧拉函数,记为(n)。例如:例如:(6)=2,(7)=6,(8)=4。若若n是素数,则显然有是素数,则显然有(n)=n-1。定理定理4.3 若若n是两个素数是两个素数p和和q的乘积,则的乘积,则(n)=(p)(q)=(p-1)(q-1)。证明:考虑证明:考虑Zn=0,1,pq-1,其中不与其中不与n互素的数互素的数有有3类,类,A=p,2p,(q-1)p,B=q,2q,(p-1)q,C=0,且且AB=,否则否则ip=jq,其中其中1iq-1,1jp-1
18、,则则p是是jq的因子,因此是的因子,因此是j的因子,设的因子,设j=kp,k1。则则ip=kpq,i=kq,与与1iq-1矛盾。所以矛盾。所以(n)=|Zn|-|A|+|B|+|C|=pq-(q-1)+(p-1)+1 =(p-1)(q-1)=(p)(q)(证毕)证毕)例如:例如:由由21=37,得,得(21)=(3)(7)=26=12。3.欧拉定理欧拉定理定理定理4.4(Euler)若若a和和n互素,则互素,则a(n)1 mod n。证明:证明:设设R=x1,x2,x(n)是由小于是由小于n且与且与n互素的互素的全体数构成的集合,全体数构成的集合,aR=ax1 mod n,ax2 mod n
19、,ax(n)mod n,对对aR中任一元素中任一元素axi mod n,因因a与与n互素,互素,x1与与n互素,所以互素,所以axi与与n互素,且互素,且axi mod nd。Euclid(f,d)1.Xf;Yd;2.if Y=0 then return X=gcd(f,d);3.R=X mod Y;4.X=Y;5.Y=R;6.goto 2。例例4.2 求求gcd(1970,1066)。1970=11066+904,gcd(1066,904)1066=1904+162,gcd(904,162)904=5162+94,gcd(162,94)162=194+68,gcd(94,68)94=168+
20、26,gcd(68,26)68=226+16,gcd(26,16)26=116+10,gcd(16,10)16=110+6,gcd(10,6)10=16+4,gcd(6,4)6=14+2,gcd(4,2)4=22+0,gcd(2,0)因此因此gcd(1970,1066)=2。2.求乘法逆元求乘法逆元如果如果gcd(a,b)=1,则则b在在mod a下有乘法逆元(不下有乘法逆元(不妨设妨设ba),),即存在一即存在一x(xd)1.(X1,X2,X3)(1,0,f);(Y1,Y2,Y3)(0,1,d);2.if Y3=0 then return X3=gcd(f,d);no inverse;3.i
21、f Y3=1 then return Y3=gcd(f,d);Y2=d-1 mod f;4.Q=X3Y3;5.(T1,T2,T3)(X1-QY1,X2-QY2,X3-QY3);6.(X1,X2,X3)(Y1,Y2,Y3);7.(Y1,Y2,Y3)(T1,T2,T3);8.goto 2。算法中的变量有以下关系:算法中的变量有以下关系:fT1+dT2=T3;fX1+dX2=X3;fY1+dY2=Y3在算法在算法EUCLID(f,d)中,中,X等于前一轮循环中的等于前一轮循环中的Y,Y等于前一轮循环中的等于前一轮循环中的X mod Y。而在算法而在算法Extended Euclid(f,d)中,中,
22、X3等于前一轮循环中的等于前一轮循环中的Y3,Y3等于前一轮循环中的等于前一轮循环中的X3-QY3,由于由于Q是是Y3除除X3的商,因此的商,因此Y3是前一轮循环中的是前一轮循环中的Y3除除X3的余的余数,即数,即X3 mod Y3,可见可见Extended Euclid(f,d)中的中的X3、Y3与与Euclid(f,d)中的中的X、Y作用相同,因此可作用相同,因此可正确产生正确产生gcd(f,d)。如果如果gcd(f,d)=1,则在最后一轮循环中则在最后一轮循环中Y3=0,X3=1,因此在前一轮循环中因此在前一轮循环中Y3=1。由由Y3=1可得可得:fY1+dY2=Y3,fY1+dY2=1
23、,dY2=1+(-Y1)f,dY21 mod f,所以所以Y2d-1 mod f。例例4.3 求求gcd(1769,550)。算法的运行结果及各变量的变化情况如表算法的运行结果及各变量的变化情况如表42所示。所示。(见(见83页表页表4.2)所以所以gcd(1769,550)=1,550-1 mod 1769=550。中国剩余定理是数论中最有用的一个工具,定理说中国剩余定理是数论中最有用的一个工具,定理说如果已知某个数关于一些两两互素的数的同余类集,如果已知某个数关于一些两两互素的数的同余类集,就可重构这个数。就可重构这个数。例如:例如:Z10中每个数都可从这个数关于中每个数都可从这个数关于2
24、和和5(10的的两个互素的因子)的同余类重构。比如已知两个互素的因子)的同余类重构。比如已知x关于关于2和和5的同余类分别是的同余类分别是0和和3,即,即x mod 20,x mod 53。可知是偶数且被可知是偶数且被5除后余数是除后余数是3,所以可得,所以可得8是是满足这一关系的惟一的满足这一关系的惟一的x。4.1.6 中国剩余定理中国剩余定理定理定理4.5(中国剩余定理)(中国剩余定理)设设m1,m2,mk是两两互是两两互素的正整数,素的正整数,则一次同余方程组则一次同余方程组对模对模M有惟一解有惟一解:其中其中ei满足满足1122modmodmodkkamxamxamx1kiiMm1 1
25、2212modkkkMMMxe ae ae aMmmm1 mod1,2,iiiMemikm证明:设证明:设 ,i=1,2,k,由由Mi的定的定义得义得Mi与与mi是互素的,可知是互素的,可知Mi在模在模mi下有惟一的下有惟一的乘法逆元,即满足乘法逆元,即满足 的的ei是惟一的。是惟一的。1kilill iMMmm1 modiiiMemm下面证明对下面证明对i1,2,k,上述上述x满足满足ai(mod mi)x。注意到当注意到当ji时,时,mi|Mj,即即Mj0(mod mi)。所以所以(Mjej mod mj)mod mi (Mj mod mi)(ej mod mj)mod mi)mod mi
展开阅读全文