《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于AES的可重構加密系統的FPGA設計
基于AES的可重構加密系統的FPGA設計
楊 斐1,彭 鵬2
(1.湖北理工學院 計算機學院,湖北 黃石 435003; 2.東南大學 軟件學院,江蘇 南京 210096)
摘要: 針對傳統軟件加密方法在速度和資源消耗上的不足,提出了基于AES高級加密標準的硬件設計方案。采用了目前流行的EDA技術,在FPGA芯片上實現一種可重構的加密系統,利用硬件描述語言實現加密算法中的移位、S盒置換函數、線性反饋移位寄存器等功能,設計輸入、模型綜合、布局布線、功能仿真都在Altera公司的Quartus II開發平臺中完成,產生的下載文件通過Cyclone系列的FPGA芯片進行測試。實驗結果表明,該系統具有獨特的物理安全性和高速性。
Abstract:
Key words :


0 引言

  隨著計算機網絡和嵌入式系統的快速發展,信息安全已成為廣大用戶關注的重點,而加密技術作為信息安全的利器,正發揮著重要的作用。加密系統目前已廣泛應用在安全電子支付、金融智能卡、身份識別、生物特征識別、電子護照和可信計算等安全領域。傳統的加密方法是通過在主機上運行加密軟件來實現的,不僅占用主機資源,而且速度較慢。因此,基于芯片級的硬件解決方案成為保證信息安全的最可靠的途徑,把所有關鍵數據的存儲、運算都通過硬件實現,不占用主機資源,速度快、安全性高、成本低。以FPGA為代表的可重構硬件既具有物理安全性和高速性,又有軟件的靈活性和易維護性[1],已經成為加密算法硬件實現的研究熱點。

  本文研究的是加密算法的一種可靠的、高效的硬件實現方案,采用了目前流行的電子設計自動化技術(Electronic Design Automation,EDA),在現場可編程門陣列(Field Programmable Gate Array,FPGA)上實現一種可重構的加密系統,提出一種基于可重組體系結構的設計原理和方法,該方法使得用戶通過編程來改變芯片內部的電路結構,以匹配不同的加/解密算法,從而支持不同的加/解密算法在同一塊FPGA芯片上的實現,以提高密碼芯片的安全性和靈活性。

1 開發工具介紹

  1.1 QuartusⅡ開發軟件簡介

  QuartusⅡ是Altera公司推出的新一代開發軟件,適合于大規模邏輯電路設計。它支持圖形編輯輸入法、基于硬件描述語言的文本編輯輸入法以及內存編輯輸入法等多種設計方法。作為一種可編程邏輯的設計環境,其強大的設計能力已經成為廣大設計人員首選的開發工具。本設計采用的是Quartus II 9.0版本作為開發平臺。

  1.2 FPGA簡介

  1.2.1 工作原理

  FPGA是目前應用最廣泛的通用可重構器件,是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物,作為專用集成電路(ASIC)領域中的一種半定制電路而出現,既解決了定制電路的不足,又克服了原有可編程器件門電路數量有限的缺點。

  1.2.2設計流程

  基于EDA技術的FPGA設計流程如下[2]:

 ?。?)設計輸入:包括原理圖輸入法和HDL語言輸入法。

 ?。?)綜合:依據給定的硬件結構和約束條件進行編譯、優化、轉換和綜合,以獲得門級電路甚至更底層的網表文件。

 ?。?)適配:將網表文件配置于指定的目標器件中,使之產生最終的下載文件。

  (4)仿真:讓計算機根據一定的算法和仿真庫,對EDA設計進行模擬,以驗證設計,排除錯誤。

 ?。?)編程下載:將適配生成的下載文件,通過編程器或編程電纜向FPGA芯片下載,以便進行硬件調試和驗證。

 ?。?)硬件測試:將載入了設計的硬件系統進行統一測試。

2 AES算法基本原理

  AES(Advanced Encryption Standard,AES)是密碼學中的高級加密標準,又稱Rijndael加密法,代替了原先的DES算法,成為目前對稱密鑰加密中最流行的算法之一。AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,并且用128 bit即16 B分組加密數據和解密數據,通過分組密碼返回的加密數據的位數與輸入數據的位數相同。迭代加密使用一個循環結構,在該循環中重復置換和替換輸入的數據。大致步驟如下:(1)密鑰擴展(KeyExpansion);(2)初始輪(Initial Round);(3)重復輪(Rounds),共9輪且每一輪又包括字節替代、行位移、列混淆、輪密鑰加;(4)最終輪(Final Round)[3]。

  以10輪算法為例,前9輪結構相同,除了第10輪由字節變換、行移位變換、輪密鑰加3步組成外,其他9輪都由字節變換、行移位變換、列混淆變換、輪密鑰加4步構成。

 ?。?)SubBytes變換

  在AES算法中,SubBytes變換是唯一的基于S盒的非線性置換,輸入字節按照如下方式映射為一個新的字節:把該字節的低4位作為列值,高4位作為行值,在S盒中找到對應行列號的元素作為輸出。所以S盒的性質直接決定了整個算法的成敗。SubBytes變換的逆變換是InvSubBytes,它是通過建立并查找逆S-盒來實現的。

 ?。?)ShiftRows變換

  ShiftRows變換即行移位,將某個字節從一列移到另一列中,移位的線性距離是4 B的倍數,這種轉換在一定程度上確保了某列中的4 B被擴展到了4個不同的列中。解密中ShiftRows的逆變換是InvShiftRows。

 ?。?)MixColumns變換

  列混淆變換MixColumns實現的是逐列混合,符合以下變換公式:

  s′(x)=c(x)·s(x)mod(x4+1)(1)

  其中,c(x)={03}x3+{02}x2+{01}x+{01}

  列混淆變換的系數{01}、{02}、{03}是基于AES算法的執行效率考慮的,這些系數的乘法需涉及一次移位和一次異或運算。

 ?。?)AddRoundKey變換

  輪密鑰加變換用于將輸入或中間態S的每一列,與一個密鑰字ki進行按位異或,即:

  AddRoundKey(S,ki)=S?茌ki(2)

  式(2)中ki由原始密鑰k通過密鑰擴展算法產生[4]。在解密過程中,AddRoundKey變換是自身的逆。

3 AES算法的硬件設計

  AES算法中各運算部件都具有良好的統計特性,并行執行能力強,加、解密執行速度快,效率高。由于算法本身不需要繁瑣的乘法運算,所有運算部件都可以通過查找表和組合邏輯來實現,使得AES算法的硬件實現方案成為可能。因此,本文采用FPGA芯片來進行設計和測試。

  根據AES算法的基本原理和結構,結合自頂向下的設計步驟,將整個加解密系統分成4個相對獨立的子模塊,即接口模塊、控制單元模塊、加解密運算模塊和密鑰擴展模塊??傮w結構如圖1所示。

001.jpg

  3.1 接口模塊

  明文和密鑰被輸入接口模塊分別傳送到加解密運算模塊和密鑰擴展模塊。因為明文和密鑰輸入都要求是128 bit,為避免整個模塊輸入/輸出端口過于繁雜,分別使用4個32位的數據寄存器,在時鐘的控制下,每次輸入一組數據,需要利用4個時鐘周期得到128 bit的數據,并進行串并轉換。顯然這種方法可大大減少硬件資源的消耗。解密運算結果由輸出接口模塊輸出,利用并串轉換在4個時鐘周期后得到結果。

  3.2 控制模塊

  控制模塊負責啟動加解密運算模塊和密鑰擴展模塊工作,在時鐘脈沖控制下,控制模塊產生信號以控制加解密模塊中的SubBytes、ShiftRows、MixColumns、AddRoundKey各部件有序工作。信號的控制由狀態機實現,每一次輸入新的明文或密鑰時,動作是否完成由狀態機的信號來進行判斷。狀態機信號為忙狀態,表示加/解密運算正在進行,需等待;信號為空閑狀態,則加/解密運算已完成,加解密運算模塊與密鑰擴展模塊啟動,分別接收原始明文和密鑰,開始新一組數據的加解密運算。

  3.3 加解密運算模塊

  為了盡可能減少硬件資源的消耗,采用基本迭代反饋方式,只用一個輪變換模塊進行迭代,在10個時鐘周期內完成一個分組運算。

  用VHDL語言中的元件例化語句描述出各子模塊之間連線關系,部分代碼如下:

  addkey1:addroundkey port map(regout0,reg10(0),data0);

  sbox1:sbox4word port map(clk1,contr1,sboxout1);

  shiftrow1:shiftrow port map(sboxout1,shiftout1);

  mixcolumn1:mixcolumn port map(shiftout1,mixout1);

  在加解密運算模塊中,要盡可能地使用時序邏輯,以保證每個元件的輸出信號是穩定的,從而避免毛刺現象的產生,以提高整個系統的可靠性。

  3.4 密鑰擴展模塊

  AES算法中每一輪的操作都包括與當前輪的輪密鑰進行輪密鑰加的操作。除第一輪的密鑰為初始密鑰外,其他每一輪的輪密鑰都是由子密鑰擴展而成的,也稱為擴展密鑰[5]。密鑰擴展模塊負責通過輸入的初始密鑰生成每一輪輪變換所需要的輪密鑰。采用流水線方式進行設計,即輪密鑰的生成與加密過程中的輪變換并行完成,在進行某一輪輪變換的同時,也生成了下一輪的128 bit輪密鑰。以此類推,在分組進行第k輪(k<10)運算時,并行計算第k+1輪所需的輪密鑰[6]。由于這種流水線方式采用了時間并行技術,大大提高了加密速度,節省了FPGA芯片的存儲器資源,是一種可行的方案。

4 仿真分析

  本文實驗環境為Intel Core 2.0 GHz,2 GB內存,Windows 7操作系統,系統元件設計采用VHDL語言和原理圖方法,在Quartus II 9.0環境下進行綜合、適配和仿真,最終的硬件載體是CycloneIII系列的FPGA芯片,型號為EP3C40F780C8。圖2是本系統的仿真波形圖。

  輸入128 bit明文datain為:

  A3189A2E307342F6D885E7984225A608

  輸入128 bit密鑰key為:

  EA7A11B0D4FCC8156A8A1F15CB8AE72A

  輸出128 bit密文dataout為:

  CD1F819100BA2784BF2D3B85297DC99F

002.jpg

  從得到的仿真數據可以看出,輸出的密文數據正確、有效,驗證了本文中利用FPGA實現的加密算法能夠有效地運行。

5 結論

  本文介紹了基于AES標準加密算法的FPGA設計方案,通過QuartusII軟件平臺實現對AES算法的設計與仿真,并進行加密驗證,將低成本、低功耗的FPGA芯片作為最終硬件載體,該芯片具有高速并行處理能力和可重構能力。結果表明,用硬件實現加密算法并且封裝到芯片中,不易被外部攻擊者讀取或更改,有較高的物理安全性,且能最大化加密速度和最小化電路面積,利用諸如流水線和查找表等優化技術,可極大地提高系統效率。利用該加密算法所設計出來的加密系統以其可重構性、高性能、低功耗的優勢,勢必在信息安全市場上取勝。

參考文獻

  [1] 趙峰,馬迪明,孫煒.FPGA上的嵌入式系統設計[M].西安:電子科技出版社,2008.

  [2] 潘松.EDA技術實用教程[M].北京:科學出版社,2005.

  [3] 孫瑜.基于FPGA的數據加解密系統設計[D].大連:大連海事大學,2010.

  [4] Dong Xiaoli, Hu Yupu, Wei Yongzhuang, et al. A new method for meet-in-the-middle attacks on reduced AES[J]. China Communications, 2011(8):21-25.

  [5] 韓津生,林家駿,周文錦,等.基于FPGA的AES核設計[J].計算機工程與科學,2013,35(3):80-84.

  [6] 張慧,汪烈軍,于海濤,等.基于可編程器件的Rijndael加密算法優化實現[J].新疆大學學報(自然科學版),2013,30(4):455-459.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久噜噜噜精品国产亚洲综合| 亚洲一区二区三区精品动漫| 国产日韩欧美91| 91久久极品少妇xxxxⅹ软件| 亚洲夜晚福利在线观看| 一区二区三区产品免费精品久久75| 性欧美长视频| 久久免费精品视频| 亚洲乱码精品一二三四区日韩在线| 免费久久99精品国产| 欧美aⅴ一区二区三区视频| 午夜精品美女久久久久av福利| 狠狠色综合网站久久久久久久| 欧美日韩亚洲综合| 亚洲欧洲av一区二区| 国产日韩精品电影| 香蕉国产精品偷在线观看不卡| 亚洲电影免费观看高清完整版在线观看| 国产精品国产三级国产普通话蜜臀| 一本色道久久88综合亚洲精品ⅰ| 亚洲第一中文字幕| 亚洲高清在线视频| 国色天香一区二区| 欧美一区二区国产| 国产日韩一区二区三区| 午夜精品在线观看| 美女啪啪无遮挡免费久久网站| 国内成人自拍视频| 亚洲一区二区三区午夜| 国产精品一页| 亚洲视频第一页| 国产精品视频专区| 国产精品久久久久婷婷| 国产伦精品一区二区三区免费迷| 免费成人av在线看| 欧美福利视频在线观看| 欧美国产第二页| 欧美日韩在线播放一区二区| 在线亚洲一区| 亚洲国产精品福利| 午夜精品久久久久久久久久久久| 国产精品99久久不卡二区| 欧美黄色大片网站| 久久久久国产精品一区| 欧美精品在线一区二区| 亚洲亚洲精品三区日韩精品在线视频| 国产亚洲福利一区| 欧美一区二区三区四区高清| 久久久久久伊人| 亚洲人成网站影音先锋播放| 免费亚洲电影在线| 欧美日韩一区综合| 国产精品swag| 夜夜嗨av一区二区三区中文字幕| 中日韩视频在线观看| 欧美91精品| 国产一区二区三区四区| 久久久久久久999精品视频| 国产精品一区久久久| 亚洲国产精品一区二区三区| 欧美不卡在线视频| 一本大道av伊人久久综合| 欧美一级在线亚洲天堂| 国产一区清纯| 嫩模写真一区二区三区三州| 欧美三级视频在线观看| 久久网站免费| 欧美日韩精品一区视频| ●精品国产综合乱码久久久久| 久久久久久成人| 欧美日韩国产综合在线| 久久久久欧美| 亚洲天堂免费观看| 久久天堂成人| 国产精品福利在线观看网址| 国产精品丝袜xxxxxxx| 欧美精品一区二区精品网| 国产精品一区二区三区免费观看| 一本色道**综合亚洲精品蜜桃冫| 国产精品美女久久久久久久| 午夜精品美女自拍福到在线| 久久av一区| 韩国美女久久| 久久成人羞羞网站| 99国产精品久久| 欧美成人在线网站| 欧美日韩国产精品专区| 久久一区二区三区超碰国产精品| 亚洲日本中文字幕免费在线不卡| 欧美三级在线视频| 亚洲国产精品久久久久秋霞蜜臀| 亚洲小视频在线| 国产手机视频一区二区| 国产精品日日摸夜夜摸av| 欧美少妇一区二区| 在线观看91精品国产入口| 欧美综合二区| 先锋影音久久久| 欧美成人乱码一区二区三区| 激情亚洲一区二区三区四区| 国产婷婷色一区二区三区在线| 国产区日韩欧美| 午夜精品久久久久久久99樱桃| 久久国产99| 亚洲福利电影| 国产精品成人免费视频| 国产精品高潮呻吟视频| 亚洲性线免费观看视频成熟| 亚洲欧美日韩一区二区三区在线观看| 欧美私人啪啪vps| 久久久久九九视频| 国产欧美日韩亚洲| 欧美精品色一区二区三区| 亚洲美女在线国产| 亚洲天堂成人在线观看| 午夜国产精品影院在线观看| 在线观看视频欧美| 久久国产精品色婷婷| 在线播放豆国产99亚洲| 欧美成ee人免费视频| 国产欧美一区二区色老头| 欧美网站大全在线观看| 欧美日韩国产经典色站一区二区三区| 欧美激情精品久久久久久变态| 在线视频你懂得一区二区三区| 一区二区三区四区五区视频| 欧美日韩免费一区二区三区视频| 亚洲精品自在在线观看| 亚洲国内高清视频| 99这里有精品| 国产精品久久久久9999吃药| 国产精品久久久久久户外露出| 国产女主播视频一区二区| 免费久久精品视频| 亚洲乱码视频| 欧美日韩亚洲高清| 亚洲影院在线| 欧美日韩久久精品| 亚洲欧美日韩一区二区三区在线| 久久精品72免费观看| 国产精品v欧美精品v日本精品动漫| 亚洲图片欧美日产| 亚洲国产91| 欧美精品v国产精品v日韩精品| 麻豆av一区二区三区久久| 欧美3dxxxxhd| 欧美性jizz18性欧美| 久久国产精品亚洲va麻豆| 欧美一区二区三区四区夜夜大片| 久久aⅴ乱码一区二区三区| 亚洲人成小说网站色在线| 99伊人成综合| 在线观看精品视频| 欧美成人精品一区二区| 国产精品视频99| 欧美午夜精品一区二区三区| 久久成人综合视频| 亚洲欧美在线视频观看| 亚洲欧美成人| 欧美人交a欧美精品| 亚洲制服丝袜在线| 亚洲精品日韩在线| 亚洲天堂视频在线观看| 国产欧美日韩麻豆91| 亚洲激情在线观看| 亚洲人成欧美中文字幕| 欧美日韩亚洲一区三区| 伊甸园精品99久久久久久| 久久国内精品自在自线400部| 一区二区三区四区五区在线| 乱人伦精品视频在线观看| 99视频精品全国免费| 欧美日韩网址| 欧美激情视频在线免费观看 欧美视频免费一| 国产一区自拍视频| 噜噜噜91成人网| 激情成人av| 99一区二区| 国产精品一区二区女厕厕| 91久久精品国产91久久性色tv| 欧美激情网站在线观看| 国产亚洲二区| 国产精品视频免费一区| 亚洲美女免费精品视频在线观看| 欧美精品一区二区三| 国产欧美精品xxxx另类| 欧美亚洲一区二区在线| 欧美黄色网络| 亚洲精品综合精品自拍| 麻豆精品精品国产自在97香蕉| 欧美黄色小视频| 一区二区三区欧美亚洲| 欧美精品三级在线观看| 玖玖视频精品| 欧美国产日韩亚洲一区| 国产精品稀缺呦系列在线| 欧美在线3区| 国产一区在线播放| 亚洲女同精品视频| 国产精品分类| 亚洲欧美日韩久久精品| 欧美精品九九| 久久精品二区亚洲w码| 欧美日韩国产丝袜另类| 在线日韩中文字幕| 在线精品视频一区二区三四| 久久九九热免费视频| 国模 一区 二区 三区| 久久亚洲一区二区三区四区| 欧美日韩综合在线免费观看| 香蕉免费一区二区三区在线观看| 欧美激情精品久久久久久蜜臀| 久久精品91久久香蕉加勒比| 欧美日韩在线播放| 欧美va亚洲va香蕉在线| 国产亚洲aⅴaaaaaa毛片| 亚洲欧美日韩另类精品一区二区三区| 欧美在线观看视频一区二区三区| 欧美精品v日韩精品v国产精品| 乱人伦精品视频在线观看| 亚洲国产精品视频| 欧美日韩在线三级| 久久综合福利| 久热精品视频| 欧美一级播放| 欧美在线播放一区| 欧美日韩精品不卡| 亚洲欧美国产另类| 一色屋精品视频在线看| 久久se精品一区精品二区| 欧美三级电影精品| 在线电影欧美日韩一区二区私密| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品爽爽ⅴa在线观看| 91久久精品国产91久久性色| 亚洲理论在线观看| 日韩视频专区| 久久综合久久综合这里只有精品| 日韩午夜av在线| 一区二区三区四区国产| 亚洲免费在线看| 亚洲精品护士| 欧美精品v日韩精品v国产精品| 欧美日韩一区二区在线播放| 久久中文久久字幕| 欧美一区二区三区播放老司机| 久久嫩草精品久久久精品| 午夜久久久久| 老司机免费视频一区二区三区| 久久精彩免费视频| 牛牛精品成人免费视频| 国产日本欧美在线观看| 亚洲欧美国产高清va在线播| 老鸭窝毛片一区二区三区| 欧美激情2020午夜免费观看| 亚洲免费av电影| 亚洲午夜小视频| 欧美丰满少妇xxxbbb| 亚洲日本乱码在线观看| 欧美成人激情视频免费观看| 久久视频在线视频| 久久久精品国产99久久精品芒果| 免费精品99久久国产综合精品| 国产精品久久久久久久久动漫| 亚洲视频专区在线| 亚洲精品一区二区三区婷婷月| 欧美中文字幕在线观看| 欧美日韩mv| 亚洲视频在线看| 久久久久久网址| 一色屋精品视频在线看| 欧美日韩久久久久久| 亚洲一区国产视频| 久久aⅴ国产紧身牛仔裤| 亚洲小说欧美另类社区| 亚洲国产高清自拍| 在线免费观看视频一区| 午夜精品剧场| 久久av最新网址| 欧美午夜电影在线观看| 国产精品一区二区三区免费观看| 久久香蕉国产线看观看av| 久热爱精品视频线路一| 国产精品分类| 免费欧美日韩国产三级电影| 欧美香蕉大胸在线视频观看| 久久久久久久久久久久久9999| 国产精品综合不卡av| 亚洲色图制服丝袜| 亚洲一区二区四区| 日韩天堂在线观看| 久久一区二区三区超碰国产精品| 99这里有精品| 亚洲国产另类 国产精品国产免费| 欧美三级免费| 欧美jizzhd精品欧美喷水| 欧美一区二区视频97| 亚洲一区二区三区视频播放| 极品裸体白嫩激情啪啪国产精品| 猫咪成人在线观看| 一区二区三区日韩在线观看| 国产亚洲精品一区二区| 免费久久99精品国产自| 欧美久久九九| 亚洲欧美国产日韩中文字幕| 国产精品国产a| 欧美日韩精品一区二区三区| 一区二区三区四区在线| 国模精品娜娜一二三区| 国内外成人免费激情在线视频| 欧美日韩亚洲天堂| 你懂的国产精品永久在线| 亚洲高清激情| 欧美a级片一区| 欧美性大战xxxxx久久久| 久久综合色天天久久综合图片| 亚洲欧美日韩人成在线播放| 久久精品一区二区三区中文字幕| 午夜精品久久久99热福利| 亚洲精品国产精品乱码不99按摩| 亚洲自拍偷拍网址| 国产日韩欧美在线看| 亚洲一区二区三区精品视频| 狠狠色丁香婷综合久久| 欧美日韩国产免费| 国产精品v日韩精品v欧美精品网站| 国产精品成人一区二区网站软件| 亚洲欧美日韩网|