1、实验1密码置换算法实验报告课程名称物联网安全导论指导教师倪问尹实验日期2018年4月20日班级15物联1班姓名罗樟学号B20150304206实验成绩这一栏由教师填写 一、实验项目名称置换密码加密算法二、实验环境硬件平台:个人计算机:Intel Pentium 4 CPU 1.2GHz,512MB RAM;软件:VisualStudio开发平台三、实验内容通过设计算法进行对输入的明文通过秘钥进行加密,并打印出密码置换表。(说明一下这个算法的设计,详细课本42页)四、实验步骤与实验代码#include#include#define Sum 27#define Max 100int main()i
2、nt i,j,k,m,n,z,p,keynum=0;char zimubiaoSum = abcdefghijklmnopqrstuvwxyz;char AMax;char keyMax;printf(请输入明文:n);gets(A);printf(n你输入的明文是:n);puts(A);printf(请输入秘钥;n);gets(key);printf(你输入的秘钥是:n);puts(key);/将秘钥和字母表连在一起,得到新表 m = strlen(key);n = strlen(zimubiao);char miwenbiaoAm+n; for(j = 0;j m;j +)miwenbia
3、oAj = keyj;for(z = 0; z n;z +)miwenbiaoAj+z = zimubiaoz; printf(n); /处理新表的相同字符 int mi_len = 0; for(i = 0; i strlen(miwenbiaoA);i+) if(miwenbiaoAi = 0) continue; for(j = i+1;jstrlen(miwenbiaoA);j+) if(miwenbiaoAj=miwenbiaoAi) miwenbiaoAj=0;mi_len +;char miwenbiaomi_len;j=0;for(i = 0;i strlen(miwenbia
4、oA);i+)if(miwenbiaoAi != 0)miwenbiaoj = miwenbiaoAi;j+; printf(得到的置换表为:n);printf(%sn,zimubiao);for(i = 0; i mi_len ; i +)printf(%c,miwenbiaoi);printf(n);printf(n得到的密文为:n);for(i=0;istrlen(A);i+)for(j=0;jstrlen(zimubiao);j+)if(Ai=zimubiaoj)printf(%c,miwenbiaoj);getchar();return 0;五、实验结果六、实验总结通过本次实验,让我掌握了密码替换算法的原理,首先直接将秘钥插到字母表前面,再将后面的相字母去掉,最后进行置换算法进行置换。七、教师评阅意见