武汉理工大学信息安全实验报告Word文档格式.docx
- 文档编号:19392657
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:11
- 大小:116.18KB
武汉理工大学信息安全实验报告Word文档格式.docx
《武汉理工大学信息安全实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《武汉理工大学信息安全实验报告Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
实验成绩
实验者
专业班级
软件zy1302班
组别
同组者
实验日期
2015年10月27日
第一部分:
实验分析与设计
1.实验内容描述(问题域描述)
1、给定密文C=ybccnhfwblelho;
2、用仿射密码的破译,求出密文和密钥。
二.实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
(1)根据仿射密码的特点,利用程序穷举明文,找出有意义的字符串;
(2)根据密文与明文之间存在的映射,列出能够求出密钥的方程组;
(3)解方程组,得到密钥;
(4)检验密钥的正确性,验证明文是否能够加密成指定的密文。
三、主要仪器设备及耗材
PC机
第二部分:
实验调试与结果分析
一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
实验代码:
#include<
cstdio>
cstdlib>
intmain()
{
charc[15]="
ybccnhfwblelho"
;
intcc[14];
for(inti=0;
i<
14;
i++)
{
cc[i]=c[i]-'
a'
}
charccc[15];
ccc[14]='
\0'
for(inta=0;
a<
26;
a++)
printf("
%d:
\n"
a);
for(intb=0;
b<
b++)
{
for(inti=0;
{
ccc[i]=((cc[i]*a)+b)%26+'
}
printf("
%s\n"
ccc);
}
system("
pause"
);
return0;
}
二、实验结果分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
1、利用程序穷举明文,找出有意义的字符串:
2、根据明文与密文的映射,列出方程组:
3、解方程组,得:
三、小结、建议及体会
通过本次实验,我初步学会了仿射变换在密码学中的应用,加深了对密码学的认识和兴趣。
明文和密文之间的转换是十分有趣和具有挑战性的,这让我非常感兴趣。
总而言之,本次实验我收获很多,以后也会继续努力学习信息安全,认真完成每一次实验。
验证哈希函数的性质
2015年11月2日
1、实验内容描述(问题域描述)
1、运行实例代码(MD5);
2、创建任意长度的文本文件;
3、计算文本文件的哈希函数值;
4、改变原文本文件的任意一位,再计算其哈希值;
5、编程比较两次哈希函数值的区别。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
1、根据实例代码,计算一定长度的文本的哈希函数值;
2、利用位运算改变文本的其中一位,再次计算改变后文本的哈希值;
3、一位一位的比较两哈希值之间的区别,计算相似度。
PC机
main函数代码:
intmain(void)
unsignedchardigest[16],digest1[16];
//存放结果
chara[]="
hellohellohellohellohellohellohellohellohellohellohellohellohellohello!
"
MDString(a,digest);
printf("
原文本的哈希值:
for(inti=0;
i<
32;
++i)
%02x"
digest[i]);
charaa[72];
aa[71]='
doublemax=0;
71*8;
++i)
for(intj=0;
j<
71;
++j)
aa[j]=a[j];
aa[i/8]=a[i/8]^(1<
<
(i%8));
//只改变其中一位
MDString(aa,digest1);
for(inti=0;
digest1[i]);
intres=0;
++j)
res+=((digest[j]&
1)==(digest1[j]&
1))?
1:
0;
2)==(digest1[j]&
2))?
4)==(digest1[j]&
4))?
8)==(digest1[j]&
8))?
16)==(digest1[j]&
16))?
32)==(digest1[j]&
32))?
64)==(digest1[j]&
64))?
128)==(digest1[j]&
128))?
相似度:
%f\n"
double(res)/32/8);
if(max<
double(res)/32/8)
max=double(res)/32/8;
\n最大相似度:
%f\n\n"
max);
通过本次实验,我对哈希函数的性质有了进一步的认识,将一个不定长度的字符串通过哈希函数编程了定长的字符串,通过改变一位,再进行了相似度的计算。
在实验的过程中,老师和同学们帮助了我很多,我会加强自己独立思考的能力。
通过思考和学习,我对信息安全的学习有了更加深刻的理解,今后也会继续努力的!
RSA密码的验证
2015年11月15日
2、实验内容描述(问题域描述)
条件:
n=4294967297,公钥e=401
1.已知密文c1=131072,求明文m1
2.加密
m2=138
求密文c2
RSA的安全基于大数分解的难度。
其公钥和私钥是一对大素数(100到200位十进制数或更大)的函数。
从一个公钥和密文恢复出明文的难度,等价于分解两个大素数之积(这是公认的数学难题)。
RSA的公钥、私钥的组成,以及加密、解密的公式可见于下表:
packagecom.shawn;
publicclassMain
//快速幂
staticlongpower(longp,longn,longm)
longsq=1L;
while(n>
0)
if(n%2==1)
sq=(sq*p)%m;
p=(p*p)%m;
n=n/2;
returnsq%m;
publicstaticvoidmain(String[]args)
//已知条件:
n=4294967297,e=401
longn=4294967297L,e=401L;
//通过穷举,缩小穷举范围,寻找p的值
longp=0;
for(longi=3;
Math.sqrt(n);
i=i+2)
if(n%i==0)
p=i;
//通过公式n=p*q,计算q的值
longq=n/p;
//通过公式fn=(p-1)*(q-1),计算fn的值
longfn=(p-1)*(q-1);
//根据公式(e*d)%fn=1,计算私有密钥d
longd=0;
for(longi=2;
fn;
if((e*i)%fn==1)
d=i;
longm1,c1,m2,c2;
c1=131072L;
m2=128L;
//计算c1的明文m1
m1=power(c1,d,n);
System.out.println("
(1)\t已知:
c1="
+c1);
\t\t求得:
m1="
+m1);
//计算m2的密文c2
c2=power(m2,e,n);
(2)\t已知:
m2="
+m2);
c2="
+c2);
通过本次实验,我对RSA的算法有了进一步的认识,RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
在实验的过程中,老师和同学给了我很多的帮助。
通过思考和学习,我对信息安全的学习有了更加深刻的认识,今后也会继续加油的!
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工大学 信息 安全 实验 报告