何映宇
密碼之所以叫密碼,流傳著這么一個故事。
公元前405年,伯羅奔尼撒戰爭已接近尾聲,雅典和斯巴達打了多年兩敗俱傷。此時,一直覬覦希臘這塊肥肉的波斯帝國正蠢蠢欲動。斯巴達急需摸清波斯帝國的具體行動計劃,以便采取新的戰略方針。剛巧,斯巴達軍隊捕獲了一名從波斯帝國回雅典送信的雅典信使。斯巴達士兵仔細搜查,并未在信使身上發現什么書信,只在他的腰帶上發現了一些仿佛天書一般雜亂無章的希臘字母。這是個啥東西?怎么每個字母都認識,可是合起來卻不知道它在說啥?
斯巴達軍隊統帥萊山德絞盡腦汁,幾乎把這些字母的排列組合都想了個遍,也沒把這句句子給捋順。當時他就抓狂了,敵軍的秘密就在自己手上,可是自己就是解不開這個謎。這什么感受?就好像一頭活羊落在一只饑腸轆轆的斑斕猛虎面前,可是猛虎剛掉了牙齒,無福消受。
幸好,萊山德運氣還不壞,就在他把腰帶呈螺旋形纏繞在手中的劍鞘上把玩時,奇跡出現了。腰帶上那些雜亂無章的字母,竟組成了一段文字,說的是波斯軍隊準備在斯巴達軍隊對雅典發起最后攻擊時,突然對斯巴達軍隊進行襲擊。
世界上第一封密碼信就這樣給運氣好到爆的萊山德給破了。此時萊山德知己知彼百戰不殆,斯巴達軍隊根據這份情報馬上改變了作戰計劃,先是大破不可一世的波斯軍隊,繼而揮師雅典,取得了著名的伯羅奔尼撒戰爭的勝利。
這個故事很出名很有市場,但是它是真的還是假的呢?我們認為八成是假的。為什么?因為事實上,和波斯結成聯盟的不是雅典,而正是斯巴達!
雅典雖然在小亞細亞沿岸及黑海海峽附近的海戰中數度取勝,但斯巴達卻得到波斯資助再建海軍。公元前405年斯巴達將雅典180艘艦船誘入赫勒斯滂海峽,突然襲擊,這一戰,雅典艦隊全軍覆沒,標志著雅典海上霸權喪失殆盡。雅典方面怎么可能派人給波斯送這樣一封密信呢?而且波斯人又不懂希臘語。

連年征戰讓繁榮富強的希臘從此一蹶不振。波斯帝國得以插手希臘各邦的事務,勝利者斯巴達成為希臘的霸權國。公元前408年后,波斯王子居魯士出任小亞細亞總督,斯巴達任命萊山德擔任海軍統帥。萊山德親赴薩爾迪,面見居魯士,討得他的歡心,得到了1萬大流克的資助。萊山德就用居魯士的錢,提高服役水手的薪金,把許多水手從雅典人的艦隊拉到了自己這邊來,最終擊敗雅典。只是斯巴達的霸權沒有維持多久,最終被希臘北部的馬其頓王國征服。
所以,傳說只是個傳說,不過,密碼學(Cryptography)這個詞實際上是希臘文Kruptos(hidden)和graphein(towrite)合在一起的組合,現代準確的術語為“密碼編制學”,簡稱“編密學”,與之相對的專門研究如何破解密碼的學問稱之為“密碼分析學”。密碼的英文cryptogram,是希臘文Krup- tos和詞根gram(同樣是towrite的意思)的組合,這是不是萊山德密碼故事的一個源頭呢?
密碼最開始的用處自然就是克敵制勝,到二戰時期,登峰造極,密碼扮演了舉足輕重的角色,許多人認為同盟國之所以能打贏這場戰爭完全要歸功于二次大戰時所發明的破譯密文數位式計算機破解了德日密碼。
1918年,在德國,密碼大神亞瑟·謝爾比烏斯制造了第一臺非手工編碼的密碼機———ENIGMA密碼機(恩尼格瑪編碼機)?!癊NIGMA”,意為“謎”,這臺機器,又稱“獅身人面”。直到第一次世界大戰結束為止,所有密碼都是使用手工來編碼的。而ENIGMA密碼機的出現改變了這種狀況,ENIGMA看起來是一個裝滿了復雜而精致的元件的盒子。不過要是我們把它打開來,就可以看到它可以被分解成相當簡單的三部分:鍵盤、轉子和顯示器。
鍵盤一共26個鍵,鍵盤排列接近我們現在使用的計算機鍵盤,但沒有標點符號。鍵盤上方就是顯示器,它由標示了同樣字母的26個小燈組成,當鍵盤上的某個鍵被按下時,和此字母被加密后的密文相對應的小燈就在顯示器上亮起來……
使用“ENIGMA”通信時,發信人首先要調節三個轉子的方向(而這個轉子的初始方向就是密鑰,是收發雙方必須預先約定好的),然后依次鍵入明文,并把顯示器上燈泡閃亮的字母依次記下來,最后把記錄下的閃亮字母按照順序用正常的電報方式發送出去。收信方收到電文后,只要也使用一臺“ENIGMA”,按照原來的約定,把轉子的方向調整到和發信方相同的初始方向上,然后依次鍵入收到的密文,顯示器上自動閃亮的字母就是明文了。加密和解密的過程完全一樣,這就是反射器的作用,同時反射器的一個副作用就是一個字母永遠也不會被加密成它自己,因為反射器中一個字母總是被連接到另一個不同的字母。
“ENIGMA”型機能產生220億種不同的密鑰組合,假如一個人日夜不停地工作,每分鐘測試一種密鑰的話,需要約4.2萬年才能將所有的密鑰可能組合試完,反正就是老復雜了。
對于潛艇作戰尤其是德國海軍的“狼群”戰術來說,無線電通信是潛艇在海上活動獲取信息通報情況的最重要的手段,而“ENIGMA”密碼機則是關乎整個無線電通信安全的設備,其重要性可想而知。
耗資6200萬美元的美法合拍超級大片《獵殺U-571》講的就是美國海軍派出本國潛艇偽裝成德軍維修艦去搶奪因戰斗受損上浮的德國潛艇U-571上的通信密碼解碼機,以期破解德軍的密碼通信的故事。美國大片的講述當然要為美國人臉上添光,事實上,是法國人而不是美國人第一次接近“ENIGMA”編碼機。
美國前情報人員歐內斯特·弗克曼在他的《間諜圖文史:世界情報戰5000年》中寫:在比利時的一個小村莊,德軍最高統帥部的密碼員提羅·施密德第一次與法國人秘密會面,這時他拿出了恩尼格瑪編碼機的使用說明書,還有編碼機加密系統的一些技術文件。法國情報人員看得目瞪口呆,施密德想要的是錢,法國人為此支付了首付款1萬美元(約合現在的20萬美元)現金。
與法國并肩作戰的還有波蘭、美國和英國。英國的代號為ULTRA的行動,被溫斯頓·丘吉爾稱為“下金蛋的鵝”。1940年,ULTRA行動組開始破譯出由恩尼格瑪編碼機發報的高級別信息。從理論上說,一臺恩尼格瑪編碼機能夠生成的可能排列數量是3×10114,這是一個令人頭暈目眩的數字。但是不管這個數字有多大,它總是有限的。
為了破解德國人的密碼,他們制造了一臺解密機,這是個龐然大物,它有7英尺(約2.1米)長,6英尺(約1.8米)高,重量超過1噸。機器啟動時,它那數以千計的真空管、滑輪和電磁傳動裝置,就開始“嘩啦啦”地工作,響聲就像是科學小說里描寫的科學怪物。沒錯,這就是世界上第一臺計算機!
有了計算機這樣的神器你覺得德國人還有打贏的可能性嗎?太平洋戰爭中,美軍成功破譯了日本海軍的密碼機,讀懂了日本艦隊司令官山本五十六發給各指揮官的命令,在中途島徹底擊潰了日本海軍,擊斃了山本五十六,導致了太平洋戰爭的決定性轉折。
中國古代也有密碼?!胺弊直玖x是指古代朝廷下命令的憑證;“竹”字偏旁表明最早的“符”是用竹子做的;“符”一般來講使用時一分為二,驗證時合二為一;這就是我們常用的詞語“符合”的來歷。
西周的兵書《六韜》中陰符和陰書是中國早期系統闡述密碼學的著作。“陰”指“機密”,“符”指“符號”,也有編碼的意思,“書”指“信件”或“文件”。所以,字面上的意思,“陰符”和“陰書”就是“密碼”或“密文”。其中“陰書”的加密方法是整體加密,只有獲得全部文字信息才能看懂其中的內容。
《六韜·陰符》開篇就記述了陰符的種類。當武王向太公請教,遇到戰事緊急情況軍隊要保持密切的聯系應該怎么辦時,太公就回答說要用陰符。
陰符共分八種,每一種之間差一寸。一種長一尺,表示大獲全勝,摧毀敵人;一種長九寸,表示攻破敵軍,殺敵主將;一種長八寸,表示守城的敵人已投降,我軍已占領該城;一種長七寸,表示敵軍已敗退,遠傳捷報;一種長六寸,表示我軍將誓死堅守城邑;一種長五寸,表示請撥運軍糧,增派援軍;一種長四寸,表示軍隊戰敗,主將陣亡;一種長三寸,表示戰事失利,全軍傷亡慘重。如奉命傳遞陰符的使者延誤傳遞,則處死;如陰符的秘密被泄露,則無論無意泄密者或有意傳告者也處死。只有國君和主將知道這八種陰符的秘密。這就是不會泄露朝廷與軍隊之間相互聯系內容的秘密通信語言。敵人再聰明也不能識破它。
我們熟悉的虎符就是陰符的一種?;⒎怯们嚆~或者黃金做成伏虎形狀的令牌,劈為兩半,其中一半交給將帥,另一半由元帥或大將保存,只有兩個虎符同時使用,才可以調兵遣將,為中國古代帝王授予臣屬兵權和調發軍隊的信物。虎符最早出現于春秋時期,盛行于戰國,秦、漢時期傳世的有秦新郭虎符等。陜西歷史博物館藏有一枚從西安西郊發現的虎符,據考證是公元前475年至公元前221年的戰國文物,稱為秦代錯金“杜”字锏虎符,高4厘米、作猛虎疾奔狀,象征軍威和進軍神速?;⒎纳砩峡逃星督疸懳?0字,記述調兵對象和范圍,制作極為精巧。