欢迎来到天天文库
浏览记录
ID:52141390
大小:455.00 KB
页数:30页
时间:2020-03-23
《软件保护技术.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第6章软件保护技术第三节加密算法1、RSA算法2、DES算法3、ElGamal算法4、DSA算法5、MD5算法6、BLOWFISH算法KRSA算法它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:RonRivest,AdiShamir和LeonardAdleman0但RSA的安全性—直未能得到理论11的证明。它经历了各种攻击,至今未被完全攻破。—、RSA算法:首先,找出三个数.p,q,r,其中p,q是两个相异的质数,1•是与(p-D(q-l)互质的数......p,q,r这三个数便是privatekey接著,找
2、出m,使得rm==Imod(p-l)(q-l).....这个m一定存在,因为r与(p-1)(q-1)互质,用辗转相除法就可以得到了..…再來,计算n=pq……m,n这两个数便是publickey编码过程是,若资料为a,将其看成是一个大整数,假设a二n的话,就将a表成s进位(s<=n,通常取s=2At),则毎一位数均小於n,然後分段编码......接下來,计算b==aAmmodn,(0<=b3、第三者进行窃听时,他会得到几个数:m,n(=pq).b......他如果要解码的话,必须想办法得到r......所以,他必须先对n作质因数分解要防止他分解,故有效的方法是找两个非常的犬质数p,q,使第三者作因数分解时发生困难.........V定理〉若p,q是相异质数,rm==1mod(p-l)(q-l),a是任意一个正整数,b==aAmmodpq,c==bArmodpq,贝Ijc==amodpq证明的过程,会川到费马小定理,叙述如下:m是任一质数、n是任一整数,则nAm==nmodin(换另一句话说,如果n和m互质,则nA(m-l)==Imodm)运用一些基本的群论4、的知识,就可以很容易地证出费马小定理的V证明〉因为rm=1mod(p・1)(q・1),所以rm=k(p-1)(q-1)+1,其屮k是整数因为在modulo中是preserve乘法的(x==ymodzandu==vmodz=>xu==yvmodz),所以,c==bAr==(aAm)Ar==aA(rm)==aA(k(p-1)(q-1)+1)modpq1.如果a不是p的倍数,也不是q的倍数时,贝ijaA(p-1)==1inodp(费马小定理)=>aA(k(p-l)(q-l))==1modpaA(q-1)==Imodq(费马小定理)=>aA(k(p-l)(q-l))==Imo5、dq所以p,q均能整除aA(k(p-l)(q-l))-I=>pqIaA(k(p-l)(q-l))-1即aA(k(p-l)(q-I))==1modpq=>c==aA(k(p-1)(q-1)+1)==amodpq2.如果a是p的倍数,但不是q的倍数时,则aA(q-1)=1modq(费马小定理)=>aA(k(p-1)(q-1))==1modq=>c==aA(k(p-l)(q-1)+1)==amodq=>qIc-a因pIa=>c==aA(k(p-1)(q-1)+1)==0modp=>pIc・a所以,pq丨c・a=>c=amodpq3.如果a是q的倍数,但不是p的倍数时,证明同6、上4.如果a同时是p和q的倍数时,则pqIa=>c==aA(k(p-1)(q-1)+1)==0modpq=>pqIc・a=>c==amodpqQ.E.D.这个定理说明a经过编码为b再经过解码为c时,a==cmodn(n=pq)....但我们在做编码解码时,限制0<=a7、的一些变种算法己被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解多个十进制位的大索数。因此,模数n必须选大一些,因具体适用情况而定。三、RSA的速度由于进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,无论是软件还是破件实现。速度一直是RSA的缺陷。一燉來说只用于少嚴数据加密。四、RSA的选择密文攻击RSA在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘慕保留了输入的乘法结构
3、第三者进行窃听时,他会得到几个数:m,n(=pq).b......他如果要解码的话,必须想办法得到r......所以,他必须先对n作质因数分解要防止他分解,故有效的方法是找两个非常的犬质数p,q,使第三者作因数分解时发生困难.........V定理〉若p,q是相异质数,rm==1mod(p-l)(q-l),a是任意一个正整数,b==aAmmodpq,c==bArmodpq,贝Ijc==amodpq证明的过程,会川到费马小定理,叙述如下:m是任一质数、n是任一整数,则nAm==nmodin(换另一句话说,如果n和m互质,则nA(m-l)==Imodm)运用一些基本的群论
4、的知识,就可以很容易地证出费马小定理的V证明〉因为rm=1mod(p・1)(q・1),所以rm=k(p-1)(q-1)+1,其屮k是整数因为在modulo中是preserve乘法的(x==ymodzandu==vmodz=>xu==yvmodz),所以,c==bAr==(aAm)Ar==aA(rm)==aA(k(p-1)(q-1)+1)modpq1.如果a不是p的倍数,也不是q的倍数时,贝ijaA(p-1)==1inodp(费马小定理)=>aA(k(p-l)(q-l))==1modpaA(q-1)==Imodq(费马小定理)=>aA(k(p-l)(q-l))==Imo
5、dq所以p,q均能整除aA(k(p-l)(q-l))-I=>pqIaA(k(p-l)(q-l))-1即aA(k(p-l)(q-I))==1modpq=>c==aA(k(p-1)(q-1)+1)==amodpq2.如果a是p的倍数,但不是q的倍数时,则aA(q-1)=1modq(费马小定理)=>aA(k(p-1)(q-1))==1modq=>c==aA(k(p-l)(q-1)+1)==amodq=>qIc-a因pIa=>c==aA(k(p-1)(q-1)+1)==0modp=>pIc・a所以,pq丨c・a=>c=amodpq3.如果a是q的倍数,但不是p的倍数时,证明同
6、上4.如果a同时是p和q的倍数时,则pqIa=>c==aA(k(p-1)(q-1)+1)==0modpq=>pqIc・a=>c==amodpqQ.E.D.这个定理说明a经过编码为b再经过解码为c时,a==cmodn(n=pq)....但我们在做编码解码时,限制0<=a7、的一些变种算法己被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解多个十进制位的大索数。因此,模数n必须选大一些,因具体适用情况而定。三、RSA的速度由于进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,无论是软件还是破件实现。速度一直是RSA的缺陷。一燉來说只用于少嚴数据加密。四、RSA的选择密文攻击RSA在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘慕保留了输入的乘法结构
7、的一些变种算法己被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解多个十进制位的大索数。因此,模数n必须选大一些,因具体适用情况而定。三、RSA的速度由于进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,无论是软件还是破件实现。速度一直是RSA的缺陷。一燉來说只用于少嚴数据加密。四、RSA的选择密文攻击RSA在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘慕保留了输入的乘法结构
此文档下载收益归作者所有