完整版RSA密码体制的设计及MATLAB语言下的实现毕业论文Word文件下载.docx
- 文档编号:13675378
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:16
- 大小:93.25KB
完整版RSA密码体制的设计及MATLAB语言下的实现毕业论文Word文件下载.docx
《完整版RSA密码体制的设计及MATLAB语言下的实现毕业论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《完整版RSA密码体制的设计及MATLAB语言下的实现毕业论文Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
[5]李晓辉.公钥密码体制与RSA算法[J].福建电脑.2009
[6]刘栋梁,陈艳萍.RSA密码体制在电子商务中的安全应用[J].大众科技.2005
[7]段晓萍,李燕华.非对称密码体制RSA的原理与实现[J].内蒙古大学学报.2009
3.进度安排
论文各阶段名称
起止日期
1
确定论文题目,接受任务
2010年3月1日-2010年3月10日
2
查阅文献资料,完成文献综述和开题报告
2010年3月11日-2010年3月30日
3
完成论文初稿(手写稿)
2010年4月1日-2010年4月30日
4
完成论文修改稿
2010年5月1日-2010年5月25日
5
完成论文定稿
2010年5月26日-2010年6月10日
6
论文答辩
2010年6月11日-2010年6月20日
摘要
RSA算法是一个能同时用于加密和数字签名的算法,易于理解和操作,有较高的安全性,因此有着广泛的运用。
本文首先论述了RSA的基本运用途径,RSA的数学原理,其加密解密的具体算法,并给出了其在MATLAB应用软件上的实现,然后,对RSA的安全性进行了一定的分析,包括其可能存在的攻击和对参数的选择,以便对其有更深的了解。
关键词:
RSA公钥密码体制加密解密MATLAB安全性
ABSTRACT
RSAisanalgorithmwhichcanbeusedforbothencryptionanddigitalsignature.Itiseasytounderstandaswellastooperate,anduppersecuritywhichmakesitpopular.Thispaperfirstlydeliversinformationonthebasicpurpose,themathematicprincipleandthespecificarithmeticofRSA.ThenitpresentsanimplementationofRSAontheapplicationsoftwareMATLAB.Afterthat,thisarticlealsoanalyzesthesecurityofRSA,includingitspotentialleaks,parameteroptions,whichdecryptMATLAB
security
前言
随着计算机通信技术的迅速发展,在计算机网络和通信的众多领域中,信息的安全性越来越受到人们的重视,于是,密码技术应运而生,目前计算机网络主要采用两种密码体制,即公钥密码体制和私钥密码体制,作为公钥密码体制的重要技术的RSA,主要用于数字加密和数字签名,由于其很好的安全性,可以保证网络中重要数据的安全性,因此有广泛的应用。
RSA于1978年由美国麻省理工大学的三位数学家提出,经过三十多年的发展,人们对它的研究也逐渐广泛,它是第一个能用于数据加密和数字签名的算法,其安全性依赖于大数的因子分解,因此,具有较高的安全性,有时也用于密钥的管理。
本文较为详细的介绍了密码体制的相关内容,包括RSA的主要应用及其在计算机网络中的重要性。
列举了RSA算法的数学基础,即数论知识。
对其数学原理进行了简单的说明,详细介绍了其具体算法。
为了便于理解,笔者还举了一个简单的加密解密实例,然后给出了其在MATLAB上的算法实现,最后,就其安全性进行了较为简单的讨论。
由于时间关系,再加上笔者的能力有限,本文中尚有许多不足之处,敬请读者批评指正。
第1章RSA简介
1.1密码体制简介
随着Internet的广泛应用,电子商务和电子政务得到的迅速的发展,越来越多的个人信息需要严格保密,因此,密码学成了必不可少的一门学科。
密码技术是密码学的重要内容,它是集数学,计算机科学,电子与通信等诸多学科于一身的的交叉学科,它不仅能够保证机密信息的加密,而且能够实现数字签名,身份验证,系统安全等功能。
目前计算机网络主要采用两种密码体制,对称密码体制和非对称密码体制。
对称密钥体制的加密密钥和解密密钥是相同的,只要知道加密密钥,就能推出解密密钥,通信双方分别持有加密密钥和解密密钥,需要定期更新密钥。
使用对称密码体制进行保密通信时,通信双方要事先通过秘密的信道传递密钥,而秘密信道时不易获得的。
很久以来,密钥分发的问题一直困扰着密码专家,随着计算机网络的逐渐扩大,密钥分配所造成的时间延迟和费用问题日益凸显出来。
对称密码还有一个缺点,就是密钥量太大,在有个用户的通信网络中,系统的总密钥量将达到,这样大的密钥量在保存,传递,使用和销毁的各个环节中都会有不安全因素存在。
此外,在一些需要验证消息的真实性和消息发送方身份的场合,或在进行电子交易时,必须有手写签名的数字形式即数字签名来确认身份,这是对称密码无法实现的。
非对称密钥体制不能从加密密钥推出解密密钥,加密和解密是采用一对不同的密钥进行的,公钥(加密密钥)公开,私钥(解密密钥)保密。
例如,甲将他的加密密钥公开,任何想与甲通信的都可以采用这个加密密钥把要传送的信息(明文)加密成密文发送给甲,只有甲知道解密密钥,能够将密文还原为明文,而任何第三方即使截获到密文也不能知道密文所传递的信息。
非对称密码体制最有影响的典型算法是RSA,于1978年有美国麻省理工学院的三位数学家瑞弗斯特(RobRivest),沙米尔(AdiShamir)和阿德来门(LenAdleeman)提出,RSA算法既可用于数据加密,又可用于数字签名,安全性良好,易于实现和理解。
1.2RSA的简介
RSA是目前最为流行的公钥密码体制之一,其安全性是基于分解大素数的困难性,由于其加密函数是一个单向函数,所以对第三方而言,试图在有效的时间内在计算机上非法解密密文是不可能的。
由于RSA能实现信息的加密,解密和数字签名,较好的满足计算机网络应用的需求,因此得到了广泛的应用,主要用于保证以下几点:
(1)数据的机密性:
预防非法的信息存取和信息在传输过程中被非法窃取。
(2)数据完整性:
保证通信中的信息不会被非法篡改,入侵者不能利用其他假消息替换原始消息。
(3)身份认证:
保证对方属于所称实体,是依靠数字签名实现的。
(4)不可抵赖性:
发送者无法事后否认其发送过消息,消息的接收者可以像中立的第三方CA证实所指的发送者确实发出了消息。
由于公钥密码体制中通信双方的公钥可以公开,以及其的较好的安全性,该种加密方式及其相关系统在密钥管理,电子商务中都有着广泛的应用。
第2章相关数论知识
2.1整除与互素
定义2.1:
设为是整数,,如果存在,使得,则称整除,记为,并且称是的一个因子,而为的倍数,若不存在使得,则称不整除,记作。
定义2.2:
一个大于1的整数,如果它的正因数只有1和它本身,则该数称为素数,否则叫做合数。
定理2.1:
(带余除法)设,则存在唯一确定的整数和,使得:
,
定义2.3:
设是不全为的整数,和的最大公因数是指满足下述条件的整数,
(1)为和的公因数,即,且。
(2)为和的所有公因数中最大的,即对,若,且,则。
记作,如果,则称和互素。
定理2.2:
设任一大于1的整数都能表示成素数的乘积,即
.
其中是素数,,(),并且,若不考虑的排列顺序,则这种表示方法是唯一的。
2.2费马定理和欧拉定理
定理2.3:
(费马小定理)若是素数,,则.
费马定理的等价形式:
.
定义2.4:
设为正整数,欧拉函数定义为满足条件:
且的整数的个数。
具有如下性质:
(1)当是素数时,;
(2)若,为正整数,则;
(3)若,且,则;
(4)若,为素数,则:
定理3.4:
(欧拉定理)对于任意整数,当时,有.
证明:
设小于且与互素的正整数集合为,
由于,故对,仍与互素。
因此
构成个与互素的数,且两两不同余。
这是因为,若有,使得则由于,可以消去,从而
所以与在的意义上是两个相同的集合,分别计算两个集合中各元素的乘积,有
由于与互素,故.
推论3.1
2.3中国剩余定理
中国剩余定理是解一次同余方程组最有效的算法。
首先,我们写出一次同余方程组的一般形式:
如果对任意,有,即两两互素,则有以下固定算法:
(1)计算,及;
(2)求出各模的逆,即求,满足;
(3)计算,即为方程组的一个解.
例2.1:
求相邻的四个整数,依次可被整除.
解:
设四个整数为,则有
计算
,
最终求得
第3章RSA的数学原理及其算法实现
3.1RSA的数学原理
RSA算法基于下面的两个事实,保证RSA算法的安全有效性:
1)已有确定一个数是不是素数的快速算法;
2)尚未找到确定一个合数的质因子的快速算法:
RSA算法的工作原理
(1)任意选取两个不同的大质数和,计算乘积,;
(2)任意选取一个大整数,与互素,整数e用做加密密钥,(注意:
的选取是很容易的,例如,所有大于和的质数都可用)
(3)确定解密密钥:
,根据,,,可以容易的计算出;
(4)公开整数和,将保密;
(5)将明文(假设是一个小于的整数)加密为密文,计算方法为:
(6)将密文c解密为明文p,计算方法为:
然而,只根据和(不是和),要计算出是不可能的,因此,任何人都可以对明文进行加密,但只有授权用户(知道)才可以对密文进行解密。
例如:
向用户A发送加密信息时,利用A的公开密钥,,计算
求出的整数即为密文,
当A受到后,利用自己的解密密钥,计算
由欧拉定理,这里计算出的恰好等于加密前的明文.
事实上,由于
设,,当时,有:
于是:
这时,对于每一个明文分组,要求其与模数互素.
3.2RSA的算法设计
RSA加密算法和解密算法的具体步骤:
(1)RSA算法的初始化,系统产生2个大素数和(保密).计算,(公开),
,令随机选取整数作为公钥(加密密钥),满足(公开)和互质,计算私钥(解密密钥),满足.销毁,及.
(2)RSA加密解密变换,首先将明文分块并数字化,然后将明文分成若干段,使每个数字化的明文段的值小于,长度不大于,然后对每个明文块依次进行加密,解密变换.
加密变换:
分别使用公钥和明文,得密文
解密变换:
分别使用私钥和密文,得明文
例3.1:
RSA公钥密码加密解密算法实例
选,,,,选择,计算出.
将,公开,保密,
设明文为,对其加密,得到密文:
解密时,计算,恢复出明文.
RSA的加密解密过程是一个模的指数运算,计算这个运算有一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 RSA 密码 体制 设计 MATLAB 语言 实现 毕业论文