六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

基于Java的IDEA加密算法

[摘要]摘要:本文介紹了在JAVA環境下如何實現IDEA對稱加密算法。由于電子商務和電子政務的普及,安全加密技術在其中應用非常廣泛,對安全加密技術的要求也很高。目前在JAVA環境下實現IDEA加密具有很多的優勢,因為JAVA是基于面向對象的編程語言,并且由于它的平臺無關性能被大量應用于Internet的開...
摘要:本文介紹了在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 相比會明顯增大,甚至允許對弱密鑰測試。而且,它本身 也顯示了它尤其能抵抗專業形式的分析性攻擊。

  二、Java密碼體系和Java密碼擴展

  Java是Sun公司開發的一種面向對象的編程語言,并且由于它的平臺無關性被大量應用于Internet的開發。Java密碼體系(JCA)和Java密碼擴展(JCE)的設計目的是為Java提供與實現無關的加密函數API。它們都用factory方法來創建類的例程,然后把實際的加密函數委托給提供者指定的底層引擎,引擎中為類提供了服務提供者接口在Java中實現數據的加密/解密,是使用其內置的JCE(Java加密擴展)來實現的。Java開發工具集1.1為實現包括數字簽名和信息摘要在內的加密功能,推出了一種基于供應商的新型靈活應用編程接口。Java密碼體系結構支持供應商的互操作,同時支持硬件和軟件實現。Java密碼學結構設計遵循兩個原則:(1)算法的獨立性和可靠性。(2)實現的獨立性和相互作用性。算法的獨立性是通過定義密碼服務類來獲得。用戶只需了解密碼算法的概念,而不用去關心如何實現這些概念。實現的獨立性和相互作用性通過密碼服務提供器來實現。密碼服務提供器是實現一個或多個密碼服務的一個或多個程序包。軟件開發商根據一定接口,將各種算法實現后,打包成一個提供器,用戶可以安裝不同的提供器。安裝和配置提供器,可將包含提供器的ZIP和JAR文件放在CLASSPATH下,再編輯Java安全屬性文件來設置定義一個提供器。Java運行環境Sun版本時,提供一個缺省的提供器Sun。

  三、Java環境下的實現

  1.加密過程的實現

  void idea_enc( int data11[], /*待加密的64位數據首地址*/ int key1[]){
  int i ;
  int tmp,x;
  int zz[]=new int[6];
  for ( i = 0 ; i < 48 ; i += 6) { /*進行8輪循環*/
  for(int j=0,box=i;j<6;j++,box++){
   zz[j]=key1[box];
  }
  x = handle_data(data11,zz);
  tmp = data11[1]; /*交換中間兩個*/
  data11[1] = data11[2];
  data11[2] = tmp;
  }
  tmp = data11[1]; /*最后一輪不交換*/
  data11[1] = data11[2];
  data11[2] = tmp;
  data11[0] = MUL(data11[0],key1[48]);
  data11[1] =(char)((data11[1] + key1[49])%0x10000);
  data11[2] =(char)((data11[2] + key1[50])%0x10000);
  data11[3] = MUL(data11[3],key1[51]);
  }

  2.解密過程的實現

  void key_decryExp(int outkey[])/*解密密鑰的變逆處理*/
  { int tmpkey[] = new int[52] ;
  int i;
  for ( i = 0 ; i < 52 ; i++) {
  tmpkey[i] = outkey[ wz_spkey[i] ] ;/*換位*/
  }
  for ( i = 0 ; i < 52 ; i++) {
  outkey[i] = tmpkey[i];
  }
  for ( i = 0 ; i < 18 ; i++) {
  outkey[wz_spaddrever[i]] = (char)(65536-outkey[wz_spaddrever[i]]) ;/*替換成加法逆*/
  }
  for ( i = 0 ; i < 18 ; i++){
  outkey[wz_spmulrevr[i]] =(char)(mulInv(outkey[wz_spmulrevr[i]] ));/*替換成乘法逆*/
  }
  }

  四、總結

  在實際應用中,我們可以使用Java開發工具包(JDK)中內置的對Socket通信的支持,通過JCE中的Java流和鏈表,加密基于Socket的網絡通信.我們知道,加密/解密是數據傳輸中保證數據完整性的常用方法,Java語言因其平臺無關性,在Internet上的應用非常之廣泛.使用Java實現基于IDEA的數據加密傳輸可以在不同的平臺上實現并具有實現簡潔、安全性強等優點。


主站蜘蛛池模板: 亚洲国产高清在线 | 亚洲精品视频在线观看你懂的 | 日韩中文字幕在线视频 | 一国产一级淫片a免费播放口 | 日日添日日摸 | 一区二区三区国产美女在线播放 | 亚洲天堂视频一区 | 日韩乱视频 | 日本一卡2卡3卡四卡精品 | 欧美一级日韩 | 午夜国产 | 婷婷五色 | 亚洲欧美日韩在线播放 | 全国男人的天堂网站 | 五月激情啪啪 | 一级做性色a爰片久久毛片免费 | 我要看黄色一级毛片 | 日韩精品一区二区三区免费视频 | 深夜福利影院在线观看 | 日日干夜夜操s8 | 一级床片40分钟免费视频 | 日韩中文字幕免费 | 桃花综合久久久久久久久久网 | 青青国产成人久久91网 | 亚洲香蕉综合在人在线视看 | 日本五级床片全部免费午夜 | 在线欧美自拍 | 午夜视频久久久久一区 | 日产乱码卡一卡2卡三卡四福利 | 污污视频在线播放 | 色妞bbbb女女女女 | 日韩中文字幕在线不卡 | 日韩免费中文字幕 | 欧美最猛性 | 日日摸狠狠的摸夜夜摸 | 天天狠狠| 亚洲第一免费视频 | 亚洲精品第1页 | 天干夜天干天干国产 | 婷婷综合激六月情网 | 青草免费在线观看 |