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

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[管理学]信息安全概论实验报告

实验报告 页 组别 姓名 徐士元 同组实验者 实验项目名称 DES对称加密算法 实验日期 教师评语 实验成绩: 指导教师(签名): 年 月 日 报告要求 使用光盘附录提供的程序对输入的十六进数加密(把输入的字符转化成二进制整数,比如输入两个字符1F,转化成二进制,比较输入和输出。当把输入的数改变一个比特时(如把1F变为1E),比较输出的变化,说明原因。 请阅读光盘附录提供的程序并做修改,使得DES的16轮循环中每一轮循环结束都能输出一个结果(显示为十六进制的数),即输出Li、Ri(1(i(16)的值。 实验过程 算法:输入16位16进制数,转化成2进制为64位,用16位字符数组作输入保存;再将从高位到低位每两位16进制数也就是8bit,按照数值作为相应得内存模型用字符保存,共8个字符保存64位2进制数,也就是输入的16位16进制数,在对此8个字符进行对称加密,比较加密前后的输入输出。 程序如下: #include des.h int main() { int i; unsigned char ct[8],key[8]={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 ptHexNum[16];//用16位字符数组保存16位16进制数 gets(ptHexNum); unsigned char ptBinHignNum[8],ptBinLowNum[8]; //将16位16进制数共64位按内存模型转变成8位字符数组ptNumtoCh中 unsigned char ptNumtoCh[9]; ptNumtoCh[8]=ct[8]=\0; for(i=0;i16;i++) { if(i%2==0) { switch(ptHexNum[i])//16进制数高位 { case0:ptBinHignNum[i/2]=char(0x00);break; case1:ptBinHignNum[i/2]=char(0x10);break; case2:ptBinHignNum[i/2]=char(0x20);break; case3:ptBinHignNum[i/2]=char(0x30);break; case4:ptBinHignNum[i/2]=char(0x40);break; case5:ptBinHignNum[i/2]=char(0x50);break; case6:ptBinHignNum[i/2]=char(0x60);break; case7:ptBinHignNum[i/2]=char(0x70);break; case8:ptBinHignNum[i/2]=char(0x80);break; case9:ptBinHignNum[i/2]=char(0x90);break; casea: caseA:ptBinHignNum[i/2]=char(0xA0);break; caseb: caseB:ptBinHignNum[i/2]=char(0xB0);break; casec: caseC:ptBinHignNum[i/2]=char(0xC0);break; cased: caseD:ptBinHignNum[i/2]=char(0xD0);break; casee: caseE:ptBinHignNum[i/2]=char(0xE0);break; casef: caseF:ptBinHignNum[i/2]=char(0xF0);break; default:printf(error...\n); } } if(i%2==1) { switch(ptHexNum[i])//16进制数低位 { case0:ptBinLowNum[i/2]=char(0x00);break; case1:ptBinLowNum[i/2]=char(0x01);break; case2:ptBinLowNum[i/2]=char(0x02);break; case3:ptBinLowNum[i/2]=char(0x03);break

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档