应用密码学第12讲--分组密码小节课件.ppt
《应用密码学第12讲--分组密码小节课件.ppt》由会员分享,可在线阅读,更多相关《应用密码学第12讲--分组密码小节课件.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、分组密码小结1主要内容欧几里德算法求最大公约数求模n的逆元2欧几里得算法(辗转相除法)引理引理1 记gcd(a,b)是非负整数a和b的最大公因子,则gcd(a,b)=1等价于存在整数x,y,使得ax+by=1其中的x和y可由辗转相除法求出。3辗转相除法引理引理2 (带余除法带余除法)设设a是整数是整数,b是自然数是自然数,则存在整数则存在整数q和非负整数和非负整数r,使得使得a=bq+r,且0=rb,并记并记amodb=r.引理引理3 设a、b、r为不全为零的整数,且a=bq+r,则gcd(a,b)=gcd(b,r).证明:设d=gcd(a,b),由于d|a=bq+r,且d|b,则一定有d|r
2、,则d|gcd(b,r).下证d=gcd(b,r).由于gcd(a/d,b/d)=1,一定有gcd(r/d,b/d)=1,故d=gcd(b,r)。证毕。4辗转相除法:辗转相除法:-计算gcd(a,b)Step1 Aa;BbStep2 计算带余除法,求出满足A=qB+r和0=r0时,执行AB;Br后返回执行 Step2.5例例1 计算gcd(63,100)解解 63=0100+63,100=163+37,63=137+26 37=126+11,26=211+4,11=24+3,4=13+1,3=31+0 故gcd(63,100)=1.6系数的计算倒推进行(将余数代入):1=4-13=4-1(11
3、-24)=-111+(1+2)4=-111+34=-111+3(26 211)=-711+326=-7(37 26)+326 =-737+(7+3)26=-737+1026 =-737+10(63-37)=1063-1737 =1063-17(100-63)=-17100+27637输出使得ax+by=gcd(a,b)的gcd(a,b)和x,y的推理过程.记a0=a,a1=b,则求ax+by=gcd(a,b)的过程可写为:即8欧几里得算法:欧几里得算法:-计算gcd(a,b)和使ax+by=gcd(a,b)成立的x,y.Step1 Aa;Bb;s=1;t=0;x=0;y=1;Step2 计算带
4、余除法,求出满足 A=qB+r和0=r0时,执行 AB;Br wx;xs-qx;sw;wy;yt-qy;tw;后返回执行 Step2.9欧几里得算法:欧几里得算法:-计算gcd(a(x),b(x)和使z(x)a(x)+y(x)b(x)=gcd(a(x),b(x)成立的z(x),y(x).Step1 A(x)a(x);B(x)b(x);s(x)=1;t(x)=0;z(x)=0;y(x)=1;Step2 计算带余除法,求出满足A(x)=q(x)B(x)+r(x)和deg(r)deg(B)的 q(x)和r(x).Step3 当r(x)=0时,输出B(x)=gcd(a(x),b(x)和z(x),m(x
5、);当r(x)!=0时,执行 A(x)B(x);B(x)r(x)w(x)z(x);z(x)s(x)-q(x)z(x);s(x)w(x);w(x)y(x);y(x)t(x)-q(x)v(x);t(x)w(x);后返回执行 Step2.10辗转相除法的C语言算法int inverse(a)int a;register int n1,n2,q,r,b1,b2,t;if(!a)b2=0;else n1=n;n2=a;b2=1;b1=0;do r=(n1%n2);q=(n1-r)/n2;if(!r)if(b20)b2=n+b2;else n1=n2;n2=r;t=b2;b2=b1-q*b2;b1=t;w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 密码学 12 分组 密码 小节 课件
限制150内