资源描述:
《JAVA3010基于Misty1算法的加密软件(JAVA)的实现2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、摘要随着计算机网络及通信技术的E速发展,信息安全成了信息社会急需解决的最重要的问题之一,密码技术是保证信息安全的核心技术。本文用JAVA语言开发了一个基于Misty1算法的加密软件,该软件能对文件进行加密和解密。在具体实现时,首先分析了Mistyl算法的基本结构,设计岀相应的实施方法,正确实现了该算法,其次,设计了一个图形用户界面,最后对软件进行了测试,验证了实现方法的正确性。关键词:Mistyl;Java;加密;解密论文总页数:24页1引言错误!未定义书签。1.1课题背景错误!未定义书签。1.2国内外研究现状错误!未定义书签。1.3本课题研究的意义错误!未定义书签。
2、1.4本课题的研究方法错误!未定义书签。2MISTY1算法描述错误!未定义书签。2.1秘钥产生部分错误!未定义书签。2.2数据随机化部分错误!未定义书签。2.3函数描述12.3.1FI函数12.3.2F0函数12.3.3FL函数错误!未定义书签。2.3.4F—函数错误!未定义书签。3MISTY1加密软件的设计与实现错误!未定义书签。3.1工作环境介绍错误!未定义书签。3.2JAVA及程序编辑工具介绍错误!未定义书签。3.2.1Java介绍错误!未定义书签。3.2.2程序编辑工具介绍错误!未定义书签。3.3MISTY1算法应用于文件加密的分析错误!未定义书签。3.4MI
3、STY1算法的实现错误!未定义书签。3.4.1加密错误!未定义书签。3.4.2解密错误!未定义书签。3.5设计流程图、图形界面及事件处理73.5.1加密/解密流程图73.5.2图形界面73.5.3处理按钮事件94程序演示104.1程序演示104.2结果及存在的问题错误!未定义书签。结论错误!未定义书签。参考文献错误!未定义书签。致谢错误!未定义书签。错误!未定义书签。1.1函数描述2.3.1FI函数FI函数将16位输入分为两部分L。和R。(图2-2)2.3.2F0函数F0函数将32位的输入X32分为两个16位的L。和R。(图2-3)XgK(>il—KIi3I
4、图2-3
5、FO函数图3-1程序编辑工具UltraEditDos命令命令:javacMisty1.java工
6、浏览(§)在命令中插入表示在命令行自动插入活动的文件名。工作目录:C:Documentsand5ettingsAdministratcv浏览(创邑显示DOS窗口凶确定9)取消©帮助(出图3-2好用的功能图3-3DOS命令执行后界闻IPgC64图3-1加密叫亠才5“KqT卫FL1
7、eK」!publicvoidDecrypt(charctext[],cherruserkey[],charptext[]){longLO,LI,L2,L3,L4,L5,L6,L7,L8,L9,
8、longRO,Rl,R2,R3,R4,R5,R6,R7,R8,R9;KeySchedule(userkey);//反顺序轮冋,解密L9=(((long)ctext[0])<<24)+(((long)ctext[1])«16)+(((long)ctext[2])«8)+((long)ctext[3]);R9=(((long)ctext[4])«24)+(((long)ctext[5])«16)+(((long)ctext[6])«8)+((long)ctext[7]);R8=FLINV(L9,KL[9]);L8=FO(R&2&21)^FLINV(R9,KL[8]);R7
9、=L8;L7=FO(R7,24,18厂R8;R6=FLINV(L7,KL[7]);L6=F0(R6,20,15厂FLINV(R7,KL[6]);R5=L6;L5=F0(R5,16,12厂R6;R4=FLINV(L5,KL[5]);L4=F0(R4,12,9厂FLINV(R5,KL[4]);R3=L4;L3二F0(R3,&6厂R4;R2=FLINV(L3,KL[3]);L2=F0(R2,4,3厂FLINV(R3,KL[2]);R1=L2;L1=FO(R1,0,0厂R2;RO=FLINV(L1,KL[1]);LO=FLINV(R1,KL[0]);〃最后一轮ptext[0]
10、=(char)((L0»24)&0XFF);ptext[l]=(char)((L0»16)&0XFF);ptext[2]=(char)((L0»8)&0XFF);ptext[3]=(char)(L0&0XFF);ptext[4]=(char)((R0»24)&0XFF);ptext[5]=(char)((R0»16)&0XFF);ptext[6]=(char)((R0»8)&0XFF);ptext[7]=(char)(RO&OXFF);1.2设计流程图、图形界面及事件处理3.5.1加密/解密流程图在相应文木框中输入明文/密文输入密钥点击“加密”/“加