網(wǎng)絡(luò)安全攻防:密碼技術(shù)之密碼算法

計(jì)算機(jī)與網(wǎng)絡(luò)安全
計(jì)算機(jī)與網(wǎng)絡(luò)安全
從密碼學(xué)的發(fā)展歷史來看,可以分為古典密碼學(xué)和現(xiàn)代密碼學(xué)。古典密碼學(xué)主要依靠人工計(jì)算和非常簡單的機(jī)械,并且以人的主觀意識完成設(shè)計(jì)和應(yīng)用。主要應(yīng)用對象通常就是文字信息,利用簡單的密碼算法實(shí)現(xiàn)文字信息的加密和解密,安全性不高卻蘊(yùn)含數(shù)學(xué)藝術(shù)。

從密碼學(xué)的發(fā)展歷史來看,可以分為古典密碼學(xué)和現(xiàn)代密碼學(xué)。

古典密碼學(xué)主要依靠人工計(jì)算和非常簡單的機(jī)械,并且以人的主觀意識完成設(shè)計(jì)和應(yīng)用。主要應(yīng)用對象通常就是文字信息,利用簡單的密碼算法實(shí)現(xiàn)文字信息的加密和解密,安全性不高卻蘊(yùn)含數(shù)學(xué)藝術(shù)。從數(shù)學(xué)的角度,置換(Permutation)和代替(Substitution)是古典密碼學(xué)兩種基本的加密運(yùn)算。置換是指改變明文字符的排列方式,如古代斯巴達(dá)人將寫著明文的羊皮纏在木棍上,再從木棍的方向讀出,相當(dāng)于橫著寫,豎著讀,改變明文字母的排列順序;代替是指對標(biāo)準(zhǔn)文字符號的修改與替換,如《高盧記》中記載的加密算法是將羅馬字母用希臘字母替換。顯然,通過古典加密后得到的密文,將與明文保持著一致的頻率統(tǒng)計(jì)特性,這也是古典密碼的一個(gè)致命弱點(diǎn)。

1949年,香農(nóng)(Shannon)發(fā)表了《保密系統(tǒng)的通信理論》一文,被認(rèn)為是現(xiàn)代密碼學(xué)的奠基之作。事實(shí)上,古典加密算法往往只是單個(gè)的代替或置換操作,隨著人類對密碼學(xué)的深入研究,以及計(jì)算機(jī)運(yùn)算能力的提高,簡單的置換和替代運(yùn)算極易被破解,無法滿足安全性需求。因此,現(xiàn)代密碼學(xué)就是要尋求基于簡單運(yùn)算來構(gòu)造復(fù)雜算法的數(shù)學(xué)方法,形成安全性較高的加密算法。當(dāng)然,現(xiàn)代密碼學(xué)的應(yīng)用對象已不再只是簡單的明文字符,而是以明文比特位作為考察對象。從數(shù)學(xué)的角度,現(xiàn)代密碼算法就是重復(fù)混合應(yīng)用置換和替代運(yùn)算,實(shí)現(xiàn)對明文的擴(kuò)散(Diffusion)和混淆(Confusion)效果,目的是為了能抵抗對手攻破密碼體制。擴(kuò)散就是讓明文中的每一位影響密文中的多個(gè)位,或讓密文中的每一位受明文中多個(gè)位的影響,以此隱蔽明文的統(tǒng)計(jì)特性;混淆就是將密文與密鑰之間的統(tǒng)計(jì)關(guān)系變得盡可能復(fù)雜,使對手即使獲取了關(guān)于密文的一些統(tǒng)計(jì)特性,也無法推測密鑰。“揉面團(tuán)”可以用來形象地比喻擴(kuò)散和混淆,而反復(fù)揉捏的過程,其實(shí)就是現(xiàn)代密碼算法經(jīng)常使用的乘積和迭代方法,可以取得比較好的擴(kuò)散和混淆效果。

現(xiàn)代密碼體制的基本加密和解密過程如圖1所示。

1.jpg

圖1現(xiàn)代密碼體制的基本加密和解密過程

其中,M表示明文、C表示密文、E表示加密函數(shù)、D表示解密函數(shù)、K表示加密或解密時(shí)使用的密鑰。

加密的數(shù)學(xué)表達(dá)式:C=EK(M)

解密的數(shù)學(xué)表達(dá)式:M=(M)

由此也可以看出,為了確保加密體制的正確性,加密函數(shù)E和解密函數(shù)D都必須確保是一一映射的數(shù)學(xué)函數(shù)。

現(xiàn)代密碼算法的設(shè)計(jì)必須遵循基爾霍夫準(zhǔn)則,即一個(gè)好的密碼算法不能依賴算法本身的保密性,而是算法必須公開,那么密碼算法的安全性僅依賴于密鑰的保密性。事實(shí)上,這也是有別于古典密碼算法的標(biāo)志性準(zhǔn)則,即古典密碼算法都是依賴于加密算法的精巧性和保密性,一旦算法被公開其安全性也將無從談起,而現(xiàn)代密碼算法則強(qiáng)調(diào)算法接受公開的考驗(yàn)和分析,敵人在沒有密鑰的情況下,即使完全清楚解密的運(yùn)算過程也無從破解。

從現(xiàn)代密碼的密鑰管理角度,假如加密密鑰和解密密鑰相同,則稱為對稱密碼,加密密鑰和解密密鑰不同則稱為非對稱密碼,也即公鑰密碼。

圖2給出了古典密碼和現(xiàn)代密碼的算法分類。

2.jpg

圖2古典密碼和現(xiàn)代密碼的算法分類

THEEND

最新評論(評論僅代表用戶觀點(diǎn))

更多
暫無評論