


Network&Information Security,密,钥,钥,必,必,须,须,秘,秘,密,密,地,地,分,分,配,配,如,果,果,密,密,钥,钥,被,被,损,损,害,害,了,了,,,,,攻,攻,击,击,者,者,就,就,能,能,解,解,密,密,所,所,有,有,消,消,息,息,,,,,并,并,可,可,以,以,假,假,装,装,是,是,其,其,中,中,一,一,方,方,密,钥,钥,分,分,配,配,和,和,管,管,理,理,传,统,统,密,钥,钥,管,管,理,理,两,两,两,两,分,分,别,别,用,用,一,一,对,对,密,密,钥,钥,时,时,,,,,则,则,当,当,用,用,户,户,量,量,增,增,大,大,时,时,密,密,钥,钥,空,空,间,急,急,剧,剧,增,增,大,大,如,如,:,n=100,时,C(100,2)=4,995,n=5000,时,C(5000,2)=12,497,500,公,钥,钥,密,密,码,码,体,体,制,制,的,的,基,基,本,本,原,原,理,理,对,称,称,密,密,码,码,体,体,制,制,的,的,缺,缺,点,点,数,字,字,签,签,名,名,用,户,户,选,选,择,择,一,一,对,对,密,密,钥,钥,K,e,和,K,d,,,分,分,别,别,为,为,公,公,钥,钥,和,和,私,私,钥,钥,,,,,并,并,构,构,造,造,加,加,密,密,算,算,法,法,E,e,和,解,解,密,密,算,算,法,法,E,d,。
公,钥,钥,密,密,码,码,算,算,法,法,C=E(M,K,e,),M=D(C,K,d,)=D(E(M,K,e,),K,d,),用,户,户,公,公,开,开,K,e,和,E,e,密,钥,钥,都,都,是,是,成,成,对,对,生,生,成,成,的,的,,,,,由,由,一,一,个,个,公,公,钥,钥,和,和,一,一,个,个,私,私,钥,钥,组,组,成,成,注,意,意,:,:,公,钥,钥,密,密,码,码,的,的,基,基,本,本,思,思,想,想,加,密,密,算,算,法,法,E,解密算法,D,加密密钥,Ke,解密密钥,Kd,明文,m,明文,m,公,开,开,,,,,其,其,他,他,用,用,户,户,可,可,以,以,像,像,查,查,找,找,电,电,话,话,号,号,码,码,一,一,样,样,查,查,到,到,若,用,用,户,户,A,想,向,向,用,用,户,户,B,传送一,条,条消息,M,用户,A,用户,B,M,用户,A,用户,B,C,Ke,Kd,对称密,钥,钥加密,方,方法,公开密,钥,钥加密,方,方法,1,用户,A,用户,B,C,K,eB,K,dB,A,查到,B,的公开,加,加密钥,K,eB,用它加,密,密,M,后得到,C,将,C,发给,B,,,B,收到,C,以后,,用,用自己,保,保密的,解,解密钥,K,dB,解密,C,得到明,文,文,M,查找,找到,K,eB,方法,1,缺点,任何人,都,都能够,冒,冒充用,户,户,A,给,B,发消息,,,,,B,无法察,觉,觉,用户,A,用户,B,C,K,eB,K,dB,查找,找到,K,eB,用户,C,此消息,对,对用户,A,可能不,利,利,结论,方法,1,无法保,证,证信息,的,的真实,性,性,公开密,钥,钥加密,方,方法,2,用户,A,用户,B,C,K,dA,K,eA,查找,找到,K,eA,A,用自己,保,保密的,密,密钥,K,dA,加密,M,得到密,文,文,C,,将,C,发给,B,,,B,收到,C,以后,,查,查,A,的公开,加,加密钥,K,eA,用,K,eA,解密,C,后得到,明,明文,M,。
方法,2,缺点,用户,A,用户,B,C,K,dA,K,eA,查找,找到,K,eA,用户,C,截获密,文,文,用户,C,获取了,明,明文,结论,方法,2,无法保,证,证信息,的,的秘密,性,性,公开密,钥,钥加密,方,方法,3,用户,A,用户,B,C,K,eB,K,dB,查找,找到,K,eB,K,dA,K,eA,查找,找到,K,eA,A,用自己保密的密钥,K,dA,加密,M,得到中间密文,S,查到,B,的公开加密钥,K,eB,A,用,KeB,加密,S,得到,C,A,发,C,给,B,S=D(M,K,dA,),C=E(S,K,eB,),用户,A,B,用自己保密的密钥,KdB,解密,C,得到中间密文,S,B,接收,C,用,KeA,解密,S,得到,M,查到,A,的公开加密钥,KeA,用户,B,D(C,K,dB,)=S,E(S,K,eA,)=M,保证了,数,数据的,秘,秘密性,和,和真实,性,性,结论,公钥密,码,码应当,满,满足的,条,条件,加密算,法,法和解,密,密算法,互,互逆,,即,即对所,有,有明文,都,都有,D(E(M,K,e,),K,d,)=M,计算上,不,不能由,K,e,求出,K,d,算法,E,和,D,都是高,效,效的,E(D(M,K,d,),K,e,)=M,单项函,数,数,单向函,数,数是满,足,足下列,条,条件的,函,函数,f,(1),给定,x,,计算,y=f(x),是容易,的,的,(2),给定,y,计算,x,使,y=f(x),是困难,的,的,(,所谓计,算,算,x=f,-1,(Y),困难是,指,指计算,上,上相当,复,复杂已,无,无实,际,际意义,),用于构,造,造公钥,密,密码常,用,用的单,向,向函数,多,项,项式求,根,根,有限域,GF(p),上的一,个,个多项,式,式,y=f(x)=(x,n,+a,n-1,x,n-1,+a,1,x+a,0,),mod p,离,散,散对数,如果,p,是一足,够,够大的,素,素数,,a,是,0,1,2,p,-1,中与,p,互素的,数,数。
则,则已知,p,a,x,计算,y,=,f,(,x,)=,a,x,mod,p,并不困,难,难,;,若已知,p,a,y,计算,x,=log,b,y,mod,p,,就很,困,困难了,大,整,整数分,解,解,(FactorrizationProblme),若已知,两,两个大,素,素数,p,q,,求,n,=,p,q,仅需一,次,次乘法,,,,但,已知,n,求,p,q,则是几,千,千年来,数,数论专,家,家的一,道,道难题,菲,-,赫尔曼,(Diffie-Hellman,)问题,给定素,数,数,p,,可构,造,造一乘,群,群,Z,*,p,,令,为,Z*,p,的生成,元,元,若,已,已知,a,b,,求,ab,问题为,菲,菲,-,赫尔曼,问,问题二,次,次剩余,问,问题,给定一,个,个奇合,数,数,n,和整数,a,,决定,是,是否,a,为,mod,n,平方剩,余,余问题,几个典,型,型的公,开,开钥密,码,码系统,菲,-,赫尔曼,(,(,Diffie-Hellman,)密码,系,系统,RSA,系统,背包系,统,统,椭圆曲,线,线密码,体,体制,RSA,算法,RSA,公钥算,法,法是由,Rivest,Shamir Adleman,在,1978,年提出,来,的。
该,算法的,数,数学,基础,是,初,等数,论,中的,Euler(,欧拉,),定理,并建立,在大整,数,数,因子,的困难,性,性,之,上RSA,算法起,源,源,欧拉定,理,理,a,(,m,),1,mod,m,其中,(,m,),是比,m,小,且,与,与,m,互素的,正,正整数,个,个数若整数,a,和,m,互素,,则,则,素数,一个大,于,于,1,的整数,,,,如果,它,它的正,因,因数只,有,有,1,和它本,身,身,就,叫做质,数,数(素,数,数),,否,否则就,叫,叫做合,数,数,素因子,分,分解,数,n,的因子,分,分解是,把,把它写,成,成其它,数,数的乘,积,积,n=a,b,c,素因子,分,分解是,把,把一个,数,数写成,素,素数的,乘,乘积形,式,式,eg.,91=7,13,相对于,把,把因子,相,相乘得,到,到一个,数,数,进,行,行一个,数,数的因,子,子分解,是,是困难,的,的欧几里,(,(,Euclid,)算法,用于求,两,两个数,的,的最大,公,公约数,例:,利用,Euclid,算法求,gcd(1694,,,917),得,gcd(1694,,,917)=7,RSA,算法描,述,述,选择两,个,个素数,p,q,对外界,保,保密,计算,n=p*q,计算,(n)=(p-1)(q-1),选择,e,使它成,为,为是,(n),的一个,互,互质数,确定,d,使得,d*e=1mod,(n),并且,d,(n),数字,n,应该为,200,位或者是一,个,个更大的数,字,字。
这样,,p,和,q,都至少在,100,位实际使,用,用中,密钥,至,至少要,1024,位对于敏,感,感信息,可,以,以考虑,2048,位或者以上,1.,生成,RSA,密钥,d,为私钥,,e,为公钥,,p,、,q,不再需要,,丢,丢弃1),把,m,分成等长数,据,据块,m,1,、,m,2,、,、,m,i,,,块长,s,,其中,2,s,n,,,s,要尽可能的,大,大2),对应的密文,是,是,RSA,算法描述,3.,解密,c,i,m,e,i,mod,n,2.,加密,例,3.2,p,=43,q,=59,n,=,pq,=4359=2537,(,n,)=4258=2436,e,=13,解,:利用,Euclid,算法求,d,,解方程,de1mod,2436,对明文,public keyencryptions,,用,RSA,算法求密文,假定,s=2,),左右同时模,2436,,,即,937131,mod2436,即取,e,=13,d,=937,利用,加,加,密,密得:,pu=0095,bl=1648,ic=1410,ke=1299,ye=1365,nc=1379,ry=2333,pt=2332,io=1751,ns=1289,。
明文,public keyencryptions,,先将明文,按,按两个一组,进,进行分块,,再,再将明文数,字,字化,如按,英,英文字母表,的,的顺序得:,pu=1520,bl=0111,ic=0802,ke=1004,ye=2404,nc=1302,ry=1724,pt=1519,io=0814,ns=1418,c,i,m,e,i,mod,n,加密,设张小姐需,要,要发送机密,信,信息(明文,),),m=85,给李先生,,她,她已经从公,开,开媒体得到,了,了李先生的,公,公开密钥(,n,,,e,),=,(,143,,,7,),计算密,文,文为:,c=m,e,mod n=85,7,mod143=123,并发送给,李,李先生李先生在,收,收到密文,c=123,后,利用,只,只有他自,己,己知道的,秘,秘密密钥,(d=103),计算:,m=c,d,modn=123,103,mod143=85,,,所以,李,先,先生可以,得,得到张小,姐,姐发给他,的,的真正的,信,信息,m=85,例题:,例题:,选择,p=7,q=17,N=pq=119,(n)=(p-1)(q-1)=6*16=96,选择随机,整,整数,e=5,,与,96,互素,找出,d,使得,d*e=1mod96,选择,d=77,算法,C=M,e,modnM=C,d,modn,选择明文,19,,,C=19,5,mod119=66,密文,66,,,M=66,77,mod119=19,RSA,算法的安,全,全性,对,RSA,算法的攻,击,击实际上,等,等效于对,n,的乘积分,解,解。
由于,M=C,d,modn,n,公开,则需要求,出,出,d,由于,de=1mod,(n),e,已知,需要求出,(n),由于,(n)=(p-1)(q-1),,所以必,须,须求出,p,q,n=pq,所以必须,对,对,n,进行分解,最新纪录,2007,年,瑞士,洛,洛桑理工,学,学院的,Arjen Lenstra,宣称,他,们,们的分布,式,式计算工,程,程在经过,11,个月的努,力,力后破解,了,了一个,307,位的,RSA,密钥,并,且,且已经有,能,能力在不,久。