大道小說網 > 都市小說 > 殺戮人生

相關資料 軍事中的密碼(部分) 文 / 謝邪

    公元前51年初,深冬。高盧,畢布拉克德(現法國境內伯夫雷山),凱撒的營帳。

    深夜,羅馬共和國高盧行省長它儒略.凱撒,正在一張羊皮上寫著什麼。他的身影被跳動的燈火映在帳篷上,高大而搖曳。他的臉略嫌狹長,但稜角分明,專注的神色中透著與生俱來的自負。他在寫他的「隨記」,也就是後來流傳於世的《高盧戰記》。

    戎馬生涯的凱撒本沒有餘暇來寫什麼隨記,但是過去的幾年中,與他在高盧的顯赫戰績相比,政治上的事態發展可不那麼如意。羅馬執政宮克拉蘇斯在同帕爾提亞人(在今土庫曼斯坦南部和伊朗東北部)的作戰中被俘。熔化了的台液灌進了他的喉嚨……這個當年殘酷鎮壓斯巴達克斯起義的劊子手,如今向他嗜如生命的黃金鑄在了一起,這對凱撒來說是一件好事——少了一個政敵,但更是一件壞事——羅馬「三巨頭」之間的平衡被打破了,活著的兩巨頭,他和龐培,不得不面臨決鬥。凱撒從來沒有看得起過克拉蘇斯。這個只會獻媚的小人死不足惜,但龐培絕不能小看,不然的話凱撒當年也不會把自己的女兒尤麗姬嫁給龐培。要知道,龐培比凱撒還要大8歲。

    現在,尤麗婭已經去世,他們之間除了你死我活己無任何瓜葛。龐培以羅馬唯一執政官的地位優勢,正在元老院裡向他發動強大的政治攻勢……

    他必須宣傳自己,他必須向元老院陳述自己的功績,但同時又必須表現出一種謙遜、客觀的態度,不能帶有任何自吹自擂的痕跡。為此,他在這部隨記中,處處用第三人稱稱呼自己,通篇都用異常平靜、簡潔的筆調敘說戰事的經過。

    這時他正寫到卷五,說的是公元前54年,他的愛將西塞羅突然遭到維爾納人的圍攻,情況緊急,「於是,他以極大的酬報說服了一個高盧騎兵,送一封信去給西塞羅。送去的信是用希臘文寫的,免得它被敵人截住後得知我軍的計劃……」寫到這時,他停了一下,似在考慮更好的措詞。一絲狡猾的微笑從臉上掠過,他繼續寫了下去……

    譯者的質疑

    時間無情地飛馳,轉眼就過了近2000年,凱撒的《高盧戰記》以其翔實的敘事、清純的文風,成為研究羅馬歷史、拉丁文學和軍事史不可或缺的學術資料。1979年,我國商務印書館將《高盧戰記》譯成中文,作為「漢譯世界學術名著叢書」中的一種出版,譯者任炳湘先生

    打開這本中文譯本,翻到第124頁,我們看到了上面引述的那樁派人送信給西塞羅的事。然而,治學嚴謹的譯者在這裡發現了問題,他注道:「言下之意,似乎高盧人個懂希臘語,即令書信被截去,也不會洩露自己的計劃。但在本書卷一25節中曾說到在厄爾維幾人營中發現用希臘文寫的統計數字,又說高盧人無論公私文件都用希臘文書寫,似乎有矛盾。」對此,譯者的推測是:「也許上面兩節指的是高盧人用希臘字母書寫自己的語言,這一節所說的是真正的希臘文。」

    譯者的質疑可說是切中要害,然而譯者的推測卻仍讓人疑雲難消。敵營中就沒有一人認識真正的希臘文?他們就不能去找一個希臘人來識這封信(如果他們截住了這封信的話)?足智多謀的凱撒會不考慮這些明擺著的可能而鋌而走險?

    是不是可以有另外的解釋?

    確實有另外一種解釋:如果記讓一位密碼學家來進行推測,他會毫不猶豫地認為——凱撒送去的這封信是用密碼寫的!因為任何一本講述密碼學歷史的著作,都會提到凱撒對軍事密碼學的貢獻。凱撒在其軍事行動中使用了密碼,這在密碼學界已不是密碼。那麼凱撒用的是怎樣的密碼呢?

    凱撒密表

    古羅馬隨筆作家修托尼厄斯在他的作品中披露,凱撒常用一種「密表」給他的朋友寫信。這裡所說的密表,在密碼學上稱為「凱撒密表」。用現代的眼光看,凱撒密表是一種相當簡單的加密變換,就是把明文中的每一個字母用它在字母表上位置後面的第三個字母代替。古羅馬文字就是現在所稱的拉丁文,其字母就是我們從英語中熟知的那26個拉丁字母。因此,凱撒密表就是用d代a,用e代b,……,用z代;例如,有這樣一個拉丁文例子

    omniagalliaestdivisapartestres

    (高盧全境分為三部分)

    用凱撒密表加密後,就成為密文

    rpqldjdoold;你看,不掌握箇中奧妙,不如道凱撒密表,簡直不知所云。

    那麼,在公元前54年,凱撒就是用這種密碼給西塞羅寫信的嗎?有趣的是,密碼界對這—點卻持否定態度,因為密碼學歷史上還記載著凱撒使用的另一種加密方法:把明文的拉丁字母逐個代之以相應的希臘字母,這種方法看來更貼近凱撒在《高盧戰記》中的記敘。顯然,哪一個拉丁寧母應該代之以哪—個希臘字母,事先都有約定,凱撒知道,西塞羅也知道,不然的話,西塞羅收到密信後,也會不知所云。

    當阿里巴巴站在那四十一名大盜的山洞大門口,準備打開大門時,他必須知道一個咒語:「芝麻開門」。當我們站在密碼學的大門口,準備邁入時,必須要知道的則是—些基本概念。為此,讓我們先把密碼通信的幾個要素總結如下。

    在軍事通信上,必須考慮要傳送的秘密信息在傳送的途中被除發信者和收信者以外的第三者(特別是敵人)截獲的可能性使載送信息的載體(如文本、無線電被等)即使在被截獲的情況下也不會讓截獲者得知其中信息內容的通信方法或技術,稱為保密通信。密碼通信就是一種保密通信,它是把表達信息的意思明確的文字符號,用通信雙方事先所約定的變換規則,變換為另一串莫名其妙的符號,以此作為通信的文本發送給收信者,當這樣的文本傳送到收信者手中時,收信者—時也不能識別其中所代表的意思,這時就要根據事先約定的變換規則,把它恢復成原來的意思明確的文字,然後閱讀。這樣,如果這個文本在通信途中被第三者截獲,由於第三者—般不知道那變換規則,因此他就不能得知在這一串符號背後所隱藏的信息。當然,為了戰爭的目的,他會千方百計地努力弄到這個變換規則。一種努力就是對已經截獲的密文進行分析,有時結合從其他途徑獲得的有關信息,試圖找出這個變換規則。

    在密碼學中,我們把要傳送的以通用語言明確表達的文字內容稱為明文,由明文經變換而形成的用於密碼通信的那一串符號稱為密文,把明文按約定的變換規則變換為密文的過程稱為加密,收信者用約定的變換規則把密文恢復為明文的過程稱為解密。敵方主要圍繞所截獲密文進行分析以找出密碼變換規則的過程,稱為破譯。

    如在上一節中,omniagalliaestdivisapartestres就是一段明文,凱撒密表就是—種變換規則。這段明文經凱撒密表加密後,就變成了密文rpqldjdoold;在這個例子中,加密和解密都在用凱撒密表,但嚴格地說,加密時所用的變換與解密時所用的變換是兩個變換。這兩個變換間的關係是它們互為逆變換。也就是說,明文用其中一個變換進行加密產生密文後,若再用另一個變換對這密文進行解密,就會得到原來的明文。這種互逆的關係就如同我們所熟知的加法和減法互為逆運算的關係一樣:加上一個數後再減去同一個數,就等於不加也不減。(後面我們將知道,用凱撒密表加密,就相當於模26加3,而用它解密,就相當於模26減3)

    密鑰

    我們看到,密碼的變換規則顯然是至關重要的。一種變換規則一旦被敵方掌握,所有用這種規則加密的通信都將無密可言。因此,變換規則必須嚴加保密但在密碼的安全性與變換規則的安全性上,卻有一個「怪圈」。

    要提高密碼的安全性,不讓敵方輕易破譯,就要把變換規則設計得盡量複雜,比方說,不是用字母代替字母,而是用字母組代替字母組;但變換規則複雜到一定程度,就變得難以記憶;而難以記憶,就需要用文字把它記錄下來備查;而—有文字記錄,其安全性就大打折扣。一是這種文字記錄至少要為通信雙方所擁有,於是就有多個復本,復本越多,安全性越差;二是這種文字記錄與保管者可能分離,這就增加了被他人竊取複製的可能;三是變換規則需要經常更換,於是必須傳送新的文字記錄,但無論是古代的人工傳送,還是現代的電子傳送,顯然都很不安全。

    打破這個「怪圈」的方法是:在把變換規則設計得盡可能複雜的同時,設計出一個(或一組)「關鍵詞」,根據這個(組)「關鍵詞」,就可以把變換規則「推導」出來。這個(組)「關鍵詞」就稱為密鑰。顧名思義,密鑰就是打開密碼之鎖的鑰匙。

    例如,凱撒密表的密鑰就是「後移3」,其至可以更簡單地表示為「3」,記住這個密鑰,在用凱撒密表進行加密或解密時,就不需要記住凱撒密表的具體內容了。如果是一張龐大的密表(如中文的電報碼本),而又沒有較為簡短的密鑰,那麼就不得不好好地在這張密表的保密上作一番功夫了。雖然這樣的密碼在實際中也被人們所使用,但一般只用於具有相對固定的潛伏地點並偽裝得較好的情報人員,對於流動性較大的軍事作戰部門,這樣的密碼是不可取的。因此在軍事密碼學中,我們只考慮有簡短密鑰的密碼。

    前面說過,加密變換和解密變換是互為逆變換的兩個變換在幾十年前,對這種區別一般不怎麼強調,因為只要知道了其中一個變換、它的逆變換也就唾手可得了。但是到了20世紀70年代,這個觀念被人打破了。有種變換,從—種狀態變換到另一種狀態的正變換其計算是十分容易的;但反過來,從另一種狀態恢復到原來狀態的變換,即逆變換,雖然在理論上可以從正變換得知,但其計算卻十分複雜。即使用現代的電子計算機也要花去成千上萬年的時間,這種計算已經失去任何現實意義。如從兩個很大的素數變換為它的積,這種變換就是做一個乘法,顯然很容易,但是反過來,要把一個大整數分解成兩個素數,—般沒有有效的算法,計算十分困難。有人根據這一持點,設計了所謂「公開密鑰密碼」,簡稱「公鑰密碼」。在這種密碼中,需要強調加密變換與解密變換之間在計算困難性上的巨大差異,並且相應地有兩個(組)密鑰,一個(組)是加密密鑰(可予公開),另一個(組)是解密密鑰(必須保密),分別用於加密和解密。

    密碼破譯的三大要素

    密碼的破譯方法是與密碼的編制方法對立的。密碼的破譯,在原則上遵循觀察與經驗,在方法上採用歸納與演繹,在步驟上是:分析、假設、推測和證實(或否定)。而語言的頻率特徵、連接特徵和重複特徵,乃是進行密碼破譯的三大要素

    人類用於表達信息的語言,儘管隨著民族和地區的不同有很大的差異,但都具有上述3個重要的特徵,語言的這3個特徵,為我們破譯密碼,特別是破澤單表代替密碼,提供了十分有利的條件。

    1、頻率特徵

    密碼分析家們很早就發現,在各種語言中,各個字母(或基本成分)的使用次數是不一樣的,有的偏高,有的偏低,這種現象就叫做偏用現象。

    對英文的任何一篇文章,我們將—個字母在該文章中出現的次數稱作這個字母(在這篇文章中)的頻數。假定該文章共有字母n個,則用一個字母的頻數除以n就得到了這個字母(在這篇文章中)的使用頻率.

    在英文中c的普遍使用頻率最高,相當於在1萬個字母中,平均出現1304次;而z的普遍使用頻率最低,僅相當於在1萬個字母中平均出現8次,這就是所謂偏用現象,通常

    就把這種偏用現象叫做語言的使用頻率特徵。

    類似地,古人還對法、德、意、西、葡、日、俄等7種語言就字母的頻數和使用頻率進行過統計,並且也得到了類似的現律。

    語言除了上述普遍的使用頻率特徵外,還有開頭結尾持征。這首先表現在單詞上有些文章的開頭與結尾,往往受到固定格式的限制,例如在電報中,開頭通常是收報人地址和姓名,結尾則是發報人姓名等,這就使得某些特定的單詞高頻率地出現在文章的開頭或結尾。對於某些形式極其特殊的文章,例如對飛機或軍艦位置的定期報告,這種開頭結尾特徵則更細緻地表現到字母的使用頻率上。有時在文章中間的某些特定部位上,某些字母也會表現出較高的使用頻率。

    從單詞的使用頻率看,在英語文章中,以定冠詞the的使用頻率為最高,其次是專有名詞和it等代詞,in、on等前置詞的使用頻率也較高。

    從字母在單詞中的分佈來看,也有一些規律。在英語中,半元音字母y的總使用頻數的90%都集中在單詞的結尾,而w的90%都集中在單詞的開頭,p和c在單詞的開頭多,在結尾少,r和h在單詞中間出現較多,而j和q在縮略語以外的單詞結尾中根本不出現。我們還可以繼續研究許多其他的頻率特徵,這些持征對於破澤單表代替密碼來說都有很大的幫助。

    2、連接特徵

    語言的第二個重要特徵是連接待征。如在英語中,字母q後面除了連接省略號外。幾乎百分之百地連接著u,這是連接特徵中的後連接方式。

    同樣,有些字母,它們分別在前面總喜歡連接那麼少數幾個字母。例如在英文字母x前面連接的幾乎總是i和e,只有在極個別的情況下是o和a,這便是連接特徵中的前連接方式。

    連接待征除了前連接、後連接方式之外,還有—種間斷連接方式,如在c和e之間,r的出現頻率很高。

    對用經典加密方法加密出來的密文,即使在密文掌握不太多的情況下,利用連接持征,破譯也能有較大把握。

    3、重複特徵

    兩個字符以上的字符串重複出現的現象,叫做語言的重複特徵。如在英語中,th,tion,tious等就是重複出現的字符串。

    重複特徵在很早就引起了人們的注意。1602年,意大利的喬瓦.尼.波塔發現在用維吉尼亞方表密碼中,重複出現的密文字母串往往代表著重複出現的明文字母串。1863年,普魯士的弗裡德裡希.卡西斯基抓住這個現象,發明了估計週期性多表代替密碼的密鑰詞長度的「卡西斯基試驗」。

    ;
上一章    本書目錄    下一章