- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生学号 实验课成绩
学 生 实 验 报 告 书
实验课程名称信息安全开 课 学 院计算机科学与技术学院指导教师姓名孙贤伟学 生 姓 名学生专业班级软件工程zy1302班
2015--2016学年第一学期
实验课程名称: 信息安全
实验项目名称仿射密码的破译实验成绩实 验 者专业班级软件zy1302班组 别同 组 者实验日期2015年10月27日第一部分:实验分析与设计
实验内容描述(问题域描述)
1、给定密文C=ybccnhfwblelho;
2、用仿射密码的破译,求出密文和密钥。
二.实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
(1)根据仿射密码的特点,利用程序穷举明文,找出有意义的字符串;
(2)根据密文与明文之间存在的映射,列出能够求出密钥的方程组;
(3)解方程组,得到密钥;
(4)检验密钥的正确性,验证明文是否能够加密成指定的密文。
三、主要仪器设备及耗材
PC机第二部分:实验调试与结果分析
调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
实验代码:
#include cstdio
#include cstdlib
int main()
{
char c[15] = ybccnhfwblelho;
int cc[14];
for (int i = 0; i 14; i++)
{
cc[i] = c[i] - a;
}
char ccc[15];
ccc[14] = \0;
for (int a = 0; a 26; a++)
{
printf(%d:\n, a);
for (int b = 0; b 26; b++)
{
for (int i = 0; i 14; i++)
{
ccc[i] = ((cc[i] * a) + b) % 26 + a;
}
printf(%s\n, ccc);
}
}
system(pause);
return 0;
}
二、实验结果分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
1、利用程序穷举明文,找出有意义的字符串:
2、根据明文与密文的映射,列出方程组:
h=a*y+b % 26a=a*b+b % 26
3、解方程组,得:
a=7b=1
三、小结、建议及体会
通过本次实验,我初步学会了仿射变换在密码学中的应用,加深了对密码学的认识和兴趣。明文和密文之间的转换是十分有趣和具有挑战性的,这让我非常感兴趣。总而言之,本次实验我收获很多,以后也会继续努力学习信息安全,认真完成每一次实验。
实验课程名称: 信息安全
实验项目名称验证哈希函数的性质实验成绩实 验 者专业班级软件zy1302班组 别同 组 者实验日期2015年11月2日第一部分:实验分析与设计
实验内容描述(问题域描述)
运行实例代码(MD5);
创建任意长度的文本文件;
计算文本文件的哈希函数值;
改变原文本文件的任意一位,再计算其哈希值;
编程比较两次哈希函数值的区别。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
根据实例代码,计算一定长度的文本的哈希函数值;
利用位运算改变文本的其中一位,再次计算改变后文本的哈希值;
3、一位一位的比较两哈希值之间的区别,计算相似度。
三、主要仪器设备及耗材
PC机
第二部分:实验调试与结果分析
调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
main函数代码:
int main(void)
{
unsigned char digest[16],digest1[16]; //存放结果
char a[]=hellohellohellohellohellohellohellohellohellohellohellohellohellohello!;
MDString(a, digest);
printf(原文本的哈希值:\n);
for(int i=0;i32;++i)
printf(%02x,digest[i]);
printf(\n);
char aa[72];
aa[71]=\0;
double max=0;
for(int i=0;i71*8;++i)
{
for (int j=0;j71;++j)
aa[j]=a[j];
a
您可能关注的文档
最近下载
- 党务工作者应知应会问答.pdf VIP
- 校服供货服务方案.docx VIP
- 2020部编版六年级下册语文(全册)同步练习及答案 精编版.pdf VIP
- 高一上学期统编版历史必修中外历史纲要(上)期中复习中国古代史专题练习.docx VIP
- 2022年人教版八年级下册英语 Unit 8 Have you read Treasure Island yet 单元教案 .pdf
- 2.3.1喀斯特地貌 高中地理湘教版必修一.pptx VIP
- YB∕T 4968-2021 冷轧钢带单位产品能源消耗限额.docx VIP
- 硬笔书法系列《硬笔书法指导》.ppt VIP
- 部编版小学六年级语文下册同步练习.pdf VIP
- 上班族心理健康课件最新完整版本.pptx VIP
原创力文档


文档评论(0)