column permutation cipher 编程实现

column permutation cipher 编程实现

ID:20363232

大小:74.39 KB

页数:5页

时间:2018-10-08

column permutation cipher 编程实现_第1页
column permutation cipher 编程实现_第2页
column permutation cipher 编程实现_第3页
column permutation cipher 编程实现_第4页
column permutation cipher 编程实现_第5页
资源描述:

《column permutation cipher 编程实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、现代密码学与加解密技术实验报告实验名称Columnpermutationcipher的编程实现班级学号姓名日期成绩评阅人软件学院一、实验目的与意义编程(建议使用C语言)实现古典密码体制中的Columnpermutation密码,并加/解密一个字符串或文件.二、实验环境Win7,vs2011三、实验的预习内容列置换的加密原理是,明文按行填写在一个矩阵中,而密文则是以预订的顺序按列读取生成的。如果矩阵是4行5列,那么短语“ENCRYPTIONALGORITHMS”可以如下写入该矩阵中按一定的顺序读取生成密文对于这个例子如果读取顺序是4123那么密文就是“RILISE

2、YOGTNPNOHCTARM”这种方法要求填满矩阵,因此字母不够的时候就得填充X或Q等无效字符四、实验数据与实验结果五、实验用程序清单#include"stdafx.h"#include"string.h"#definemax100voidjiami(charplantext[max],charkey[max],charcipher[max],charplantext2[max]){inti,m,k,l,ml,mk;charcopy[max];l=strlen(key);k=strlen(plantext);intb[max];for(i=0;i

3、/复制key数组{copy[i]=key[i];}for(i=0;icopy[j+1]){temp=copy[j];copy[j]=copy[j+1];copy[j+1]=temp;}}}for(i=0;i

4、获取读取序列,序列存储在b[l]中{intj;intindex=0;for(j=0;j

5、f("%d",m);ml=0;for(i=0;i

6、l+b[i]]=cipher[ml];//cipher的前m个数对应明文矩阵的b[i]列ml++;}}printf("原文为:");for(i=0;i

7、"%s",key);jiami(plantext1,key,cipher,plantext2);return0;}一、思考题1.Columnpermutationcipher的原理是什么?明文按行填写在一个矩阵中,密文是按照预定顺序按列读取产生。2.给定关键字为“experiment”,加密矩阵将包括几列,以及列置换的次序是什么?10列置换顺序为1.10.7.2.8.4.5.3.6.9。3.简述对Columnpermutationcipher的分析方法。a.确定列的可能大小;b.确定正确的矩形;C.还原列的顺序4.Columnpermutationcipher的

8、安全性增强方法是什么?进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。