信息安全技术RSA加密解密实现.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息安全技术RSA加密解密实现

课程设计报告课程名称:基于非对称密码体系的数据加密解密(RSA)时间:2016.11.21---2016.11.25一、背景随着计算机信息技术的蓬勃发展,作为信息采集、存储、处理和传输的媒体,计算机及网络应用逐步延伸到社会生活的方方面面。当人类越来越感受到计算机系统功能的强大,不得不感叹于信息技术带来的方便快捷的同时,各种忧虑也渐渐产生:已经习惯性依赖于计算机的人们离开它还能生存吗?信息战将对国防安全、军事领域产生什么影响?信息诈骗和其他信息犯罪将如何改变人们的日常生活? 这些问题都属于计算机信息安全的范畴。起初,计算机系统的安全主要是指硬件的安全保护。随着信息所发挥的价值日益为人们所了解,人们的目光转移到在计算机系统中存储、传输的信息的安全,包括防止信息泄漏和非法慕改等。数据库集中存放和管理大量信息,其安全性对于整个计算机信息系统至关重要。为了保证数据安全,人们在不同层面运用了各种安全措施,这些防范措施分别可以在一定程度上防止某种安全威胁。但是,在操作系统、数据库和网络的层层防护之下,仍然无法保证数据库数据的安全。因为通常数据库中的数据最终是以文件形式存储在计算机上的,这些文件大部分是多个用户可读可写的,一旦网上黑客通过某种途径进入系统就可以直接读取数据文件或存储介质,从中窃取数据或利用非法软件篡改数据库文件内容。信息的传输则通过公共信道。这些计算机系统和公共信道是不设防的,是很脆弱的,容易受到攻击和破坏,信息的丢失不容易被发现,而后果是极其严重的。如何保护信息的安全已不仅仅是军事和政府部门感兴趣的问题,各企事业单位也愈感迫切。而密码是有效而且可行的保护信息安全的办法,有效是指密码能够做到使信息不被非法窃取,不被篡改或破坏,可行是说它需要付出的代价是可以接受的。因此密码学的研究就成为一个重要的来解决信息安全问题的一种手段了,而且有着重要的地位。二、RSA算法2.1算法描述Diffie和Hellman在其早期的论文[DIFF76B]中提出了一种新的密码学方法,事实上,它对密码学家提出了一种挑战,即要求寻找满足公钥体制要求的密码算法。之后很多算法被提出,其中有一些刚提出时似乎很有前途,但后来都被攻破。MIT的Ron Rivest,Adi Shamir和Adleman于1977年提出并于1978年首次发表的算法[RIVE78],可以说是最早提出的成功的公钥算法之一。Rivest-Shamir-Adleman(RSA)算法自其诞生之日起就称为比广泛接受且被实现的通用的公钥加密方法。经过多年的分析和研究,在众多的公开密钥加密算法中,RSA加密算法最受推崇,它也被推荐为公开密钥数据加密标准。由数论知识可知,若将一个具有大素数因子的合数进行分解是很困难的,或者说这个问题的计算量是令人望而生畏的,而RSA加密算法正是建立在这个基础上的。在RSA加密算法中,—个用户A可根据以下步骤来选择密钥和进行密码转换:(1)随机的选取两个不同的大素数p和q(一般为100位以上的十进制数),予以必威体育官网网址;(2)计算n=p*q,作为用户A的模数,予以公开;(3)计算欧拉(Euler)函数z=(p-1)*(q-1),予以必威体育官网网址;(4)随机的选取d与z互质,作为A的公开密钥;(5)利用Euclid算法计算满足同余方程e*d≡1modz的解d,作为用户A的必威体育官网网址密钥;(6)任何向用户A发送信息M的用户,可以用A的公开模数D和公开密钥e根据C=Me mod n得到密文C;2.2模算术里的求幂运算在RSA中,加密和解密都需要计算某整数的模n整数次幂,如果先球场整数的幂,在对n取模,那么中间结果会非常大。幸运的是,正如前面的例子所示,我们可利用模运算的下列性质来计算模幂运算:[(a mod n)*(b mod n)]mod n = (a*b) mod n这样我们将中间结果对n取模,这样使得计算切实可行。因为RSA中所用到的指数很大,所有还应考虑幂运算的效率问题。为说明如何增加效率,以计算x16为例。若直接计算则需进行15此乘法:x16= x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x8 = (x)(x2)(x8),我们先计算 x mod n,x2 mod n, x8 mod n,在计算[(x mod n)*(x2mod n)*2如果重复计算每个中间结果的平方,得到x2,x4,x8和x16,那么只需要4次乘法即可计算出x16。又比如,对于整数x和n,计算x11mod n。由于x11 = x1(x8 mod n)]mod n 。1....b0,则 b =更一般地,假定我们要计算ab,其中a和b是正整数。若将b表示为二进制数bkbk2.3用公钥进行有效运算为了加快RSA算法在使用公钥时的运算速度,通常都会选择一个特定的e,大多数情况下选e为65 537(216+1),

您可能关注的文档

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档