《信息安全》实验报告1 编程实现恺撒密码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信息安全》实验报告(1)
实验名称:________________ 指导教师:___________ 完成日期:
________________ 专 业:________________ 班 级:___________ 姓 名:________________
一、实验目的:
掌握典型的单表代换和多表代换的加密方法的实现细节。
二、实验内容:
1、编程实现凯撒密码的加密和解密。
要求:既可以进行加密转换,也可以进行解
密转换。
程序参考界面如右所示。
可以使用任何编
程工具,能处理英文即可。
2、(选做)编程实现维吉尼亚密码的加密
和解密。
要求:既可以进行加密转换,也可以进行解
密转换。
程序参考界面如右所示。
可以使用任何编
程工具,能处理英文即可。
三、程序设计说明:(实现步骤、算法设计思路、流程图等)
凯撒密码加密算法:
#include <stdio.h>
int main()
{
char P[100];/*定义明文长度*/
int K=3,i;
printf("请输入明文:\n"); /*输入明文*/
gets(P); /* 接受明文*/
for(i=0;P[i]!='\0';i++) { /*逐个判断字母的大小*/
if(P[i]>='a'&&P[i]<='z') /*小写字母 */
P[i]=(P[i]-'a'+K)%26+'a';
else if(P[i]>='A'&&P[i]<='Z')/*大写字母 */
P[i]=(P[i]-'A'+K)%26+'A';
else P[i]=' ';/*如果不是字母,转换为空格*/
}
printf("加密后 :\n%s\n",P);/*输出密文*/
getch();
return 0;
}
凯撒密码的实现 于泳海 2014-9-24 信息管理与信息系统 11级信本班 贾文丽
四、实验结果与结论:(经调试正确的源程序和程序的运行结果)
明文加密(密钥key=3):
五、实验总结:(实验中遇到的问题及解决方法,心得体会等)
在本次实验中,学会了凯撒密码的加密与解密。
了解了凯撒加密和解密的原理,通过简单的编程成功输出了实验结果。