欢迎来到天天文库
浏览记录
ID:58490052
大小:173.00 KB
页数:8页
时间:2020-05-17
《信息安全-实验一-古典密码算法C语言.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息安全实验报告课程名称:_专业:计算机科学与技术_2010_级_02班实验编号:实验项目_指导教师__姓名:闫斌学号:实验成绩:___实验一古典密码算法实验名称:古典密码算法实验类型:设计性实验学 时:4适用对象:信息安全1.实验原理古典密码算法历史上曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象。2.实验目的通过变成实现替代密码算法和置换密码算法,加
2、深对古典密码体质的了解,为深入学习密码学奠定基础。3.实验环境运行windows或linux操作系统的pc机,具有gcc(linux)、VC(Windows)等C语言编译环境。4.实验内容4.1替代密码算法4.1.1根据实验远离部分对替代密码算法的介绍,创建明文信息,并选择一个密钥k,编写替代密码算法的实现程序,实现加密和解密操作。替代密码包括多种类型,如单表替代密码、多明码替代密码、多字母替代密码、多表替代密码等。4.1.2替代密码算法的远离是使用替代法进行加密,就是将明文的字符用其他字符替代后形成密文。例如字母a、
3、b、c、d,用D、E、F、G做对应替换后形成密文。4.1.3代码#include#include#include#defineN500intmain(){/*--------------------------------*/inti=0,k,m,n,l;charstr1[N],str2[N];/*C=M+K...Kiskey...*/clrscr();/*--------------------------------*/printf("Thisisacodepa
4、sswordprogram......");printf("Pleaseinputproclaimedinwriting(M)::");gets(str1);/*输入要加密的明文M*/printf("Pleaseinputthekey(K)(int)::");scanf("%d",&k);/*输入密钥K*/m=strlen(str1);/*测试明文的长度*/printf("TheMlengthis%d",m);printf("*******");printf("ciphertex
5、t(C)is::");for(i=0;i96&&n<123)/*对小写进行加密*/{n=(n-97+k)%26;if(n<0)n=26+n;l=(char)(n+97);printf("%c",l);str2[i]=l;}elseif(n>64&&n<91)/*对大写进行加密*/
6、{n=(n-65+k)%26;if(n<0)n=26+n;l=(char)(n+97);printf("%c",l);str2[i]=l;}}str2[i]=' ';/*--------------------------------*/printf("TheClengthis%d",strlen(str2));printf("*******");printf("Whentheciphertextis'%s',Thepasswordprogramis...::",str
7、2);m=strlen(str2);for(i=0;i96&&n<123)/*对小写进行解密*/{n=(n-97-k)%26;if(n<0)n=26+n;l=(char)(n+97);printf("%c",l);}elseif(n>64&&n<91)/*对大写进行解密*/{n=(n-65-k)%26;if(n<0)n=2
8、6+n;l=(char)(n+97);printf("%c",l);}}str1[i]=' ';getch();return0;}4.1.4运行结果4.2置换密码4.2.1根据实验原理部分对置换密码算法的介绍,自己创建明文信息,并选择一个密钥,编写置换密码算法的实现程序,实现加密和解密操作。4.2.2置换密码算法的原理是不改变
此文档下载收益归作者所有