由文章中英文字母出现频率分析破解密文 |
您所在的位置:网站首页 › pmi分析法中的i › 由文章中英文字母出现频率分析破解密文 |
原题: 使用频率分析法,尝试破译密文: 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
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 |