信息安全实验报告.pptx叫我小老虎
姓名:
学号: 班级:
教师:卫琳娜
2018-11-15
0
0
实验 1: 密码学实验
实验目的:
编程实现简单古典密码算法,加深对古典密码的理解 掌握简单加解密算法设计原则
实验内容:
1. 编程实现凯撒密码,输入任意明文(26 个英文字母中的任意一个,不区分大小写),观 察明文密文关系。
程序代码:
#include <> #include <>
int main()
{
char passwd[100],encrypted[100]; int i,k=3;
printf("请输入明文:"); gets(passwd);
for(i=0; i<strlen(passwd); i++)
{
if(passwd[i] >= 'A' && passwd[i] <= 'Z')
{
passwd[i] = ((passwd[i]-'A')+k) 26+'A';
}
else if(passwd[i] >= 'a' && passwd[i] <= 'z')
{
passwd[i] = ((passwd[i]-'a')+k) 26+'a';
}
else passwd[i]=' ';
}
printf("密文为: s\n",passwd); return 0;
}
运行结果:
2. 编程实现单表代换密码,输入任意明文(26 个英文字母中的任意一个,不区分大小写), 观察明文密文关系。
程 序 代 码 : #include <>
1
1
#include <>
int main()
{
char passwd[100],encrypted[100]; int i,k;
printf("请输入明文:"); gets(passwd);
printf("请输入移动的值(1-25):"); scanf(" d",&k);
for(i=0; i<strlen(passwd); i++)
{
if(passwd[i] >= 'A' && passwd[i] <= 'Z')
{
passwd[i] = ((passwd[i]-'A')+k) 26+'A';
}
else if(passwd[i] >= 'a' && passwd[i] <= 'z')
{
passwd[i] = ((passwd[i]-'a')+k) 26+'a';
}
else passwd[i]=' ';
}
printf("密文为: s\n",passwd); return 0;
}
运行结果:
3. 自行设计并实现一种简单密码,输入任意明文字符串,输出密文。输入秘钥和密文字符 串,输出明文。
程 序 代 码 : #include <> #include <>
#include <>
void jiami(char *passwd1)
{
int i,k;
2
2
printf("请输入移动的值(1-25):"); scanf(" d",&k);
for(i=0; i<strlen(passwd1); i++)
{
if(passwd1[i] >= 'A' && passwd1[i] <= 'Z')
{
passwd1[i] = ((passwd1[i])-'A'+k) 26+'A';
}
else if(passwd1[i] >= 'a' && passwd1[i] <= 'z')
{
passwd1[i] = ((passwd1[i])-'a'+k) 26+'a';
}
else passwd1[i]=' ';
}
printf("密文为: s\n",passwd1);
}
void jiemi(char *passwd)
{
int i,k;
printf("请输入秘钥(1-25):"); scanf(" d",&k);
for(i=0; i<strlen(passwd); i++)
{
if(passwd[i] >= 'A' && passwd[i] <= 'Z')
{
passwd[i] = (passwd[i]-'A'-k+26) 26+'A';
}
else if(passwd[i] >= 'a' && passwd[i] <= 'z')
{
passwd[i] = (passwd[i]-'a'-k+26) 26+'a';
}
else passwd[i]=' ';
}
printf("明文为: s\n",passwd);
}
int main()
{
char passwd[100]
信息安全实验报告 来自淘豆网m.daumloan.com转载请标明出处.