[管理学]信息安全概论实验报告.doc

上传人:音乐台 文档编号:1988038 上传时间:2019-01-28 格式:DOC 页数:37 大小:1.50MB
返回 下载 相关 举报
[管理学]信息安全概论实验报告.doc_第1页
第1页 / 共37页
[管理学]信息安全概论实验报告.doc_第2页
第2页 / 共37页
[管理学]信息安全概论实验报告.doc_第3页
第3页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[管理学]信息安全概论实验报告.doc》由会员分享,可在线阅读,更多相关《[管理学]信息安全概论实验报告.doc(37页珍藏版)》请在三一文库上搜索。

1、实验报告 页组别姓名徐士元同组实验者实验项目名称DES对称加密算法实验日期教师评语实验成绩:指导教师(签名):年 月 日一、 报告要求a) 使用光盘附录提供的程序对输入的十六进数加密(把输入的字符转化成二进制整数,比如输入两个字符1F,转化成二进制数00011111),比较输入和输出。当把输入的数改变一个比特时(如把1F变为1E),比较输出的变化,说明原因。b) 请阅读光盘附录提供的程序并做修改,使得DES的16轮循环中每一轮循环结束都能输出一个结果(显示为十六进制的数),即输出Li、Ri(1i16)的值。二、 实验过程a) 算法:输入16位16进制数,转化成2进制为64位,用16位字符数组作

2、输入保存;再将从高位到低位每两位16进制数也就是8bit,按照数值作为相应得内存模型用字符保存,共8个字符保存64位2进制数,也就是输入的16位16进制数,在对此8个字符进行对称加密,比较加密前后的输入输出。程序如下:#include des.hint main()int i;unsigned char ct8,key8=a,b,c,d,a,b,c,d;des_key skey;printf(Please enter a hexadecimal integer which is equal to 16 digits:n);char ptHexNum16;/用16位字符数组保存16位16进制数g

3、ets(ptHexNum);unsigned char ptBinHignNum8,ptBinLowNum8;/将16位16进制数共64位按内存模型转变成8位字符数组ptNumtoCh中unsigned char ptNumtoCh9;ptNumtoCh8=ct8=0;for(i=0;i16;i+)if(i%2=0)switch(ptHexNumi)/16进制数高位 case0:ptBinHignNumi/2=char(0x00);break;case1:ptBinHignNumi/2=char(0x10);break;case2:ptBinHignNumi/2=char(0x20);brea

4、k;case3:ptBinHignNumi/2=char(0x30);break;case4:ptBinHignNumi/2=char(0x40);break;case5:ptBinHignNumi/2=char(0x50);break;case6:ptBinHignNumi/2=char(0x60);break;case7:ptBinHignNumi/2=char(0x70);break;case8:ptBinHignNumi/2=char(0x80);break;case9:ptBinHignNumi/2=char(0x90);break;casea:caseA:ptBinHignNumi

5、/2=char(0xA0);break;caseb:caseB:ptBinHignNumi/2=char(0xB0);break;casec:caseC:ptBinHignNumi/2=char(0xC0);break;cased:caseD:ptBinHignNumi/2=char(0xD0);break;casee:caseE:ptBinHignNumi/2=char(0xE0);break;casef:caseF:ptBinHignNumi/2=char(0xF0);break;default:printf(error.n);if(i%2=1)switch(ptHexNumi)/16进制

6、数低位 case0:ptBinLowNumi/2=char(0x00);break;case1:ptBinLowNumi/2=char(0x01);break;case2:ptBinLowNumi/2=char(0x02);break;case3:ptBinLowNumi/2=char(0x03);break;case4:ptBinLowNumi/2=char(0x04);break;case5:ptBinLowNumi/2=char(0x05);break;case6:ptBinLowNumi/2=char(0x06);break;case7:ptBinLowNumi/2=char(0x07

7、);break;case8:ptBinLowNumi/2=char(0x08);break;case9:ptBinLowNumi/2=char(0x09);break;casea:caseA:ptBinLowNumi/2=char(0x0A);break;caseb:caseB:ptBinLowNumi/2=char(0x0B);break;casec:caseC:ptBinLowNumi/2=char(0x0C);break;cased:caseD:ptBinLowNumi/2=char(0x0D);break;casee:caseE:ptBinLowNumi/2=char(0x0E);br

8、eak;casef:caseF:ptBinLowNumi/2=char(0x0F);break;default:printf(error.n);for(i=0;i8;i+)ptNumtoChi=ptBinHignNumiptBinLowNumi;/校验输入字符变换后是否正确for(i=0;i8;i+)printf(%X,int(ptNumtoChi);des_setup(key,8,0,&skey);printf(nNow The L vector and R vector is followed when program is encrypting:nn);des_ecb_encrypt(p

9、tNumtoCh,ct,&skey);printf(nNow The L vector and R vector is followed when program is decrypting:nn);des_ecb_decrypt(ct,ptNumtoCh,&skey);printf(The hexadecimal integer is followed which is encrypted:n);for(i=0;i8;i+)printf(%X,int(ptNumtoChi);printf(The string is followed after encrypted:n);printf(%sn

10、,ct);/system(PAUSE);return 0;b) 算法:因为加密函数des_ecb_encrypt、解密函数des_ecb_decrypt都是调用的desfunc函数对明文进行加密的,在desfunc函数中有一个for循环,一共循环8轮,每轮进行加密或解密的两轮运算,所以再此处添加代码以输出L、R的值。程序如下:for (round = 0; round 8) & 0x3fL SP3(work 16) & 0x3fL SP1(work 24) & 0x3fL; work = right *keys+; leftt = SP8 work & 0x3fL SP6(work 8) &

11、0x3fL SP4(work 16) & 0x3fL SP2(work 24) & 0x3fL;printf(L(%d) = %Xtt,round*2,leftt);printf(R(%d) = %Xn,round*2,right); work = ROR(leftt, 4) *keys+; right = SP7 work & 0x3fL SP5(work 8) & 0x3fL SP3(work 16) & 0x3fL SP1(work 24) & 0x3fL; work = leftt *keys+; right = SP8 work & 0x3fL SP6(work 8) & 0x3fL

12、 SP4(work 16) & 0x3fL SP2(work 24) & 0x3fL;printf(L(%d) = %Xtt,round*2+1,leftt);printf(R(%d) = %Xn,round*2+1,right);三、 结论当输入16进制数000000000000001F和000000000000001E时,因为转化成的64位2进制数只有1位不同,但是加密时的L和R向量如下图所示:图a)对16进制数000000000000001F进行加密时的L、R向量图b)对16进制数000000000000001E进行加密时的L、R向量可见,L(i)和R(i)在两组加密过程中已经不止1位不

13、相等,这证明了DES加密算法的扩散性和混乱性,扩散性即明文和密钥中的每一位信息的变动都会影响到密文中许多位信息的变动;混乱性即通过密钥算法使明文和密文以及密钥的关系非常复杂无法从数学上描述或者统计。实验报告 页组别姓名同组实验者实验项目名称Windows环境下对称和非对称加密算法实验日期教师评语实验成绩:指导教师(签名):年 月 日实验报告 页组别姓名同组实验者实验项目名称数字签名过程-电子邮件的PGP安装使用实验日期教师评语实验成绩:指导教师(签名):年 月 日1. 安装PGP加密系统,需要在PC1、PC2计算机分别安装,安装过程PC1与PC2是一致的,只不过在配制的时候需要分别去配制,以下

14、是安装过程的图解:2.在PC1计算机配置user1用户的PGP如图:3.创建user1用户私钥时需要输入密码,如图4.在PC2计算机配置user2用户的PGP同上5. 在PC1计算机上生成user1用户的公钥user1.asc文件,如图:6. 在PC2计算机上生成user2用户的公钥user2.asc文件,同上7. 如果想要user1huayu .com邮件与user2huayu .com邮件用户彼此发送加密邮件,就必须把自己的公钥发送给对方。这里PC1计算机上的user1使用邮件附件里带有user1的公钥,发给user2用户。8.user2用户收到user1用户的公钥后,加载并且进行签署,过程如图:9.user2使用user1的公钥在Outlook上加密电子邮件,传送给user1,如图:10.user1接收user2发给自己的加密邮件,如图:实验报告 页组别姓名同组实验者实验项目名称端口与漏洞扫描以及网络侦听实验日期教师评语实验成绩:指导教师(签名):年 月 日实验报告 页组别姓名同组实验者实验项目名称入侵检测和杀毒软件的安装与使用实验日期教师评语实验成绩:指导教师(签名):年 月 日实验报告 页组别姓名同组实验者实验项目名称个人防火墙的安装与使用实验日期教师评语实验成绩:指导教师(签名):年 月 日http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1