劉紅強
[摘要]本文主要介紹密碼學相關知識,主要包括密碼學定義、加密算法、密碼破解,通過對密碼學相關知識的介紹,增強大家信息安全知識,增加在安全測試方面的安全儲備。
[關鍵詞]密碼學;加密算法;密碼破解
當前社會正步人一個嶄新的信息社會,信息在社會中的地位和作用越來越重要,每個人的生活與信息的產(chǎn)生、存儲、處理和傳遞密切相關。信息的安全與保密問題成了人人都關心的事情。在信息社會中,密碼技術已成為信息安全的核心技術。
一、密碼學定義
密碼學作為數(shù)學的一個分支,是研究計算機信息加密、解密及其變換過程的科學,是密碼編碼學和密碼分析學的統(tǒng)稱,是數(shù)學和計算機的交叉學科,和信息論也密切相關,是一門新興的學科。
二、加密算法
(一)對稱加密算法
對稱加密算法是加解密密鑰相同或可互相推出,安全性依賴于密鑰。主要有:DES、3DES、IDEA、AES、RC等。對稱算法的主要優(yōu)點是加密和解密速度快,加密強度高,且算法公開,但其缺點是實現(xiàn)密鑰的秘密分發(fā)困難,在有大量用戶情況下密鑰管理復雜,而且無法完成身份認證等功能,不便于應用在網(wǎng)絡開放的環(huán)境中。加密與解密的密鑰和流程是完全相同的,區(qū)別僅僅是加密與解密使用的子密鑰序列的施加序列剛好相反。DES密碼體制的安全性應該不依賴于算法的保密,其安全性僅以加密密鑰的保密為基礎。對稱加密系統(tǒng)的算法實現(xiàn)速度極快,從AES候選算法的測試結果看,軟件實現(xiàn)的速度都達到了每秒數(shù)兆或數(shù)十兆比特。對稱密碼系統(tǒng)的這些特點使其有著廣泛的應用。對稱加密系統(tǒng)最大的問題是密鑰的分發(fā)和管理非常復雜、代價高昂。
(二)非對稱加密算法
非對稱加密算法是加解密密鑰不相同且不能相互計算出來,存在密鑰對。可分為加密密鑰和解密密鑰。非對稱加密算法的優(yōu)點是能適應網(wǎng)絡的開放性要求,密鑰管理簡單,并且可方便地實現(xiàn)數(shù)字簽名和身份認證等功能,是目前電子商務等技術的核心基礎。其缺點是算法復雜,加密數(shù)據(jù)的速度和效率較低。因此在實際應用中,通常將對稱加密算法和非對稱加密算法結合使用,利用DES或者IDEA等對稱加密算法來進行大容量數(shù)據(jù)的加密,而采用RSA等非對稱加密算法來傳遞對稱加密算法所使用的密鑰,通過這種方法可以有效地提高加密的效率并能簡化對密鑰的管理。公開密鑰加密系統(tǒng)采用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。公鑰密碼體制通常被用來加密關鍵性的、核心的機密數(shù)據(jù),而對稱密碼體制通常被用來加密大量的數(shù)據(jù)。
三、密碼破解
密碼破解主要介紹基于密文攻擊和明文攻擊兩種。
(一)基于密文攻擊
基于密文攻擊主要包括唯密文攻擊、已知密文攻擊、選擇密文攻擊。
1.唯密文攻擊
密碼分析者有一些消息密文,這些消息都用一加密算法加密。密碼分析者的任務是恢復盡可能多的明文,或者最好是能推算出加密消息的密鑰來.以便采用相同的密鑰解算出其他被加密的消息。
2.已知密文攻擊
密碼分析者不僅可以得到一些消息的密文,而且也知道這些消息的明文。分析者的任務就是用加密信息推出用來加密的密鑰或者導出一個算法,此算法可以對用同一密鑰加密的任何新的消息進行解密。
3.選擇密文攻擊
密碼分析者選擇不同的被加密的密文,并可得到對應的解密的明文,例如密碼分析者選擇一個防篡改的自動解密盒,其任務是推出密鑰。這種攻擊主要用于公開密鑰算法,選擇密文攻擊有時也可有效地用于對稱算法(有時選擇明文攻擊和選擇密文攻擊一起稱作選擇文本攻擊)。這個攻擊的前提是分析者能夠獲得一個密封的解密盒,也就是一個已經(jīng)固化的專門用于對應某一個特定密鑰加密過的密文進行解密的硬件。攻擊的方法就是隨機產(chǎn)生一個偽密文(不一定是合法的),讓解密盒進行解密,將所得到的明文和密文進行比較,得到關于密鑰或者算法的相關信息。這種攻擊實際上和選擇明文攻擊相類似(就是它的逆過程),只是明文變成密文肯定能夠成功,但是逆過程則不一定成功。
(二)基于明文攻擊
1.選擇明文攻擊
分析者不僅可得到一些消息的密文和相應的明文,而且他們也可選擇被加密的明文。這比一個明文攻擊更有效。因為密碼分析者能選擇特定的明文塊去加密,這些塊可能產(chǎn)生更多關于密鑰的信息,分析者的任務是推出用來加密消息的密鑰或者導出一個算法,此算法可以對用同一密鑰加密的任何新的消息進行解密。
2.自適應選擇明文攻擊
這是選擇明文攻擊的特殊情況,密碼分析者不僅能選擇被加密的密文,而且也能給以前加密的結果修正這個選擇。在選取較小的明文塊,然后基于第一塊的結果選擇另一明文塊,以此類推。
3.中間人攻擊
中間人攻擊是一種“間接”的人侵攻擊,這種攻擊模式是通過各種技術手段將受人侵者控制的一臺計算機虛擬放置在網(wǎng)絡連接中的兩臺通信計算機之間,這臺計算機就稱為
“中間人”。然后人侵者把這臺計算機模擬一臺或兩臺原始計算機,使“中間人”能夠與原始計算機建立活動連接并允許其讀取或修改傳遞的信息,然而兩個原始計算機用戶卻認為他們是在互相通信。通常,這種“攔截數(shù)據(jù)——修改數(shù)據(jù)——發(fā)送數(shù)據(jù)”的過程就被稱為“會話劫持”。中間人攻擊是黑客的慣用伎倆。此技術將一臺計算機放置在網(wǎng)絡連接中的兩臺通信計算機之間,然后用中間計算機模擬一臺或兩臺原始計算機,此技術可以使“中間人”與原始計算機建立活動連接并允許期賣取和/或修改傳遞的信息,然而兩個原始計算機用戶卻認為他們是在互相通信。
密碼學的應用已經(jīng)滲透到各行各業(yè),受到社會各界,特別是商業(yè)、金融業(yè)及電子工業(yè)界的極大關注。在高度發(fā)達的信息時代,密碼學可以說是安全領域發(fā)展的基礎。