
密碼分析的目的是恢復出明文,找到密鑰,甚至是二者兼得。根據柯克霍夫斯原理,我們假定,作為密碼分析者, 完全分析算法的內部工作原理。另一個基本的假設是能夠接觸到密文—若非如此,我們為什麼還費心費力地進行加密呢?如果僅僅知道算法和密文,那麼必須實施“僅密文”攻擊。
如果能夠訪問到已知的明文,那麼成功的機會可能會提升。也就是說,知道一些明文並且能夠觀察到所對應的密文。這些匹配的明文密文對也許能给予關於密鑰的一些信息。當然,如果所有的明文都是可知的,那麼恢復密鑰不再有任何意義。但是,情況往往是僅能夠接觸(或者猜測出)部分明文信息。例如,許多類型的數據都包含特定的具備典型特徵的信息頭(電子郵件文本就是一個非常好的例子),如果這些數據信息被加密,黑客就很可能猜測得到與一些密文信息相對應的若干明文信息。
往往更令人吃驚的是, 實際上能夠選擇明文來加密,以觀察和分析所生成的密文。不用大驚小怪,這就是所謂的“選擇明文”攻擊。有些安全協議可以加密要發送的任何信息,並且能夠返回相應的密文。另外,有限程度地訪問加密系統的情況也是可能存在的,這樣就給她加密自己選擇的明文给予了可能性。
對於攻擊者來說,潛在的更有利的一種情況是“自適應選擇明文”攻擊。在這種場景下, 選擇明文,觀察相應的結果密文,再基於觀察到的密文選擇下一個明文。在某種情況下,這能夠使密碼分析工作的難度大幅度地降低。
“相關密鑰攻擊”在某些應用場景中也不可小覷。這種攻擊的思想是:當密鑰以某種特定的方式相關聯時,就據此去尋找系統中的安全弱點。
密碼技術專家們有時候會擔心存在其他類型的攻擊手段,這時候他們往往會覺得有必要再發表一些學術文章以尋求驗證。任何情況下,只有當尚未發現有效的捷徑攻擊手段時 ,這種攻擊僅適用於公鑰密碼系統,不適用於對密碼系統方可被認為是安全的。
正如前面我們所看到的,密鑰空間的尺寸必須足夠大,才能防止攻擊者去嘗試所有可能的密鑰(發起窮舉式密鑰檢索攻擊)。前向檢索攻擊給出的暗示是:對於公開密鑰加密,我們必須也確保明文消息的空間足夠大,以使攻擊者不能夠顺利获得簡單地加密所有可能的明文消息串來發起此類攻擊行為。
