欢迎来到天天文库
浏览记录
ID:18486794
大小:447.50 KB
页数:11页
时间:2018-09-18
《rsa加密算法学年论文new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、****大学****级网络安全概论学年论文(设计)1 引言1.1 性质网络安全概论是网络工程专业的主要专业基础课。网络安全在信息安全中越来越重要,了解和掌握网络安全知识对于网络工程专业的学生来说至关重要。本课程使学生掌握网络安全的基本概念、基本原理、网络安全实现方法和实现技术,具有初步分析和配置安全网络的能力,训练分析和解决实际问题能力,为其今后在相关领域开展工作打下坚实的基础。1.2 教学目的本科程通过具体设计数字签名算法,应使学生加深对加密和数字签名的工作原理和实现方法的理解,系统科学地受到分析问题和解决问题的训练,提高运用理论知识解决实际问题
2、的能力。为学生从事科学研究和独立负担计算机及其应用方面的工作打好扎实的基础。1.3 任务和要求此系统模拟RSA数字签名算法,主要实现对字符串和文件的加密和签名。模拟RSA算法主要分四个模块:RSA算法的参数选择;用MD5算法得到给定电子文档的信息摘要;将信息摘要变换为大整数形式,并在其上使用RSA数字签名体制进行签名,得到电子文档的数字签名;根据给定的电子文档及其数字签名,判断电子文档的完整性和真实性。1.4 意义通过本模拟系统的设计,可以加深学生对数字签名算法原理的理解,明白数字签名的过程和算法具体实现,提高学生的动手能力。1.5 论文结构安排第2
3、章为系统分析与设计,写出系统要求,分析出包含哪些功能模块、每个模块的计划采用的实现方法和原理。第3章为系统实现,写出主要模块的实现,包括全局变量说明和主要功能的实现流程。第4章为结束语,总结课程设计的体会。2 系统分析与设计11****大学****级网络安全概论学年论文(设计)2.1 RSA算法的参数选择RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数(大于100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。密钥对的产生。选择两个大素数,p和q。计算:n=p*q然后随机选择加密密钥e(最常用的e值有3,
4、17和65537,采用3个中的任何一个都不存在安全问题),要求e和(p-1)*(q-1)互质。最后,利用Euclid算法计算解密密钥d,满足:e*d=1(mod(p-1)*(q-1)) 其中n和d也要互质。公钥KU=(e,n),私钥KR=(d,n)。两个素数p和q不再需要,应该丢弃,不要让任何人知道。加密信息m(二进制表示)时,首先把m分成等长数据块m1,m2,...,mi,块长s,其中2^s<=n,s尽可能的大。对应的密文是:ci=mi^e(modn)(a)解密时作如下计算:mi=ci^d(modn)(b) .NET提供常用的加密算法类,支持R
5、SA的类是RSACryptoServiceProvider(命名空间:System.Security.Cryptography),但只支持公钥加密,私钥解密。RSACryptoServiceProvider类包括:Modulus、Exponent、P、Q、DP、DQ、InverseQ、D等8个属性,其中Modulus和Exponent就是公钥,Modulus和D就是私钥,RSACryptoServiceProvider类提供导出公钥的方法,也提供导出私钥的方法,但导出的私钥包含上面8个属性,显然要用RSACryptoServiceProvider实现
6、私钥加密公钥是不可行的。 从RSA的原理来看,公钥加密私钥解密和私钥加密公钥解密应该是等价的,在某些情况下,比如共享软件加密,我们需要用私钥加密注册码或注册文件,发给用户,用户用公钥解密注册码或注册文件进行合法性验证。2.2 得到信息摘要用MD5算法等到给定电子文档的信息摘要。MD5即Message-DigestAlgorithm5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。MD5算法将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身
7、有MD2、MD3和MD4。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。11****大学****级网络安全概论学年论文(设计) 本设计利用.Net自带的MD5算法,获得电子文档的信息摘要,以备下一步使用。2.3 进行数字签名将信息摘要变换为大整数形式,并在其上使用RSA数字签名体制进行签名,得到电子文档的数字签名。首先,将得到的信息摘要变换为大整数形式。具体为对摘要的每一位进行转换。然后,用加密函数进行加密。2.4 完整性验证根据给定的电子文档及其数字签
8、名,判断电子文档的完整性和真实性。首先,对电子文档进行解密,得到其摘要值,与给定的摘要值进行比较,若一致则文
此文档下载收益归作者所有