欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    RSA算法的应用与实现.pdf

    • 资源ID:83458123       资源大小:351.92KB        全文页数:8页
    • 资源格式: PDF        下载积分:19.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    RSA算法的应用与实现.pdf

    RSA 算法的应用与实现【摘 要】RSA 算法是使用最广泛的一种非对称密码体制.在对 RSA 算法的原理、算法描述等进行研究的基础上,近一步研究了 RSA 算法在数字签名、密钥交换等方面的应用.最后在.NET 平台中使用 C#语言进行编程,实现 RSA 数字签名算法。【关键词】RSA 算法;数字签名;加密;解密 1 RSA 简述 随着 IT 技术迅猛的发展,各个行业的信息化、网络化的增强,信息的安全性越来越得到人们的重视。一个完整的、先进的信息系统无不考虑到信息安全技术的应用。RSA 加密体制是一种公开的密码体制。RSA 公匙密码体制是又,和于 1978年提出的。RSA 算法完善,既可用于加密,又可用于签名,并为用户的公开密钥签发公钥证书、发放证书、管理证书等提高了服务质量,RSA 公钥密码体制在世界许多地方已经成为事实上的标准。:RSA 是一个基于数论的非对称密码体制,是一种分组密码体制,是一种基于因子分解的指数函数作为单向陷门函数的公钥体制算法。它基础是数论的欧拉定理,素数检测,它的安全性是基于大数分解,后者在数学上是一个困难问题。2 RSA 算法#RSA 算法描述 RSA 的安全性基于复杂性理论中的计算安全性,依赖于大整数分解这一 NP难题。可靠性与所用密钥的长度有很大关系,假如有人找到一种很快的分解因子的算法,即从一个公钥中通过因数分解得到私钥,那么用 RSA 加密的信息的可靠性肯定会极度下降。但由于其工作量巨大,按目前计算机的处理能力是不可能实现的。实践证明,在当前的技术和方法下,密钥不小于 1024 bit 的 RSA 算法仍然是安全的。这充分说明 RSA 系统具有良好的保密性能。因此,尽管先后出现了很多新的公钥体制算法,但 RSA 仍然在不同应用领域占据了重要的位置。随着计算机运算速度的提高以及因子分解算法的突破,RSA的密钥长度将越来越大,其软硬件实现速度将成为制约其使用的重要因素。&RSA 系统由以下几部分组成1:1)随机选取的在素数 P 和 Q,还有 N,其中 N=P*Q,P 和 Q 保密,N 公开。2)任取(n)=(P-1)*(Q-1),其中(n)表示比 n 小的素数的个数,任取 2=e=(n),且(e,(n)=1,e 为加密密钥,公开其存在的问题。1)RSA 公钥密码体制在加密或解密中涉及大量的数值计算,其加密和解密的运算时间比较长,以致于实际使用 RSA 密码体制无法应用到软件产品,必须用超大规模集成电路的硬件产品。2)虽然提高 N 位数会大大提高 RSA 密码体制的安全性,但其计算量呈指数增长,以致使其实现的难度增大,实用性降低。3)RSA 公钥密码体制的算法完整性(指密钥控制加密或解密变换的唯一性)和安全性(指密码算法除密钥本身外,不应该存在其它可破译密码体制的可能性)沿有等进一步完善。4)RSA 算法面临着数学方法的进步和计算机技术飞跃发展带来的破译密码能力日趋增强的严重挑战。RSA 公开密钥密码算法在信息交换过程中使用比较广泛,安全性比较高。以当前的计算机水平,如选择 1024 位长的密钥(相当于 300位十进制数字)就认为是无法攻破的。3 基于 RSA 的数字签名2 RSA 数字签名算法描述 RSA 是目前使用最为广泛、最著名的公开密钥系统,它是由麻省理工学院的三位学者 Rivest、Shamir 和 Adleman 于 1978 年提出的。RSA 密码系统可以完成数据加密、数字签名以及密钥交换等功能,其安全性是建立在大素数因子分解困难问题上的3。)设 n=pq,p、q 是两个大素数,消息空间和签名空间为 P=A=Zn,定义 K=(n,p,q,a,b)ln=pq,p,q 为素数,ab=l(mod(n)。值 n 和 b 公开的,p、q、a 是保密的。对 K=(n,p,q,a,b),签名及验证算法定义如下:签名算法:验证算法:如果 B 使用 RSA 解密规则 Dk 签一个消息 x,那么 B 是能产生签名的唯一的人,这是因为 Dk 是保密的。验证算法使用 RSA 的加密规则 Ek,因为 Ek 是公开的,保存在公开的信任机构服务器中,所以任何人能验证一个签名。RSA 数字签名算法实现步骤;签名算法(包括两步:消息摘要计算,RSA 加密)1)消息摘要 MD 的计算:消息在签名前首先通过 MD5 计算,生成 128 位的消息摘要;MD5 函数是一种单向散列函数,它将任意长度的消息压缩成 128 位的消息摘要。应用 MD5 的单向性(即给定散列值,计算消息很难)和抗碰撞性(即给定消息 M,要找到另一消息 M并满足两者的散列值很难),可以实现信息的完整性检验。另外该函数的设计不基于任何假设和密码体制而直接构造,执行的速度快,是一种被广泛认可的单向散列算法。】2)对 MD 作 RSA 加密算法:采用签名者的私钥加密消息摘要,得到加密后的字符串即数字签名;验证签名算法(RSA 解密、对消息摘要计算和比较)验证签名算法包括两步:RSA 解密得签名者的消息摘要,验证者对原消息计算摘要,比较两个消息摘要。验证签名的过程输入为消息,签名者的公钥,签名;输出为验证的结果,即是否是正确的签名。1)RSA 解密:签名实际是加密的消息摘要,用以上所述的 RSA 解密方法采用签名者的公钥对这个加密的消息摘要解密,解密的结果应为 128 位的消息摘要。¥2)消息摘要计算和比较:验证者对消息用 MD5 算法重新计算,得到验证者自己的消息摘要。验证者比较解密得到的消息摘要和自己的消息摘要,如果两者相同,则验证成功,可以确认消息的完整性及签名确实为签名者的;否则,验证失败,确认签名被冒充或是被篡改。RSA 数字签名方案的弱点 1)随着计算机速度的提高,以及集群计算技术的应用,RSA 算法已经不足够安全,对 RSA 的破解也成为可能。RSA 算法运行中所需要的密钥长度变得越来越大,使其计算量也猛增。经过实验得到,密钥长度为 1024 位至 2048 位是比较合理的,既可以保证系统的安全性,计算量又可以接受。然而密钥长度的猛增,对 RSA 的应用带来严重的负面影响,使其应用范围越来越受到制约。2)任何人能通过对某一 y 计算 x=Ek(y)来伪造一个随机消息 x 关于 B 的签名 y,这是因为 y=sigk(x);3)如果消息 x1 和 x2 的签名分别是 y1 和 y2,则拥有 x1、x2、y1、y2 的任何人可伪造 B 关于消息 x1x2 的签名 y1y2,这是因为 sigk(x1x2)=sigk(x1)sigk(x2)modn。4)由于 RSA 算法每次只能对log2n比特长的消息进行签名,这就使消息签名变得繁琐。这就减缓了系统的运行速度,降低了签名效率。克服上述弱点的办法是对消息进行签名之前作杂凑变换,亦称杂凑函数计算。变换之后再进行签名,降低了签名计算量,这样既能完成签名任务,又能保证签名效率。|4 RSA 数字签名算法实现 本算法是在.NET 平台中使用 C#语言编写的面向对象的应用程序,命名空间是。需要实现的功能有以下几个:产生公钥和私钥、public void button_creatKey_Click(object sender,EventArgs e)try RSACryptoServiceProvider rsa=new RSACryptoServiceProvider();=(false);=(true);.catch(ex):(“密钥创建”+();!随机产生一个公钥,一个私钥,密钥是 XML 可扩展标记语言形式,XML 是一套定义语义表激动额规则,这些标记将文档分成许多部件加以标识它也是元标记语言,即定义了用于定义其他与特定领域有关的,与移动额,结构化的标记语言的语句语法他是一种以简单文本格式存储数据的方式,这意味着他可以被任何计算机读取,此返回的是字符串 产生摘要、private void button_getHash_Click(object sender,EventArgs e)try byte fileSource=(sendFileString);)HashAlgorithm MD5=(”MD5”);byte hashData=(fileSource);:=(hashData);catch(ex)、(“获取哈希值”+();数字签名的验证-private void button_ensureSign_Click(object sender,EventArgs e)try RSACryptoServiceProvider rsa=new RSACryptoServiceProvider();)();RSAPKCS1SignatureDeformatterrsadDeformatter=new RSAPKCS1SignatureDeformatter(rsa);(“MD5”);string strSplit=(-);byte receiveByteHash=new byte;for(int i=0;i ;i+);receiveByteHashi=(strSpliti,);string strSignedSplit=(-);byte signedByteHash=new byte;for(int i=0;i ;i+)signedByteHashi=(strSignedSpliti,);if(receiveByteHash,signedByteHash)(”数字签名验证成功!”);else (”数字签名验证失败!”);catch(Exception ex)throw ex;数字签名验证另一个实体的标识并保护数据的完整性,即当使用公钥系统对消息进行数字签名,发送方先向该消息应用哈希函数以创建消息的摘要然后,发送方使用发送的私钥加密消息摘要以创建发送方的个人签名,因为此私钥唯一的标识该发送方,在收到消息和签名后,接受方使用发送方的额公钥解密该签名,以恢复消息摘要,并使用发送方所用的统一哈希算法对该消息进行哈希运算。如果接收方计算的消息摘要与从发送方接受的消息摘要完全匹配,则接收方可以确定该消息来自发送方。【参考文献】1胡向东,魏琴芳.应用密码学教程M.北京:电子工业出版社,2005.2石志坚,谭全权,段海龙.RSA 算法实现数字签名的研究与应用J.微型电 脑应用,2008(06):50-51.3卓光辉,祁明,周浩华.数字签名技术的研究和进展J.2000.4曹珍富.公钥密码学M.黑龙江教育出版社,1993.

    注意事项

    本文(RSA算法的应用与实现.pdf)为本站会员(l***)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开