• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于AES的軟件加密解密的設計與實現

      2015-12-25 00:57:34唐高陽孫世坤
      科技視界 2015年18期
      關鍵詞:數組解密字節(jié)

      唐高陽 孫世坤

      (1.沈陽理工大學理學院,遼寧 沈陽 110168;2.朝陽縣蒙古族中學,遼寧 朝陽 122000)

      1 AES 算法基本原理

      AES(Advanced Encryption Standard,高級加密標準)是一個對稱分組算法,用來取代DES 算法,從而成為使用廣泛的新標準。選用Rijndael 算法來作為AES,Rijndael 是比利時的兩位密碼學家Daemen和Rijmen 共同設計的。Rijndael 算法是具有分組長度和密鑰長度均可變的分組算法。密鑰長度和分組長度可以獨立地指定為128 位、192位或是256 位。

      Feistel 結構是數據分組中的一半被用來修改數據分組中另外一半,然后交換這兩部分,AES 算法不是Feistel 結構的算法。AES 定義了一個S 盒,它是由16×16個字節(jié)組成的矩陣,包含了8 位值所能表達的256 種可能的變換。

      1.1 字節(jié)代換

      AES 中輸入分組是用以字節(jié)為單位的正方形矩陣來描述的,該分組被復制到State 數組,這個數組在加密或解密的每個階段都會被改變,運算完最后的輪密鑰加變換后,State 被復制到輸出矩陣中。字節(jié)代換是一個簡單的查表操作,用State 數組中的每個字節(jié)的高4 位作為行值,低4 位作為列值,然后取S 盒中對應行列的元素作為輸出,最后把State 數組的該字節(jié)用輸出的這個元素替換。例如,十六進制值19,所對應的S 盒的行值是1,列值是9,S 盒中在此位置的值是D4,然后用D4 替換19。

      1.2 行位移

      行位移是這樣來實現的,State 的第一行保持不變,第二行循環(huán)左移1個字節(jié),第三行循環(huán)左移2個字節(jié),第四行循環(huán)左移3個字節(jié)。

      1.3 列混淆

      列混淆是對每列獨立地進行操作。列混淆變換是這樣進行的,把經行位移變換操作后的State 數組的一列取出來,然后與一個4×4 的矩陣進行與操作,把得到的結果覆蓋取出來的那一列,依次類推,處理完4 列以后就完成了列混淆變換。

      1.4 輪密鑰加

      輪密鑰加變換就是把經過列混淆得到的State 與密鑰進行異或運算,也就是State 的第1 列與密鑰的第1 列進行異或運算,運算結果替換State 的第1 列,后面的幾列以此方法類推。

      2 實現過程

      2.1 定義類CASE 作為AES 算法的實現類

      2.2 在CAES 類中實現SetKeys 方法,該方法用于指定密鑰及輪密鑰加運算的次數

      2.3 在CASE 類中實現SubBytes 方法,該方法用于單字節(jié)代替變換操作

      2.4 GfCalc 方法用來計算單字節(jié)的乖加計算,并根據不同的計算模式進行不同的計算

      3 運行結果

      圖1

      4 結束語

      在商業(yè)企業(yè)的計算機中往往存在大量的機密文件,這些機密文件對企業(yè)的發(fā)展將會產生不可估量的作用。如果這些機密文件保管不善,將會使企業(yè)遭受巨大的損失。AES 是一個新的可以用于保護電子數據并被廣泛使用的加密算法。

      [1]史子榮.軟件加密技術從入門到精通[M].北京:清華大學出版社,2007:69-74.

      [2]張翟.加密解密與網絡安全技術[M].北京:冶金工業(yè)出版社,2002.

      [3]段鋼.加密與解密[M].北京:冶金工業(yè)出版社,2003.

      [4]徐海風,曹小軍.軟件加密方法及技術[J].山西冶金,2007,1.

      [5]魏光村,孫忠林,徐燕妮.軟件加密技術研究[J].福建電腦,2009,9.

      [6]Ivor Horton.Visual C++2010 入門經典[M].北京:清華大學出版社,2010.

      猜你喜歡
      數組解密字節(jié)
      解密“熱脹冷縮”
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      No.8 字節(jié)跳動將推出獨立出口電商APP
      解密“一包三改”
      少先隊活動(2020年9期)2020-12-17 06:17:31
      JAVA玩轉數學之二維數組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      炫詞解密
      No.10 “字節(jié)跳動手機”要來了?
      簡談MC7字節(jié)碼
      尋找勾股數組的歷程
      解密“大調解”
      吉水县| 福海县| 浮山县| 岑巩县| 禹州市| 祁阳县| 年辖:市辖区| 南和县| 利川市| 长岛县| 巧家县| 新河县| 波密县| 喀喇沁旗| 嘉善县| 灵宝市| 大化| 工布江达县| 宁德市| 庆阳市| 都兰县| 武清区| 周至县| 永和县| 永平县| 花莲市| 伽师县| 封丘县| 法库县| 子长县| 彰化市| 青川县| 乌拉特前旗| 连南| 修武县| 合肥市| 莲花县| 紫金县| 肥城市| 会理县| 岗巴县|