古典密码实验报告.doc

古典密码实验报告.doc

ID:48152295

大小:231.50 KB

页数:23页

时间:2020-01-21

古典密码实验报告.doc_第1页
古典密码实验报告.doc_第2页
古典密码实验报告.doc_第3页
古典密码实验报告.doc_第4页
古典密码实验报告.doc_第5页
资源描述:

《古典密码实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实验报告一、实验室名称:SimpleSPC信息安全云实验系统二、实验项目名称:古典密码——置换密码三、实验学时:1学时四、实验原理:1)算法原理a)置换密码算法是不改变明文字符,而是按照某一规则重新排列消息中的比特或字符顺序,才而实现明文信息的加密。将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。其解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据密钥给出的矩阵置换产生新的矩阵,从而恢复明文。b)置换密码(PermutationCipher),又称换

2、位密码。算法实施时,明文的字母保持相同,但顺序会被打乱。置换只不过是一个简单的换位,每个置换都可以用一个置换矩阵Ek来表示。每个置换都有一个与之对应的逆置换Dk。置换密码的特点是仅有一个发送方和接受方知道的加密置换(用于加密)及对应的逆置换(用于解密)。它是对明文L长字母组中的字母位置进行重新排列,而每个字母本身并不改变。c)设n为一固定整数,P、C和K分别为明文空间、密文空间和密钥空间。明/密文是长度为n的字符序列,分别记为X(x1,x2,…,xn)属于P和Y(y1,y2,…,yn)属于C,K是定义在{1,2,…,n}的所有置

3、换组成的集合。对任何一个密钥(即一个置换),定义置换如下: 加密置换为: 解密置换为: 上式中,是的逆置换,密钥空间K的大小为n!2)算法参数.. 置换密码算法主要有c、m、k、n四个参数。c为密文,m是明文,k为密钥,n为模数。3)算法流程  算法流程。如图所示一、实验目的:1)学习置换密码的原理2)学习置换密码的算法实现二、实验内容:1.在虚拟机上运行置换密码.exe可执行文件,根据提示输入明文和密钥,同时检查输出的解密后的结果是否与明文一致。2.学习掌握置换密码的原理,并根据明文和密钥计算出对应的加密文,并与程序输出的结果

4、进行比对,掌握其加密解密的过程。3.看懂实验程序代码,如有需要可在其上进行优化。..一、实验器材(设备、虚拟机名称):Windows7工具:C:tools密码学课程1密码学算法2古典密码1置换密码二、实验步骤:1、查看置换密码算法运行结果并学习其核心算法1.1 点击【置换密码.exe】,选择对明文【asdfgh】使用密钥【qwerty】进行加密,程序运行结果。如下图所示 但是在实验中发现,当密钥中包含相同字符时,加密和解密结果会出现问题,如下图所示:在观察程序代码后,发现应该是加密表生成出现问题,因此在实验中我重

5、新修改了程序中计算加密表部分的代码,利用双层循环,对于每一个字符,计算比其小的字符或者和它一样但是出现在其左侧的字符个数,得到的序列便是加密表的内容,将程序按照上述思路修改后测试运行正确。1.2 更新后的置换密码的核心算法如下所示。#include#includeusingnamespacestd;chara[20][6],b[20][6],c[20][6],m[102],key[6],ky[6],mw[102],bb[102];intzh[6],zh1[6];intj,len,leng

6、th,e,f;void..ISD_zhihuan_zhihuan(intle){inti,s=0;if(le%6==0)//明文长度是6的倍数时{for(j=0;j<(le/6);j++)for(i=0;i<6;i++,s++){a[j][i]=m[s];}}else//明文长度不是6的倍数时{for(j=0;j<((le-le%6)/6);j++)for(i=0;i<6;i++,s++){a[j][i]=m[s];}j++;intw=0;for(intl=le-le%6;l

7、for(intll=le%6;ll<6;ll++){a[j][ll]='X';//数组后补x使数组长度为6的倍数}}length=6*j;}intISD_zhihuan_encrypt(){cout<>key;for(intp=0;p<6;p++){ky[p]=key[p];}//生成置换表..for(inti=0;i<6;i++){zh[i]=1;for(intj=0;j<6;j++){if(key[j]

8、

9、(j

10、[i]++;}}}cout<

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

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

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