由文章中英文字母出现频率分析破解密文

您所在的位置:网站首页 pmi分析法中的i 由文章中英文字母出现频率分析破解密文

由文章中英文字母出现频率分析破解密文

2024-07-17 21:27| 来源: 网络整理| 查看: 265

原题: 使用频率分析法,尝试破译密文:

WB WI KJB MK RMIT BMIQ BJ RASHMWK RMVP YJERYRKB MKD WBI IWOKWXWVMKVR MKD IJYR YNIB URYMWK NKRASHMWKRD BJ OWER M VJYSHRBR RASHMKMBWJK JKR CJNHD PMER BJ LR FNMHWXWRD MKD WKISWURD BJ INVP MK RABRKB BPMB PR VJNHD URMVP BPR IBMBR JX RKHWOPBRKRD YWKD VMSMLHR JX URVJOKWGWKO IJNKDHRII IJNKD MKD IPMSRHRII IPMSR W DJ KJB DRRY YTIRHX BPR XWKMH MNBPJUWBT LNB YT RASRUWRKVR CWBP QMBM PMI HRXB KJ DJNLB BPMB BPR XJHHJCWKO WI BPR SUJSRU MSSHWVMBWJK MKD WKBRUSURBMBWJK W JXXRU YT BPRJUWRI WK BPR PJSR BPMB BPR RIIRKVR JX JQWKMCMK QMUMBR CWHH URYMWK WKBMVB

英文语言基于其固有的单词构成体系和词汇使用的频度,使得构成英文文章的字母出现的频率是相对固定的,如下:

在这里插入图片描述

在仅仅知道密文是由明文字母一一对应转换而不知道具体的对应方式时,即可通过统计密文中字母出现频率来模拟整个英文体系的字母频率分布,即将密文视为样本,以样本的参数估计整体参数,将密文中频率分布的字母与整体的频率分布字母进行替换。当然,这种估计是有误差存在的,但是基于英文书写的特点(常用单词、语法特征、短语搭配等)与英文单词构成,我们可以在估计的基础上进一步猜测和修正,进而破解出整个密文段。 下面以题目实例说明: 1、统计密文字母出现频率并按照出现频率大小与英文体系中字母出现频率大小进行替换,初步解密:

clear close all clc % May 20 2020 %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %英文字母出现个数频率统计 alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZ '; count=zeros(1,27); string=input('请输入英文片段 string='); N=length(string); for i=1:N for j=1:27 if string(i)==alphabet(j) count(j)=count(j)+1; break end end end N=N-count(27); count=count/N; count=count(1:26); % bar(1:27,count) tick1={'A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z'}; subplot(211) bar(categorical(tick1),count); [w,index]=sort(-count); tick2=tick1(index); count=-w(index); subplot(212) bar(categorical(tick2),count); set(gca,'xticklabel',tick2) code1=[]; for i=1:26 cell=tick2(i); s=cell2mat(cell); code1=[code1,s]; end tick3={'E';'T';'A';'O';'I';'N';'S';'H';'R';'D';'L';'C';'U';'M';'W';'F';'G';'Y';'P';'B';'V';'K';'J';'X';'Q';'Z'}; code2=[]; for i=1:26 cell=tick3(i); s=cell2mat(cell); code2=[code2,s]; end suptitle('字母频率统计结果') result=[]; for i=1:length(string) if string(i)==' ' result=[result,' ']; else ind=find(code1==string(i)); result=[result,code2(ind)]; end end result

在这里插入图片描述 在这里插入图片描述 2、在初步替换的结果的基础上,考虑到密文样本较小,字母出现频率与英文的统计频率会有偏差,根据常见的单词组合,常见的词缀组合,初步纠正解密结果,纠正时所替换的字母频率首先考虑原字母频率次序附近的字母。 在这里插入图片描述 比如ao->an,aod->and,tn->to,meot->ment等等,可见实际的对应关系应该为o->n,n->o,而o,n出现频率也确实是相近的,因此有比较高的把握认为,这样纠正是正确的。除了o->n,n->o,初次纠正的对应的关系还有j->v, v->b,u->c,y->x等等。这里记录的新的变换对应记录下来,再次纠正其他单词时,优先考虑。

3、初次纠正的结果还是有一些“说不通”的地方,在此基础上,根据单词的相似性(单词长度,相同字母个数,不同字母所在频率次序的接近程度)、上下文的语境,语法组合等等,进一步精准纠正。比如原来的EYLRAIO,在已知修正对替y->x,o->n替换后为:exlrain,其相近的单词让人连续到:explain 将explain换到原文语境确实可以说得通,两个单词相似程度也较高,因此认为这个替换是正确的把握较高,选择替换。 同时记录这次新替换的变化对 l->p,r->l,不断更新我们的变化对,在后续继续替换时优先考虑。 按照这个思路: 最终解密的结果为: it is not an easy task to explain each movement and its significance and some must remain unexplained to give a complete explanation one would have to be qualified and inspired to such an extent that he could cease the state of enlightened mind capable of recognizing soundness sound and shapeless shape i do not deem myself the final authority but my experience with kata has left no doubt that the following is the proper application and interpretation i offer my theories in the hope that the essence of okinawa karate will remain intact 翻译: 要解释每一个动作及其意义并非易事,有些动作必须解释不清,才能作出完整的解释,一个人必须具备资格,并受到鼓舞,以至于他能够停止那种能够认识到健全、健全和不成形的心智状态,我不认为自己是最终的权威,但我对空手道的经验使我确信以下是我所提出的理论的正确应用和解释,希望冲绳空手道的精髓能保持原样



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3