【安全】第12讲--分组密码小节ppt课件_第1页
【安全】第12讲--分组密码小节ppt课件_第2页
【安全】第12讲--分组密码小节ppt课件_第3页
【安全】第12讲--分组密码小节ppt课件_第4页
【安全】第12讲--分组密码小节ppt课件_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分组密码小结 王滨2005.03.25主要内容欧几里德算法求最大公约数求模n的逆元欧几里得算法辗转相除法引理1 记gcd(a,b)是非负整数a和b的最大公因子,那么gcd(a,b)=1等价于存在整数x,y,使得ax+by=1其中的x和y可由辗转相除法求出。辗转相除法引理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,那么d| gcd(b,r).下

2、证d=gcd(b,r).由于gcd(a/d,b/d)=1,一定有gcd(r/d,b/d)=1,故d=gcd(b,r)。证毕。辗转相除法:-计算gcd(a,b)Step1 Aa;BbStep2 计算带余除法,求出满足A=qB+r和0=r0时,执行AB;Br后前往执行 Step2.例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.系数的计算倒推进展(将余数代入):1

3、= 4 - 13 = 4 - 1(11 -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 + 2763输出使得ax+by=gcd(a,b)的gcd(a,b)和x,y的推理过程.记a0=a,a1=b, 那么求ax+by=gcd(a,b)的过程可写为:即欧几里得算法:-计算gcd(a,b)和使ax+by=gcd

4、(a,b)成立的x,y.Step1 Aa;Bb;s=1;t=0;x=0;y=1;Step2 计算带余除法,求出满足 A=qB+r和0=r0时,执行 AB; Br wx; xs-qx; sw; wy; yt-qy; tw;后前往执行 Step2.欧几里得算法:-计算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(

5、x).Step3 当r(x)=0时,输出B(x)=gcd(a(x),b(x)和z(x),m(x); 当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.辗转相除法的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

6、); q = (n1-r)/n2; if(!r) if(b20) b2 = n+b2; else n1=n2 ; n2 = r; t=b2; b2=b1 -q*b2; b1=t; while (r); return (b2 );例子:求10110110在modb(x)中的逆10110110a(x)=x7+x5+x4+x2+x,b(x)=x8+x4+x3+x+1100011011,求z(x)满足 z(x)a(x)+y(x)b(x)=1.解:step1:A(x)=a(x),B(x)=b(x),s(x)=1,z(x)=0,t(x)=0,y(x)=1; step2:A(x)=0*B(x)+r(x),r

7、(x)=a(x);由于r(x)!=0,那么A(x)=B(x),B(x)=r(x);w(x)=z(x)=0;z(x)=s(x)-q(x)z(x)=s(x)=1;s(x)=w(x)=0执行step2 (100011011)=x*(10110110)+r故q(x)=x;r(x)=(01110111)A(x)= (10110110);B(x)=r(x);w(x)=1,z(x)=x;s(x)=1;执行step2 (10110110)= x *(01110111) +rq(x)=x;r(x)=(01011000), w(x)=x,z(x)=x2+1;s(x)=x;w(x)=z(x);z(x)=s(x)-q

8、(x)z(x);s(x)=w(x)执行step2 (01110111) =1 *(01011000) +rq(x)=1;r(x)=(00101111), w(x)=x2+1,z(x)= x2+x+1;s(x)=x2+1;执行step2 (01011000) =x *(00101111) +rq(x)=x;r(x)=(00000110), w(x)=x2+x+1,z(x)=x3+x+1;s(x)=x2+x+1执行step2 (00101111) =(x3+x2+1) *(110) +rq(x)=x3+x2+1;r(x) =1,w(x)=x3+1,z(x)=x6+x5+x4+x3;s(x)=x3+

9、1执行step2 (110) =(x2+x) *1 +rr(x) =0故z(x)=x6+x5+x4+x3即(10110110)-=(01111000)15个候选算法RijndaelRC6MarsSerpentTwofish(前5个算法是第二轮挑选出的5个决赛算法)CASt-256,CRYPTON,DEAL,DFC,E2,FROG,HPC,MAGENTA,Safer+,LOKI97先进对称分组加密算法的特点可变的密钥长度: RC5混合的运算 IDEA数据相关的圈数 RC5密钥相关的圈数 CAST-128密钥相关的S盒: Blowfish冗长密钥调度算法: Blowfish可变的F:CAST-128可变长明文/密文块长度可变圈数每圈操作作用于全部数据分组密码的普通设计原理针对平安性的普通原那么:混乱分散重要的设计原理:必需能抵抗现有的攻击方法针对实现的原那么软件硬件分组密码的整体构造Feistel 网络:DESSP网络:AES其它密码构造:FrogS盒的设计准那么S-盒初次出如今Lucifer算法中,因DES的运用而流行.S-盒是许多密码算法的独一非线性部件,因此,它的密码强度决议了整个算法的平安强度.提供了密码算法所必需的混乱作用.如何全面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论