基于Misty1算法的加密软件(Java)的实现
摘 要
随着计算机网络及通信技术的飞速发展,信息安全成了信息社会急需解决的最重要的问题之一,密码技术是保证信息安全的核心技术。本文用JAVA语言开发了一个基于Misty1算法的加密软件,该软件能对文件进行加密和解密。在具体实现时,首先分析了Misty1算法的基本结构,设计出相应的实施方法,正确实现了该算法,其次,设计了一个图形用户界面,最后对软件进行了测试,验证了实现方法的正确性。
关键词:Misty1;Java;加密;解密
The Implementation of Encryption Software (Java) Based on Misty1 Algorithm
Abstract
With the rapid development of computer networks technology and communication technology, Information security has become one of the most important problems urgent to resolve in 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 structure 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.1 课题背景 1
1.2 国内外研究现状 1http://www.16sheji8.cn/
1.3 本课题研究的意义 2
1.4 本课题的研究方法 3
2 MISTY1算法描述 3
2.1 秘钥产生部分 3
2.2 数据随机化部分 4
2.3 函数描述 4
2.3.1 FI函数 4
2.3.2 FO函数 5
2.3.3 FL函数 7
2.3.4 FL-1函数 8
3 MISTY1加密软件的设计与实现 9
3.1 工作环境介绍 9
3.2 JAVA及程序编辑工具介绍 9
3.2.1 Java介绍 9
3.2.2 程序编辑工具介绍 10
3.3 MISTY1算法应用于文件加密的分析 12
3.4 MISTY1算法的实现 13
3.4.1 加密 13
3.4.2 解密 15
3.5 设计流程图、图形界面及事件处理 18
3.5.1 加密/解密流程图 18
3.5.2 图形界面 18
3.5.3 处理按钮事件 20
4 程序演示 21
4.1 程序演示 21
4.2 结果及存在的问题 21
结 论 22
参考文献 22http://www.16sheji8.cn/
致 谢 23
声 明 24
1 引言
1.1 课题背景
现代密码学是一门迅速发展的应用科学。随着因特网的迅速普及,人们依靠它传送大量的信息,但是这些信息在网络上的传输都是公开的。因此,对于关系到个人利益的信息必须经过加密之后才可以在网上传送,这将离不开现代密码技术。http://www.16sheji8.cn/
Misty1算法是在1996年公布的,它是一个分组密码算法,密钥长度是128位,明文长度是64位。它是由在三菱工作的Eisaku Takeda 提交给NESSIE。MISTY1可以在资源紧张的环境下实现。整个算法是由递归等组成,每一个层次的结构又一稳妥的Feistel结构。MISTY1是一迭代密码可以迭代超过8轮,或者更普遍,迭代4回。它用128位密钥对64位数据进行不确定轮回的加密。它采用了两个S -盒,一个7 × 7 S-盒,s7 ,一个9 × 9 S-盒,s9。它取得了良好的良好的阻力线和鉴别攻击,而且还使能实行以相对较少的逻辑组件中执行函数的程度相对较低。
1.2 国内外研究现状
随着我国对计算机的普及,计算机和通信技术已经在我国得到了广泛发展及应用,从而使我们对信息的安全存储、安全处理和安全传输的需要越来越迫切。特别在Internet的应用中,以及个人通信、个人电子身份证、办公自动化,电子邮件、电子自动转帐支付系统和自动零售业务网的建立与实现,信息的安全保护问题已经显得十分突出,而能够解决这一问题的一个有效手段就是使用现代密码技术。
美国早在1977年就制定了本国的数据加密标准,即DES。随着DES的出现,人们对分组密码展开了深入的研究和讨论,已有大量的分组密码,如DES的各种变形、IDEA算法、SAFER系列算法、RC系列算法、Skipjack算法、FEAL系列算法、REDOC系列算法、CAST系列算法Khufu, KhafreMMB, 3-WAY, TEA, Blowfish,GOST,SQUARE,MISTY,Rijndael算法和AES15种候选算法(第一轮),另有NESSIE17种候选算法(第一轮)等。http://www.16sheji8.cn/
目前分组密码所采用的整体结构可分为Feistel结构(例如CAST—256、DEAL、DFC、E2等)、SP网络(例如Safer+、Serpent等)及其他密码结构(例如Frog和HPC)。加解密相似是Feistel型密码的一个实现优点,但它在密码的扩散似乎有些慢,例如需要两轮才能改变输入的每一个比特。SP的网络结构非常清晰,S一般被称为混淆层,主要起混淆作用。P一般被称为扩散层,主要起扩散作用。在明确S和P的某些密码指标后,设计者能估计SP型密码抵抗差分密码分析和线性密码分析的能力。SP网络和Feistel网络相比,可以得到更快速的扩散,但是SP密码的加/解密通常不相似。
目前对分组密码安全的讨论主要包括差分密码分析、线性密码分析和强力攻击等。从理论上讲,差分密码分析和线性密码分析是目前攻击分组密码的最有效的方法,而从实际上说,强力攻击是攻击分组密码最可靠的方法。到目前为止,已有大量文献讨论各种分组密码的安全性,同时推出了譬如截断差分分析、非线性密码分析及插值攻击等多种分析方法。自AES候选算法公布以后,国内外许多专家学者都致力于候选算法的安全分析,预计将会推出一些新的攻击方法,这无疑将进一步推动分组密码的发展。