利用RSA算法实现数字签名毕业论文.doc
《利用RSA算法实现数字签名毕业论文.doc》由会员分享,可在线阅读,更多相关《利用RSA算法实现数字签名毕业论文.doc(37页珍藏版)》请在咨信网上搜索。
1、摘要摘 要当今世界信息技术获得了前所未有的大发展,因而信息的安全性必将变得越来越受到人们的重视。而数字签名技术是目前网络安全领域的研究热门方向。RSA算法是第一个能同时用于加密和数字签名的算法,易于应用和理解。RSA从提出一直到现在,它经历了各种考验。它通过认证技术来分辨真与假。RSA数字签名体制使用地是RSA公开密钥算法进行得数字签名。本文主要是对RSA公开密钥密码体制的研究,并在此基础上实现了RSA的数字签名的体制。本文的主要内容包括:关键词: 加密 解密 RSA算法 RSA数字签名 AbstractNow the information of the world is developin
2、g fastly.So the security of the information is becoming more and more importantly. Digital signature filed will become hot spots in future. It is the first algorithm for both data encryption and digital signature.It can be understood easily by people.RSA has undergone various tests when it is put ou
3、t.RSA as the public key cryptosystem representative approved data integrity is a kind of information technology. It is through the authentication techniques to distinguish true and false. RSA digital signature system using a RSA public key algorithm for digital signature.The text is about the study
4、of RSA public key encryption,based on this generating RSA digital signature.including:,Firstly on the basis of previous research, a system based on elliptical curve proxy signature, The advantage of public key encryption and the security of RSA digital signature(attack )Secondly,it analyzes the prin
5、ciple of RSA,including how to generat a prime number,how to generat the secret keys and how to encryption as well as decrypt, Thirdly,it states the principle of MD5 in detail.Fourthly, it states design and realization of RSA digital signature in detail. The main modules includes producing RSA secret
6、 keys, implementation of RSA encryption algorithm and decryption algorithm, producing message digest and realizing digital signature and verification by RSA.Key words: RSA algorithm; encryption; decryption; RSA digital signatureII目录目录摘 要IAbstractII1绪论11.1 研究背景21.2 研究现状32密码学基本概念42.1 公钥密码基本概念42.1.1 公钥
7、密码原理42.1.2公钥密码的理论基础52.2 对称加密体制53数字签名的基本概念和理论73.1数字签名概念73.2 数字签名理论73.3数字签名过程73.3.1.发送方签名过程83.3.2.接收方验证过程94数字签名常见的算法及其数字签名114.1 DSA数字签名算法114.1.1 DSA数字签名实现的三个步骤114.1.2 DSA的安全性124.2 椭圆曲线代理签名体制124.2.1椭圆曲线数字签名ECDSA124.2.2椭圆曲线数字签名的安全性135 RSA算法及其数字签名145.1 RSA简述145.2 RSA加密的可行性155.3 RSA算法的介绍155.3.1 RSA中素数的选取1
8、65.3.2 RSA用到的公式和定理165.3.3 RSA安全性的分析165.3.4 RSA的攻击175.3.5 RSA的缺点185.3.6 RSA的优点195.4 RSA数字签名195.4.1 RSA数字签名的过程195.4.2 RSA数字签名算法实现步骤195.4.3 散列函数的原理205.4.4 MD5算法的简介216 RSA数字签名设计与实现236.1 开发环境的介绍236.1.1 C#语言概述236.1.2 C#语言特点236.2.NET类的介绍246.3 RSA数字签名所需实现的功能256.4 本软件的总体要求和设计256.5主要实现代码及软件运行结果26结论30致谢32参考文献3
9、3附录134河北工程大学毕业设计论文1绪论1.1 研究背景当今社会是信息化社会,电子计算机和通信网络己经广泛的应用于社会的各个领域,以此为基础建立起来的各种信息系统,给人们的生活、工作带来了巨大变革。大型信息系统将众多的计算机和只能化设备连在一个四通八达的通信网络中,共享丰富的数据库信息和计算机资源,储存大量的数据文件,完成异地之间的数据交换与通信。信息系统的应用,加速了社会自动化的进程,减轻了日常繁杂的重复劳动,同时也提高了生产率,创造了经济效益。信息时代虽然给我们带来了无限商机与方便,但同时也充斥着隐患与危险。由于网络很容易受到攻击,导致机密信息的泄漏,引起重大损失。由于信息技术已经成为综
10、合国力的一个重要组成部分,因此信息安全己成为保证国民经济信息化建设健康有序发展的保障。当今网络社会技术众多,目前在电子商务、电子政务、电子邮件系统、电子银行等方面必备的关键技术就是数字签名。数字签名又称为数字签字,电子签章等。“数字签名”用来保证信息传输过程中信息的完整和提供信息发送者的身份认证和不可抵赖性,数字签名技术的实现基础是公开密钥加密技术,是用某人的私钥加密的消息摘要用于确认消息的来源和内容。为保证数据在网络传递中的安全性和完整性从技术上,主要考虑一下情况:(1)如果需要使用一种方法验证数据在传输过程中是否被修改,可以使用哈希值(2)如果需要证明实体知道机密但不来回发送机密,或者想使
11、用简单的哈希值以防止在传输过程中被截获,可以使用加密的哈希值(3)如果要隐藏通过不安全的媒介发送的数据或者永久保留数据,可以使用加密(4)如果要验证声称是公钥所有者的人员的身份,可以使用证书(5)如果双方事先共享密钥,可以使用对称加密以提高速度(6)如果想通过不安全的媒介安全的交换数据可以使用非对称加密(7)如果要进行身份验证和实现不可否认性,可以使用数字签名(8)如果为了防范穷举搜素而进行的攻击,可以使用加密技术产生的随机数1RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技
12、术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET)就采用了标准RSA算法,这使得RSA在我们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等,大多数使用RSA技术。1.2 研究现状实现数字签名的算法有很多,目前数字签名采用较多的是公钥加密技术,如DSA (Digital Signature Algorithm), x.509, POP (Pretty Good Privacy)。1994年美国标准与技术协会公
13、布了数字签名标准(DSS)而使公钥加密技术广泛应用。RSA已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET)就采用了标准RSA算法,这使得RSA在我们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等,大多数使用RSA技术。(1)研究主要成果RSA作为最重要的公开密钥算法,在各领域的应用数不胜数。RSA在硬件方面,以技术成熟的IC应用于各种消费类电子产品。RSA在软件方面的应用,主
14、要集中在Internet上。加密连接、数字签名和数字证书的核心算法广泛使用RSA。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。 RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA目前是最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA的缺点主要有:(1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。(2)分组长度太大,为保证安全性,n 至少也要 600 bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法
15、慢几个数量级。(2)发展趋势当今社会是信息化社会,电子计算机和通信网络己经广泛的应用于社会的各个领域,以此为基础建立起来的各种信息系统,给人们的生活、工作带来了巨大变革。信息系统的应用,加速了社会自动化的进程,减轻了日常繁杂的重复劳动,同时也提高了生产率,创造了经济效益。信息安全技术在信息化迅速发展的今天己进入了高速发展的新时期,形成了密码技术、可信计算技术、电磁辐射泄露防护技术、系统入侵检测技术和计算机病毒检测消除技术等多个安全防护技术门类。(3)存在问题目前普遍采用的数字签名算法,都是基于下面三个数学难题的基础之上:(1)整数的因式分解(Integer Factorization)问题,如
16、RSA算法。(2)离散对数(Discrete Logarithm)问题,如 ElGamal,DSA,Schnorr等算法;(3)椭圆曲线(Elliptic Curve)问题,如ECDSA算法。22密码学基本概念密码学包括两个方面:密码编码学和密码分析学。密码编码学就是研究对数据进行变换的原理、手段和方法的技术和科学。密码分析学是为了取得秘密的消息,而对密码系统及其流动数据进行分析,是对密码原理、手段和方法进行分析、攻击的技术和科学。密码学的理论基础是数学,其基本思想是隐藏、伪装信息,使未经授权者不能得到消息的真正含义。伪装(变换)之前的信息是原始信息,成为明文;伪装之后的消息,看起来是一串无意
17、义的乱码,称为密文。把明文伪装成密文的过程称为(encryption),该过程使用的数学变换就是加密算法。把密文还原成明文的过程称为解密(decryption),该过程使用的数学变换,通常是加密时数学变换的逆变换,就是解密算法。加密与解密通常需要参数控制,我们把该参数称为密钥,有时也称为密码。加密时使用的为加密密码(加密密钥),解密时使用的为解密密码(解密密钥)。3加密密钥与解密密钥可能相同也可能不同。相同时称为对称型或单钥的,不相同时称为非对成型或双钥的。那么一个密码系统或称其为密码体制,是由明文空间、密文空间、密钥空间、加密算法与解密算法五个部分组成。明文、密文、密钥空间分别表示全体明文、
18、全体密文、全体密钥的集合;加密与解密算法通常是一些公式、法则或程序,规定了明文与密文之间的数学变换规则。下面用字母分别表示这个概念,密钥K=,Ke表示加密密钥,Kd表示解密密钥,设明文M,密文C,加密算法E,解密算法D。把明文加密为密文: C=E(M,Ke) 密文解密为明文:M=D(C,Kd)=D(E(M,Ke),Kd)。上述的讲解可用下图明文明文空间加密密钥密钥空间解密密钥明文明文空间明文明文空间加密算法解密算法Interner(不安全信道)传输的内容密码分析攻击者目的:求明文与密码图2-1加密过程与密码分析2.1 公钥密码基本概念公钥密码与以前所有的密码方法都大相径庭:一是以前的密码算法都
19、基于代换与置换操作,而公钥密码使用数学 数进行变换;二是公钥密码体制使用非对称的方式,使用两个密钥(加密密钥与解密密钥),而传统密码算法仅仅使用一个密钥。公钥密码体制的提出首先是为了解决利用传统密码体制进行密钥分发时遇到的问题,数字签名也是其重要应用之一。3从1976年起,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:(1) 基于大整数因子分解的:RSA和Rabin-Williams。(2) 基于离散对数问题的:DSA和EIGamal。(3) 基于椭圆曲线离散对数问题的:椭圆曲线密码系统。公开密钥加密算法
20、与对称密钥加密算法相比来说,安全性能更好,密钥管理、分配都容易实现,其中有些加密算法还能应用在数字签名上,但是它们相对于对称密钥加密算法运行速度要慢得多,所以不能加密大量的数据。2.1.1 公钥密码原理公开密钥密码常用的、成熟的公钥算法是RSA。它与传统的对称密钥算法有本质的区别,对称密钥算法常用的是DES算法,加/解密时用的是同一个密钥。而公钥算法利用的是非对称的密钥,即利用两个足够大的质数与被加密原文相乘生产的积来加/解密。这两个质数无论是用哪一个与被加密的原文相乘(模乘),即对原文件加密,均可由另一个质数再相乘来进行解密。但是,若想用这个乘积来求出另一个质数,就要进行对大数分解质因子,分
21、解一个大数的质因子是十分困难的,若选用的质数足够大,这种求解几乎是不可能的。公、密钥对的用法是,当发方向收方通信时发方用收方的公钥对原文进行加密,收方收到发方的密文后,用自己的私钥进行解密,其中他人是无法解密的,因为他人不拥有自己的私钥,这就是用公钥加密,私钥解密用于通信;而用私钥加密文件公钥解密则是用于签名,即发方向收方签发文件时,发方用自己的私钥加密文件传送给收方,收方用发方的公钥进行解密。但是,在实际应用操作中发出的文件签名并非是对原文本身进行加密,而是要对原文进行所谓的“哈希”(Hash)运算,即对原文作数字摘要。该密码算法也称单向散列运算,其运算结果称为哈希值,或称数字摘要,也有人将
22、其称为“数字指纹”。哈希值有固定的长度,运算是不可逆的,不同的明文其哈希值是不同的,而同样的明文其哈希值是相同并且是唯一的,原文的任何改动,其哈希值就要发生变化。数字签名是用私钥对数字摘要进行加密,用公钥进行解密和验证4公钥密码算法使用两个密钥,其中一个用于加密(加密密钥),另外一个用于解密(解密密钥)。公钥密码算法具有如下特征:加密密钥与解密密钥时本质上不通的,也就是说如果仅仅知道密码算法和加密密钥,而要确定解密密钥,在计算上是不可行的;大多数公钥密码算法的加密密钥与解密密钥具有互换的性质。如RSA算法,密钥对中的一个用于加密,另一个用于解密。2.1.2公钥密码的理论基础公钥密码体制的安全性
23、主要取决于构造公钥算法所依赖的数学问题,通常要求加密函数具有单向性,即求逆很困难。因此,公钥密码的理论基础是陷门单向函数。 1 单向函数(1)对于所有属于f定义域的任一x,可以很容易算出f(x)=y.(2)对于几乎所有属于f值域的任一y,则在计算上不可能求出x,使得y=f(x).2 单向陷门函数设f是一个函数,t是与f有关的一个参数,对于任一给定的x。计算y,使得y=f(x)是容易的。如果当不知道参数t是,计算的f逆函数是难解的,但但知道参数t时,计算f的逆函数是容易的,则称f是一个单向陷门函数,参数称为陷门。52.2 对称加密体制 对称加密算法,又称私钥加密算法,就是加密密钥能够从解密密钥中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 RSA 算法 实现 数字签名 毕业论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。