您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > RSA数字签名算法的模拟实现
河北大学2010级网络安全概论学年论文(课程设计)RSA数字签名算法的模拟实现摘要本程序为简易版RSA算法加密解密过程的模拟实现。程序分为加密和验证两部分。根据课上所学的MD5加密过程,以及RSA算法,本程序采用MD5算法,先对文件内容进行加密,得到文字摘要;再利用RSA算法的私钥,对文字摘要进行加密,得到数字签名。在验证部分,用RSA公钥对数字证书签名解密,得到文字摘要S1,再将需要验证的文档用公用的MD5算法处理,得到文字摘要S2,检验文字摘要S1与S2的一致性,从而断定原文是否被篡改。程序采用树形图对文件进行直观的显示管理。采用文本文档存储数字签名。关键词:RSAMD5文字摘要数字签名河北大学2010级网络安全概论学年论文(课程设计)AbstractThisprogramissimpleversionoftheRSAalgorithmencryptionanddecryptionprocesssimulation.Theproceduresaredividedintotwoparts,encryptionandauthentication.LessonslearnedbasedontheMD5encryptionprocess,aswellasRSAalgorithm,theproceduresusedMD5algorithm,firstpairscontentsofthefilecarryonencrypt,toobtaintextabstract;re-useRSAalgorithm'sprivatekey,encryptionfortextabstract,obtainthedigitalsignature.Intheverificationpart,withtheRSAalgorithm'spublickeypairsofdigitalcertificatesignaturedecryption,gettextabstractS1,andthenusingapublicMD5algorithmencryptionthedocumentwhichneedtobeverify,toobtaintextabstractS2,texttheconsistencyofS1andS2,therebyconcludethatoriginaltextwhetherthebeentamperedwith.Programusesthefiletreeintuitivelydisplaymanagementthefiles.Adopttextdocumentstoragedigitalsignatures.Keywords:RSAMD5TextabstractDigitalsignature河北大学2010级网络安全概论学年论文(课程设计)目录一引言........................................................................................11.1理论背景........................................................................................11.2教学目的........................................................................................11.3任务和要求....................................................................................11.4意义.................................................................................................11.5论文结构安排................................................................................1二问题分析................................................................................22.1程序要求........................................................................................22.2实验原理........................................................................................22.2.1MD5.......................................................................................22.2.2RSA算法...............................................................................2三实验设计................................................................................33.1设计流程图....................................................................................33.2关键问题及算法设计....................................................................33.2.1素数判定...............................................................................33.2.2互质的判断...........................................................................33.2.3乘法逆元求解.......................................................................43.2.4快速幂模算法.......................................................................43.2.5文字摘要生成.......................................................................53.2.6文字摘要加密.......................................................................5河北大学2010级网络安全概论学年论文(课程设计)3.3数据处理........................................................................................63.3.1树形图显示...........................................................................63.3.2文件存取...............................................................................6四实验实现................................................................................74.1整体界面如下设计:....................................................................74.2文件操作........................................................................................84.3加密区.............................................................................................8五结束语..................................................................................15六源代码..................................................................................16河北大学2010级网络安全概论学年论文(课程设计)1一引言1.1理论背景RSA公钥加密算法是1977年由RonRivest、AdiShamirh和LeonardAdleman开发的,是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有的密码攻击,已被ISO推荐为公钥数据加密标准。RSA是第一个能同时用于加密和数字签名的算法,采用公开密钥密码体制,即使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。通常RSA先生成一对密钥,其中之一是保密的,由用户保存;另一个为公开密钥,可对外公开,甚至可以在网络服务器中注册,人们用公钥加密文件发送给个人,个人就可以用私钥解密接受。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。1.2教学目的通过模拟RSA数字签名算法,了解RSA数字签名体制原理,掌握一般数字签名算法的工作过程。1.3任务和要求1、实现RSA算法的参数选择;2、用MD5算法得到给定电子文档的信息摘要;3、将信息摘要变换为大整数形式,并在其上使用RSA数字签名体制进行签名,得到电子文档的数字签名;4、给定电子文档及其数字签名,判断电子文档的完整性和真实性。1.4意义通过模拟RSA数字签名算法,了解RSA算法的加密解密原理和过程,提升学生分析实际问题的能力以及动手能力,为今后在相关领域开展工作打下基础。1.5论文结构安排第一章、引言,说明课程设计理论背景、目的、要求和意义以及论文结构安排。第二章、问题分析,写出程序要求和主要算法原理。第三章、实验设计,包括流程图和各个功能的原理和代码实现。第四章、实验实现和成员分工,结合截图说明各个部件的功能以及小组成员分工。第五章、结束语,总结课程设计的体会。河北大学2010级网络安全概论学年论文(课程设计)2二问题分析2.1程序要求模拟实现RSA数字签名的加密、解密和验证过程。2.2实验原理2.2.1MD5MD5即Message-DigestAlgorithm5(信息摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一,又译摘要算法、哈希算法。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理。MD5在本程序中起到的作用是让大容量信息在用数字签名签署私人密钥前,被“压缩”成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串。MD5以512位分组处理输入的信息,且每一分组又被划分为16个32为子分组,经过一系列的处理后,算法的输入由32位分组组成,将这四个32位分组级联后将生成一个128位散列值。此处我们称这个128位的散列值为文件摘要。对于原始文件的大量信息进行整合,所得到文件摘要与原文保持一致性,且具有唯一性,为证明文件是否在传输过程中被篡改,提供了可靠的
本文标题:RSA数字签名算法的模拟实现
链接地址:https://www.777doc.com/doc-7376266 .html