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