要:本文介紹了在JAVA環境下如何實現IDEA對稱加密算法。由於電子商務和電子政務的普及,安全加密技術在其中應用非常廣泛,對安全加密技術的要求也很高。目前在JAVA環境下實現IDEA加密具有很多的優勢,因為JAVA是基於面向對象的編程語言,並且由於它的平台無關性能被大量應用於Internet的開發。
關鍵字:IDEA(Internation Data Encryption Algorithm) JCA JCE 密鑰 獨立性 可靠性
隨著Internet的迅速發展,電子商務的浪潮勢不可擋,日常工作和數據傳輸都放在Internet網上進行傳輸,大大提高了效率,降低了成本,創造了良好的效益。但是,由於Internet網絡協議本身存在著重要的安全問題(IP包本身並不繼承任何安全特性,很容易偽造出IP包的地址、修改其內容、重播以前的包以及在傳輸途中攔截並查看包的內容),使網上的信息傳輸存在巨大的安全風險電子商務的安全問題也越來越突出。加密是電子商務中最主要的安全技術,加密方法的選取直接影響電子商務活動中信息的安全程度,在電子商務系統中,主要的安全問題都可以通過加密來解決。數據的保密性可通過不同的加密算法對數據加密來實現。
對我國來講,雖然可以引進很多的外國設備,但加密設備不能依靠引進,因為它涉及到網絡安全、國家機密信息的安全,所以必須自己研制。當前國際上有許多加密算法,其中DES(Data Encryption Standard)是發明最早的用得最廣泛的分組對稱加密算法,DES用56位蜜鑰加密64位明文,輸出64位密文,DES的56位密鑰共有256 種可能的密鑰,但歷史上曾利用窮舉攻擊破解過DES密鑰,1998年電子邊境基金會(EFF)用25萬美元制造的專用計算機,用56小時破解了DES的密鑰,1999年,EFF用22小時完成了破解工作,使DES算法受到了嚴重打擊,使它的安全性受到嚴重威脅。因為JAVA語言的安全性和網絡處理能力較強,本文主要介紹使用IDEA(Internation Data Encryption Algorithm )數據加密算法在Java環境下實現數據的安全傳輸。
一、IDEA數據加密算法
IDEA數據加密算法是由中國學者來學嘉博士和著名的密碼專家 James L. Massey 於1990年聯合提出的。它的明文和密文都是64比特,但密鑰長為128比特。IDEA 是作為迭代的分組密碼實現的,使用 128 位的密鑰和 8 個循環。這比 DES 提供了更多的 安全性,但是在選擇用於 IDEA 的密鑰時,應該排除那些稱為“弱密鑰”的密鑰。DES 只有四個弱密鑰和 12 個次弱密鑰,而 IDEA 中的弱密鑰數相當可觀,有 2 的 51 次方個。但是,如果密鑰的總數非常大,達到 2 的 128 次方個,那麼仍有 2 的 77 次方個密鑰可供選擇。IDEA 被認為是極為安全的。使用 128 位的密鑰,蠻力攻擊中需要進行的測試次數與 DES 相比會明顯增大,甚至允許對弱密鑰測試。而且,它本身 也顯示了它尤其能抵抗專業形式的分析性攻擊。