多表代换密码playfair的实现

上传人:众众****夺宝 文档编号:231405669 上传时间:2023-09-03 格式:DOCX 页数:2 大小:12.08KB
收藏 版权申诉 举报 下载
多表代换密码playfair的实现_第1页
第1页 / 共2页
多表代换密码playfair的实现_第2页
第2页 / 共2页
资源描述:

《多表代换密码playfair的实现》由会员分享,可在线阅读,更多相关《多表代换密码playfair的实现(2页珍藏版)》请在装配图网上搜索。

1、多表代换密码playfair的实现 ; 一. 问题描述: 驰名的多表古典加密体制使Playfair,它将明文中的双字母组合作为一个单元对待,并将这些单元转换为密文双字母组合。Playfair算法基于使用一个55字母矩阵,该矩阵使用一个关键词构造。这里有一个例子,是由Lord Peter Wimsey在Dorothy Sayer的书?Have His Carcase中解答的。M O N A RC H Y B DE F G I/J KL P Q S TU V W X Z 在这里,该关键词是monarchy。该矩阵该矩阵是这样构造的;从左至右、从上至下填入该关键词的字母清除重复字母,然后再以字母表顺

2、序将余下的字母填入矩阵残余空间。字母I和J 被算作一个字母。Playfair根据以下规那么一次对明文的两个字母加密:1、属于相同对中的重复的明文字母将用一个填充字母进行分隔,因此,词balloon将被加密为ba lx lo on。2、属于该矩阵相同行的明文字母将由其右边的字母替代,而行的最后一个字母由行的第一个字母代替。示例,ar被加密为RM。3、属于相同列的明文字母将由它下面的字母代替,而列的最后一个字母由列的第一个字母代替。示例,mu被加密为CM。4、否那么,明文的其他字母将由与其同行,且与下一个同列的字母代替。因此,hs成为BP,ea成为IM或JM,这可根据加密者的意愿而定。根本要求:二

3、. 根本要求:根据多表代换密码的特点,编写playfair软件,并以monarchy密钥进行测试,验证加密结果。三. 实验代码:#include #include using namespace std;void decrypt();/解密函数 void encrypt();/加密函数 void main() cout- 1 - int n=0;for(;n!=3;)coutn;if(n3)coutvoid encrypt() const int N=100;char letters26=用于填充矩阵int flag25=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

4、0,0,0,0,0,0,0;/字母是否已在矩阵中,与letters数组对应 - 2 - char ch55;/5X5矩阵char ch1N;/密钥char ch2N;/明文char ch4;/无关字符int len=a-A;coutch1;int flg=1;while(flg=1)for(int i=0;iz|ch1iif(flg=1) for(i=0;i/把密钥中的字母填入到矩阵中,并把该字母标记为已用 for(int k=0;k- 3 - chij=lettersk;flagk=1;if(jcoutch2;coutch4;if(ch4=a)ch4=ch4-len;for(k=0;k=a)

5、ch2k=ch2k-len;for(k=0;k/为明文添加必要的无关字符以避免同一组的两个字符相同for( k=0;kk;t-) ch2t+1=ch2t;ch2k+1=ch4;/假设明文有奇数个字符,那么添加一个无关字符以凑够偶数个if(strlen(ch2)%2!=0)- 4 - ch2strlen(ch2)+1=ch2strlen(ch2);/字符串结尾赋0ch2strlen(ch2)=ch4;/明文串尾插入无关字符 coutcout/明文输入并整理完毕/ for(k=0;k4)n1=n1%5;m1=m1+1;if(n24)n2=n2%5;m2=m2+1;if(m1=m2)ch2k=chm1(n1+1)%5;ch2k+1=chm2(n2+1)%5;elseif(n1=n2)ch2k=ch(m1+1)%5n1;ch2k+1=ch(m2+1)%5n2;- 5 -

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!