呂 迪 賈志洋
(1.云南大學旅游文化學院信科系 云南 674100;2.云南大學旅游文化學院信科系 云南 674100)
信息安全廣泛涉及數(shù)學、密碼學、計算機、通信、控制、人工智能、安全工程、人文科學等諸多學科,信息對抗和網(wǎng)絡安全是信息安全的核心熱點,它的研究和發(fā)展又將刺激、推動和促進相關學科的研究與發(fā)展。至今,密碼技術是取得信息安全性最有效的一種方法,密碼技術是信息安全的核心技術.隨著加密技術的研究信息安全得到進一步的提高,加密算法越來越復雜,加密的數(shù)據(jù)越來越安全,對于不同的數(shù)據(jù)我們應該使用合理的加密算法。下面就對稱加密算法,非對稱加密算法,離散加密算法進行比較。
DES(Data Encryption Standard),DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位。首先,DES把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位,并進行前后置換,最終由L0輸出左32位,R0輸出右32位,根據(jù)這個法則經(jīng)過16次迭代運算后,得到L16、R16,將此作為輸入,進行與初始置換相反的逆置換,即得到密文輸出。DES加密算法特點:分組比較短、密鑰太短、密碼生命周期短、運算速度較慢。
圖1 AES與3DES的比較
3DES(Triple DES),3DES是基于DES,對一塊數(shù)據(jù)用三個不同的密鑰進行三次加密,強度更高。
AES(Advanced Encryption Standard),AES 算法基于排列和置換運算。排列是對數(shù)據(jù)重新進行安排,置換是將一個數(shù)據(jù)單元替換為另一個。AES 使用幾種不同的方法來執(zhí)行排列和置換運算。AES 是一個迭代的、對稱密鑰分組的密碼,它可以使用 128、192 和 256 位密鑰,并且用 128位(16字節(jié))分組加密和解密數(shù)據(jù)。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數(shù)據(jù)。通過分組密碼返回的加密數(shù)據(jù)的位數(shù)與輸入數(shù)據(jù)相同。迭代加密使用一個循環(huán)結構,在該循環(huán)中重復置換和替換輸入數(shù)據(jù)。高級加密標準,是下一代的加密算法標準,速度快,安全級別高。
AES與3DES算法性能比較結果如圖1所示。
RSA算法是目前最流行的公鑰密碼算法,它使用長度可以變化的密鑰。RSA是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。RSA算法的原理如下:
(1)隨機選擇兩個大質數(shù)p和q,p不等于q,計算N=pq;
(2)選擇一個大于1小于N的自然數(shù)e,e必須與(p-1)×(q-1)互素。
(3)用公式計算出d:d×e=1(mod(p-1)×(q-1))。
(4)銷毀p和q
最終得到的N和e就是“公鑰”,d就是“私鑰”,發(fā)送方使用N去加密數(shù)據(jù),接收方只有使用d才能解開數(shù)據(jù)內容。RSA的安全性依賴于大數(shù)分解,小于1024位的N已經(jīng)被證明是不安全的,而且由于RSA算法進行的都是大數(shù)計算,使得RSA最快的情況也比DES慢上好幾倍,這也是RSA最大的缺陷,因此它通常只能用于加密少量數(shù)據(jù)或者加密密鑰。
ECC(Elliptic Curves Cryptography):給定素數(shù)p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小于p的正整數(shù)k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。將橢圓曲線中的加法運算與離散對數(shù)中的模乘運算相對應,將橢圓曲線中的乘法運算與離散對數(shù)中的模冪運算相對應,我們就可以建立基于橢圓曲線的對應的密碼體制。
ECC與RSA的比較:
ECC和RSA相比,在許多方面都有對絕對的優(yōu)勢,主要體現(xiàn)在以下方面:
抗攻擊性強。相同的密鑰長度,其抗攻擊性要強很多倍;計算量小,處理速度快;ECC總的速度比RSA要快得多;存儲空間占用小,ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA相比要小得多,意味著它所占的存貯空間要小得多。這對于加密算法在IC卡上的應用具有特別重要的意義;帶寬要求低。當對長消息進行加解密時,三類密碼系統(tǒng)有相同的帶寬要求,但應用于短消息時ECC帶寬要求卻低得多。帶寬要求低使ECC在無線網(wǎng)絡領域具有廣泛的應用前景;ECC的這些特點使它必將取代RSA,成為通用的公鑰加密算法。
面對對稱解密算法和非對稱加密算法,那我們在實際使用的過程中究竟該使用哪一種比較好呢?我們應該根據(jù)自己的使用特點來確定,由于非對稱加密算法的運行速度比對稱加密算法的速度慢很多,當我們需要加密大量的數(shù)據(jù)時,建議采用對稱加密算法,提高加解密速度。對稱加密算法不能實現(xiàn)簽名,因此簽名只能非對稱算法。由于對稱加密算法的密鑰管理是一個復雜的過程,密鑰的管理直接決定著他的安全性,因此當數(shù)據(jù)量很小時,我們可以考慮采用非對稱加密算法。在實際的操作過程中,我們通常采用的方式是:采用非對稱加密算法管理對稱算法的密鑰,然后用對稱加密算法加密數(shù)據(jù),這樣我們就集成了兩類加密算法的優(yōu)點,既實現(xiàn)了加密速度快的優(yōu)點,又實現(xiàn)了安全方便管理密鑰的優(yōu)點。如果在選定了加密算法后,那采用多少位的密鑰呢?一般來說,密鑰越長,運行的速度就越慢,應該根據(jù)的我們實際需要的安全級別來選擇,一般來說,RSA建議采用1024位的數(shù)字,ECC建議采用160位,AES采用128為即可。
隨著計算方法的改進,計算機運行速度的加快,網(wǎng)絡的發(fā)展,越來越多的算法被破解。在2004年國際密碼學會議上,來自中國山東大學的王小云教授做的破譯 MD5、HAVAL-128、MD4和 RIPEMD算法的報告,令在場的國際頂尖密碼學專家都為之震驚,意味著這些算法將從應用中淘汰。隨后,SHA-1也被宣告被破解。歷史上有三次對 DES有影響的攻擊實驗。1997年,利用當時各國 7萬臺計算機,歷時96天破解了DES的密鑰。1998年,電子邊境基金會(EFF)用25萬美元制造的專用計算機,用56小時破解了DES的密鑰。1999年,EFF用22小時15分完成了破解工作。因此。曾經(jīng)有過卓越貢獻的DES也不能滿足我們日益增長的需求了。因此加密算法依然需要不斷發(fā)展和完善,提供更高的加密安全強度和運算速度??v觀這兩種算法一個從DES到3DES再到AES,一個從RSA到ECC。其發(fā)展角度無不是從密鑰的簡單性,成本的低廉性,管理的簡易性,算法的復雜性,保密的安全性以及計算的快速性這幾個方面去考慮。因此,未來算法的發(fā)展也必定是從這幾個角度出發(fā)的,而且在實際操作中往往把這兩種算法結合起來,也需將來一種集兩種算法優(yōu)點于一身的新型算法將會出現(xiàn),到那個時候,電子商務的實現(xiàn)必將更加的快捷和安全。
[1]謝曉燕,魏斌峰.淺析網(wǎng)絡信息加密技術[J].科技廣場.2007(05)
[2]施向東,董平.基于RSA算法的一種新的加密核設計[J].微計算機信息.2005(26)
[3]王喜成[等]著.公鑰密碼快速算法與實現(xiàn)技術[M].電子科技大學出版社,2006
[4]蔡樂才主編.應用密碼學[M].中國電力出版社,2005
[5](美)WadeTrappe,(美)LawrenceC.Washington著,鄒紅霞等譯.密碼學概論[M].人民郵電出版社,2004
[6]李保秀,邵君.網(wǎng)絡安全中的加密技術[J].商場現(xiàn)代化.2007(11)
[7]邢書寶,李剛,薛惠鋒.一次一密加密系統(tǒng)設計與實現(xiàn)[J].計算機技術與發(fā)展.2007(03)
[8]顧婷婷,李濤,尹鵬,王伍戎,王先旺,冷麗琴,王耀.RSA和RSA數(shù)字簽名的實現(xiàn)[J].網(wǎng)絡安全技術與應用.2001(07)
[9]梁志龍,張志浩.對RSA算法和加密強度問題的研究[J].網(wǎng)絡安全技術與應用.2001(05)
[10]王國兵,楊建沾,謝貴.基于 RSA算法的網(wǎng)絡安全體系構造[J].武漢大學學報(自然科學版).2000(01)