何映宇
密碼之所以叫密碼,流傳著這么一個(gè)故事。
公元前405年,伯羅奔尼撒戰(zhàn)爭(zhēng)已接近尾聲,雅典和斯巴達(dá)打了多年兩敗俱傷。此時(shí),一直覬覦希臘這塊肥肉的波斯帝國(guó)正蠢蠢欲動(dòng)。斯巴達(dá)急需摸清波斯帝國(guó)的具體行動(dòng)計(jì)劃,以便采取新的戰(zhàn)略方針。剛巧,斯巴達(dá)軍隊(duì)捕獲了一名從波斯帝國(guó)回雅典送信的雅典信使。斯巴達(dá)士兵仔細(xì)搜查,并未在信使身上發(fā)現(xiàn)什么書(shū)信,只在他的腰帶上發(fā)現(xiàn)了一些仿佛天書(shū)一般雜亂無(wú)章的希臘字母。這是個(gè)啥東西?怎么每個(gè)字母都認(rèn)識(shí),可是合起來(lái)卻不知道它在說(shuō)啥?
斯巴達(dá)軍隊(duì)統(tǒng)帥萊山德絞盡腦汁,幾乎把這些字母的排列組合都想了個(gè)遍,也沒(méi)把這句句子給捋順。當(dāng)時(shí)他就抓狂了,敵軍的秘密就在自己手上,可是自己就是解不開(kāi)這個(gè)謎。這什么感受?就好像一頭活羊落在一只饑腸轆轆的斑斕猛虎面前,可是猛虎剛掉了牙齒,無(wú)福消受。
幸好,萊山德運(yùn)氣還不壞,就在他把腰帶呈螺旋形纏繞在手中的劍鞘上把玩時(shí),奇跡出現(xiàn)了。腰帶上那些雜亂無(wú)章的字母,竟組成了一段文字,說(shuō)的是波斯軍隊(duì)準(zhǔn)備在斯巴達(dá)軍隊(duì)對(duì)雅典發(fā)起最后攻擊時(shí),突然對(duì)斯巴達(dá)軍隊(duì)進(jìn)行襲擊。
世界上第一封密碼信就這樣給運(yùn)氣好到爆的萊山德給破了。此時(shí)萊山德知己知彼百戰(zhàn)不殆,斯巴達(dá)軍隊(duì)根據(jù)這份情報(bào)馬上改變了作戰(zhàn)計(jì)劃,先是大破不可一世的波斯軍隊(duì),繼而揮師雅典,取得了著名的伯羅奔尼撒戰(zhàn)爭(zhēng)的勝利。
這個(gè)故事很出名很有市場(chǎng),但是它是真的還是假的呢?我們認(rèn)為八成是假的。為什么?因?yàn)槭聦?shí)上,和波斯結(jié)成聯(lián)盟的不是雅典,而正是斯巴達(dá)!
雅典雖然在小亞細(xì)亞沿岸及黑海海峽附近的海戰(zhàn)中數(shù)度取勝,但斯巴達(dá)卻得到波斯資助再建海軍。公元前405年斯巴達(dá)將雅典180艘艦船誘入赫勒斯滂海峽,突然襲擊,這一戰(zhàn),雅典艦隊(duì)全軍覆沒(méi),標(biāo)志著雅典海上霸權(quán)喪失殆盡。雅典方面怎么可能派人給波斯送這樣一封密信呢?而且波斯人又不懂希臘語(yǔ)。
連年征戰(zhàn)讓繁榮富強(qiáng)的希臘從此一蹶不振。波斯帝國(guó)得以插手希臘各邦的事務(wù),勝利者斯巴達(dá)成為希臘的霸權(quán)國(guó)。公元前408年后,波斯王子居魯士出任小亞細(xì)亞總督,斯巴達(dá)任命萊山德?lián)魏\娊y(tǒng)帥。萊山德親赴薩爾迪,面見(jiàn)居魯士,討得他的歡心,得到了1萬(wàn)大流克的資助。萊山德就用居魯士的錢(qián),提高服役水手的薪金,把許多水手從雅典人的艦隊(duì)拉到了自己這邊來(lái),最終擊敗雅典。只是斯巴達(dá)的霸權(quán)沒(méi)有維持多久,最終被希臘北部的馬其頓王國(guó)征服。
所以,傳說(shuō)只是個(gè)傳說(shuō),不過(guò),密碼學(xué)(Cryptography)這個(gè)詞實(shí)際上是希臘文Kruptos(hidden)和graphein(towrite)合在一起的組合,現(xiàn)代準(zhǔn)確的術(shù)語(yǔ)為“密碼編制學(xué)”,簡(jiǎn)稱“編密學(xué)”,與之相對(duì)的專(zhuān)門(mén)研究如何破解密碼的學(xué)問(wèn)稱之為“密碼分析學(xué)”。密碼的英文cryptogram,是希臘文Krup- tos和詞根gram(同樣是towrite的意思)的組合,這是不是萊山德密碼故事的一個(gè)源頭呢?
密碼最開(kāi)始的用處自然就是克敵制勝,到二戰(zhàn)時(shí)期,登峰造極,密碼扮演了舉足輕重的角色,許多人認(rèn)為同盟國(guó)之所以能打贏這場(chǎng)戰(zhàn)爭(zhēng)完全要?dú)w功于二次大戰(zhàn)時(shí)所發(fā)明的破譯密文數(shù)位式計(jì)算機(jī)破解了德日密碼。
1918年,在德國(guó),密碼大神亞瑟·謝爾比烏斯制造了第一臺(tái)非手工編碼的密碼機(jī)———ENIGMA密碼機(jī)(恩尼格瑪編碼機(jī))。“ENIGMA”,意為“謎”,這臺(tái)機(jī)器,又稱“獅身人面”。直到第一次世界大戰(zhàn)結(jié)束為止,所有密碼都是使用手工來(lái)編碼的。而ENIGMA密碼機(jī)的出現(xiàn)改變了這種狀況,ENIGMA看起來(lái)是一個(gè)裝滿了復(fù)雜而精致的元件的盒子。不過(guò)要是我們把它打開(kāi)來(lái),就可以看到它可以被分解成相當(dāng)簡(jiǎn)單的三部分:鍵盤(pán)、轉(zhuǎn)子和顯示器。
鍵盤(pán)一共26個(gè)鍵,鍵盤(pán)排列接近我們現(xiàn)在使用的計(jì)算機(jī)鍵盤(pán),但沒(méi)有標(biāo)點(diǎn)符號(hào)。鍵盤(pán)上方就是顯示器,它由標(biāo)示了同樣字母的26個(gè)小燈組成,當(dāng)鍵盤(pán)上的某個(gè)鍵被按下時(shí),和此字母被加密后的密文相對(duì)應(yīng)的小燈就在顯示器上亮起來(lái)……
使用“ENIGMA”通信時(shí),發(fā)信人首先要調(diào)節(jié)三個(gè)轉(zhuǎn)子的方向(而這個(gè)轉(zhuǎn)子的初始方向就是密鑰,是收發(fā)雙方必須預(yù)先約定好的),然后依次鍵入明文,并把顯示器上燈泡閃亮的字母依次記下來(lái),最后把記錄下的閃亮字母按照順序用正常的電報(bào)方式發(fā)送出去。收信方收到電文后,只要也使用一臺(tái)“ENIGMA”,按照原來(lái)的約定,把轉(zhuǎn)子的方向調(diào)整到和發(fā)信方相同的初始方向上,然后依次鍵入收到的密文,顯示器上自動(dòng)閃亮的字母就是明文了。加密和解密的過(guò)程完全一樣,這就是反射器的作用,同時(shí)反射器的一個(gè)副作用就是一個(gè)字母永遠(yuǎn)也不會(huì)被加密成它自己,因?yàn)榉瓷淦髦幸粋€(gè)字母總是被連接到另一個(gè)不同的字母。
“ENIGMA”型機(jī)能產(chǎn)生220億種不同的密鑰組合,假如一個(gè)人日夜不停地工作,每分鐘測(cè)試一種密鑰的話,需要約4.2萬(wàn)年才能將所有的密鑰可能組合試完,反正就是老復(fù)雜了。
對(duì)于潛艇作戰(zhàn)尤其是德國(guó)海軍的“狼群”戰(zhàn)術(shù)來(lái)說(shuō),無(wú)線電通信是潛艇在海上活動(dòng)獲取信息通報(bào)情況的最重要的手段,而“ENIGMA”密碼機(jī)則是關(guān)乎整個(gè)無(wú)線電通信安全的設(shè)備,其重要性可想而知。
耗資6200萬(wàn)美元的美法合拍超級(jí)大片《獵殺U-571》講的就是美國(guó)海軍派出本國(guó)潛艇偽裝成德軍維修艦去搶奪因戰(zhàn)斗受損上浮的德國(guó)潛艇U-571上的通信密碼解碼機(jī),以期破解德軍的密碼通信的故事。美國(guó)大片的講述當(dāng)然要為美國(guó)人臉上添光,事實(shí)上,是法國(guó)人而不是美國(guó)人第一次接近“ENIGMA”編碼機(jī)。
美國(guó)前情報(bào)人員歐內(nèi)斯特·弗克曼在他的《間諜圖文史:世界情報(bào)戰(zhàn)5000年》中寫(xiě):在比利時(shí)的一個(gè)小村莊,德軍最高統(tǒng)帥部的密碼員提羅·施密德第一次與法國(guó)人秘密會(huì)面,這時(shí)他拿出了恩尼格瑪編碼機(jī)的使用說(shuō)明書(shū),還有編碼機(jī)加密系統(tǒng)的一些技術(shù)文件。法國(guó)情報(bào)人員看得目瞪口呆,施密德想要的是錢(qián),法國(guó)人為此支付了首付款1萬(wàn)美元(約合現(xiàn)在的20萬(wàn)美元)現(xiàn)金。
與法國(guó)并肩作戰(zhàn)的還有波蘭、美國(guó)和英國(guó)。英國(guó)的代號(hào)為ULTRA的行動(dòng),被溫斯頓·丘吉爾稱為“下金蛋的鵝”。1940年,ULTRA行動(dòng)組開(kāi)始破譯出由恩尼格瑪編碼機(jī)發(fā)報(bào)的高級(jí)別信息。從理論上說(shuō),一臺(tái)恩尼格瑪編碼機(jī)能夠生成的可能排列數(shù)量是3×10114,這是一個(gè)令人頭暈?zāi)垦5臄?shù)字。但是不管這個(gè)數(shù)字有多大,它總是有限的。
為了破解德國(guó)人的密碼,他們制造了一臺(tái)解密機(jī),這是個(gè)龐然大物,它有7英尺(約2.1米)長(zhǎng),6英尺(約1.8米)高,重量超過(guò)1噸。機(jī)器啟動(dòng)時(shí),它那數(shù)以千計(jì)的真空管、滑輪和電磁傳動(dòng)裝置,就開(kāi)始“嘩啦啦”地工作,響聲就像是科學(xué)小說(shuō)里描寫(xiě)的科學(xué)怪物。沒(méi)錯(cuò),這就是世界上第一臺(tái)計(jì)算機(jī)!
有了計(jì)算機(jī)這樣的神器你覺(jué)得德國(guó)人還有打贏的可能性嗎?太平洋戰(zhàn)爭(zhēng)中,美軍成功破譯了日本海軍的密碼機(jī),讀懂了日本艦隊(duì)司令官山本五十六發(fā)給各指揮官的命令,在中途島徹底擊潰了日本海軍,擊斃了山本五十六,導(dǎo)致了太平洋戰(zhàn)爭(zhēng)的決定性轉(zhuǎn)折。
中國(guó)古代也有密碼?!胺弊直玖x是指古代朝廷下命令的憑證;“竹”字偏旁表明最早的“符”是用竹子做的;“符”一般來(lái)講使用時(shí)一分為二,驗(yàn)證時(shí)合二為一;這就是我們常用的詞語(yǔ)“符合”的來(lái)歷。
西周的兵書(shū)《六韜》中陰符和陰書(shū)是中國(guó)早期系統(tǒng)闡述密碼學(xué)的著作。“陰”指“機(jī)密”,“符”指“符號(hào)”,也有編碼的意思,“書(shū)”指“信件”或“文件”。所以,字面上的意思,“陰符”和“陰書(shū)”就是“密碼”或“密文”。其中“陰書(shū)”的加密方法是整體加密,只有獲得全部文字信息才能看懂其中的內(nèi)容。
《六韜·陰符》開(kāi)篇就記述了陰符的種類(lèi)。當(dāng)武王向太公請(qǐng)教,遇到戰(zhàn)事緊急情況軍隊(duì)要保持密切的聯(lián)系應(yīng)該怎么辦時(shí),太公就回答說(shuō)要用陰符。
陰符共分八種,每一種之間差一寸。一種長(zhǎng)一尺,表示大獲全勝,摧毀敵人;一種長(zhǎng)九寸,表示攻破敵軍,殺敵主將;一種長(zhǎng)八寸,表示守城的敵人已投降,我軍已占領(lǐng)該城;一種長(zhǎng)七寸,表示敵軍已敗退,遠(yuǎn)傳捷報(bào);一種長(zhǎng)六寸,表示我軍將誓死堅(jiān)守城邑;一種長(zhǎng)五寸,表示請(qǐng)撥運(yùn)軍糧,增派援軍;一種長(zhǎng)四寸,表示軍隊(duì)?wèi)?zhàn)敗,主將陣亡;一種長(zhǎng)三寸,表示戰(zhàn)事失利,全軍傷亡慘重。如奉命傳遞陰符的使者延誤傳遞,則處死;如陰符的秘密被泄露,則無(wú)論無(wú)意泄密者或有意傳告者也處死。只有國(guó)君和主將知道這八種陰符的秘密。這就是不會(huì)泄露朝廷與軍隊(duì)之間相互聯(lián)系內(nèi)容的秘密通信語(yǔ)言。敵人再聰明也不能識(shí)破它。
我們熟悉的虎符就是陰符的一種?;⒎怯们嚆~或者黃金做成伏虎形狀的令牌,劈為兩半,其中一半交給將帥,另一半由元帥或大將保存,只有兩個(gè)虎符同時(shí)使用,才可以調(diào)兵遣將,為中國(guó)古代帝王授予臣屬兵權(quán)和調(diào)發(fā)軍隊(duì)的信物。虎符最早出現(xiàn)于春秋時(shí)期,盛行于戰(zhàn)國(guó),秦、漢時(shí)期傳世的有秦新郭虎符等。陜西歷史博物館藏有一枚從西安西郊發(fā)現(xiàn)的虎符,據(jù)考證是公元前475年至公元前221年的戰(zhàn)國(guó)文物,稱為秦代錯(cuò)金“杜”字锏虎符,高4厘米、作猛虎疾奔狀,象征軍威和進(jìn)軍神速。虎符的身上刻有嵌金銘文40字,記述調(diào)兵對(duì)象和范圍,制作極為精巧。