ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:276.04KB ,
资源ID:2298809      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2298809.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Misty1算法的加密软件JAVA的实现JAVA毕业设计论文.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Misty1算法的加密软件JAVA的实现JAVA毕业设计论文.docx

1、基于Misty1算法的加密软件JAVA的实现JAVA毕业设计论文学位论文基于Misty1算法的加密软件(Java)的实现论文作者姓名:XXX 申请学位专业: 申请学位类别: 论文提交日期:XXXX年XX月XX日 基于Misty1算法的加密软件(Java)的实现摘 要随着计算机网络及通信技术的飞速发展,信息安全成了信息社会急需解决的最重要的问题之一,密码技术是保证信息安全的核心技术。本文用JAVA语言开发了一个基于Misty1算法的加密软件,该软件能对文件进行加密和解密。在具体实现时,首先分析了Misty1算法的基本结构,设计出相应的实施方法,正确实现了该算法,其次,设计了一个图形用户界面,最后

2、对软件进行了测试,验证了实现方法的正确性。关键词:Misty1;Java;加密;解密The Implementation of Encryption Software (Java) Based on Misty1 Algorithm AbstractWith the rapid development of computer networks technology and communication technology, Information security has become one of the most important problems urgent to resolve i

3、n information society, Cryptographic technology is the core technology to guarantee information security. In this paper, the software of encryption based on Misty1 algorithm is developed by using JAVA language. It can encrypt and decrypt a file. During the process of implementation, the basic struct

4、ure of the algorithm is analyzed first and the counterpart method is designed, secondly, a GUI is designed, finally, the software is tested, the result shows that method of implementation is right.Key words: Misty1; Java ; Encryption; Decrypt论文总页数:24页1引言1.1 课题背景现代密码学是一门迅速发展的应用科学。随着因特网的迅速普及,人们依靠它传送大量

5、的信息,但是这些信息在网络上的传输都是公开的。因此,对于关系到个人利益的信息必须经过加密之后才可以在网上传送,这将离不开现代密码技术。Misty1算法是在1996年公布的,它是一个分组密码算法,密钥长度是128位,明文长度是64位。它是由在三菱工作的Eisaku Takeda 提交给NESSIE。MISTY1可以在资源紧张的环境下实现。整个算法是由递归等组成,每一个层次的结构又一稳妥的Feistel结构。MISTY1是一迭代密码可以迭代超过8轮,或者更普遍,迭代4回。它用128位密钥对64位数据进行不确定轮回的加密。它采用了两个S -盒,一个7 7 S-盒,s7 ,一个9 9 S-盒,s9。它

6、取得了良好的良好的阻力线和鉴别攻击,而且还使能实行以相对较少的逻辑组件中执行函数的程度相对较低。1.2国内外研究现状随着我国对计算机的普及,计算机和通信技术已经在我国得到了广泛发展及应用,从而使我们对信息的安全存储、安全处理和安全传输的需要越来越迫切。特别在Internet的应用中,以及个人通信、个人电子身份证、办公自动化,电子邮件、电子自动转帐支付系统和自动零售业务网的建立与实现,信息的安全保护问题已经显得十分突出,而能够解决这一问题的一个有效手段就是使用现代密码技术。美国早在1977年就制定了本国的数据加密标准,即DES。随着DES的出现,人们对分组密码展开了深入的研究和讨论,已有大量的分

7、组密码,如DES的各种变形、IDEA算法、SAFER系列算法、RC系列算法、Skipjack算法、FEAL系列算法、REDOC系列算法、CAST系列算法Khufu, KhafreMMB, 3-WAY, TEA, Blowfish,GOST,SQUARE,MISTY,Rijndael算法和AES15种候选算法(第一轮),另有NESSIE17种候选算法(第一轮)等。目前分组密码所采用的整体结构可分为Feistel结构(例如CAST256、DEAL、DFC、E2等)、SP网络(例如Safer+、Serpent等)及其他密码结构(例如Frog和HPC)。加解密相似是Feistel型密码的一个实现优点,

8、但它在密码的扩散似乎有些慢,例如需要两轮才能改变输入的每一个比特。SP的网络结构非常清晰,S一般被称为混淆层,主要起混淆作用。P一般被称为扩散层,主要起扩散作用。在明确S和P的某些密码指标后,设计者能估计SP型密码抵抗差分密码分析和线性密码分析的能力。SP网络和Feistel网络相比,可以得到更快速的扩散,但是SP密码的加/解密通常不相似。目前对分组密码安全的讨论主要包括差分密码分析、线性密码分析和强力攻击等。从理论上讲,差分密码分析和线性密码分析是目前攻击分组密码的最有效的方法,而从实际上说,强力攻击是攻击分组密码最可靠的方法。到目前为止,已有大量文献讨论各种分组密码的安全性,同时推出了譬如

9、截断差分分析、非线性密码分析及插值攻击等多种分析方法。自AES候选算法公布以后,国内外许多专家学者都致力于候选算法的安全分析,预计将会推出一些新的攻击方法,这无疑将进一步推动分组密码的发展。1.3本课题研究的意义标准化是工业社会的一个基本概念,它意味着生产规模化、降低成本、方便维修和更换为了实现非相关团体之间的保密通信,加密体制的标准化是必要的。分组密码由于其固有特点,已经成为标准化进程的首选体制。信息安全的最大特点之一是自主性,因而其核心技术密码学的研究与开发应当是一种本土性的科学。对于有些产品,可以通过外方引进来解决由于技术落后而带来的问题。然而对于安全产品,除非能完全确信它在硬件和软件上

10、没有陷门,否则,贸然使用可能带来不可预测的后果。而要做到软硬件上的确认通常是十分困难的。因此,最明智的方法是依靠自己的力量并汲取现有的先进经验进行研究、设计和开发。为了维护通信安全、打击犯罪,1993年4月,美国政府宣布了一项新的建议,该建议倡导联邦政府和工业界使用新的具有密钥托管功能的联邦加密标准。该建议称为托管加密标准(escrowed encrytion standard,EES),又称C1ipper建议。其目的是为用户提供更好的安全通信方式,同时允许政府机构在必要情况下进行监听。EES系统中嵌入了分组加密算法Sk -ipjack,尽管目前对该系统和算法有许多争议,但从维护国家通信安全的

11、角度,这项建议是有积极意义的。在区域通信系统中,用户较多,他们的地位、作用都不相同,所流通的信息的重要性也不可能完全相同,因此他们要求得到的安全保护等级也不应该相同。由此可见,研究多安全级密码算法非常必要。迭代分组密码(所谓选代分组密码就是以迭代一个简单的轮函数为基础的密码,即通过选择某个较简单的密码变换,在密钥控制下以迭代方式多次利用它进行加密变换,例如Feistel型密码就是一种选代密码,是分组密码的典型代表,其数学思想简单而灵巧。特别是在相同的轮函数之下,迭代次数的不同即代表了安全强度的不同级别。在InternetIntranet中随着通信量和业务种类的增加,对安全认证和保密业务的需求日

12、益迫切。比如,PGP(Pretty Good Privacy)就是一种广泛应用于Internet中E-mail系统的一种安全技术方案,它也可以用于其他网络中。PGP的安全业务包括机密性、认证性、不可抵赖性等,其中的机密性就是利用分组密码算法IDEA来保证的。另外,分组密码的工作模式可提供一些人们所需要的其他密码技术,比如流密码技术和杂凑技术等。1.4本课题的研究方法研究相关资料,理解Misty1算法的原理,并参考学习使用其他编程语言编写的基于此算法的加密软件的代码。深入学习Java编程语言,熟悉其编写程序的流程。然后尝试用Java来实现Misty1算法,能对数据进行加密和解密。对程序进行测试,

13、对测试结果进行分析研究,进而对程序进行改进,对关键算法代码进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对文件进行MISTY1加密并可解密的完整应用程序。2Misty1算法描述MISTY1算法是用128位密钥对64位数据进行不确定轮回的加密。它在设计时就采用了经证实可以抵抗密码微分分析和线形分析的安全理论,而且它实现了在硬件环境和软件环境下都比较高的加密速度。算法可以分为两部分,一部分是密钥的产生部分,另一部分是数据随机化部分。密钥产生部分根据128位的输入密钥,产生128位的扩展密钥。数据随机化部分输入64位的数据进行混合,也就是所谓的加密。2.1秘钥产生部分K为输入密钥

14、,K为扩展密钥,K和K都是128位,扩展密钥是由函数FI从K,1,. K,8中产生,并存储在K,9,., K,16中。Ki代表K的一个元素,1i8,每个的长度为16位;然后Ki被认为作输入到FI,Ki+1作为FI模的密钥。FI模的输出是16位的K,i, 1i8,K9=K1(图2-1)图2-1 密钥产生K=K1K2K3K4K5K6K7K8for i=1 to 8 doK,i=FI(Ki,Ki+1)K,= K,1K,2K,3K,4K,5K,6K,7K,82.2数据随机化部分数据随机化部分使用了两种函数,FO和FL,函数FO调用函数FI。密钥扩展部分也使用函数FI。FI函数使用两个S盒,S7和S9。

15、2.3函数描述2.3.1FI函数FI函数将16位输入分为两部分L0和R0(图2-2)图2-2 FI函数FI的输入为:X16= L0R0KIij=KIijLKIijRFI则定义为:R1=S9L0(00bR0)L1=R0R2=S7L1 (truncate(R1)KIijLR3=S9L2 (00bR2)L3=R2Y16=L3R3FI函数程序代码:public int FI(int x,int KI)/FI函数 int L1,L2,L3,R1,R2,R3; R1=S9(x7)&0x1FF)(x&0x007F); L1=x&0x7F; R2=S7L1(R1&0x7F)(KI9)&0x7F); L2=R1(KI&0x1FF); R3=S9L2R2; L3=R2; return (L39)|R3; 2.3.2FO函数FO函数将32位的输入X32分为两个16位的L0和R0(图2-3)图2-3 FO函数FO的输入为:X32=L0R0KOi= KOi1KOi2KOi3KOi4KIi= KIi1KIi2KIi3FO的功能能表现为:for i=1 to 3 do:Rj=FI(Lj-1KOij,KIij) Rj-1Lj=Rj-1Y32=(L3KOi4)R3

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1