【摘要】本文主要討論DES加密算法和RSA算法兩大加密算法類中的兩個(gè)算法的性能比較和改進(jìn),以決定用哪一種算法作為本VoIP系統(tǒng)的加密算法的基礎(chǔ)算法。
【關(guān)鍵詞】VOIP系統(tǒng)加密算法比較
一、安全性
DES密碼安全性是不依賴于算法保密的,它的安全性僅以加密密鑰的保密為首要條件,因此DES算法具有極高安全性。到目前為止,除了用窮舉試驗(yàn)法對(duì)DES算法進(jìn)行攻擊外,還沒(méi)有發(fā)現(xiàn)更為有效的辦法。而56位長(zhǎng)的密鑰的窮舉試驗(yàn)空間為256,這意味著如果一臺(tái)計(jì)算機(jī)的速度是每一秒種檢測(cè)一百萬(wàn)個(gè)密鑰,則它搜索完全部密鑰就需要將近2285年,所以這是不可能實(shí)現(xiàn)的,即使破解了也沒(méi)什么意義了。
這里有點(diǎn)值得注意,就是由上述DES算法介紹我們可以看到:DES算法中只用到64位密鑰中的56位,而第8、16、24、32、40、48、56、64位這8個(gè)位并未參與DES運(yùn)算,就這一點(diǎn),向我們提出了一個(gè)在設(shè)置密碼時(shí)的要求,即DES的密碼是基于除了8、16、24、32、40、48、56、64位以外的其它56位的組合變化后的256位才得以保證的。因此,在實(shí)際應(yīng)用中,我們?cè)O(shè)置密碼時(shí),我們應(yīng)避開使用第8、16、24、32、40、48、56、64位作為有效密碼數(shù)據(jù)位,而使用其它的56位作為有效密碼數(shù)據(jù)位,才能保證DES算法的密碼安全可靠地發(fā)揮作用。
總體上說(shuō)DES算法的安全性是依賴于密碼的保密,而并不依賴算法的公開。因此它的安全性是得到保障的。
目前RSA的安全性依賴于大數(shù)分解,因此全球曾一度掀起一股尋找大質(zhì)數(shù)熱潮,但是到目前為此它的安全性是否等同于大數(shù)分解一直未能得到理論上的證明,而且也沒(méi)有證明破解RSA就一定需要作大數(shù)分解。
現(xiàn)在假設(shè)存在一種無(wú)須分解大數(shù)的算法,那它肯定可以被修改成為大數(shù)分解算法。目前,相關(guān)RSA的一些變種算法已被證明等價(jià)于大數(shù)分解。不管怎樣,分解n是最顯然的一種比較明確的攻擊方法。現(xiàn)在,人們已能夠分解多個(gè)十進(jìn)制位的大素?cái)?shù)。因此,為了確保RSA算法在實(shí)際應(yīng)用中的安全有保障,在模數(shù)n的選擇方面,應(yīng)該選大一些,當(dāng)然這也要因具體適用情況而定。
二、復(fù)雜度
DES加密算法沒(méi)有大量的復(fù)雜數(shù)學(xué)計(jì)算(沒(méi)有如乘、帶進(jìn)位的加、模等),在加/解密過(guò)程和密鑰生成過(guò)程中僅有相關(guān)的邏輯運(yùn)算和查表運(yùn)算,因此它的程序?qū)崿F(xiàn)復(fù)雜度并不高,實(shí)現(xiàn)也相對(duì)容易。而且目前由于基礎(chǔ)DES算法已經(jīng)成熟,在計(jì)算機(jī)的各個(gè)應(yīng)用方面都有涉足,各種實(shí)現(xiàn)方式也層出不窮,因此這種加密算法的復(fù)雜度幾乎為零,只在實(shí)際應(yīng)用中,對(duì)基礎(chǔ)算法進(jìn)行相應(yīng)擴(kuò)展就可以了。
RSA的安全性理論上依賴于大數(shù)的因子分解,但從來(lái)都沒(méi)有從理論上證明破譯RSA的難度與大數(shù)因子分解的難度等價(jià)。而且要產(chǎn)生RSA算法所使用的大質(zhì)數(shù)也是一項(xiàng)頗具挑戰(zhàn)的工作,因此在實(shí)際應(yīng)用中,RSA加密算法相對(duì)還是比較復(fù)雜的。這種算法第一要受到產(chǎn)生密鑰的問(wèn)題,由于受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密,這給算法的實(shí)現(xiàn)已經(jīng)帶來(lái)了難度。而且RSA算法對(duì)數(shù)據(jù)的分組也有要求,分組必須保證長(zhǎng)度,那么這種算法的最大的一個(gè)問(wèn)題是為大數(shù)據(jù)加密時(shí),會(huì)嚴(yán)重消耗計(jì)算機(jī)的系統(tǒng)內(nèi)存,而且由于加密的安全性考慮,n也要求足夠大,這勢(shì)必加大實(shí)現(xiàn)過(guò)程中需要更多的計(jì)算機(jī)系統(tǒng)內(nèi)存,因此實(shí)現(xiàn)RSA算法就要特別小心地控制內(nèi)存的使用以及合理、及時(shí)的釋放。
三、性能
目前DES加密算法大都采用流水線結(jié)構(gòu)或者狀態(tài)機(jī)結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行加、解密,就目前情況來(lái)說(shuō),狀態(tài)機(jī)結(jié)構(gòu)占的計(jì)算機(jī)的系統(tǒng)資源相對(duì)比較少,但是運(yùn)算速度相對(duì)比較慢,而流水線結(jié)構(gòu)占用的計(jì)算機(jī)的系統(tǒng)相對(duì)比較多,而運(yùn)算速度卻很快。
RSA算法要求數(shù)據(jù)分組的長(zhǎng)度足夠大,這就增加了系統(tǒng)的負(fù)擔(dān),而且為保證安全性,質(zhì)數(shù)n至少也要600 bits以上,使運(yùn)算代價(jià)進(jìn)一步增高,這兩個(gè)原因造成RSA算法速度尤其地慢,較對(duì)稱密碼算法甚至?xí)蠋讉€(gè)數(shù)量級(jí)。且隨著大數(shù)分解技術(shù)的發(fā)展,為了保證加密的安全性,勢(shì)必要增加n的長(zhǎng)度,這樣一來(lái)就不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。
參考文獻(xiàn)
[1] Jonathan Davidson, James Peters, Manoj Bhatia, et al. VoIP技術(shù)構(gòu)架[M].第二版.高艷譯.北京:人民郵電出版社, 2008年4月.
[2]沈鑫剡.多媒體傳輸網(wǎng)絡(luò)與VoIP系統(tǒng)設(shè)計(jì)[M].北京:人民郵電出版社,2005年3月.
[3]白華斌,李哲. VoIP的發(fā)展及其應(yīng)用[J].中國(guó)多媒體通信,2009年,5期:16-20.