本科优秀毕业论文(设计)81795new

本科优秀毕业论文(设计)81795new

ID:34595251

大小:120.22 KB

页数:3页

时间:2019-03-08

本科优秀毕业论文(设计)81795new_第1页
本科优秀毕业论文(设计)81795new_第2页
本科优秀毕业论文(设计)81795new_第3页
资源描述:

《本科优秀毕业论文(设计)81795new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、上海理工大学计算机工程学院本科优秀毕业论文(设计)具有数字签名的文件加密软件的设计与实现计算机科学与技术02级张玥指导教师:陈家琪教授(一)内容简介随着网络技术的迅猛发展,人类步入了信息时代。然而,信息资源共享与信息安全天生是一对矛盾。加密在网络上的作用就是防止有用或私有化信息在网络上被拦截和窃取。开发此软件,其意义就是利用密码技术实现信息安全的机密性、完整性、抗否认性。关键词:加密、信息安全(二)设计思想在讨论了对称密码算法和非对称密码技术的特点后,选择了DES算法、RSA算法及RSA数字签名算法作为本软件采用的密码算法。目前,国际上分组密码中最具代

2、表的是美国数据加密标准(DES)。DES是一个分组乘积加密算法,它用56位密钥将64位的明文转换为64位的密文,其中密钥可以是任意的数,通常表示为64位,但每个字节的第8位作为奇偶校验位。同时,又是一个对称算法,其加密和解密使用同样的算法。它的特点在于算法实现后的效率高、速度快。但由于加解密双方都要使用相同的密钥,因此在网络安全中,发送、接收数据之前,必须完成密钥的分发。因而,密钥的分发便成了该加密体系中的最薄弱因而风险最大的环节。RSA体制是基于大整数因式分解的典型公钥密码算法。其关键之处在于将大数分解为素数乘积。RSA算法把每一块明文转化为与密钥长

3、度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑。它的缺点在于算法实现后的效率低、速度慢。优点在于用户不必记忆大量的提前商定好的密钥,因为发送方和接收方事先根本不必商定密钥,发放方只要可以得到可靠的接收方的公开密钥就可以给他发送信息了,而且即使双方根本互不相识。但为了保证可靠性,非对称加密算法需要一种与之相配合使用的公开密钥管理机制。上海理工大学计算机工程学院第1页共3页本科优秀毕业论文(设计)上海理工大学计算机工程学院张玥具有数字签名的文件加密软件的设计与实现由于这两种算法的特点,在软件实现时,结合了这两种

4、算法来实现功能。此软件加密解密速度快是因为对数据量大的明文采用DES算法来加密解密的,而只有对签名信息和DES算法的密钥K这样的数据量的信息才采用RSA算法。所以结合算法的速度接近DES算法。(三)计算方式DES对64位的明文分组进行操作,通过一个初始置换,将明文分组成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密钥结合。经过16轮后,左、右半部分合在一起经过一个末置换(初始置换的逆置换),完成算法。在每一轮中,密钥位移位,然后再从密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成

5、48位,并通过一个异或操作与48位密钥结合,通过8个s盒将这48位替代成新的32位数据,再将其置换一次。这些运算构成了函数f。然后,通过另一个异或运算,函数f输出与左半部分结合,其结果即成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次,实现DES的16轮运算。RSA算法使用两个密钥。用公钥加密,私钥解密。密钥长度从40到2048bit可变。加密时把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位

6、是较合适的。RSA密钥的产生(1)选择两个互异的安全大素数P和q。为了获得最大程度的安全性,两个素数的长度通常一样。计算出n=pXq(n的长度要求大于512bit,因为RSA算法的安全性依赖于因子分解大数问题);(2)计算出n的欧拉函数中(n)=(P一1)(q一1),中(n)定义为不超过n并与n互素的数的个数.(3)从【0,中(n)一1】中随机选取加密密钥e,使e和中(n)互质:(利用Euclid算法计算解密密钥d,满足de=1(mod中(n))。其中n和d互质。数e和n是公钥,d是私钥。加密与解密加密信息m(二进制表示),把m视为一长整数.若m大于n

7、,则首先把m分成等长数据块(m,m,,m.⋯),块长S位(bit)(在满足2s<=n的条件下,S应尽可能大)。然后进行分块编码。分块加密时,m.对应的密文是:C=m.e(modn);分块解密时,C对应的明文是:m.=c.d(modn)。RSA数字签名算法的过程为:A对明文m用解密变换作:sºDk(m)=mdmodn,其中d,n为A的私人密钥,只有A才知道它;B收到A的签名后,用A的公钥和加密变换得到明文,因:Ek(s)=Ek(Dk(m))=(md)emodn,又deº1modj(n)即de=lj(n)+1,根据欧拉定理mj(n)=1modn,所以Ek(

8、s)=mlj(n)+1=[mj(n)]em=mmodn。若明文m和签名s一起送给用户B,B可以

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

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

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