下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验2移位密码分析实验一、 实验内容通过编程实现使用频度分析法破解凯撒密码的程序。并通过下面两段密文解密验证。已知,拦截到下列两段密文,使用的是移位密码,利用频度攻击分别找出其明文:1、 XLILSYWIMWRSAJSVWEPIJSVJSYVQMPPMSRHSPPEVWMXMWASVXLQSVILYVVCFIJSVIXLIWIPPIVVIGIMZIWQSVISJJIVW2、 XULTPAAJCXITLTLXAARPJHTIWTGXKTGHIDHIPXCIWTVGTPILPITGHLXIWIWTXGQADDS二、 实验要求1、 写出凯撒密码的频度分析原理 一篇包含字符的英文文章,其各ASCII码
2、字符出现,都有一定的频率,出现较高频率的两个字符是' ' (空格) 和 '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&
3、#39; - ' '| = 69 现在可以得到破解凯撒密码的原理了,我们统计一片经过凯撒加密的密文字符信息,在出现频率较高的字符里面寻找差值是69的2个字符,这两个必定是 ' ' 和'e' 字符的加密字符,计算偏移量(既密钥key),通过解密运算,还原出明文。2、 程序设计流程说明,提交源代码及详细注释开始输入要打开的文件名计算文件中各个字母出现的次数输入出现次数最多的字母计算出密钥解密出明文结束源代码: #include<stdio.h>#include<stdlib.h>#include<string.h>
4、int count27;char s100;int main()int i,n,m,l,k;FILE *fp;char d;char filename100;printf("请输入要打开的文件名:n"); /输入要打开的文件名 gets(filename);fp=fopen("filename","r"); if(fp=fopen(filename,"r")=NULL)/打开文件,并判断是否有打开错误printf("打开文件%s出现错误n",filename);elseprintf("
5、成功打开文件n");while(fgets(s,100,fp) /计算文件中每个英文字母出现的次数 for(i=0;si;i+)if(si<'A'|si>'z'| (si>'Z'&&si<'a')count26+;else if(si<'a')countsi-'A'+;elsecountsi-'a'for(i=0;i<26;i+)printf("%c or %c: %d次n",'A'+i
6、,'a'+i,counti);printf("其它字符:%d次n",count26);printf("input the numbern"); /输入出现次数最多的字母 scanf("%c",&d);k=(int)(d-'e'); /计算出密钥 printf("the key is :%dn",k);printf("When the ciphertext is '%s',nThe password program is.:nn",s); m=strlen(s); for(i=0;i<m;i+) /*进行解密*/n=(int)(si);if(n>64&&n<91) n=(n-65-k)%26; if(n<0) n=26+n; l=(char)(n+97); printf("%c",l); si='
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省焦作市马村区2025年四年级数学下学期期末学业水平测试模拟试题含答案
- 机械系统维护保养例行检查清单指南
- 《现在完成时复习》课件
- 河南省漯河市临颍县2025届数学三年级第二学期期中模拟试题(含解析)
- 销售经理业绩与团队管理能力考核表
- 化工研究员产品研究及技术成果转化绩效考核评估表
- 中学生科学知识应用试题
- 河南省洛阳市洛龙区2025届数学三年级第二学期期末教学质量检测试题含答案
- 食堂食材采购合同签订指南
- 河南省洛阳市廛河回族区2025-2026学年数学三年级第二学期期末质量检测试题含答案
- 【2026版企业安全生产日常台账全套】
- 脑出血患者的呼吸道管理与吸痰技巧
- 呼吸困难及窒息患者的急救护理
- 胖东来商品陈列技巧
- T/CEC 137-2017 输电线路钢管塔力加工技术规程
- 码头装卸协议书简单
- 金属矿山井下检修培训
- 鄂尔多斯市国有资产投资控股集团有限公司招聘笔试真题2024
- 辅导员工作岗位知识培训课件
- 贵阳桥下空间管理办法
- 一次性医疗用品管理课件
评论
0/150
提交评论