如果概率破解撞上了凱撒密碼
凱撒密碼是將所有的字母往后移的密碼,是很早就出現(xiàn)的加密技術。
在他之后,層出不窮的加密方法開始出現(xiàn)。而加密技術,常常用于保障重要情報就算被泄露出去,敵方也看不懂上面的內容。
有時候,往往為了破解一種加密方法,很多人為此付出了一生也未能有所突破。
在調查了市面上的書籍,信件,報紙的內容后,人們發(fā)現(xiàn)每個字母出現(xiàn)的頻率并不相同,而這,就為概率破解提供了思路。
研究了大量的文獻后,一張附帶每個字母出現(xiàn)頻率的字母表,誕生了。
以上即為簡要介紹。

下面是實操時間
我用WPS的表格將這張?zhí)刂频淖帜副沓聛?,然后排序,這就有了本次測試的主角

然后我在網(wǎng)上找了一個專門用于凱撒密碼加密的網(wǎng)站,把谷歌用中文翻譯成英文的文章放了進去。我想知道的是,對于篇幅較小的文章,這種概率到底靠不靠得住。

原文如下

接下來要做的十分簡單,甚至有點枯燥。
只需要把加密文章里的26個字母全部拎出來統(tǒng)計其個數(shù),然后寫到表格里進行排序就可以了

一開始時,我犯了個錯誤,因為自己寫到后面,發(fā)現(xiàn)其統(tǒng)計出來的數(shù)據(jù)居然比前面都高。結果是因為在進行字符替換時,把之前弄好的也一起換了。這就導致我解出來的文本相當于又加了一層密。
把所有問題排除了,于是如法炮制的重新做了一次。
增加了一個中文的緩沖區(qū),這樣無論如何數(shù)據(jù)也不會搞混。

本以為出來的結果至少還能看懂一兩個單詞,但是事實證明,我還是太嫩了。

所以,第一次向凱撒密碼的挑戰(zhàn),就因為這堆亂碼一樣的東西而宣告失敗了。
首先,文本內容太少了,這就導致其誤差可能相當?shù)拇蟆?/p>
而對于概率破解來說,來自同一方的文獻越多,它就越準確。
這是一種堪稱萬能鑰匙般的存在,一些著名的密碼,比如:
1.血字的研究
2.豬圈密碼

3.莫斯密碼

如果長期接收到設置這種密碼的信件或者一封大量使用這種密碼的信件,那么用概率破解就可以大致猜出內容。

但是!
這個漏洞早就被人發(fā)現(xiàn)而且堵得死死的了!
這個補丁,依靠的正是隨機數(shù)或者偽隨機數(shù)。
這種方法需要聯(lián)絡的雙方都有一段相同的隨機數(shù)列,再互相約定使用隨機數(shù)列的具體內容。
比如在隨機數(shù)列中,取值25~54,以此來達到破壞普通書信中字母出現(xiàn)的固定頻率。
它的一個豪華升級版是一次性密碼本,那種密碼連破解的可能性都沒有。
(當然我也就沒有做這種)
我用一段更加簡短的文本測試,以此來檢驗這種加密方法的可靠性。
這里隨便寫了一些(當然不是因為小鯊魚太可愛了)

由于排版問題,這里拆開放兩張圖


這就是加密效果

我使用的是圓周率計算到后面的數(shù)列,這下徹底實現(xiàn)隨機數(shù)自由了

不死心的我又試著分析了一下其他用隨機數(shù)處理的文本當中,26個字母出現(xiàn)的頻率
結果如下:

不要說所有的字母出現(xiàn)頻率平均了,有些字母甚至根本就沒有頻率......
這樣一眼就可以看出差距

我檢查了一下過程,結果是有多個字母在加密過程后在共用一個字母。
所以就算是長得一模一樣的字母,也可能因為對應的序號不同而被還原為不同的字母
這樣的方法是相當可靠的。
只是對方就算拿著密碼本,也知曉規(guī)則,解密的過程都會相當費力就是了。
都看到這里了,那么,你一定是個相當有耐心,相當出眾的人。
這里有一個小挑戰(zhàn),不來玩玩嗎?
