• 
    

    
    

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

      ?

      高級加密標(biāo)準(zhǔn)算法R i j n d a e l的分析與應(yīng)用*

      2012-08-15 02:02:34張青鳳張鳳琴
      關(guān)鍵詞:輪數(shù)數(shù)組解密

      張青鳳 ,張鳳琴 ,王 蓉

      (1.運城學(xué)院,公共計算機教學(xué)部,山西 運城 044000;2.空軍工程大學(xué),計算機系,陜西 西安 710077)

      1 Rijndael算法的背景

      AES(Advanced Encryption Standard)是美國聯(lián)邦標(biāo)準(zhǔn)局于1997年開始向全世界征集的加密標(biāo)準(zhǔn)[1],屬于對稱加密算法,代表了當(dāng)今最先進(jìn)的編碼技術(shù),最終獲勝的是RijnDael算法。統(tǒng)計顯示,即使使用目前世界上運算速度最快的計算機,窮盡128 bit密鑰也需要幾十億年的時間,更不用說去破解采用256 bit密鑰長度的AES算法了。

      Rijndael算法由比利時計算機科學(xué)家Vincent Rijmen和 Joan Daemen 開發(fā), 它使用 128 bit、192 bit、256 bit的密鑰長度,比 56 bit的 DES更健壯可靠[3]。美國國家標(biāo)準(zhǔn)技術(shù)研究所選擇Rijndael作為美國政府加密標(biāo)準(zhǔn)AES的加密算法,取代早期的數(shù)據(jù)加密標(biāo)準(zhǔn)DES[1]。Rijndael作為一種迭代分組加密算法,其數(shù)據(jù)塊長度和密鑰長度均是可變的,因此它匯聚了強安全性、高性能、高效率、易用、靈活等優(yōu)點被廣泛應(yīng)用在各個領(lǐng)域中。

      2 Rijndael算法的設(shè)計原理

      Rijndael作為加密標(biāo)準(zhǔn)AES算法,其128 bit輸入分組用以字節(jié)為單位的矩陣方陣描述[4]。該數(shù)組被復(fù)制到State數(shù)組。數(shù)據(jù)塊長度、密鑰長度可以被設(shè)定為128 bit、192 bit、256 bit三個可選長度,相應(yīng)的加密輪數(shù)分別為10、12、14,每一輪循環(huán)都有一個循環(huán)密鑰,它來自于初始密鑰。

      2.1 Rijndael算法的加密流程

      加密過程分為四個階段:密鑰擴展、輪密鑰加、Nr-1(128 bit、192 bit、256 bit密鑰長度,Nr分別為 10、12、14)輪變換及最后一輪變換。輪變換包括字節(jié)代換、行移位、列混淆和輪密鑰加四個過程,最后一輪變換包括字節(jié)代換、行移位和輪密鑰加三個過程。其流程圖如圖1所示。

      (1)狀態(tài):指明文分組及每次變換的中間結(jié)果[4],是一個4×Nb的矩陣,Nb為數(shù)據(jù)塊長度除以32。

      (2)字符代換:用一個簡單的查表操作代替了基于矩陣乘法的復(fù)雜仿射變換。S盒是一個16×16字節(jié)矩陣,包含8 bit值所能表達(dá)的256種可能的變換。把Statc中每個字節(jié)的高4位作為行值,低4位作為列值,取出S盒中對應(yīng)行列的元素作為新的字節(jié)輸出。

      圖1 Rijndael算法加密流程

      (3)行移位:State的第一行保持不變,第 2、3、4行分別循環(huán)左移1、2、3個字節(jié)。

      (4)列混淆:可表示為基于系數(shù)矩陣CoefMix與State的矩陣乘法。乘積矩陣中的每個元素S[i,j]是系數(shù)矩陣中一行元素CoefMix[i,k]與State矩陣中對應(yīng)一列元素State[k,j]的乘積之和。這里的加法與乘法都定義在有限域 GF(28)上:加法即按位“異或”操作,乘法遵循 GF(28)上的多項式乘法規(guī)則[2]。

      (5)輪密鑰加:是基于 State列的操作,即把 State一列中的4個字節(jié)與輪密鑰RoundKey的1個字進(jìn)行 “異或”。

      (6)擴展密鑰:以 4個字密鑰為輸入,生成 44字?jǐn)U展密鑰數(shù)組ω[44],為初始輪密鑰加階段和后面10輪變換提供輪密鑰。輸入密鑰直接被復(fù)制到擴展密鑰數(shù)組的前4個字,然后每次用4個字填充擴展密鑰數(shù)組余下的部分[4]。 在擴展密鑰數(shù)組中,ω[i]值依賴于 ω[i-1]和 ω[i-4]。 ω 數(shù)組中下標(biāo)不是 4的倍數(shù)時,ω[i]為 ω[i-1]和ω[i-4]的“異或”。 下標(biāo)為 4的倍數(shù)時,首先將 ω[i-1]的4個字節(jié)循環(huán)左移1個字節(jié),然后利用S盒對每個字節(jié)進(jìn)行字節(jié)代換,再與輪常量按位“異或”。輪常量是1個字,其最右邊3個字節(jié)為0,最左邊 1個字節(jié)的值 RC[j]與輪數(shù) j相關(guān)。 RC[1]=1,RC[j]=2·RC[j-1],乘法定義在GF(28)上。RC[j]值以十六進(jìn)制表示。

      (7)加密輪數(shù) Nr:在 Rijndael算法中,運算的輪數(shù)(Nr)是由Nb及Nk所決定的[4],輪數(shù)的變動定義如表1所示。

      表1 Nr、Nb、Nk 關(guān)系

      2.2 解密過程

      Rijndael解密過程是加密的逆過程,每輪循環(huán)中的步驟都被它們的逆所替換,值得注意的是:循環(huán)密鑰使用起來應(yīng)該顛倒次序。

      3 Rijndael算法的應(yīng)用

      Rijindael算法常被用于文件的加解密過程,加密時先將讀入的明文依次分組,用加密密鑰將明文加密后寫入文件中;解密時用解密密鑰將文件中的密文解密后將明文寫入結(jié)果文件中。

      3.1 Rijindael算法在文件加解密應(yīng)用的實現(xiàn)

      3.2 加密模塊實現(xiàn)

      3.3 解密模塊的實現(xiàn)

      Rijndael算法一直經(jīng)受著世界各國密碼機構(gòu)和專家的攻擊,最有名的當(dāng)屬 Squre攻擊[4]。目前Rijndael算法已被廣泛應(yīng)用于身份認(rèn)證、數(shù)字簽名、數(shù)據(jù)加密等方面,由于硬件的加解密速度要比軟件快,且可在物理上保證系統(tǒng)安全,國內(nèi)很多單位用硬件的方法來實現(xiàn)該算法。

      [1]段鋼.加密與解密(第 3版)[M].北京:電子工業(yè)出版社,2008.

      [2]馮登國.信息安全中的數(shù)學(xué)方法與技術(shù)[M].北京:清華大學(xué)出版社,2009.

      [3]Http://zhidao.baidu.com.

      [4]DAEMEN J,RIJMAN V.高級加密標(biāo)準(zhǔn)算法(AES)—Rijndael的設(shè)計[M].谷大武,徐勝波譯.北京:清華大學(xué)出版社,2003.

      猜你喜歡
      輪數(shù)數(shù)組解密
      解密“熱脹冷縮”
      多輪反應(yīng)溶液用量對微生物加固粉土的影響
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      LowMC實例的差分枚舉攻擊效果分析
      解密“一包三改”
      少先隊活動(2020年9期)2020-12-17 06:17:31
      JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      網(wǎng)絡(luò)安全平臺斗象科技 完成C輪數(shù)億元融資
      炫詞解密
      尋找勾股數(shù)組的歷程
      循環(huán)賽
      旬邑县| 赤水市| 长宁区| 云安县| 兴隆县| 江安县| 将乐县| 桑植县| 金堂县| 乌审旗| 射阳县| 德阳市| 鲜城| 商洛市| 阿拉善左旗| 巴东县| 枣庄市| 亳州市| 崇明县| 东阳市| 汾阳市| 桦川县| 五常市| 承德县| 孟州市| 来安县| 民和| 壤塘县| 莫力| 英超| 兴文县| 宜兰市| 剑川县| 普定县| 沐川县| 醴陵市| 太谷县| 来宾市| 凤山市| 米易县| 平南县|