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

  儘管「密碼分析」這個詞是晚近出現的(1920年由William Friedman確立),但破解密碼和密碼機的方法卻由來已久。世界上最早的破解密碼方法的文字記錄可以追溯到九世紀阿拉伯通才Al Kindi所著《破解密碼資訊》(A Manuscript on Deciphering Cryptographic Messages),這篇文章論述了一個頻率分析的方法。  頻率分析是破解經典密碼的一個基本方法。在自然語言裡,字母表裡的有些字母比其它的字母出現得更頻繁。例如,在英語裡,字母E很有可能是在任何文字樣本里出現頻率都最高的字母。同樣的,TH這兩個字母連起來是最有可能出現的字母對。頻率分析法假設密碼沒有隱藏這樣的統計資訊。例如,在簡單的替換密碼中,每個字母只是簡單地被替換成另一個字母,那麼在密文中出現頻率最高的字母就最有可能是E。  頻率分析法除了需要用到統計學外,也需要用到語言學。但隨著密碼演算法的日漸複雜,密碼分析也漸漸變得主要依賴數學方法。這個改變在第二次世界大戰時最為明顯。那時,為了破解軸心國的密碼,需要發展更加複雜的數學方法。而且,自動計算也頭一次被應用到密碼分析中,如密碼炸彈以及最早的計算機之一,巨人計算機。

  儘管第二次世界大戰時計算機的運用使得密碼分析更加容易,這同時也使得新的密碼學方案的複雜程度上升了好幾個數量級。總體來說,破解密碼在現代比起只用紙和筆的年代來說要困難得多了。現在看來,似乎密碼學對純密碼分析來說已經佔了上風。美國歷史學家卡恩(David Kahn)這樣說道:「今天,由數百個商家提供的很多密碼系統都不能被已知的密碼分析方法來破解。確實,在這樣的密碼系統中,即使用選擇明文攻擊,也就是攻擊者可以選擇明文並比對相應的密文,也不能找出可以用來解開其它加密資訊的鑰匙。從某種意義上來說,密碼分析已經死了。但是,故事還沒有結束。密碼分析也許是死了,但是,打個不恰當的比方,其實條條大道通羅馬。」(2002年11月1日在美國國家安全域性50週年紀念會上的講話)。卡恩接著又提到,其它的攻擊方式的可能性增加了。例如攔截攻擊,竊聽,側通道攻擊,以及用量子計算機來代替傳統計算機做密碼分析。  卡恩對於密碼分析所作的論斷也許還為時過早。不安全的密碼並沒有絕跡,美國國家情報機構的密碼分析方法也沒有公開過。在學術界,新的密碼在不斷地被設計出來,也經常地被破解。1984年,Madryga 分組密碼被一種唯密文攻擊破解。1998年,原本提出來要取代DES標準加密演算法的分組密碼 FEAL-4,也因為被學術界發現了很多類似而且實際可行的攻擊而消亡。在工業界,很多密碼也被發現有漏洞。例如,在手機中使用的A5/1,A5/2以及CMEA演算法,用一般的計算工具可以在幾小時、幾分鐘內,甚至是實時地被破解。2001年,用來保護無線Wi-Fi網路的有線等效加密協議(或稱無線加密協議,即WEP)也可以用相關鑰匙攻擊來破解。

  無疑,成功的密碼分析影響了歷史的程序。能夠看懂別人本以為是祕密的想法或計劃,這種能力可以成為決定性的優勢。在戰爭期間尤其如此。例如,在第一次世界大戰中,成功地破解齊默爾曼電報是促使美國參戰的直接原因。在第二次世界大戰中,對德國密碼的成功破解,包括恩尼格瑪密碼機(Enigma)和洛侖茲密碼機(Lorenz Cipher),其後果從使歐洲戰場早幾個月結束,到對整個戰爭起決定性作用,各種說法都有(參見ULTRA)。美國也從對日本的PURPLE密碼的密碼分析中受益(參見MAGIC)。  一些國家的政府很早就已經意識到了密碼分析對於情報收集的重要性,不管是對於軍事還是外交都一樣。這些國家還建立了專門破解密碼的機構,如英國政府通訊總部(GCHQ),以及美國國家安全域性(NSA)。這些機構在當今都非常活躍。2004年,有報道說美國成功破解了伊朗的密碼。但這是純粹的密碼分析還是有其它因素,目前還不清楚

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

  在攻擊中,通過觀察或研究目標系統,多少會獲得關於這個系統的資訊。隨著能夠獲得資訊多少的假設不同,密碼分析的方法也不盡相同。在密碼分析中最基本的一點,就是假設攻擊者能夠知道系統所用的演算法。這也就是「敵人瞭解系統」的所謂柯克霍夫原則。這個假設在實際中是合理的。從古至今,有無數的祕密演算法最後終為人所知,而其途徑多種多樣,包括間諜,叛變,以及逆向工程。在一些不多見的情況下,密碼機也能夠通過純粹的推演而被重建。例如德國的洛侖茲密碼機(Lorenz Cipher)和日本的PURPLE密碼機,以及其它很多經典密碼。  另外,我們通常用攻擊模式來描述攻擊者可以獲得關於系統資訊的方式。攻擊模式包括以下幾種:  顯然,這些不同種類的攻擊在實際中可能出現的機會也大不相同。儘管有些攻擊比其它的較為常見,密碼學家在設計演算法時通常會採取保守的方式看待安全問題,總是假設最壞的情形。理由是,如果一個演算法連不現實的攻擊都可以承受,那麼它自然也可以抵抗實際可行的密碼分析。  事實上,這些假設雖然初看上去不切實際,但其實不然。例如在已知明文攻擊中,密碼分析者很有可能能夠知道或猜出明文的一部分。比方說,一封加密過的信有可能是以「敬啟者」開頭,而一個電腦會話則有可能以「使用者名稱:」開頭。選擇明文攻擊在金鑰密碼中較為少見,但也並非不可能。而在公鑰密碼中,選擇明文攻擊人人都可做到,因為加密用的鑰匙通常是公開或已知的。相關鑰匙攻擊通常只是在理論上的討論,但在實際中也會被用到,例如對WEP的攻擊。

  對於密碼分析的結果來說,其有用的程度也各有不同。密碼學家Lars Knudsen於1998年將對於分組密碼的攻擊按照獲得的祕密資訊的不同分為以下幾類:  對於其它型別的密碼學演算法,也可以做出類似的分類。
密碼分析(英語:cryptanalysis,來源於希臘語,即「隱藏」,以及,即「解開」),是研究在不知道通常解密所需要的祕密資訊的情況下對已加密的資訊進行解密的一門學問。一般情況下,要成功解密需要尋找到一個祕密的鑰匙,俗稱破解密碼(破密)。