欢迎来到天天文库
浏览记录
ID:23745720
大小:504.49 KB
页数:23页
时间:2018-11-10
《网络安全防御技术实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、姓名:学号:班缀:指导老师:实验地点:实验时间:秦映林0903070103信息0701班杨振宇综合实验楼姓名:学号:班缀:指导老师:实验地点:实验时间:秦映林0903070103信息0701班杨振宇综合实验楼2010年11月实验一:只使用XOR的加密及其分析实验要求:编写程序分别实现如下功能:a)用户输入明文PlainText和密钥Key(都可以从文件读取),用分组异或XOR生成相应密文,并输出到文件(“学号#l.dat“)。b)获得(交换)其他同学的密文文件(“学号#l.dat“),在明文、密钥(甚至”密钥长度”)未知的情况下,用穷举法
2、获得明文和密钥。c)改进加密算法以提高安全性。(自己发挥)实验过程:设计上要注意两点的内容,第一是对不同长度的密钥处理,以得到最后相同长度的最终密钥,第二是对明文的分组处理,并且在特定情况下要进行补白.鉴于本次实验的目的是了解分组异或的原理及简单实现,因此这里避开特殊的繁琐之处,对密钥的要求不高,只需要8个比特位的密钥.如此没计是为了不管用户输入多长的密钥,都能很方便得得到最后的八位密钥.另外,由于密钥是8位,因此降低了分组难度.相当于明文中每8个比特位为一组,这样只需将明文与密钥进行简单的异或.对用户输入的常见字符进行处理,得到密钥,再
3、由密钥对明文加密,整体逻辑简单,编程容易.这里用C语言来实现.#include#include#includetypedefunsignedcharUC;//得到八位密钥UCgetKey(constchar*k){UCans=0;inti=0;while(k[i]){ansA=(UC)k[i++];}returnans;}char*work_code(constchar*t,constchar*k){intlent=strlen(t),lenk=strlen(k),i=0;char
4、*v=(char*)malloc(sizeof(char)*lent);UCkey=getKey(k);while(t[i]){v[i]=keyAt[i++];}v[i]=0;returnv;voidwork_encode(constchar*v,constchar*k){inti=0;UCkey=getKey(k);while(v[i]){printf("%cn,keyAv[i++]);}intmain(void){freopen("in.txt","r",stdin);freopen("out.txt","wn,stdout);cha
5、rt[1000],k[1000];while(scanf("%s%sM,t,k)!=EOF){char*v=work_code(t,k);printf(n%sH,v);//work_encode(v,k);return0;实验结果:加密前:Cout.txt-记事本文件CE)编辑氓)格式(Q)查看(y)帮助Qi)p4s4u63f1g02054gyu9p5fj95p9r6qr8xpi98x98ru1am781e6n9rtwljo15t2z9nyt5lu7u7n87y55189xu791i2du4ulbSg9xnsqShefg225t910
6、x0525q9sa1cw6995f3d15kyoi78n7583n2hj58079t4eg72pe49q4pdbi44l227s8g85k7s91b2l50eOx7ns3cc52tU89h9b22le8193466y7uu9kyxrdp2ks94831M4eouSc27uynx4q2062q9e46u48yjcn528p2fWd4z1lhcu0d9xwa7laO1qy9axx3d5025o9d481b15qtuj50j4f7phaka3lw19mui4ucg6btnxy01ru6592ht7j34ar6n471488d59217w6747
7、78dzp3g2pqwo93gk9c3ky95c38cyn3n9uu4enk1ns8nzukg10hu96j22o9faweq7c4094yu6r8ax285duf831r3uz195d21834pzh8e916s745uu3u7jtci94z4cybuaz166898kzwffuae62s0c34q517u7drnyk1pnb21ojaja0g3k330xj3on3q953b6j8h71e589191gun47eat1h6odsd267dug3a04f64O4zy734u0512z14oh76t10wxywog1251s9092lj48
8、17d0^eOib4i8n5d0bw1o7ur10271x2366okcn4wyhx7xtj79djlyU9r45j1au6iuxd84k5<:3e7i499h9u52537a6278e366
此文档下载收益归作者所有