欢迎来到天天文库
浏览记录
ID:5874882
大小:128.50 KB
页数:7页
时间:2017-12-27
《西安理工大学实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、成绩西安理工大学实验报告课程:信息安全班级:计升本101学号:2100912011指导老师:吕林涛、王勇超姓名:张亚妮报告退发:日期:2011-12-09至2011-12-16教师审批签字:一、实验题目:置换密码技术实现程序开发二、实验目的通过置换密码算法的实现,进一步掌握置换密码算法的原理,为今后的工程应用打下坚实的基础。三、实验原理置换密码亦称换位密码。置换只不过是一个简单的换位。每个置换都可以用一个置换矩阵来表示。每个置换都有一个与之对应的逆置换。置换密码的特点是仅有一个发送方和接收方知道的加密置换(用于加密)和对应的逆置换(用于解密)。它是对明文长字母组中的字母位
2、置进行重新排列,而每个字母本身并不改变。令明文为。令置换矩阵所决定的置换为,则加密置换解密置换四、实验环境运行windows操作系统的PC机,具有VC、C、VB等语言编译环境。五、实验内容(1)预习准备:实验目的、实验原理;(2)建立置换矩阵模型和明文分段;(3)分别设计置换密码技术加密和解密程序;(4)设计实验过程和环境,例如可以通过电子邮件相互传送;(5)设计实验用的测试用例(加密文件);(6)实验结果分析:分析影响置换密码技术加密体制安全性的因素,其他发现和想到的问题。六、源代码packagePractice1;importjava.util.Arrays;impo
3、rtjava.util.Scanner;publicclassReplaceDemo{ privateStringsourceString="attackbeginsatfive"; privateStringkeyString="cipher"; privateint[]secretMatrix; privatechargroupedSource[][]; privatevoidgetSource(){//GetthesourceString Scannerscan=newScanner(System.in); System.out.print("Pleasei
4、nputthestringwhatyouwanttoencrypt:t"); sourceString=scan.nextLine(); System.out.print("Pleaseinputthekeystringforyou:t"); keyString=scan.next(); } publicReplaceDemo(){//constructorforthisclass getSource(); } privatevoidgroupSourceString(){//makegroupsforsourceStringaccordingbythek
5、eyString intsourceLen=sourceString.length(); intkeyLen=keyString.length(); groupedSource=newchar[sourceLen/keyLen+1][keyLen]; if(sourceLen%keyLen!=0){ for(inti=0;i<(keyLen-sourceLen%keyLen);i++){ sourceString+="#"; } } sourceLen=sourceString.length(); for(inti=6,j=0;i<=sourc
6、eLen;i+=keyLen,j++){ groupedSource[j]=sourceString.substring(i-keyLen,i).toCharArray(); } } privatevoidgetTheMatrix(){//gettheMatrixfortheencrypt char[]temp01=keyString.toCharArray(); secretMatrix=newint[keyString.length()]; Arrays.sort(temp01); for(inti=0;i7、+){ for(intj=0;j
7、+){ for(intj=0;j
此文档下载收益归作者所有