洛侖茲密碼機

洛侖茲密碼機

洛侖茲密碼機(LorenzCipher),Lorenz SZ40/42 (德國,其盟軍代號為“鮪魚”),線上密碼電傳機LorenzSZ 42,大約在1943年由Lorenz A.G製造。英國人稱其為“tunny”,用於德國戰略級陸軍司令部。SZ 40/SZ 42加密因為德國人的加密錯誤而被英國人破解,此後英國人一直使用電子COLOSSUS機器解讀德國信號。

簡介

洛侖茲密碼機 洛侖茲密碼機

The Lorenz SZ 40 and SZ 42(Schlüsselzusatz, meaning "cipher attachment") were German ciphermachines used during World War II for teleprinter circuits. Britishcodebreakers, who referred to encrypted German teleprinter traffic as"Fish", termed the machine and its traffic "Tunny". While thewell-known Enigma machine was generally used by field units, the Lorenz machinewas used for high-level communications which could support the heavy machine,teletypewriter and attendant fixed circuits. The machine itself measured 51 cm × 46 cm × 46 cm(20in × 18in × 18in), and served as an attachment to a standardLorenz teleprinter. The machines implemented a stream cipher.

第一次導航對抗

洛侖茲密碼機 洛侖茲密碼機

因為無線電導航設備可在夜間能見度很差的條件下引導飛機飛向目標,因此,電子對抗鬥爭的範圍便從無線電通信對抗發展到導航對抗。世界上第一次導航對抗也是發生在二次大戰中。1940 年,為了轟炸英國,德國人在法國北部建立了一系列無線電台,這些電台的波束指向倫敦上空。德國飛機上裝備的環形天線,能依靠任何一個波束來引導飛機到達倫敦上空。這就是一種叫“洛倫茲”(Lorenz)的導航輔助系統。經過大量研究,英國人採用一種叫“米糠”(Meaconing)的模擬干擾系統進行對抗。結果,德國轟炸機從“洛倫茲”發射機和“米糠”干擾系統兩處接收信號,從而使導航波束變形。當時這個對抗措施非常有效,使得德國飛行員多次弄錯了方向,甚至於著陸到英國空軍基地上。

當發覺“洛倫茲”遭到有效對抗時,德國人換用了名叫“涅克賓”(Knickeben)的新系統。即是在法國海岸設定兩部互相聯繫的發射機,一部發射“點”信號,另一部發射“劃”信號。這兩個發射的波束保持平行,當飛機在兩個波束之間的航線上飛行時,或者只接收到“點”信號,或者只接收到“劃”信號。英國人決定利用欺騙措施來對抗這個系統,最終德國人被搞得不辨真假,在以後的兩個月內,德國飛機只有很少幾枚炸彈投到指定目標上。

密碼學之密碼分析

密碼學是一門研究在不知道通常解密所需要的秘密信息的情況下對加密的信息進行解密的學問。通常,這需要尋找一個秘密的鑰匙。用不是很正規的話來說,這就是所謂的破解密碼。

密碼分析這個詞有時也被用來指廣義上的繞開某個密碼學算法或密碼協定的嘗試,而不僅僅是針對加密算法。但是,密碼分析通常不包括並非主要針對密碼算法或協定的攻擊,如賄賂、拷打、入室搶劫、鍵盤記錄器,等等。儘管這些攻擊方式是計算機安全領域裡的重要考慮因素,而且通常比傳統的密碼分析更加有效。

雖然密碼分析的目標在密碼學的歷史上從古至今都一樣,實際使用的方法和技巧則隨著密碼學變得越來越複雜而日新月異。密碼學算法和協定從古代只利用紙筆等工具,發展到第二次世界大戰時的恩尼格瑪密碼機(又稱謎,德語:Enigma),直到目前的基於電子計算機的方案。而密碼分析也隨之改變了。無限制地成功破解密碼已經不再可能。事實上,只有很少的攻擊是實際可行的。在上個世紀70年代中期,公鈅密碼學作為一個新興的密碼學分支發展起來了。而用來破解這些公鈅系統的方法則和以住完全不同,通常需要解決精心構造出來的純數學問題。其中最著名的就是大數的質因數分解。

密碼分析的歷史

密碼分析和密碼學是共同演化的。這從密碼學史中可以看得很明顯。總是有新的密碼機被設計出來並取代已經被破解的設計,同時也總是有新的密碼分析方法被發明出來以破解那些改進了的方案。事實上,密碼和密碼分析是同一枚硬幣的正反兩面:為了創建安全的密碼,就必須考慮到可能的密碼分析。

經典密碼分析

儘管密碼分析這個詞是晚近出現的(1920年由WilliamFriedman確立),但破解密碼和密碼機的方法卻已經存在很久了。世界上最早的破解密碼方法的文字記錄可以追溯到九世紀阿拉伯通才Al Kindi所著《破解密碼信息》(A Manuscript on Deciphering Cryptographic Messages),這篇文章論述了一個頻率分析的方法。

頻率分析是破解經典密碼的一個基本方法。在自然語言裡,字母表里的有些字母比其它的字母出現得更頻繁。例如,在英語裡,字母E很有可能是在任何文字樣本里出現頻率都最高的字母。同樣的,TH這兩個字母連起來是最有可能出現的字母對。頻率分析法假設密碼沒有隱藏這樣的統計信息。例如,在簡單的替換密碼中,每個字母只是簡單地被替換成另一個字母,那么在密文中出現頻率最高的字母就最有可能是E。

頻率分析法除了需要用到統計學外,也需要用到語言學。但隨著密碼算法的日漸複雜,密碼分析也漸漸變得主要依賴數學方法。這個改變在第二次世界大戰時最為明顯。那時,為了破解軸心國的密碼,需要發展更加複雜的數學方法。而且,自動計算也頭一次被套用到密碼分析中,如密碼炸彈(Bomba)以及最早的計算機之一,巨人計算機(Colossus)。

現代密碼分析

儘管第二次世界大戰時計算機的運用使得密碼分析更加容易,這同時也使得新的密碼學方案的複雜程度上升了好幾個數量級。總體來說,破解密碼在現代比起只用紙和筆的年代來說要困難得多了。現在看來,似乎密碼學對純密碼分析來說已經占了上風。美國歷史學家卡恩(David Kahn)這樣說道:“今天,由數百個商家提供的很多密碼系統都不能被已知的密碼分析方法來破解。確實,在這樣的密碼系統中,即使用選擇明文攻擊,也就是攻擊者可以選擇明文並比對相應的密文,也不能找出可以用來解開其它加密信息的鑰匙。從某種意義上來說,密碼分析已經死了。但是,故事還沒有結束。密碼分析也許是死了,但是,打個不恰當的比方,其實條條大道通羅馬。”(2002年11月1日在美國國家安全局50周年紀念會上的講話)。卡恩接著又提到,其它的攻擊方式的可能性增加了。例如攔截攻擊,竊聽,邊信道攻擊,以及用量子計算機來代替傳統計算機做密碼分析。

卡恩對於密碼分析所作的論斷也許還為時過早。不安全的密碼並沒有絕跡,美國國家情治單位的密碼分析方法也沒有公開過。在學術界,新的密碼在不斷地被設計出來,也經常地被破解。1984年,Madryga 分組密碼被一種唯密文攻擊破解。1998年,原本提出來要取代DES標準加密算法的分組密碼FEAL-4,也因為被學術界發現了很多類似而且實際可行的攻擊而消亡。在工業界,很多密碼也被發現有漏洞。例如,在手機中使用的A5/1,A5/2以及CMEA算法,用一般的計算工具可以在幾小時,幾分鐘內,甚至是實時地被破解。2001年,用來保護無線Wi-Fi網路的有線等效加密協定(或稱無線加密協定,即WEP)也可以用相關鑰匙攻擊來破解。

密碼分析的後果

無疑,成功的密碼分析影響了歷史的進程。能夠看懂別人本以為是秘密的想法或計畫,這種能力可以成為決定性的優勢。在戰爭期間尤其如此。例如,在第一次世界大戰中,成功地破解齊默爾曼電報是促使美國參戰的直接原因。在第二次世界大戰中,對德國密碼的成功破解,包括恩尼格瑪密碼機(Enigma)和洛侖茲密碼機(LorenzCipher),其後果從使歐洲戰場早幾個月結束,到對整個戰爭起決定性作用,各種說法都有(參見ULTRA)。美國也從對日本的PURPLE密碼的密碼分析中受益(參見MAGIC)。

一些國家的政府很早就已經意識到了密碼分析對於情報收集的重要性,不管是對於軍事還是外交都一樣。這些國家還建立了專門破解密碼的機構,如英國政府通訊總部(GCHQ),以及美國國家安全局(NSA)。這些機構在當今都非常活躍。2004年,有報導說美國成功破解了伊朗的密碼。但這是純粹的密碼分析還是有其它因素,目前還不清楚。

攻擊類型

不同的密碼分析攻擊有不同的效力,對於實際的密碼系統的威脅也不盡相同。有的時候,對於某個密碼系統的攻擊只是停留在理論上,對於任何實際的密碼系統可能並不適用。這就是所謂的“證書式弱點”(certificational weakness)。現代密碼分析的學術研究結果大部分都屬於這一類。從根本上說,某種攻擊方式在實際中的有效性取決於它對於以下幾個問題給出的答案:

這個攻擊需要何種知識及能力?

通過攻擊可獲得多少新的秘密信息?

這個攻擊需要花多少工夫?(它的計算複雜度為何?)

密碼分析中的情形

在攻擊中,通過觀察或研究目標系統,多少會獲得關於這個系統的信息。隨著能夠獲得信息多少的假設不同,密碼分析的方法也不盡相同。在密碼分析中最基本的一點,就是假設攻擊者能夠知道系統所用的算法。這也就是“敵人了解系統”的所謂柯克霍夫原則。這個假設在實際中是合理的。從古至今,有無數的秘密算法最後終為人所知,而其途徑多種多樣,包括間諜,叛變,以及逆向工程。在一些不多見的情況下,密碼機也能夠通過純粹的推演而被重建。例如德國的洛侖茲密碼機(Lorenz Cipher)和日本的PURPLE密碼機,以及其它很多經典密碼。

另外,我們通常用攻擊模式來描述攻擊者可以獲得關於系統信息的方式。攻擊模式包括以下幾種:

唯密文攻擊:攻擊者僅能獲得一些加密過的密文。

已知明文攻擊:攻擊者有一些密文並且知道相對應的明文。

選擇明文攻擊:攻擊者在開始攻擊之前可以選擇一些明文並從系統中獲得相對應的密文。如果攻擊者在攻擊中途可以根據已經獲得的信息選擇新的明文並獲得對應的密文,則稱為適應性選擇明文攻擊。

選擇密文攻擊:攻擊者在開始攻擊之前可以選擇一些密文並從系統中獲得相對應的明文。如果攻擊者在攻擊中途可以根據已經獲得的信息選擇新的密文並獲得對應的明文,則稱為適應性選擇密文攻擊。

相關鑰匙攻擊:與選擇明文(或密文)攻擊類似。不同的是,攻擊者可以得到被兩個不同的鑰匙所加密(或解密)得到的密文(或明文)。攻擊者不知道這兩個鑰匙的數值,但知道這兩個鑰匙之間的關係,比如兩個鑰匙之間相差一個比特。

顯然,這些不同種類的攻擊在實際中可能出現的機會也大不相同。儘管有些攻擊比其它的較為常見,密碼學家在設計算法時通常會採取保守的方式看待安全問題,總是假設最壞的情形。理由是,如果一個算法連不現實的攻擊都可以承受,那么它自然也可以抵抗實際可行的密碼分析。

事實上,這些假設雖然初看上去不切實際,但其實不然。例如在已知明文攻擊中,密碼分析者很有可能能夠知道或猜出明文的一部分。比方說,一封加密過的信有可能是以“敬啟者”開頭,而一個電腦會話則有可能以“用戶名:”開頭。選擇明文攻擊在密鈅密碼中較為少見,但也並非不可能。而在公鑰密碼中,選擇明文攻擊人人都可做到,因為加密用的鑰匙通常是公開或已知的。相關鑰匙攻擊通常只是在理論上的討論,但在實際中也會被用到,例如對WEP的攻擊。

成功密碼分析的類別

對於密碼分析的結果來說,其有用的程度也各有不同。密碼學家Lars Knudsen於1998年將對於分組密碼的攻擊按照獲得的秘密信息的不同分為以下幾類:

完全破解-- 攻擊者獲得秘密鑰匙。

全局演繹-- 攻擊者獲得一個和加密和解密相當的算法,儘管可能並不知道鑰匙。

實例(局部) 演繹-- 攻擊者獲得了一些攻擊之前並不知道的明文(或密文)。

信息演繹-- 攻擊者獲得了一些以前不知道的關於明文或密文的香農信息。

洛侖茲密碼機 洛侖茲密碼機

分辨算法-- 攻擊者能夠區別加密算法和隨機排列。

對於其它類型的密碼學算法,也可以做出類似的分類

相關詞條

相關搜尋

熱門詞條

聯絡我們