实验3-移位密码分析实验_第1页
实验3-移位密码分析实验_第2页
实验3-移位密码分析实验_第3页
实验3-移位密码分析实验_第4页
实验3-移位密码分析实验_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三移位密码分析实验类别:信息安全首先,实验原理在包含字符的英文文章中,每个ASCII字符都有一定的频率。出现频率较高的两个字符是(空格)和E,它们的ASCII码分别为32和101,相差69。因为凯撒的密码使用一个简单的加密算法来代替一个单一的表,我们的主角e在解密后仍然保持相同的ASCII码差异,69。|c1 - c2|=|e - |=|101 - 32|=69| m1-m2 |=|(C1 k)mod 256)-(C2 k)mod 256)|=| C1-C2 |=| e-|=69现在我们可以得到破解凯撒密码的原理。我们数了一段凯撒加密的秘密人物信息。我们在出现频率较高的字符中寻找差异为69的2个字符。这两个字符必须是加密字符和E字符。我们计算偏移量(即密钥),并通过解密操作恢复明文。二。设计过程描述:移位密码算法的破解输入密文字母表统计分析频率最高的字母解码输出结果目标源代码:#包括空隙分析(char * c);void dechypher(char * c,char *hashmap,int a,int b,int d);void createHash(char *c,int a,int b,int d);char alphabet= abcdefghijklmnopqrstuvwxyz,“!int main()char ch110000;char哈希29;printf(“输入段落: n”);获取(ch1);分析(ch1);printf( n在dechyphered: n );创建哈希(哈希,7,3,29);decypher(ch1,hash,7,3,29);printf(n%sn ,ch1);返回1;出现无效分析(字符*c) /统计字母int a26=0。int i=0,j;而(ci!=0)if(ci!=。|ci!=!|ci!=,)acI-a;printf(“% d t”,I);对于(j=0;j26j)printf( 360% d n ,j a,aj);Void解密器(char * c,char * hashmap,inta,intb,intd)/直接将密文散列成明文进行解密。int I=0;int char _ pos/记录探测器的位置而(ci!=0)char _ pos=cI-a;/printf(char_pos:%dn ,char _ pos);if(ci!=)printf(“% c”,hashmapchar _ pos);其他printf(“”);我;无效创建哈希(char * c,inta,intb,intd)/由于f(p)满足双射关系,即两两对应,亮文本和暗文本之间的对应可以放在哈希表中int I;字符编码29;对于(I=0;i29(I)编码I=字母表(a * I b)% d;printf(“% c”,编码I);对于(I=0;i29(I)cencodeI-a=字母表I;printf(n%sn ,字母表);三。实验过程1.输入密文2.统计字符,得到结果结果:密文xultpaaajcxitltlxaarpjhtightheipxciwtvgtpilghlxiwiwtxgqa

温馨提示

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

评论

0/150

提交评论