密碼學(xué)基礎(chǔ)一

一、 愷撒密碼

1.簡單介紹

凱撒密碼是古時候歐洲常用的一種加密方式:英文一共26個字母,它的加密方式是將這26個字母分別平移固定的位數(shù),

假設(shè)位數(shù)=3,那么A=>D,B=>E,如下圖:


1576554524(1).jpg

如果想加密一個單詞HELLO,根據(jù)上面的唯一對比,加密后的結(jié)果應(yīng)該是LHOOR。顛倒字母后的順序,使得常人無法讀懂這些語句或者單詞。如何解密呢,也很簡單,只需要將收到的單詞向前平移3個位置,就可以恢復(fù)到加密前的單詞HELLO了。

2.破解

破解凱撒密碼的方法很多,有一種暴力破解的方式,就是“遍歷”。根據(jù)凱撒密碼的加密方式,平移固定的位數(shù),26個英文字母總共可以平移的方式是26種,假如位數(shù)n=26,其實相當(dāng)于沒有平移,A=>A,循環(huán)了一次。

進行暴力破解:

n=1:LHOOR=>KGNNQ

n=2:LHOOR=>JFMMP

n=3:LHOOR=>HELLO

這樣就破解了,可以推算發(fā)位數(shù)n=3,其實就是秘鑰=3,

最多嘗試25次即可推算出加密的n值等于多少(當(dāng)然這里只是討論原理,不排除真實情況,可能湊巧某一個錯誤的n值解密出來的也是一個完整的單詞或一段話的情況)。

二、 替換密碼

1.簡單介紹

替換密碼和愷撒密碼原理有些類似,個人感覺相當(dāng)于愷撒密碼的變種,替換密碼增加了字母替換的隨機性.

舉個簡單的例子,A=>G,B=>X,C=>K

這里ABC..等26個字母都隨機指向了“密碼”本上的另一個隨機的字母,這下就比較難反向推算出“秘鑰”是多少了,數(shù)量級完全不一樣。

簡單的算一下可能存在的情況:

A=>有25種表示方式BCD…

B=>有除A以外24種方式表示CDE..

那么秘鑰的存在情況是:

N=25!種方式,遠(yuǎn)遠(yuǎn)大于愷撒密碼的26。

2.破解

面對25!數(shù)量級的加密方式,使用暴力破解的方式不再實用了,但是可以使用另一種方法,統(tǒng)計學(xué)

通過大量掃描英文書籍,可以得出如下結(jié)果(圖片來自網(wǎng)絡(luò),這里只探究原理,并不追究這個統(tǒng)計的準(zhǔn)確性):


1576554537(1).jpg

26個字母在日常用語中的使用頻率并不一樣,比如字母E的使用頻率遙遙領(lǐng)先,字母Z使用頻率最低,這個相當(dāng)于語言所殘留在文字中的指紋,很難察覺但是真實存在。

根據(jù)這個原理,掃描“隨機密碼”文本,統(tǒng)計出各個字母的使用頻率分布,找出使用頻率最高的那個字母,極可能就是加密后的字母E。

3.隨機加密還有很多變種,雙重加密,擦掉“指紋”使得加密方式更進一步加固,不得不感嘆古人的智慧,數(shù)學(xué)之美真奇妙。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容