《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 高級加密標準算法Rijndael的分析與應用
高級加密標準算法Rijndael的分析與應用
來源:微型機與應用2012年第7期
張青鳳1,張鳳琴2,王 蓉2
(1.運城學院,公共計算機教學部,山西 運城 044000; 2.空軍工程大學,計算機系,陜西 西安
摘要: 介紹了高級加密標準Rijndael算法的背景和特點,深入研究和分析了該算法的實現原理和過程,并給出了該算法在文件加解密過程實現的關鍵代碼。
Abstract:
Key words :

摘  要: 介紹了高級加密標準Rijndael算法的背景和特點,深入研究和分析了該算法的實現原理和過程,并給出了該算法在文件加解密過程實現的關鍵代碼。
關鍵詞: Rijndael算法;狀態;密鑰

1 Rijndael算法的背景
 AES(Advanced Encryption Standard)是美國聯邦標準局于1997年開始向全世界征集的加密標準[1],屬于對稱加密算法,代表了當今最先進的編碼技術,最終獲勝的是RijnDael算法。統計顯示,即使使用目前世界上運算速度最快的計算機,窮盡128 bit密鑰也需要幾十億年的時間,更不用說去破解采用256 bit密鑰長度的AES算法了。
 Rijndael算法由比利時計算機科學家Vincent Rijmen和Joan Daemen開發,它使用128 bit、192 bit、256 bit的密鑰長度,比56 bit的DES更健壯可靠[3]。美國國家標準技術研究所選擇Rijndael作為美國政府加密標準AES的加密算法,取代早期的數據加密標準DES[1]。Rijndael作為一種迭代分組加密算法,其數據塊長度和密鑰長度均是可變的,因此它匯聚了強安全性、高性能、高效率、易用、靈活等優點被廣泛應用在各個領域中。
2 Rijndael算法的設計原理
 Rijndael作為加密標準AES算法,其128 bit輸入分組用以字節為單位的矩陣方陣描述[4]。該數組被復制到State數組。數據塊長度、密鑰長度可以被設定為128 bit、192 bit、256 bit三個可選長度,相應的加密輪數分別為10、12、14,每一輪循環都有一個循環密鑰,它來自于初始密鑰。
2.1 Rijndael算法的加密流程
 加密過程分為四個階段:密鑰擴展、輪密鑰加、Nr-1(128 bit、192 bit、256 bit密鑰長度,Nr分別為10、12、14)輪變換及最后一輪變換。輪變換包括字節代換、行移位、列混淆和輪密鑰加四個過程,最后一輪變換包括字節代換、行移位和輪密鑰加三個過程。其流程圖如圖1所示。
 (1)狀態:指明文分組及每次變換的中間結果[4],是一個4×Nb的矩陣,Nb為數據塊長度除以32。
 (2)字符代換:用一個簡單的查表操作代替了基于矩陣乘法的復雜仿射變換。S盒是一個16×16字節矩陣,包含8 bit值所能表達的256種可能的變換。把Statc中每個字節的高4位作為行值,低4位作為列值,取出S盒中對應行列的元素作為新的字節輸出。

2.2 解密過程
 Rijndael解密過程是加密的逆過程,每輪循環中的步驟都被它們的逆所替換,值得注意的是:循環密鑰使用起來應該顛倒次序。
3  Rijndael算法的應用
 Rijindael算法常被用于文件的加解密過程,加密時先將讀入的明文依次分組,用加密密鑰將明文加密后寫入文件中;解密時用解密密鑰將文件中的密文解密后將明文寫入結果文件中。
3.1 Rijindael算法在文件加解密應用的實現

 


 try
{// 創建新的Rijndael 對象以產生Key和IV
Rijndael RijndaelAlg= Rijndael.Create();
 //需要加密的字符串及保存的文件名
string sData = "Here is some data to encrypt.";
string FileName = "CText.txt";
            //利用Key和IV加密字符串到文件中
EncryptTextToFile(sData,FileName,RijndaelAlg.Key, RijndaelAlg.IV);      //利用Key和IV從文件中解密
string Final=DecryptTextFromFile(FileName, RijndaelAlg.Key, RijndaelAlg.IV);
     Console.WriteLine(Final);  //顯示密碼
}
catch (Exception e)
 {
 Console.WriteLine(e.Message);
 }
3.2加密模塊實現
 public static void EncryptTextToFile(String Data, String FileName, byte[] Key, byte[] IV)
{
 try
{//創建文件
FileStream fStream=File.Open(FileName, FileMode.OpenOrCreate);
//創建新的Rijndael對象
 Rijndael RijndaelAlg=Rijndael.Create();
//創建加密流,以passed key 和initialization vector (IV)填充
 CryptoStream cStream = new CryptoStream(fStream,
RijndaelAlg.CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
 //用加密流創建StreamWriter
 StreamWriter sWriter = new StreamWriter(cStream);
 try
 { //加密
 sWriter.WriteLine(Data);
 }
 catch (Exception e)
 {
Console.WriteLine("An error occurred:{0}",e.Message);
 }
 finally
 {
 sWriter.Close();
 cStream.Close();
 fStream.Close();
 }
 }
 catch (CryptographicException e)
 {
 Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
 }
 catch (UnauthorizedAccessException e)
 {
 Console.WriteLine("A file error occurred: {0}", e.Message);
 }
 }
3.3 解密模塊的實現
public static string DecryptTextFromFile(String FileName, byte[] Key, byte[] IV)
  {
 try
 { //創建文件流
 FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);
 //創建新的Rijndael對象
 Rijndael RijndaelAlg = Rijndael.Create();
 //創建加密流,以passed key和initialization vector (IV)填充
 CryptoStream cStream = new CryptoStream(fStream,
RijndaelAlg.CreateDecryptor(Key, IV),
CryptoStreamMode.Read);
 //用加密流創建StreamWriter
 StreamReader sReader = new StreamReader(cStream);
 string val = null;
 try
 {  //解密
val = sReader.ReadLine();
 }
 catch (Exception e)
 {
Console.WriteLine("An error occurred:{0}",e.Message);
 }
 finally
 {  
 sReader.Close();
 cStream.Close();
 fStream.Close();
 }
return val; //返回密碼結果
}
 catch (CryptographicException e)
  {
 Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
 return null;
  }
 catch (UnauthorizedAccessException e)
  {
 Console.WriteLine("A file error occurred:{0}", e.Message);
 return null;
   }
    }
 Rijndael算法一直經受著世界各國密碼機構和專家的攻擊,最有名的當屬Squre攻擊[4]。目前Rijndael算法已被廣泛應用于身份認證、數字簽名、數據加密等方面,由于硬件的加解密速度要比軟件快,且可在物理上保證系統安全,國內很多單位用硬件的方法來實現該算法。
參考文獻
[1] 段鋼.加密與解密(第3版)[M].北京:電子工業出版社,2008.
[2] 馮登國.信息安全中的數學方法與技術[M].北京:清華大學出版社,2009.
[3] Http://zhidao.baidu.com.
[4] DAEMEN J, RIJMAN V.高級加密標準算法(AES)—Rijndael的設計[M].谷大武,徐勝波譯.北京:清華大學出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区视频在线看| 中文av一区特黄| 国产精品黄页免费高清在线观看| 蜜臀久久久99精品久久久久久 | 亚洲综合色婷婷| 99精品福利视频| 99精品热6080yy久久| 亚洲免费观看高清完整版在线观看熊 | 欧美在线播放一区| 午夜在线电影亚洲一区| 亚洲一区二区三区精品动漫| 一区二区国产精品| 亚洲视频专区在线| 亚洲综合精品一区二区| 亚洲欧美国产日韩天堂区| 亚洲午夜av在线| 午夜精品久久久| 欧美在线观看天堂一区二区三区| 欧美有码视频| 久久噜噜亚洲综合| 美日韩在线观看| 欧美日本亚洲| 国产精品久久久99| 国产日本欧美一区二区| 激情成人在线视频| 亚洲国产精品一区在线观看不卡 | 最新中文字幕亚洲| 日韩性生活视频| 亚洲一区在线免费| 欧美一区二区三区免费观看| 久久久久www| 欧美激情一区二区三区蜜桃视频| 欧美日韩精品一本二本三本| 国产精品欧美日韩一区| 国产一区二区久久久| 亚洲国产精品va在线看黑人动漫| 亚洲精品影院| 亚洲欧美清纯在线制服| 亚洲国产精品日韩| 亚洲午夜久久久久久久久电影院| 欧美一级淫片aaaaaaa视频| 久久亚洲国产精品一区二区| 欧美日韩国产成人高清视频| 国产精品一区二区视频| 一色屋精品视频免费看| 99精品热视频| 欧美专区日韩专区| 一本一本a久久| 久久精品欧美日韩精品| 欧美极品色图| 国产欧美高清| 91久久久亚洲精品| 亚洲欧美日韩网| 最新国产精品拍自在线播放| 亚洲欧美激情一区| 牛牛影视久久网| 国产精品亚洲一区| 亚洲福利在线观看| 亚洲欧美制服另类日韩| 一本综合久久| 久久综合影视| 国产精品女人网站| 亚洲国产一成人久久精品| 亚洲综合不卡| 一区二区三区 在线观看视| 久久久久久久欧美精品| 欧美三级在线视频| 一区二区三区在线免费播放| 一区二区三区回区在观看免费视频| 久久er精品视频| 亚洲一区亚洲| 欧美成人精品不卡视频在线观看| 欧美精品在线一区二区三区| 亚洲美女黄色| 久久成人精品| 亚洲永久免费视频| 欧美成人乱码一区二区三区| 国产欧美日韩在线观看| 亚洲毛片av| 亚洲国产日韩欧美| 欧美一区2区三区4区公司二百| 欧美国产一区二区| 国内精品国产成人| 亚洲专区欧美专区| 国产精品99久久久久久久女警| 久久五月激情| 国产精品视频导航| 妖精视频成人观看www| 亚洲精品日韩在线观看| 久久久欧美一区二区| 国产精品久久久久久一区二区三区| 亚洲欧洲一区二区天堂久久| 亚洲高清视频一区| 久久久国产精品亚洲一区| 国产精品99免费看| 亚洲九九精品| 亚洲伦理一区| 葵司免费一区二区三区四区五区| 国产精品一页| 亚洲影院色无极综合| 亚洲一区黄色| 欧美日韩一区二区三区四区在线观看| 在线观看成人小视频| 欧美一区二区三区在线视频| 欧美一站二站| 国产欧美精品日韩区二区麻豆天美 | 午夜精品福利视频| 亚洲欧美一区二区原创| 国产精品v片在线观看不卡| 日韩午夜激情| 亚洲视频视频在线| 欧美四级伦理在线| aa国产精品| 亚洲永久免费精品| 国产精品久久久久77777| 亚洲免费不卡| 亚洲视频在线二区| 欧美日韩在线观看视频| 一本久久综合亚洲鲁鲁五月天| 亚洲视频一区二区| 国产精品v日韩精品v欧美精品网站| 亚洲美女av网站| 亚洲一品av免费观看| 国产精品九九| 亚洲免费视频成人| 久久精品日韩| 伊人一区二区三区久久精品| 亚洲国产另类久久精品| 欧美aaa级| 亚洲精品免费一区二区三区| 一区二区日韩| 国产精品久久久久久户外露出| 亚洲一区二区综合| 久久精品二区三区| 在线日本欧美| 一区二区三区日韩欧美精品| 国产精品毛片a∨一区二区三区|国 | 亚洲精品韩国| 亚洲一区二区在线免费观看视频| 亚洲精品网站在线播放gif| 欧美精品久久99| 日韩视频一区二区三区| 亚洲女爱视频在线| 国产一区二区三区不卡在线观看 | 亚洲精品123区| 中文日韩电影网站| 国产精品一区2区| 久久gogo国模裸体人体| 欧美成人一区二区三区片免费| 99国产精品久久久久老师| 欧美一级视频| 伊人色综合久久天天五月婷| 夜夜精品视频一区二区| 国产精品热久久久久夜色精品三区| 欧美一级片在线播放| 欧美高清成人| 亚洲午夜在线视频| 久久综合影视| 一区二区三区四区蜜桃| 久久亚洲一区| 99国产精品久久久久久久久久| 久久超碰97中文字幕| 在线不卡视频| 亚洲欧美日韩综合| 亚洲高清视频中文字幕| 亚洲欧美不卡| 亚洲二区免费| 羞羞色国产精品| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久爱www| 欧美日韩一区二区三区在线观看免| 欧美一级片久久久久久久| 99国产精品私拍| 欧美日韩国产123区| 亚洲欧美日韩精品| 欧美国产日韩视频| 午夜日韩电影| 久久久噜噜噜久噜久久| 亚洲美女精品久久| 久久嫩草精品久久久久| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲国产成人在线视频| 性色av一区二区三区在线观看| 亚洲国产精品成人| 性伦欧美刺激片在线观看| 亚洲国产精品成人久久综合一区 | 国产日韩欧美日韩| 日韩午夜在线播放| 国产一区91| 亚洲在线国产日韩欧美| 亚洲国产精品ⅴa在线观看| 欧美影院午夜播放| 日韩午夜av| 欧美成人免费大片| 久久aⅴ国产欧美74aaa| 国产精品国产三级国产a| 亚洲精品美女在线观看播放| 国产一区二区主播在线| 亚洲综合三区| 亚洲另类视频|