幫4章常用信虑加密术介绍 103
的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块密钥越长,加密效果越好 但加密解密的开销也越大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。RSA
的一个比较知名的应用是SsL,在美国和加拿大SSL用128位 它地区(包括中国)通用的则是40位版本。ジA算法,由于出口限制;在其
公用密钥的优点就在于,也许你并不认识某一实体,但只要你的服务器认为该实体的CA
( Certified Authority)是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求
的。例如信用卡购物,服务方对自己的资源可根据客户CA的发行机构的可靠程度来授权。
目前国内外尚没有可以被广泛信赖的CA。美国 Natescape公司的产品支持公用密钥,但把
Natescape公司作为CA。由外国公司充当CA在我国是一件不可想像的事情。
来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专用密钥来对实 公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起 实际
传输的数据加密、解密。另外,公钥加密也用来对专用密钥进行加密。,县回?同全
4.3.2RSA密码体制回个 平公面足人出为3不图 出是
的方法,称作MIT体制,后来被广泛称之为RSA体制。它既可用加密,又可用于数字签字,易 MT三位年请数学家R: Rive, A Shamir和しい Adleman发现了一种用数论构造双钥
懂且易于实现,是目前仍然安全并且逐步被广泛应用的一种体制。国际上一些标准化组织 ISO、ITU及 SWIFT等均已接受RSA体制作为标准。在1erme中所采用的PGP( Pretty
数论中大整数分解的困难性。量的 Good Privacy)也将RSA作为传送会话密钥的数字签字的标准算法。RSA算法的安全性基于
计算n=pl*p2,其欧拉函数值p(n)=(pl=1)(p2-1)。二向要 1.RSA密码体制说明如下:独立地选取两大索数p1和2(各100-200位十进制数字),
随机选一整数e,1≤e<p(n),(p(a),e)=1因而在模p(n)下,e有逆元d=e-'modg(n)
即e*d=1modg(m)取公钥为n,e,密钥为d(pl,p2不再需要,可以销毁)。加密:将明文分组,各组在modn下可惟一地表示(以二元数字表示,选2的最大幂小于
Az=x:1≤x<n,(x,m)=反,母良 各组长达200位十进制数字。可用明文集:)= n bom y 六想,
注意,(x,n)≠1是很危险的,参看下面安全性分析。x∈Az的概率为5口 p(n)/h=(pl-1)(p2-1)plp2=1-1pl-142+1iplp2→1油露的当
密文:c= xe mod n ST In=n T-F Ba II AP
解密:x= d mod0)黑示一的中 陷门函数:z=(1,p2,d)。こュ?は?文个一的文个基す野
现在,用一个简单的例子来说明gSA的工作原理:取两个质数p1=11,p2=13,p1和p2
的乘积为n=pl*Pp2=143,算出另一个数qm)(p1-1)(p2-1)=120;再选取一个与q(n) =120互质的数例如で称为”公开指数”う对手这个值,可以算出另ー个值d-10(称
“秘藩指数?)满足d=1(20)(也是7-193=72,除以120确实余1).(ao和d
d)这两组数分别为“公开密钥”和“移密密钥"飞”的想
A秀同安会与控 设想X需要发送机密信息(明文,即未加密的报文)x=85给Y,X已经从公开媒体中得到
af-c=xmod n=857mod 143=123 厂的公开密钥(n,0)=(04,1,于是S算出加密值
密钥(n,d)=(143,123)计算123103mod143,得到的值就是明文(值)85,实现了解密。其中的 将c发给Y。Y在收到“密文”(即经加密的报文)c=123后,利用只有Y自己知道的秘密
计算用一般公式来表达,是 cd mod n=(x) d mod n=x mod n学,学キ同
根据初等数论中的欧拉(Euer)定理,应用x=modn;得:?面溶内四的
所以立可以得到X发给他的真正信息x=85主在学aッ ズ x mod n口公。AD式
全性何在?回答是,只要n足够大,例如,有512bit,或1024bit甚至2048 bitini p1*pP2中的 自然,我们要间,在Y向公众提供了公开密钥,密文c又是通过公开的途径传送的,其安
pl和p2的位数差不多大小,任何人只知道公开密银(n,e),目前是无法算出移密密钥(n,d
的。其困难在手从乗积n难以找出它的两个巨大的质数因子。合y上面例子中的n=143,只是示意用的,用来说明RSA公开密钥密码系统的计算过程,从
找出 p2非常简便,而逆运算却难而又难,这是一种“单向性”运算。相应的函数称为“单向函数 的质数因子11和13是毫不困难的。对于巨大的质数l和P2,计算乘积=pl
任何单向函数都可以作为某一种公开密钥密码系统的基础,而单向函数的安全性也就是这种
公开密钥密码系统的安全性。剂的 公开密钥密码系统的一大优点是不仅可以用于信息的保密通讯,而且可以用于信息发送 活会寻A2
者的身份验证( Authentication),或数字签名( Digital Signature)。我们仍用例子来作示意说明
编码值),必须让Ⅹ确信该信息是真实的,是由Y本人所发的。为此,Y使用自己的秘密密钥 要向X发送信息m(表示他身份的,可以是他的身份证号码,或其名字的汉字的某一种
(n,d)计算x= md mod n建立了一个“数字签名”,通过公开的通讯途径发给X。X则使用Y
的公开密钥(n,e)对收到的x值进行计算:デabB,文: xe mod n=(md) e mod n=m完遗张十00
这样,X经过验证,知道信息x确实代表了Y的身份,只有他本人才能发出这一信息,因
算出他的秘密密钥来冒充他的“签名”。为只有他自己知道秘密密钥(n,d)。其他任何人即使知道Y的公开密钥(n,e),也无法猜出或
相应密文y= xe mod n。对于x≠x,必有y≠y。Zn中的任一元素(0,p1,p2除外)是一个明 RSA加密实质上是一种Zn+Zn上的单表代换!给定n=p1*p2和合法明文x∈Zn,其
文,但它也是与某个明文相对应的一个密文。因此,RSA是Zn+Zn的一种单表代换密码,关
键在于n极大时,在不知陷门信息下;极难确定这种对应关系,而采用模指数算法又易于实现
种给定的代换,正由于这种一一对应性,使RSA不仅可以用于加寄也可以用于数字签字。2.RSA的安全性。RSA公开密钥密码体制的安全性取决于从公开密钥(n,e)计算出秘密
密钥(n,d)的困难程度,而后者则等同于从n找出它的两个质因数pl和p2。因此,寻求有效 的因数分解的算法就是寻求一把锐利的牙”,网站建设来击穿RSA公开密钥密码系统这个“盾”。数学
本文地址://www.xrqsnxx.com//article/3778.html