古往今來(lái),通信中的安全保密問(wèn)題一直受到廣泛關(guān)注。歷史上,交戰(zhàn)雙方在通信安全、保密和密碼破譯方面的優(yōu)勢(shì)均被認(rèn)為是取得戰(zhàn)爭(zhēng)勝利的關(guān)鍵因素之一。而今,人類已進(jìn)入信息化時(shí)代,現(xiàn)代通信涉及各行各業(yè),信息安全已成為人人都關(guān)心的事情,這就促使密碼學(xué)揭去了神秘的面紗,為更廣泛的領(lǐng)域和大眾服務(wù)。
算法的一般原理
密碼體制從原理上可分為兩大類,即單鑰密碼體制和雙鑰密碼體制。單鑰密碼體制是指信息的發(fā)送方和接收方共享一把密鑰。在現(xiàn)代網(wǎng)絡(luò)通信條件下,該體制的一個(gè)關(guān)鍵問(wèn)題是如何將密鑰安全可靠地分配給通信的對(duì)方,并進(jìn)行密鑰管理。如圖1所示。
由圖1可知,單鑰密碼體制在實(shí)際應(yīng)用中除了要設(shè)計(jì)出滿足安全性要求的加密算法外,還必須解決好密碼的產(chǎn)生、分配、傳輸、存儲(chǔ)和銷毀等多方面問(wèn)題。因?yàn)橥ㄐ艑?duì)象的多元性導(dǎo)致了一個(gè)用戶必須擁有多個(gè)不同對(duì)象的密鑰,方可安全可靠地進(jìn)行通信。
雙鑰密碼體制,又稱公鑰密碼體制,其最大特點(diǎn)是采用兩個(gè)密鑰將加密、解密分開(kāi)。在雙鑰體制下,每個(gè)用戶都擁有兩把密鑰,一個(gè)公開(kāi),一個(gè)自己專用。當(dāng)使用用戶專用密鑰加密,而用該用戶公開(kāi)密鑰解密時(shí),則可實(shí)現(xiàn)一個(gè)被加密的消息可被多個(gè)用戶解讀;當(dāng)使用用戶公開(kāi)密鑰加密,而由該用戶專用密鑰解密時(shí),則可實(shí)現(xiàn)傳輸?shù)男畔⒅槐灰粋€(gè)用戶解讀。前者常被用于數(shù)字簽名,后者則常用于保密通信。如圖2所示。
在圖2中,EA和EB分別是A和B的加密鑰(或公開(kāi)鑰), DA和DB分別是A和B的解密鑰(或?qū)S描€)。一個(gè)明文若要從A傳輸?shù)紹,先要用A 的專用密鑰加密(又稱簽名),再用B的公開(kāi)鑰加密,然后傳送到接收方B;B在接收后,首先用專用密鑰解密,再用A的公開(kāi)密鑰認(rèn)證。這一信息傳遞過(guò)程,不僅保護(hù)了信息的安全,又使接收方對(duì)信息的發(fā)送方為A確信無(wú)疑。
雙鑰體制的上述特征,完全是建立在加密算法的函數(shù)單向性即求逆的困難性上。
算法的分類
信息密碼體制的兩大類別基本涵蓋了常用的加密算法,如下表所示。
在現(xiàn)代加密算法中,完全吸收了一些古典密碼算法的優(yōu)點(diǎn)。流密碼作為一個(gè)十分誘人的加密機(jī)制,一直被人們所廣泛關(guān)注,混沌理論在密碼學(xué)上的應(yīng)用,目前只是由于其在數(shù)學(xué)上難以突破,一時(shí)還未有十分成功的應(yīng)用推出;量子密碼還處于實(shí)驗(yàn)階段。分組加密算法是近20年來(lái)最為活躍的加密手段之一,其算法有很多,最為著名的當(dāng)推DES(Data Encryption Standard),該算法于1977年正式投入使用,一直用到1998年,20多年來(lái)一直作為美國(guó)聯(lián)邦信息處理標(biāo)準(zhǔn)。DES算法的出現(xiàn)是密碼學(xué)史上的一個(gè)里程碑,因?yàn)橐酝娜魏卧O(shè)計(jì)對(duì)于密碼體制及其設(shè)計(jì)細(xì)節(jié)都是嚴(yán)加保密的,而DES卻將算法公開(kāi),任人測(cè)試、研究和分析,一直到使用了20年后,才有報(bào)道說(shuō)DES 被破譯了。
DES是一種對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行加密的算法,數(shù)據(jù)分組長(zhǎng)為64位,密鑰長(zhǎng)也為64位,經(jīng)過(guò)16輪的迭代、乘積變換、壓縮變換等,輸出密文也為 64位。DES算法的安全性完全依賴于其所用的密鑰。
前蘇聯(lián)國(guó)家標(biāo)準(zhǔn)局采用的加密算法GOST亦是分組加密算法的典型代表。GOST算法針對(duì)64位明文輸入,產(chǎn)生64位密文輸出,所不同的是, GOST采用256位密鑰,需經(jīng)32輪加密變換才產(chǎn)生輸出,因此,GOST的抗攻擊能力在某種程度上并不比DES差。
于1992年推出的另一個(gè)分組加密算法IDEA (International Data Encryption Algorithm)是近年來(lái)提出的分組加密算法中較為成功的方案之一。該方案的核心是設(shè)計(jì)了一個(gè)乘法/加法非線性構(gòu)件,通過(guò)8輪迭代,能使明碼信息更好地?cái)U(kuò)散和混淆。
在雙鑰密碼體制中,最具代表性的算法當(dāng)數(shù)RSA,它從 1979年公布至今,一直是加密中的主要算法之一,盡管該算法吸引了無(wú)數(shù)研究者,但在數(shù)學(xué)上還未找到最佳破譯方法。RSA算法的核心建立在兩個(gè)足夠長(zhǎng)(100位十進(jìn)制)的大素?cái)?shù)基礎(chǔ)上,以目前每秒運(yùn)行100萬(wàn)步的計(jì)算資源來(lái)破譯則大約需1023步,相當(dāng)于1000 年。因此,RSA算法在計(jì)算理論上仍然是十分安全的。由于RSA的加密/解密互為逆運(yùn)算,因此,該算法不僅可用于信息加密,也可用于數(shù)字簽名認(rèn)證,如圖2所示。
其他的雙鑰密碼體制,有些雖很著名,但已被破譯,如背包體制;有些還處于研究和發(fā)展階段,如橢圓曲線體制;有些密碼體制在算法上與RSA 有相似之處,破譯的途徑之一是大素?cái)?shù)的分解,如Rabin、EIGamal體制等。
加/解密機(jī)制的應(yīng)用
在信息安全領(lǐng)域中,凡涉及到數(shù)據(jù)通信均需采用加/解密機(jī)制。而目前日益發(fā)展的電子商務(wù)正是充分展示加/解密機(jī)制的一個(gè)十分重要的領(lǐng)域。電子商務(wù)涉及到的對(duì)象總體上可分四類,即消費(fèi)者、網(wǎng)上商店、網(wǎng)上銀行、獨(dú)立認(rèn)證機(jī)構(gòu),它們之間的關(guān)系如圖3所示。
在交易之前,消費(fèi)者、商店和銀行均需在認(rèn)證中心注冊(cè),以獲取唯一的身份號(hào)碼ID。為了使交易具有安全可靠性、防抵賴性、防假冒性等,這三者的每一次交易通信均應(yīng)被認(rèn)證中心確認(rèn),而認(rèn)證的重要工具便是數(shù)字簽名。被認(rèn)證者只需將自己的ID用雙鑰體制中的私鑰加密,并發(fā)送給認(rèn)證中心,認(rèn)證中心便從公鑰信箱中找出能解讀此ID的那把公鑰,便可確認(rèn)ID的身份,并注冊(cè)交易。同樣,每一步的確認(rèn)過(guò)程亦是一個(gè)認(rèn)證的過(guò)程。
在電子商務(wù)中,訂單的保密性需用加密技術(shù)來(lái)處理,而訂單的可靠性、時(shí)間性等則需用數(shù)字簽名技術(shù),有時(shí)往往還要雙重簽名。例如,王先生要買李小姐的一處房產(chǎn),他發(fā)給李小姐一個(gè)購(gòu)買報(bào)價(jià)單及他對(duì)銀行的授權(quán)書的消息,如果李小姐同意按此價(jià)格出賣,則要求銀行將錢劃到李小姐的賬上。但是王先生不想讓銀行看到報(bào)價(jià),也不想讓李小姐看到他的銀行賬號(hào)信息。此外,報(bào)價(jià)和付款是相連的、不可分割的,僅當(dāng)李小姐同意他的報(bào)價(jià),錢才會(huì)轉(zhuǎn)移。要達(dá)到這個(gè)要求,采用雙重簽名即可實(shí)現(xiàn)。
具體的實(shí)現(xiàn)方法是:首先生成兩條消息的摘要,將兩個(gè)摘要連接起來(lái),生成一個(gè)新的摘要(稱為雙重簽名),然后用簽發(fā)者的私有密鑰加密,為了讓接收者驗(yàn)證雙重簽名,還必須將另一個(gè)消息的摘要一起傳過(guò)去。這樣,任何一個(gè)消息的接收者都可以通過(guò)以下方法驗(yàn)證消息的真實(shí)性:生成消息摘要,將它和另外一個(gè)消息摘要連接起來(lái),生成新的摘要,如果它與解密后的雙重簽名相等,就可以確定消息是真實(shí)的。拿上面的例子來(lái)說(shuō),如果李小姐同意,它發(fā)一個(gè)消息給銀行表示她同意,另外包括報(bào)價(jià)單的消息摘要,銀行能驗(yàn)證王先生授權(quán)的真實(shí)性,用王先生的授權(quán)書生成的摘要和李小姐消息中的報(bào)價(jià)單的摘要驗(yàn)證雙重簽名。銀行根據(jù)雙重簽名可以判定報(bào)價(jià)單的真實(shí)性,但卻看不到報(bào)價(jià)單的內(nèi)容。
加/解密機(jī)制的研究與發(fā)展
如前所述,盡管雙鑰密碼體制較單鑰密碼體制更為可靠,且無(wú)需復(fù)雜的密鑰管理,大多數(shù)雙鑰體制還可用于數(shù)字簽名,然而,由于其計(jì)算的復(fù)雜性,在進(jìn)行大信息量通信時(shí),其速率為單鑰體制的1/1000~1/100。正是由于不同體制的加密算法各有所長(zhǎng),預(yù)計(jì)在今后相當(dāng)長(zhǎng)的一段時(shí)期內(nèi),各類加密體制將共存。在由IBM等公司1996年聯(lián)合推出的用于電子商務(wù)的協(xié)議標(biāo)準(zhǔn)SET(Secure Electronic Transaction)中以及1992年由多國(guó)聯(lián)合開(kāi)發(fā)的PGP(Pretty Good Privacy)中,均采用了混合密碼系統(tǒng),包含單鑰密碼、雙鑰密碼、單向雜湊算法和隨機(jī)數(shù)生成算法等。
在單鑰密碼領(lǐng)域,一次一密被認(rèn)為是最為可靠的機(jī)制,然而由于流密碼體制中的密鑰流生成器在算法上未能突破有限循環(huán)性,故一直未被廣泛應(yīng)用,因此,若能找到一個(gè)在算法上接近無(wú)限循環(huán)的密鑰流生成器,該體制將會(huì)有一個(gè)質(zhì)的飛躍。近年來(lái),混沌學(xué)理論的研究給在這一方向產(chǎn)生突破帶來(lái)了曙光。
量子密碼被認(rèn)為是一個(gè)潛在的發(fā)展方向,它基于光學(xué)和量子力學(xué)理論。加密體制原理在于量子系統(tǒng)在被測(cè)量時(shí)會(huì)受到擾動(dòng),這對(duì)在光纖通信中加強(qiáng)信息安全,并對(duì)付擁有量子計(jì)算能力的破譯者來(lái)說(shuō),無(wú)疑是一種可靠的選擇。
由于電子商務(wù)等民用系統(tǒng)的應(yīng)用需求,認(rèn)證加密算法也將有較大發(fā)展,尤其是零知識(shí)證明的加密/解密算法可望出現(xiàn)一些新的成員。
此外,在傳統(tǒng)密碼體制中,將會(huì)產(chǎn)生類似IDEA這樣的新成員,新成員的一個(gè)主要特征便是在算法上有所創(chuàng)新和突破,而不僅僅是對(duì)傳統(tǒng)算法的修正或改進(jìn)。
密碼學(xué)是一個(gè)正在不斷發(fā)展的年輕學(xué)科,任何未被認(rèn)識(shí)的加/解密機(jī)制都將在其中占有一席之地。


