導航:首頁 > 編程大全 > 語言密碼學

語言密碼學

發布時間:2024-03-08 22:42:55

密碼學基礎一

一、 愷撒密碼

1.簡單介紹

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

假設位數=3,那麼A=>D,B=>E,如下圖:

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

2.破解

破解凱撒密碼的方法很多,有一種暴力破解的方式,就是「遍歷」。根據凱撒密碼的加密方式,平移固定的位數,26個英文字母總共可以平移的方式是26種,假如位數n=26,其實相當於沒有平移,A=>A,循環了一次。

進行暴力破解:

n=1:LHOOR=>KGNNQ

n=2:LHOOR=>JFMMP

n=3:LHOOR=>HELLO

這樣就破解了,可以推算發位數n=3,其實就是秘鑰=3,

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

二、 替換密碼

1.簡單介紹

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

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

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

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

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

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



那麼秘鑰的存在情況是:

N=25!種方式,遠遠大於愷撒密碼的26。

2.破解

面對25!數量級的加密方式,使用暴力破解的方式不再實用了,但是可以使用另一種方法,統計學

通過大量掃描英文書籍,可以得出如下結果(,這里只探究原理,並不追究這個統計的准確性):

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

根據這個原理,掃描「隨機密碼」文本,統計出各個字母的使用頻率分布,找出使用頻率最高的那個字母,極可能就是加密後的字母E。

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

閱讀全文

與語言密碼學相關的資料

熱點內容
哪個編程的電動積木好 瀏覽:420
java的編譯程序是什麼意思 瀏覽:530
ps抽出工具安裝 瀏覽:555
溫州銀行網貸在哪個app 瀏覽:307
qq郵箱怎麼把文件另存 瀏覽:489
不加qq怎麼發文件 瀏覽:183
征途app安裝包在哪裡 瀏覽:291
做網站有哪些公司 瀏覽:332
為什麼win10系統刪除不了文件夾里 瀏覽:367
華為網站打不開是什麼原因 瀏覽:335
為什麼編程時大腦空空 瀏覽:36
電腦上怎麼保存ppt文件 瀏覽:907
男性董事總人數怎麼獲得數據 瀏覽:475
java矩陣特徵分解 瀏覽:98
gxworks2怎麼給plc編程 瀏覽:6
文件編輯器怎麼安裝軟體 瀏覽:256
嘉興長沙少兒編程培訓班哪個好 瀏覽:701
win10我的文檔圖標不見了 瀏覽:306
處理linux虛擬機亂碼 瀏覽:745
python開發編程軟體如何升級程序 瀏覽:53

友情鏈接