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