信息安全技术rsa加密解密实现

信息安全技术rsa加密解密实现

ID:14491861

大小:133.87 KB

页数:14页

时间:2018-07-29

信息安全技术rsa加密解密实现_第1页
信息安全技术rsa加密解密实现_第2页
信息安全技术rsa加密解密实现_第3页
信息安全技术rsa加密解密实现_第4页
信息安全技术rsa加密解密实现_第5页
资源描述:

《信息安全技术rsa加密解密实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告课程名称:基于非对称密码体系的数据加密解密(RSA)时间:2016.11.21---2016.11.25目录一、背景3二、RSA算法52.1算法描述52.2模算术里的求幂运算62.3用公钥进行有效运算72.4用私钥进行有效运算7三、软件的设计83.1软件总体设计83.2软件详细设计93.3类与主要函数113.4主要代码11四、运行与调试154.1运行效果154.2调试问题17五、经验与总结175.1心得与体会175.2致谢17六、参考文献17一、背景随着计算机信息技术的蓬勃发展,作为信息采集、存储、处理和传输的媒体,计算机及网络应用逐步延伸到社会生活的方方面面。当人类越来

2、越感受到计算机系统功能的强大,不得不感叹于信息技术带来的方便快捷的同时,各种忧虑也渐渐产生:已经习惯性依赖于计算机的人们离开它还能生存吗?信息战将对国防安全、军事领域产生什么影响?信息诈骗和其他信息犯罪将如何改变人们的日常生活?这些问题都属于计算机信息安全的范畴。起初,计算机系统的安全主要是指硬件的安全保护。随着信息所发挥的价值日益为人们所了解,人们的目光转移到在计算机系统中存储、传输的信息的安全,包括防止信息泄漏和非法慕改等。数据库集中存放和管理大量信息,其安全性对于整个计算机信息系统至关重要。为了保证数据安全,人们在不同层面运用了各种安全措施,这些防范措施分别可以在一定程度上防止

3、某种安全威胁。但是,在操作系统、数据库和网络的层层防护之下,仍然无法保证数据库数据的安全。因为通常数据库中的数据最终是以文件形式存储在计算机上的,这些文件大部分是多个用户可读可写的,一旦网上黑客通过某种途径进入系统就可以直接读取数据文件或存储介质,从中窃取数据或利用非法软件篡改数据库文件内容。信息的传输则通过公共信道。这些计算机系统和公共信道是不设防的,是很脆弱的,容易受到攻击和破坏,信息的丢失不容易被发现,而后果是极其严重的。如何保护信息的安全已不仅仅是军事和政府部门感兴趣的问题,各企事业单位也愈感迫切。而密码是有效而且可行的保护信息安全的办法,有效是指密码能够做到使信息不被非法窃

4、取,不被篡改或破坏,可行是说它需要付出的代价是可以接受的。因此密码学的研究就成为一个重要的来解决信息安全问题的一种手段了,而且有着重要的地位。二、RSA算法2.1算法描述Diffie和Hellman在其早期的论文[DIFF76B]中提出了一种新的密码学方法,事实上,它对密码学家提出了一种挑战,即要求寻找满足公钥体制要求的密码算法。之后很多算法被提出,其中有一些刚提出时似乎很有前途,但后来都被攻破。MIT的RonRivest,AdiShamir和Adleman于1977年提出并于1978年首次发表的算法[RIVE78],可以说是最早提出的成功的公钥算法之一。Rivest-Shamir-

5、Adleman(RSA)算法自其诞生之日起就称为比广泛接受且被实现的通用的公钥加密方法。经过多年的分析和研究,在众多的公开密钥加密算法中,RSA加密算法最受推崇,它也被推荐为公开密钥数据加密标准。由数论知识可知,若将一个具有大素数因子的合数进行分解是很困难的,或者说这个问题的计算量是令人望而生畏的,而RSA加密算法正是建立在这个基础上的。在RSA加密算法中,—个用户A可根据以下步骤来选择密钥和进行密码转换:(1)随机的选取两个不同的大素数p和q(一般为100位以上的十进制数),予以保密;(2)计算n=p*q,作为用户A的模数,予以公开;(3)计算欧拉(Euler)函数z=(p-1)*

6、(q-1),予以保密;(4)随机的选取d与z互质,作为A的公开密钥;(5)利用Euclid算法计算满足同余方程e*d≡1modz的解d,作为用户A的保密密钥;(6)任何向用户A发送信息M的用户,可以用A的公开模数D和公开密钥e根据C=Memodn得到密文C;2.2模算术里的求幂运算在RSA中,加密和解密都需要计算某整数的模n整数次幂,如果先球场整数的幂,在对n取模,那么中间结果会非常大。幸运的是,正如前面的例子所示,我们可利用模运算的下列性质来计算模幂运算:[(amodn)*(bmodn)]modn=(a*b)modn这样我们将中间结果对n取模,这样使得计算切实可行。因为RSA中所用

7、到的指数很大,所有还应考虑幂运算的效率问题。为说明如何增加效率,以计算x16为例。若直接计算则需进行15此乘法:x16=x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x8=(x)(x2)(x8),我们先计算xmodn,x2modn,x8modn,在计算[(xmodn)*(x2modn)*+2+如果重复计算每个中间结果的平方,得到x2,x4,x8和x16,那么只需要4次乘法即可计算出x16。又比如,对于整数x和n,计算x11modn。由于x11

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。