孟文出
首先需要來了解一些與密碼有關的定義。
密鑰:加密密鑰和解密密鑰。
明文:沒有進行加密,能夠直接代表原文含義的信息。
密文:經過加密處理處理之后,隱藏原文含義的信息。
加密:將明文轉換成密文的實施過程。
解密:將密文轉換成明文的實施過程。
密碼算法:密碼系統采用的加密方法和解密方法,隨著基于數學密碼技術的發展,加密方法一般稱為加密算法,解密方法一般稱為解密算法。
分組密碼(Block Cipher):用明文的一個區塊和密鑰,輸出相同大小的密文區塊。由于待加密數據通常比單一分組長,因此有各種方式將連續的區塊拼接在一起。分組密碼代表有DES,AES。
流密碼(Stream Cipher):相對于分組加密,把密鑰與明文依位元或字符結合,有點類似一次一密密碼本(One-time Pad)。輸出的串流根據加密時的內部狀態而定。在一些流密碼上由密鑰控制狀態的變化。流密碼代表有RC4。
密碼分析:破解密碼。
經典密碼分析
在假設密碼分析者已知所用加密算法全部知識的情況下,根據密碼分析者對明文、密文等數據資源的掌握程度,可以將針對加密系統的密碼分析攻擊類型分為以下4種:
①惟密文攻擊(Ciphtext-onlyAttack)
在惟密文攻擊中,密碼分析者知道密碼算法,但僅能根據截獲的密文進行分析,得出明文或密鑰。由于密碼分析者所能利用的數據資源僅為密文,這種情況是對密碼分析者最不利的。
②已知明文攻擊(Plaintext-known Attack)
已知明文攻擊是指密碼分析者除了有截獲的密文外,還有一些已知的“明文—密文對”來破譯密碼。密碼分析者的任務目標是推出用來加密的密鑰或某種算法,這種算法可以對用該密鑰加密的任何新消息進行解密。
③選擇明文攻擊(Chosen-plaintext Attack)
選擇明文攻擊是指密碼分析者不僅可得到一些“明文—密文對”,還可以選擇被加密的明文,并獲得相應的密文。密碼分析者選擇特定的明文數據塊加密,并比較明文和對應的密文,分析和發現更多與密鑰相關的信息。
密碼分析者的任務目標是推出用來加密的密鑰或某種算法,該算法可以對用該密鑰加密的任何新消息進行解密。
④選擇密文攻擊(Chosen -ciphenext Attack)
選擇密文攻擊是指密碼分析者可以選擇一些密文,并得到相應的明文。密碼分析者的任務目標是推出密鑰。這種密碼分析多用于攻擊公鑰密碼體制。
現代密碼分析
攔截攻擊、竊聽、邊信道攻擊以及用量子計算機來代替傳統計算機做密碼分析。
對分組密碼安全性的討論主要包括差分密碼分析、線性密碼分析和強力攻擊等。從理論上講,差分密碼分析和線性密碼分析是目前攻擊分組密碼的最有效的方法,而從實際上說,強力攻擊是攻擊分組密碼最可靠的方法。