青青草国产成人av片免费/香港三级日本韩国三级专线/国内自拍在钱/天堂国产女人av

回復

密碼往事

樓主: 7 | 查看: 5364 | 回復: 13

查看: 5364|回復: 13

[密碼學習] 密碼往事

簡潔模式
7
發表于 2011-9-16 10:23:48
本文轉載自果殼網,作者:吳師傅。個人覺得這篇文章寫得挺好,對于密碼不大了解的同學可以好好學習下。


信息時代,密碼無處不在了,各種密碼術也隨處可見,為愛好者們津津樂道。而在此前很長一段時間,密碼學作為一門行走在暗處的黑色藝術,一直不為大眾所知,只在少數精英間流傳。從凱撒的設計到二戰時期美日間的較量,這個關于秘密通信的歷史,精彩無比。有人設計密碼,就有人破譯密碼,在這場智與智的較量中,遺下無數經典。讓我們來了解幾個最經典的密碼,一起感受密碼學里的藝術。

凱撒密碼
引用
作為一名杰出的軍事領袖,尤里烏斯•凱撒深知指揮官對前方將領的命令對于一場戰爭的重要性,這些信息絕對不能讓敵方知道,于是他設計了一種對重要的軍事信息進行加密的方法,即使這些信息被截獲,敵方也不一定能看懂——這就是著名的凱撒密碼,也算是最早的密碼實例。

在這種密碼中,從A到W的每個字母在加密時用字母表中位于后三位的那個字母代替,字母XYZ分別被替換成ABC。凱撒在這里是將字母向右移動了三位(如下圖)。比如,在三個移位的情況下,信息DOG(這種需要加密的信息統稱“明文”)就變換成GRJ(這種經加密后產生的的信息統稱“密文”);密文FDW對應的明文則是CAT。可以看到,加密、解密過程都是以字母移位的位數為參照的。這種在加密和解密的算法中依賴的參數則被稱為——密鑰。



引用
當然,移位的選擇并不僅僅限制在三位,從1到25任何數的移位都能產生類似效果。只要通信雙方事先約定好,這個選擇就很任意。很明顯的是,移位方法最多也只有25種,這成為凱撒密碼的致命弱點。一般情況下,窮舉25種移位方法,得到25組新編碼,必有一種編碼是真實的情報內容,由于其它24組多是是毫無意義的字母組合,所以凱撒密碼很容易就能被破譯。

但是凱撒在當時很成功的使用了這種密碼,還在《高盧戰記》中頗為得意的記錄下了這個加密設計。究其原因,只能是他的敵人并沒有意識到他在使用密碼。

改進后的加密法
引用
在凱撒密碼的缺點暴露后,有人便對它做出了改進:用一個按隨機順序排列的字母表來替代正常順序的字母表。這種簡單代換方法達26!種,這個看起來不大的數字,數量級達到了10 26 ,也就是說窮舉法破譯已經失效了。但是,這種方法并非無懈可擊,當它對一段比較長的英文信息加密時,依然容易被破譯。這是英語本身的統計特性決定的。

眾所周知,英語具有統計特性。每個字母的使用頻率不同且差別很大。一篇文章中字母出現的相對預期頻率是可以通過統計大量英語文章確定出來的。比如,英語文章中 E 的出現頻率最高,大約是 12.7% 這樣子;而 J 的出現頻率最低,只有 0.1% 左右。當使用上述的簡單代換密碼時,字母表中特定字母總是被同一個字母代替,導致密文中字母出現的頻率也會出現同樣的不平衡性,再加上破譯者對發密方背景的了解,要確定密文中包含的信息依然不是一件困難的事。

一個好的解決辦法是用多個密文符號來表示同一個字母。每個字母有不同數量的的密文符號替代,替代者的數量與每個字母在英語統計中的頻率成正比。例如,字母 a 在書面英語大約占 8% 的比例,所以我們可以分配8個符號來表示它。明文中出現的字母 a 在密文中可以被這8個符號中任一個替換。這樣一來,每個符號在密文中的頻率都在 1% 左右。類似處理所有英文字母。這樣設計出的一套字母替換表,打亂了密文中的英語統計特性。但由于每個密文符號只代表唯一的明文符號,也會帶來風險:對于一個給定的密鑰,破譯者能匯編出一部已知的明文與密文相對應的詞典。

好幾個世紀以來,上述的幾種加密法保證信息了的安全。不過自從頻度分析這種方法被引進到歐洲后,密碼破譯者終于占據了上風。蘇格蘭瑪麗女王的悲劇充分詮釋了這種密碼的弱點。

“不可破譯”的密碼
引用
1586年,英國政府破譯了蘇格蘭瑪麗女王和同黨謀反的密信,瑪麗女王慘遭吊死。而她使用的就是字母替換這種單碼加密法。這個事件也正式宣告上述密碼已經全部失效。

同年,一位名叫維熱納爾的法國外交家出版了一本《密碼理論》,介紹一種以他自己名字命名的新密碼,而這本書一直無人問津。直到兩百年后莫爾斯電碼流行開來,為了防止電報員泄露信息和間諜窺探秘密,維熱納爾密碼才被廣泛應用。

維熱納爾密碼一度被認為是無法破譯的,以致讓一些掌握這種密碼的人洋洋自喜,不過很快,以建立了現代計算機的理論框架而聞名于世的怪才查爾斯•巴貝奇解決了這個難題。

事情起源于一個布里斯托爾的一個牙醫賽瓦特。這個牙醫其實對密碼學知之甚少,1854年,他聲稱發明了一種新密碼,并寫信給《藝術協會雜志》企圖獲取專利。而他只不過是將維熱納爾密碼重新包裝了而已。巴貝奇寫信揭露這個事實,賽維特卻不愿承認,甚至為難巴貝奇讓他破解這個密碼。其實能否破解密碼和密碼是不是新創造的毫無關系,但這已足以激起巴貝奇的好奇心了。很快,他就成功破解了維熱納爾密碼。

對于這樣重要的成果,巴貝奇卻沒有發表它。這也符合他的性格:他一直是這種懶洋洋的態度。而更重要的原因恐怕是英國政府要求巴貝奇保密,從而讓他們可以在這方面領先全世界9年——直到1863年卡西斯基也發現了破譯方法并將它發表。

有趣的是,在美國的南北戰爭期間,南方聯軍仍然在使用黃銅密碼盤生成維熱納爾密碼,自始至終都只主要使用三個密鑰,而那個時候這密碼早就被破譯了,所以北方政府在情報戰上一直是笑而不語的。

維熱納爾密碼的原理

維熱納爾密碼又叫做維吉尼亞密碼。它的加密過程是這樣的:首先選擇一個無重復字母的密鑰詞(比如 MATH ),重復密鑰詞直至它成為一個和明文信息一樣長的字母序列,再利用下面這種方陣加密這條信息。為加密第一個字母 I,此時它下方對應的密鑰詞是 M,于是,加密 I 時由 M 對應的那行中讀出 i 列下的字母即 U,類似的,得出所有密文:
信息 IL O V E Y O U
密匙 MA T H M A T H
密文 UL HC Q Y H B



這無疑是一種高明的加密手段,維熱納爾密碼用嚴格的輪換方式重復使用一串簡單的代換密碼,很好的偽裝了基礎語言中的字母頻率。它還有很多變化,比如有一種可以允許密鑰詞中出現重復字母。每種變化都會產生一些新的特征,從而引發破譯方式的變化。

查爾斯•巴貝奇是破譯維熱納爾密碼的第一人,他的思路是:在已知密碼周期(即所使用的密碼組件數目,顯然,上述版本的維熱納爾密碼周期就是密鑰詞長度)為 p 的情況下,將密文改寫成 p 行,使得每一列按原來的密文順序排列,例如,p=3,密文 c1c2c3c4c5c6c7c8c9… 就排列成:

c1 c4 c7…

c2 c5 c8…

c3 c6 c9…

這樣排列后,每行都是使用同一簡單代換密碼所得出的,如此就可以對每一行都使用上一節提到過的統計分析了。事實上,對每一行而言,這種簡單的代換密碼正是凱撒密碼。

所以對于維熱納爾密碼的破譯者來說,關鍵就在于確定周期 p,巴貝奇則用了一種精巧的方法:在密文中搜索重復的字符串,它意味著兩個重復模式之間的距離可能等于周期的整數倍!

難題又被破解!再一次,密碼編譯者開始尋找新的方法,繼續這場智的較量。
本帖子中包含更多圖片或附件資源

您需要 登錄 才可以下載或查看,沒有帳號?加入學院

17

49

分享

7
1 | 樓主| 發表于 2011-9-16 10:28:47
19世紀之前,維熱納爾密碼可以說是密碼學的巔峰之作。而自從巴貝奇和卡西斯基破壞了密碼學的安全性之后,密碼編碼學就處于一種混亂狀態。編碼師們一直在尋找新的密碼。而20世紀初意大利人馬可尼發明了無線電技術,使得安全加密的需要更為緊迫。

在無線電開始普及之后,各國政府先后投入精力開始研究加密和破譯技術。加上隨之而來的第一次世界大戰,密碼學在影響了戰爭結果的同時,也在這段時間飛速發展。讓我們一起看看這段時間的一些經典成果。

普萊費爾(Playfair)密碼

在維熱納爾密碼被破解之后,英國人查爾斯•惠斯通爵士開發了這種加密法。經他的朋友普萊費爾的大力提倡后,被英國政府部門和軍隊采用。它在1854到1855年的克里米亞戰爭和1899年的布爾戰爭中被廣泛應用,直到1915年的一戰時期才被破譯。

普萊費爾加密法也是一種替換密碼,不同的是它不僅比先前提到的維熱納爾加密法更加先進,同時它使用方便而且可以讓英語字母的頻率統計分析法再無用武之地。

在這種方法中,字母是成對而不是單個加密的。而密鑰是一個5×5方陣(除J以外的25個字母隨機排列)。加密之前,對明文信息要稍作如下處理:
引用
用I代替J;
將要加密的信息所有字母排列成字母對形式:XX XX XX XX……
遇到同樣字母組成的字母對,在中間插入Z
如果明文中字母個數是奇數,在最后補Z

實際操作時,密鑰是依賴一個關鍵詞確定產生的。比如選取關鍵詞“rainbow”,把這個詞的所含字母按序寫到矩陣中之后,用25個字母中余下未出現的字母按字母表順序補全矩陣的剩余位置,如下圖(當然也可以將25個字母隨機排列到矩陣中,但是這樣并不利于記憶與操作)。

當需要加密的信息用上述規則處理后,就可以按照一套既定的規則加密:

將密鑰擴充成6行6列,第六行與第一行相同,第六列與第一列相同。

若兩個字母在密鑰中位于一行(列),每個字母替換為擴充后的密鑰中位于它右側(下方)的字母。

兩個字母不同行不同列,則第一個字母替換成與它同行,列數與第二個字母相同的字母,第二個字母替換成與這三個字母形成矩形的字母。



破譯Playfair
引用
與先前所述的密碼術相比,普萊費爾密碼功能強大。但它并不是無懈可擊,至少可以通過關鍵詞發現法破譯這種密碼。

這種方法是由美國軍方的大弗蘭克•穆爾曼在一戰時期開發的。他利用關鍵詞的一些特征猜測關鍵詞字母完成破譯。穆爾曼知道關鍵詞中每三個輔音字母很可能有兩個元音字母,而關鍵詞往往包含一些更為普通的字母。他還發現,如果密文中的某個字母大量和其他字母組合,那該字母很可能就是關鍵詞的字母(因為關鍵詞字母在明文中使用更頻繁)。

穆爾曼通過分析密文,找出這些字母,它們很可能包含了大部分關鍵詞字母,順著這些字母繼續下去,將密鑰補充完整,反復嘗試,就可能找出關鍵詞了(除非運氣很好,一般情況下工作量還是很大的)。

在電影《國家寶藏2》中,英國女王曾向美國內戰中的南方同盟寫過兩封關于黃金城的密信,以期南方同盟獲得巨額財富戰勝北方政府。其中第二封信就是用普萊費爾密碼加密的。主人公尼古拉斯凱奇的曾曾祖父為了保護了這個秘密,拒絕為南方同盟破譯了這個密碼被殺。兩百年后凱奇依靠曾曾祖父留下的關鍵詞(death)破解了這個普萊費爾密碼,找到了黃金城的重要線索,最終解開了這個謎團。

希爾密碼

普萊費爾密碼特別之處在于一次加密多個字母。當密碼學家了解這種加密法后,他們進一步開始嘗試以三連字甚至更多字為單位的加密法。但是他們失敗了,其中一個重要原因是維護三維(或以上)表是十分困難的。要成功設計這種加密法,需要引進專業的數學方法。

希爾密碼誕生在1929年,是以其發明人Lester S. Hill來命名的。他是紐約亨特學院的數學教授,在1929年發表一篇論文提出了這種基于聯立方程的加密算法。

希爾密碼以每次加密m個明文字母塊完成加密過程。首先需要對26個字母賦值,通常是a=0,b=1,…,z=25(希爾本人采取的是隨機賦值)。塊中的每個字母的數值一起用于生成一組新的數值。例如,m=3,需要加密的明文塊的三個字母的數值(設為p1、p2和p3)通過下面的方程組轉換成密文數值C1、C2和 C3。

該加密法的密鑰就是矩陣

舉個例子,現在對矩陣賦值如下:

利用這個密鑰和上面的方程,明文“now”首先轉換成數字:13 14 22。將這些數值代入方程解得密文數值:23 20 4。再將這些數字轉換成字母后,就得到密文“xue”了。

加密密鑰是矩陣M,那么解密密鑰就是 M -1 。這意味著要使解密可行,矩陣M必須是可逆的,因此密鑰值并不能隨意選取。從m=3的例子中歸納出用數學方法表達希爾密碼的一般形式如下:

密鑰為可逆矩陣

將明文分塊使得每塊含有n個字母(最后不足位以z不足),用n×1的向量表示。例如第 i 塊含有字符p1,p2,p3,…,pn:

那么密文就由如下方程確定:


希爾密碼很好的防止了密文被攻擊。而當密鑰矩陣越大時,該加密法抗攻擊能力就越強。但是用已知明文攻擊法可以很容易地破譯該密碼。其攻擊過程類似先前提到的匯編一部明文與密文的對應詞典。即用已知明文和密文建立方程組,求解后尋找出密鑰。

其他的加密技術

到這里我們完成了對歷史上幾種最具代表性的加密系統的介紹,然而這也并非密碼史的全部經典。還有不少精妙的加密法就不在此一一詳述了。比如二戰時期德軍使用的Enigma加密法。它屬于機械化的加密方法。Enigma加密法利用電機系統實現多碼變換,這種系統叫做回轉輪系統。回轉輪是一個圓盤,它的兩面都有電子接點,每個接點代表字母表中的一個字母。回轉輪內部有連接各接點的電線,這種連接方式定義了簡單單碼替換方式。數個這樣的回轉輪和一個反射器組合起來就構成了強大的Enigma加密機。然而,這個加密法最終還是被英國政府聯合波蘭破解了。

結語

密碼學從最初的凱撒密碼至今,走過了一個漫長的道路。計算機的超強計算能力,讓上述經典的加密方法都已失效。但是先哲的思想并未失效,密碼學也仍然在飛速發展,眼下它正朝著量子系統前進。一旦進入這種新的世界,密碼學會發生什么變化,我們只能靠猜測了。但可以預見的是,這一定不是密碼學故事的結束,而只是剛剛開始。
本帖子中包含更多圖片或附件資源

您需要 登錄 才可以下載或查看,沒有帳號?加入學院

178
| 發表于 2011-9-16 13:50:45
贊圖片格式的希爾矩陣..排版混亂的矩陣是初學者理解希爾密碼的最大障礙之一 - -
| 發表于 2011-9-16 17:32:03
厲害,我完全看不懂,除了最后一個。。。
| 發表于 2018-10-30 12:05:21 | 發自安卓客戶端
他已經成功的激起了我學習的欲望。
| 發表于 2022-1-23 21:19:14 | 發自安卓客戶端
普萊費爾密碼  如果是同列(行)的字母組是將兩個字母替換成同一字母嗎
(萌新發問  不要砍我
| 發表于 2022-1-25 06:58:36 | 發自安卓客戶端
感謝分享
| 發表于 2022-1-25 07:05:27 | 發自安卓客戶端 發帖際遇
| 發表于 2022-7-3 00:52:37 | 發自安卓客戶端 發帖際遇
感謝分享
尚未登錄
您需要登錄后才可以回帖 登錄 | 加入學院