RSA公开密钥加密算法解析

来源 :硅谷 | 被引量 : 0次 | 上传用户:lilei1984lilei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]RSA密钥体制运行中,信息发送方采用公开的密钥加密明文,信息接收方则使用私有的解密密钥解读密文,该算法易于理解和操作,可同时用于加密和数字签名,被广泛应用于众多计算机信息安全领域,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
  [关键词]RSA 密钥 算法
  中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)0610056-01
  
  在计算机信息传递中,信息发送方-甲方,为了保护传输的明文信息不被第三方窃取,采用一个密钥A对要发送的信息进行加密而形成密文M并且发送给乙方,信息的接收方-乙方用另一把密钥B对密文M解密,得到明文消息,从而完成密文通讯。密钥A和密钥B是采用事先商定的某种计算机算法产生的密钥对,其中密钥A为用户私有,密钥B对网络上的大众是公开的,这种安全机制被称为公开密钥加密,公开密钥加密算法又叫非对称密钥加密算法,RSA就是其中最流行的一种,被广泛应用于简短信息加密和数字签名等领域。
  
  一、RSA加密算法简介
  
  RSA加密算法诞生于1978年,是以三位发明人的名字(Rivest,Shamir和Adleman)首字母命名的,它是利用质数因子分解的困难性开发的算法,其保密强度是建立在计算的复杂性的基础之上的。RSA应用中要求每一个用户拥有自己的一种密钥:公开的加密密钥,用于加密明文;保密的解密密钥,用于解密密文。
  在RSA密钥体制运行中,信息发送方用公开的密钥加密明文,信息接收方则使用解密密钥解读密文,其特点是:密钥配发方便,每个用户只需要持有一组密钥对就可以实现与网络中任何一个用户保密通信;加密原理基于单向函数,非法接收者利用公开密钥不可能在有限时间内推算出解密密钥。
  
  二、RSA加密算法原理
  
  RSA公开密钥加密算法的基本原理是:
  (一)产生密钥对
  首先,选择两个大质数,p 和q,计算:
  n = p * q
  然后,随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质,且0 < e < ( p - 1 ) * ( q - 1 )。
  最后,计算解密密钥d, 要求满足:
  e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )
  其中n和d也要互质。数e和 n是公钥,用于加密信息,对所有使用者公开;数d和n是私钥,用于解密信息,用户自己保存。
  (二)加密
  信息发送者取得对方的公钥e和 n后,对发送的明文信息m进行加密运算可获得加密信息c,对应的密文计算方法是:
  c = me mod n
  然后通过通信渠道把密文信息c传递给信息接收者。
  (三)解密
  信息接收者接收到密文信息c后,采用自己掌握的私钥d和n进行解密获取明文信息m,对应的解密运算方法是:
  m = cd mod n
  由于RSA加密算法速度较慢,通常适用于对少量数据的加密,所以在加密明文信息 m时,首先把m分成等长数据块m1,m2,...,mi ,然后分别对m1,m2,..., mi进行加密,即m = m1m2... mi,c = c1c2... ci ,解密时也是如此。
  下面举例验证RSA加密算法原理的科学性:
  例1:假定发送明文信息m = key,为方便运算,把26个英文字母从0126进行自定义编码,如a = 01,b = 02…z = 26,对应的m = key = 110525,把m分成6个等长模块m1,m2,…m6,即m1 = 1,m2 = 1,m3 = 0,m4 = 5,m5 = 2,m 6= 5。
  取素数p和q,满足n =p * q,且mi <= n,理论上素数p和q的值越大加密的安全性越高,破解的难度也就越大,但是从降低运算的复杂性方便验证算法科学性的角度考虑,我们尽可能取最小的值。比如,取p = 2,q = 5,那么n = p * q = 10。
  然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) = 4 互质且0 < e < 4,显然e = 3满足要求。
  最后,计算解密密钥d, 要求满足e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ), 其中n和d也要互质,即3 * d除以4的余数为1,且d和10互质,可以取值d = 7。
  对应的密文是:
  
  发送方把明文信息m按照自定义的编码转换成数值110525,然后采用RSA算法产生的加密密钥(3,10)加密后形成密文信息c=110585,发给接收方,接收方采用解密密钥(7,10)对接收的密文信息c进行解密,获取解密后的信息m’。接收方按照事前商定规则同样把收到的密文信息c分成6个等长模块分别对每个模块进行解密从而获取明文值 m’=
  
  比对原始明文信息m和解密后获取的明文信息m’,显然m’ = m。
  例2:为了简化运算流程,假设我们需要加密的明文信息为m = 14,取符合算法要求的p、q值分别为5和11。
  计算n = p * q = 55,( p - 1 ) * ( q - 1 ) = 40。
  然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) = 40 互质且0 < e < 40, 可以取e = 3。
  最后,计算解密密钥d, 要求满足e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ),即3 * d = 1mod 40,可以取d = 27。
  加密:
  解密:
  解密结果与原明文信息一致。
  以上实例足以证明RSA加密算法原理的科学性,使用RSA加密算法进行保密通信是可以信赖的。实际操作时,通常先选定e,再找出并确定质数p和q,使得计算出d后,它们能满足RSA加密算法计算原理的要求。
  
  三、RSA加密算法应用
  
  RSA加密算法除了用于少量数据加密之外,最主要的应用就是数字签
  
  名。数字签名是通过密码运算生成一组符号及代码,用于鉴定签名人的身份以及对电子数据内容的认可,它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。
  (一)数字签名的原理
  被发送的文件用SHA编码加密产生128bit的数字摘要;发送方用自己的私有密钥对摘要再加密,形成数字签名;将原文和加密的摘要同时传给对方;对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密产生又一摘要;将解密后的摘要和重新用SHA编码加密收到的文件所产生的摘要相互对比。如两者一致,则说明签名可信而且传送过程中信息没有被破坏或篡改过。否则不然。
  (二)数字签名运算
  数字签名使用者首先采用SHA编码法对欲签名的文件信息m进行数字摘要运算,得出摘要值h(m),再用自己掌握的私钥d和n进行签名运算,可获得数字签名s,对应的数字签名计算方法是:
   。之后将数字签名s和文件信息m一起发送给对方。
  (三)数字签名验证
  文件信息接收方收到数字签名s和文件信息m后,首先采用SHA编码法对欲签名的文件信息m进行数字摘要运算,得出摘要值h(m),再用从对方处取得的公钥e和n对数字签名s进行解密运算,获取摘要值h(m)’,对应的解密运算方法是:,最后比对h(m)’和h(m),若h(m)’=h(m),则签名s正确,反之则不然。
  四、RSA加密算法的缺陷
  RSA加密算法的原理和规则都是公开的,理论上攻击者掌握了密文信息和加密密钥后,采用逆向的方式反复尝试是可以破解密钥的,因此为增强其安全性,取素数p和q的值要尽可能大,使得运算复杂性增高,攻击者短期内不能如愿。一般攻击者是将某一信息作伪装后,让拥有私钥的实体签署,然后,经过计算就可得到它所想要的数据。实际上,攻击利用的都是同一个弱点,即乘幂保留了输入的乘法结构:。
  由此可以看出,尽管RSA加密算法有着充足的科学依据,而且在很大程度上能保障信息传输的保密性,但是RSA机制仍然存在一些不容忽视的弊端:
  1. 产生密钥很麻烦。RSA是利用质数因子分解的困难性开发的算法,由于受到质数产生技术的限制,因而难以做到一次一密;
  2. 分组长度太大。RSA的保密强度是建立在计算的复杂性的基础之上的,为保证其安全性,n至少也要 600 bits以上,使得运算代价太高,尤其是运算速度很慢,随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。
  
  五、结束语
  
  RSA加密算法是被研究得最广泛的公钥算法,易于理解和操作,可同时用于加密和数字签名,从提出到现在已近三十年,经历了各种攻击的考验,逐渐为人们接受,尽管存在一些瑕疵,但还是被普遍认为是目前最优秀的公钥方案之一。在电子商务应用系统中,RSA加密算法更是惯用的技术之一。目前,SET协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。据专家测算,攻破512位密钥RSA算法大约需要8个月时间;而一个768位密钥RSA算法在2004年之前无法攻破;在技术上暂时还无法预测攻破具有2048位密钥的RSA加密算法需要多少时间,因此,遵照SET协议开发的电子商务系统的安全性是非常高的。
  
  参考文献:
  [1]冯素琴,RSA公钥密码算法的研究与实现[J],忻州师范学院学报,2006(2).
  [2]曹建国,基于RSA公钥密码安全性的研究[J],计算机技术与发展,2007(1).
  [3]鄢喜爱,RSA公钥密码算法的分析[J],长春工业大学学报(自然科学版),2006(2).
  
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
[摘要]通过UG/Open GRIP 和UG/OpenAPI编程,用截面扫掠和网格曲面两种方法,实现了大客车车身骨架中曲线型钢构件的快速三维实体建模,有利于提高建模效率,亦可供其他曲线型钢骨架结构的快速三维建模参考。  [关键词]大客车 车身骨架 三维建模 UG编程  中图分类号: U543.82+2 文献标识码:A 文章编号:1671-7597(2008)0610033-02    一、引言  
期刊
[摘要]现在CPU处理器的发展真可谓日新月异,着重介绍中国的龙芯及国际的双核技术,并介绍其未来的发展趋势,在此基础上提出了一些新的看法。  [关键词]CPU 网络 双核技术  中图分类号: TP3文献标识码:A 文章编号:1671-7597(2008)0610047-01    一、引言    随着网络时代的到来,网络通信、信息安全和信息家电产品将越来越普及,而CPU正是所有这些信息产品中必不可少
期刊
[摘要]媒介不仅有力地推动了全球化,它本身也是全球化的组成部分。在这种全球传媒文化趋同的趋势下,本土文化开始追求新的生存模式。立足于在传播政治经济学中全球化的表现与影响和本土文化存在的重要意义,来考察当前中国媒介产品的现实状态媒介全球化与本土文化的杂糅产物,并试图去探询本土媒介产品在国际传播中新的出路。  [关键词]媒介全球化 本土文化 媒介产品  中图分类号:G2 文献标识码:A 文章编号:16
期刊
[摘要]讨论如何利用关系数据库存储XML数据和文档,如何利用关系毅据库直接支持XML毅据查询,最终建立一个基于XML的、统一的Internet数据库平台的方案。XML存储管理和XML搜索引擎是实现XED的核心问题。  [关键词]XML 数据库 存储管理 搜索引擎  中图分类号:G2 文献标识码:A 文章编号:16717597(2008)0610046-01    一、综述    XML被称作是In
期刊
[摘要]基于Web方式的考试系统是近几年出现的一种全新的教学考核方式。通过对计算机基础课程特点的分析,提出利用插件方式,利用计算机互联网的Web技术作为考试平台,进行计算机基础课程考试系统设计,并给出系统设计的关键技术。  [关键词]Web 考试系统 计算机基础  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0610052-01    随着教育信息化网络化的飞速发展
期刊
[摘要]阐述arp欺骗攻击原理以及欺骗方式。并且详细阐述了校园网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和安全网关,让所有上网的流量必须经过病毒主机,从而造成网络瘫痪时的处理策略。  [关键词]ARP协议 ARP欺骗攻击 嗅探 网络阻塞 ICMP重定  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0610055-01    网络安全是一个永恒的话
期刊
[摘要]VoIP凭借通话费用低廉的优势越来越被广大用户关注,但仍然不能不提及我们在使用VoIP时遇到的诸多困扰。没有完善的Qos保障;通话会有被窃听、线路会有盗打的可能发生;电话接通有延时,接通成功率比较低;通话过程中有断续。分析产生这些情况的可能原因,希望技术早日成熟,为越来越多的用户服务。  [关键词]VoIP 延时 断续  中图分类号:TN91 文献标识码:A 文章编号:1671-7597(
期刊
[摘要]介绍MasterCAM软件的特点和功能,重点说明MasterCAM软件在数控加工中的应用。  [关键词]CAD/CAM MasterCAM 软件数控加工  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0610098-01    MasteCAM软件是美国的CNC software公司推出的集设计和制造、数控机床自动编程于一体的CAD/CAM软件。由于它对硬件
期刊
[摘要]通过分析Q215漏钢产生的原因,提出杜绝Q215漏钢的措施和取得的效果。  [关键词]Q215钢 原因实践  中图分类号:TF7 文献标识码:A 文章编号:1671-7597(2008)0610116-01    日照钢铁有限公司一炼钢厂小方坯连铸机共计三台,生产钢种以普碳钢以及低合金钢为主。目前160×160mm2Q215钢漏钢事故制约了炼钢厂的生产,Q215钢属于包晶钢系列,成分介于Q
期刊
[摘要]目前随着高职数学教学改革的不断深化,BLOG作为一种新兴的教育技术手段,正在国内教育教学领域迅速普及,结合高职数学教育的实际情况,对BLOG在高职数学教学中的运用及意义进行一些初步的探究。  [关键词]BLOG 高职数学 教学  中图分类号:G42 文献标识码:A 文章编号:1671-7597(2008)0610120-01    BLOG最早产生于美国,自2001年后迅速在互联网上流行与
期刊