- 密碼簡史:穿越遠(yuǎn)古 展望未來
- 楊義先
- 2390字
- 2021-01-07 18:29:48
1.3 古羅馬密碼
在古羅馬,雖然流傳下來的密碼資料并不多,但對后世的影響卻很大,特別是以愷撒命名的“愷撒密碼”,甚至開創(chuàng)了至今仍有價值的一大類密碼——“移位密碼”。
愷撒,史稱愷撒大帝,羅馬共和國末期杰出的軍事家和政治家;他以其卓越的才能,成為了羅馬帝國的奠基者。愷撒的全名是蓋烏斯·尤利烏斯·愷撒,公元前100年7月13日生于羅馬。其父擔(dān)任過財政官、大法官等職務(wù),還曾出任過小亞細(xì)亞總督;其母來自顯赫的貴族之家,其外祖父曾任當(dāng)時的執(zhí)政官。少年愷撒就讀于專門培養(yǎng)貴族子弟的學(xué)校,他天賦異稟,十幾歲就發(fā)表了自己的文學(xué)作品《赫庫力斯的功勛》和悲劇《俄狄浦斯》。他酷愛古希臘文化,特別是希臘的古典文學(xué);還喜歡體育運動,精通騎馬、劍術(shù)等;他肌肉發(fā)達(dá),體魄強健。成年后,歷任過財務(wù)官、祭司長、大法官、執(zhí)政官、監(jiān)察官、獨裁官等職。在處理軍事政務(wù)時,他沉穩(wěn)內(nèi)斂,認(rèn)真嚴(yán)謹(jǐn);在與他人商討事務(wù)時,他言談得體,頗有風(fēng)度;在為人處世時,他寬厚仁慈,開朗大度;但他喜歡獨斷專行,渴求知識,醉心于開創(chuàng)偉業(yè)。公元前60年,愷撒與龐培、克拉蘇秘密結(jié)成三巨頭同盟,隨后出任高盧總督,并在8年時間里征服了高盧全境(今法國一帶),還襲擊了日耳曼和不列顛。公元前49年,他率軍占領(lǐng)羅馬,打敗龐培,集大權(quán)于一身,實行獨裁統(tǒng)治,還制定了《儒略歷》。公元前44年3月15日,愷撒被暗殺,享年56歲。愷撒死后,其甥孫(也是其養(yǎng)子)屋大維,開創(chuàng)了羅馬帝國,并成為首位羅馬帝國皇帝。
愷撒密碼的加密原理很簡單:把每個英文字母,用其隨后的第三個字母來代替,比如,A變成D,B變成E,……,X、Y、Z變成A、B、C;于是,明文“A dog”加密后,就變成了密文“D grj”。解密時,也很簡單,只需把密文中的每個英文字母,用其前面的第三個字母來代替就行了,比如,A,B,C分別變成X,Y,Z,……,D變成A,E變成B,等等;于是,密文“D grj”就被解密成了明文“A dog”。
據(jù)說,“愷撒密碼”備受愷撒青睞,以至他在日常信件中,也都要使用這種加密方法;所以,愷撒在戰(zhàn)爭中占盡優(yōu)勢,以至他的敵手讀不懂他的任何機要信息,最后只好紛紛扔下武器,乖乖投降。猛然一看,“只將字母按順序進(jìn)行3個位移”好像很平凡;但在英文字母表中,可做從1到25之間的任意移位,每個字母也可用任意其他字母來代替,只要收信人知道原來的密鑰,即那個事先約定的變換表;這就意味著,在簡單的替換密碼中,存在著的變化可能性達(dá)到天文數(shù)字的403 291 461 126 605 635 584 000 000種!根據(jù)古代的計算水平,假設(shè)測試一個可能的替換需要1秒鐘,那么,試圖通過窮舉法,來破解該替換密碼所需要的時間,將超過宇宙年齡的10倍!
愷撒密碼還有一種擴展型,稱為仿射密碼,其原理是:將a,b,…,z這26個英文字母,分別用0,1,…,25這26個整數(shù)表示;于是,加密算法的數(shù)學(xué)公式就是這樣一個仿射變換C=(aM+b)mod 26。其中,(X) mod 26表示模26運算,即X除以26后的余數(shù);a是與26互質(zhì)的任何一個整數(shù),即除13之外,在0到25之間的任何一個奇數(shù);b也是任何一個0到25之間的整數(shù);(a,b)便是密鑰,特別是當(dāng)a=1、b=3時,它所對應(yīng)的仿射密碼,就剛好是愷撒密碼。相應(yīng)的解密算法便是M=a-1(C-b) mod 26。仿射密碼的安全強度,遠(yuǎn)遠(yuǎn)大于愷撒密碼,當(dāng)然也肯定經(jīng)受不起現(xiàn)今計算機的窮舉攻擊。
關(guān)于愷撒與密碼的故事還有很多,有興趣的讀者,建議閱讀愷撒親自撰寫的報告文學(xué)《高盧戰(zhàn)記》。該書比較平實地記述了愷撒許多事跡,特別是他在“愷撒密碼”的幫助下,按時間先后順序所經(jīng)歷過的各次主要戰(zhàn)爭,包括:針對厄爾維幾人的戰(zhàn)爭,針對日耳曼人的戰(zhàn)爭,針對比爾及人的戰(zhàn)爭,針對文內(nèi)幾人的海戰(zhàn)和對日耳曼人的報復(fù),入侵不列顛的戰(zhàn)爭,鎮(zhèn)壓高盧大叛亂和阿來西亞之戰(zhàn)等。此外,書中還記述了愷撒的作戰(zhàn)心得和在高盧的外交活動,當(dāng)然這些都離不開“愷撒密碼”的暗助。其中,阿來西亞之戰(zhàn)是全書最為精彩的章節(jié),也是高潮之所在。初戰(zhàn)時,雙方騎兵沖殺,愷撒果斷派出日耳曼騎兵,擊敗高盧騎兵;敵方主將戰(zhàn)敗后,躲進(jìn)阿來西亞城,閉門不出。愷撒便在城外構(gòu)筑防御工事,嚴(yán)密封鎖阿來西亞。高盧各邦得知主將被困阿來西亞后,便迅速組建了一支聯(lián)軍,共八千騎兵和二十五萬步兵前來馳援。高盧人企圖通過內(nèi)外夾擊,消滅愷撒的軍隊。愷撒則臨危不亂,他把全體步兵分別布置在工事兩側(cè),拼命防守,然后命令騎兵出戰(zhàn)。愷撒再次使用日耳曼騎兵,擊潰了高盧人,使得形勢逐漸好轉(zhuǎn);于是,愷撒下令,四處追趕撤退中的外圍敵軍,使他們無法重新集結(jié);同時,又將從困城中沖出來的敵人再次逼了回去。此后,愷撒又多次擊退了外圍高盧援軍,雙方互相拉鋸,損失慘重。再后來,高盧人針對愷撒防御工事的一個薄弱點,發(fā)動了絕地偷襲。總之,此役戰(zhàn)線很長,雙方陷入膠著;關(guān)鍵時刻,愷撒身先士卒,只身投入戰(zhàn)斗。士兵們在其勇敢精神的鼓舞下,奮力拼殺,終于徹底擊潰了高盧人。敵方主將眼見外援基本被殲,敗局已定,只好投降。至此,高盧戰(zhàn)事基本結(jié)束,愷撒也鞏固了羅馬在高盧的統(tǒng)治地位。而所有這些戰(zhàn)場戰(zhàn)術(shù)的調(diào)兵遣將命令,都得益于愷撒密碼的神助,否則,他可能早就被對手“包了餃子”。
若用今天的標(biāo)準(zhǔn)去評判,愷撒密碼確實算不上先進(jìn);但在當(dāng)時,它卻相當(dāng)超前。比如,愷撒的繼承者,羅馬帝國的首任皇帝屋大維,在密碼方面就遠(yuǎn)遠(yuǎn)遜色于愷撒大帝,因為屋大維在需要加密文件時,竟然只是簡單地把a寫為b,把b寫為c,……,把z寫為a等;其安全性顯然遠(yuǎn)遠(yuǎn)劣于愷撒密碼,若真被敵方破譯了,肯定會吃敗仗。
關(guān)于愷撒密碼被長期廣泛使用的情況,還有這樣一個真實的現(xiàn)代事例:在意大利有一個黑社會老大。他在經(jīng)歷了40多年的逃亡生活后,終于在2006年被捕入獄,而其失手的原因竟是:他在與其同伙進(jìn)行保密通信時,仍傻乎乎地使用了愷撒移位密碼!只不過不是用D代替A,而是用4代替A,用5代替B,以此類推。這位黑社會老大一直擔(dān)心手機不安全,所以,他堅持用筆記方式來經(jīng)營和管理其犯罪集團;當(dāng)這些筆記落入警局后,很快就被破解了,其犯罪集團也被一網(wǎng)打盡。
- App Inventor移動應(yīng)用開發(fā)標(biāo)準(zhǔn)教程
- 數(shù)據(jù)通信:路由與交換技術(shù)
- 室內(nèi)分布系統(tǒng)規(guī)劃設(shè)計手冊
- 全業(yè)務(wù)運營下網(wǎng)絡(luò)融合實現(xiàn)
- 教你檢修液晶彩色電視機
- 現(xiàn)代通信技術(shù)概論(第3版)
- 通信電子線路
- 索尼新型彩色電視機速修圖解
- Altium Designer 原理圖與PCB設(shè)計
- 現(xiàn)代交換技術(shù)
- 現(xiàn)代通信原理與技術(shù)
- iOS 7開發(fā)快速入門
- 光網(wǎng)絡(luò)信息傳輸技術(shù)
- Premiere影視動畫后期合成
- 新型航空遙感數(shù)據(jù)產(chǎn)品生產(chǎn)技術(shù)