《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > AES算法的可配置硬件結構設計與實現
AES算法的可配置硬件結構設計與實現
賈 旭1, 李 興2
(1. 66083部隊, 北京 102488; 2. 65571部隊, 吉林 四平 136000)
摘要: 在分析AES算法的基礎上,介紹了該算法各模塊的設計實現方法,并將加解密運算結構設計為1個統一的結構。通過對密鑰生成算法的分析,將3種密鑰長度的密鑰生成算法進行了可配置設計,使該設計能夠實現加解密功能。該設計通過了FPGA仿真驗證,與傳統設計方案相比大大減小了硬件資源的消耗。
Abstract:
Key words :

摘 要: 在分析AES算法的基礎上,介紹了該算法各模塊的設計實現方法,并將加解密運算結構設計為1個統一的結構。通過對密鑰生成算法的分析,將3種密鑰長度的密鑰生成算法進行了可配置設計,使該設計能夠實現加解密功能。該設計通過了FPGA仿真驗證,與傳統設計方案相比大大減小了硬件資源的消耗。
關鍵詞: 高級加密標準; 統一加解密結構; 可配置密鑰生成結構; 現場可編程門陣列

    在信息安全領域,數據加密是一種常用且行之有效的方法。高級加密標準AES[1]算法設計簡單,便于硬件實現,是新一代的主流對稱加密算法。相對于軟件實現,硬件實現加密算法安全性好、計算速度快。本文基于FPGA提出了一種AES算法的可配置設計方法,對數據分組長度為128 bit,密鑰長度為128 bit、192 bit和256 bit的加解密運算進行了可配置結構的設計與實現。
1 AES算法介紹
 AES為迭代分組密碼算法,對待加密的明文先分組后再加密。明文長度和密鑰長度均可以為128 bit、192 bit和256 bit。根據明文長度及密鑰長度的不同組合,加密的輪數可以不同[1]。AES算法由加密、解密算法和密鑰擴展算法3個部分組成。
1.1 加/解密算法
 加密算法的每一輪由4個變換組成,依次為字節代替、行移位、列混合以及輪密鑰加。最后一輪變換與其他輪略有不同,主要是少了列混合變換。解密算法與加密算法相反,每一輪的4個變換為相應加密變換的逆變換,依次為逆字節替代變換、逆行移位變換、逆列混合變換、逆輪密鑰加。加解密算法所用子密鑰相同,只是使用的順序剛好相反。
1.2 密鑰擴展算法
    圈子密鑰是通過密鑰擴展算法從初始密鑰中獲得的,其長度等于分組長度。AES的密鑰擴展算法由密鑰擴展和密鑰選取兩部分構成。
    初始密鑰經密鑰擴展過程產生32Nb(Nr+1) bit的擴展密鑰,共包含Nb(Nr+1)=t個4字節的密鑰字(其中Nr代表迭代輪數,Nb代表數據分組數,Nk代表密鑰分組數,數據和密鑰每個分組為32  bit)。擴展后得到的全部密鑰字為:w0 w1…wt-1,前Nk個密鑰字直接由外部密鑰獲得,后續密鑰字根據初始密鑰的長度分為2種情況得到。當密鑰長度為128  bit或192  bit時,后續密鑰字wi等于其前1個字wi-1與Nk個位置之前的字wi-Nk的“異或”。對于Nk的整數倍位置的字,在“異或”之前,要對wi-1進行1次G變換。G變換的步驟為先進行1次字節循環移位,然后再做1次字節替代變換,最后再“異或”1個輪常數。當密鑰長度為256位時,如果Nk=8且i-4是Nk的整數倍,則“異或”之前對wi-1要做1次字節替代變換。
2 AES算法各模塊的設計
2.1 S盒的設計

    字節替代變換是關于字節的非線性變換,它將狀態中每1個字節非線性地變換為另1個字節,替代(S盒)是可逆的。S盒的傳統設計方法是使用VHDL語言中的CASE語句進行描述,但這樣實現的S盒將占用大量的邏輯資源,且速度較低,FPGA內部的存儲器資源得不到充分利用。為了充分利用FPGA芯片內部的存儲器資源,提高運行速度,可將替代的內容存儲到FPGA內部的存儲器中,根據輸入字節的數值進行快速的查表操作。即把輸入的8 bit待處理數據作為地址,對應的地址空間中存放字節替代后輸出的8 bit數據。對于逆S盒,可以用同樣的方法來實現。
2.2 行移位的設計
    行移位是以字節為單位進行的循環移位。由于移位位數是固定的,故可采用直接連線的方式來實現。這樣只會占用連線資源,時間僅為線上傳輸延遲,速度非常快。對于逆行移位,可以采用同樣的方法來實現。
2.3 列混合的設計
    由AES列混合變換的原理可知,列混合變換就是輸入狀態矩陣與1個系數矩陣相乘,此系數矩陣中的元素有3種,分別為16進制數01、02、03。由參考文獻[2]可知,可以利用xf(x)算法對其進行快速實現。逆列混合變換的原理類似,其系數矩陣中的元素有4種,分別為16進制數09、0e、0b、0d。同樣可利用xf(x)算法對其進行實現,只是乘數較大,需多次使用xf(x)算法,因此逆列混合較之列混合在資源消耗和運算時間上都有所增加。
2.4 密鑰加的設計
    由于本設計采用128 bit的數據分組長度,所以密鑰加的設計是將2個128 bit數作“異或”運算。因為“異或”的逆運算也為“異或”,所以解密變換的密鑰加也為2個128 bit數的“異或”。
3 加/解密運算的統一結構設計
    AES算法加/解密運算過程的相似性是進行統一結構設計的基礎。通過分析可知,加/解密運算的變換環節也存在相同或相似性,如S盒變換、行移位變換、密鑰加以及密鑰生成,這些都可作為統一結構設計的組件。
    S盒變換是該算法硬件實現時最重要的環節,其所占資源在整個算法中的比重很大,對于S盒和逆S盒,它們的輸入輸出端口都為8進8出,占用的存儲資源相同,不同的只是存儲空間中的內容。因此在設計中,可讓加/解密共用同一個S盒模塊,只是在實現加/解密運算時,對S盒中的存儲內容進行重新配置即可。S盒的重用可使消耗的硬件資源大為減少。
    對于行移位和逆行移位,其實現僅需占用連線資源,所以兩者的單獨設計不會造成邏輯資源消耗的增加。且行移位只是以字節為單位進行移位,與字節的值無關。而S盒變換只是改變字節的值,與字節的位置無關。所以兩者的執行順序可以交換。在本設計中,為了使加/解密流程更趨于相同,把解密的逆S盒與逆行移位的位置進行了交換。
    對于“異或”運算,因其逆運算就是它本身,所以在加/解密過程中,2種密鑰加運算可以用同一硬件資源來實現。
    在增加了相應的控制信號和選擇器之后,加/解密算法可歸結為同一個計算流程,如圖1所示。


    由于加/解密被歸結為同一個計算流程,因此在實現時,兩者可共用相同的控制資源。相對于單純的加密結構,本設計僅增加了逆列混合單元和部分控制資源即實現了加/解密運算的雙重功能。
4 密鑰擴展算法的可配置設計
    由算法原理可知,128 bit,192 bit及256 bit 3種密鑰長度的密鑰生成算法各不相同。128 bit密鑰長度的密鑰生成算法的每1圈流程[3]如圖2所示。192 bit密鑰長度的密鑰生成算法與之類似,只須把每輪的輸入輸出改為6路即可。


    256 bit密鑰長度的密鑰生成算法與128 bit和192 bit略有不同,即把第4路輸出經過了1個S盒變換,S盒變換的結果再與第5路“異或”,其每1圈的流程如圖3所示。


     通過對3種密鑰生成算法的分析可知,3種算法的圈函數結構存在很大的相似性,128 bit、192 bit的密鑰生成圈函數都可視為256 bit密鑰生成圈函數的一部分。因此可以通過對后者進行適當的變形,從而實現128 bit、192 bit密鑰長度的密鑰生成算法。本文通過在256 bit密鑰生成算法圈函數的基礎上添加2個必要的數據選擇器來實現128 bit與192 bit的密鑰生成算法,具體實現結構如圖4所示。


    圖中,第3路輸出和第5路輸出作為選擇器A的輸入,其輸出與第6路輸入“異或”。同理,第3路輸出與第7路輸出作為選擇器B的輸入,其輸出與最后1路輸入“異或”。選擇器A、B為32  bit的二選一多路選擇器。只須對選擇器A、B進行控制,便可靈活實現3種密鑰生成算法。若要實現256  bit密鑰生成算法,使選擇器的輸出均為上一路的輸入即可。若要實現192  bit密鑰生成算法,須使A選擇器的輸出為下一路,B選擇器的輸出為上一路。同時,圈函數的輸入與輸出應分別選取除第4路與第5路之外的其他路;若要實現128 bit密鑰生成算法,只需使B選擇器的輸出為下一路。同時圈函數的輸入與輸出分別選取第1、2、3路和最后一路。
 由以上分析可知,僅通過添加2個數據選擇器、3種密鑰生成算法便可成為1個算法,易于實現且3種算法還可共用中間結構寄存器資源、控制資源。所以相對于3種密鑰生成算法的單獨硬件結構設計,本設計所消耗的硬件資源將大大減少。
5 系統的實現與仿真
 本文采用VHDL語言對系統進行描述,采用Altera公司的Stratix系列的EP1S10F484C5器件作為算法載體,通過QuartusII 5.0對系統進行綜合、仿真并下載。根據S盒/逆S盒的內容生成內存初始化文件mif,用In-System Memory Content Editor工具對S盒的內容進行動態更新。仿真測試結果表明,相對于傳統的設計,本設計消耗的資源大為減少。表1為本設計與傳統設計在資源消耗和運行速度的比較。因為本設計在關鍵路徑上添加了必要的選擇控制單元,所以處理速度相對于傳統設計有所降低。
 本文對AES算法進行了可配置設計,在數據分組長度固定的前提下,可以根據安全等級的需要選擇不同分組長度的密鑰進行加密運算。本文設計出1個統一的加解密硬件結構,使資源消耗大為減少。由于采用了3種長度規格的密鑰,使得算法的安全級別靈活可變,用戶可根據不同的安全需求靈活選擇。在子密鑰的生成上,本文采用可配置的方式來實現3種密鑰生成算法,相對于使用不同的硬件結構實現每一種密鑰生成算法,消耗的硬件資源進一步減少。算法中S盒的實現方式決定了其具備動態更新的特性,因此算法的安全性也得到進一步增強。綜上所述,本設計非常適用于硬件資源受限且有多種安全級別需要的密碼系統。

參考文獻
[1]     National Institute of standard and technology, advanced  encryption standard[S]. FIPS197, 2001,11.
[2]     韋寶典,劉東蘇,王新梅. 優化實現研究[J].計算機工程與應用,2002(20):4-6.
[3]     高娜娜,李占才,王沁.一種可重構體系結構用于高速實現DES、3DES和AES[J].電子學報,2006,34(8):1386-1390.
[4]     張清華.算法的高效實現及其性能分析[J].計算機應用,2004,24(2):12-14.
[5]     SHIM J H, KIM D W, KANG Y K,et al. A rijndael cryptoprocessor using shared on-the-fly key scheduler[C].  ASIC,2002. Proceedings.2002.IEEE  Asia  Pacific Conference,2002,89(92):6-8.
[6]     沈涵飛,甘 萌. 加密算法在低成本FPGA上的實現[J]. 計算機工程與應用,2004(22):116-119.

此內容為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>
          欧美日韩p片| 亚洲美女av网站| 小嫩嫩精品导航| 亚洲欧洲一区二区在线播放| 欧美aⅴ99久久黑人专区| 国产精品免费福利| 亚洲日本va午夜在线影院| 在线电影国产精品| 久久免费99精品久久久久久| 在线观看成人一级片| 亚洲视频第一页| 国产九区一区在线| 免费一级欧美片在线播放| 在线精品亚洲一区二区| 久久精品一级爱片| 亚洲欧美日韩久久精品| 欧美一区二粉嫩精品国产一线天| 亚洲午夜精品久久久久久浪潮| 榴莲视频成人在线观看| 91久久精品久久国产性色也91| 国产欧美精品一区| 亚洲国产日韩一级| 久久精品国产一区二区三区免费看| 国产日韩亚洲| 国产日韩欧美在线观看| 中文高清一区| 狠狠久久亚洲欧美| 狠狠做深爱婷婷久久综合一区| 亚洲黄色毛片| 亚洲欧美日韩国产综合| 亚洲高清免费| 国产精自产拍久久久久久| 午夜精品久久久久久久99水蜜桃| 久久久精品国产一区二区三区| 国产精品成人一区二区网站软件| 亚洲影院高清在线| 久久精品亚洲热| 午夜一区二区三视频在线观看| 午夜欧美电影在线观看| 亚洲一区二区影院| 亚洲缚视频在线观看| 亚洲欧美中文另类| 久久天天躁夜夜躁狠狠躁2022| 午夜欧美精品久久久久久久| 亚洲欧美国产制服动漫| 国产精品成人一区二区网站软件| 欧美成人久久| 亚洲黄色尤物视频| 亚洲日韩欧美视频| 国产精品av一区二区| 亚洲综合色网站| 亚洲欧美国产精品va在线观看| 欧美日韩在线看| 在线观看日韩一区| 久久国内精品自在自线400部| 免费观看成人鲁鲁鲁鲁鲁视频| 久久久青草婷婷精品综合日韩| 国产一区二区三区久久久| 国产偷国产偷精品高清尤物| 午夜在线a亚洲v天堂网2018| 亚洲一区尤物| 亚洲欧洲精品一区二区三区波多野1战4| 欧美激情精品久久久六区热门| 欧美一区二区日韩一区二区| 亚洲午夜一区二区三区| 亚洲精品一区二区在线| 亚洲六月丁香色婷婷综合久久| 欧美午夜片欧美片在线观看| 亚洲免费黄色| 国产乱码精品一区二区三区五月婷| 国产精品久久久久久久久免费樱桃| 亚洲高清成人| 欧美成人精品1314www| 久久久精品国产99久久精品芒果| 欧美日韩aaaaa| 欧美亚洲一区二区三区| 亚洲激情在线视频| 国产精品久久久一本精品| 国产精品99久久久久久www| 国产欧美视频一区二区三区| 久久亚洲精品中文字幕冲田杏梨| 欧美日韩国产亚洲一区| 欧美日韩一级黄| 国内精品久久久久久久影视麻豆| 久久精品一区二区三区不卡牛牛| 136国产福利精品导航网址| 91久久久精品| 久久精品日韩一区二区三区| 在线国产亚洲欧美| 亚洲在线观看免费视频| 国产精品igao视频网网址不卡日韩| 欧美丰满少妇xxxbbb| 这里只有视频精品| 欧美激情一区二区三区在线| 欧美在线视频观看免费网站| 国产精品狼人久久影院观看方式| 欧美激情亚洲综合一区| 亚洲视频高清| 欧美午夜一区二区三区免费大片| 国产精品夜夜夜| 老司机凹凸av亚洲导航| 亚洲狼人综合| 欧美一区免费| 午夜亚洲激情| 久久精品欧美| 亚洲第一福利视频| 性做久久久久久免费观看欧美| 浪潮色综合久久天堂| 国产精品日韩在线观看| 国语自产精品视频在线看一大j8| 国产精品www.| 国产精品色午夜在线观看| 免费短视频成人日韩| 欧美美女bbbb| 亚洲一区二区三区精品在线| 亚洲欧美在线一区二区| 国产精品久久午夜| 黄色精品在线看| 免费91麻豆精品国产自产在线观看| 久久久精品网| 欧美国产视频日韩| 蜜桃av久久久亚洲精品| 在线日本高清免费不卡| 国产一区二区三区免费不卡| 久久中文字幕一区| 亚洲欧美在线另类| 亚洲欧美激情四射在线日| 另类专区欧美制服同性| 精品96久久久久久中文字幕无| 亚洲欧美国产毛片在线| 国产亚洲欧洲一区高清在线观看| 国产亚洲欧洲| 亚洲久久一区二区| 亚洲高清在线观看| 亚洲视频中文字幕| 久久精品国产第一区二区三区| 国产精品成人午夜| 亚洲伦理在线免费看| 国产精品嫩草99av在线| 亚洲视频电影图片偷拍一区| 久久久www成人免费无遮挡大片| 亚洲自拍三区| 免费观看欧美在线视频的网站| 亚洲一区精品在线| 免费不卡在线观看av| 久久精品99国产精品酒店日本| 亚洲精品久久7777| 一区一区视频| 欧美日韩一区在线播放| 国产精品美女一区二区在线观看| 一道本一区二区| 国产午夜精品久久久久久免费视| 国产精品www色诱视频| 免费看的黄色欧美网站| 欧美一区激情视频在线观看| 国产精品每日更新在线播放网址| 亚洲第一精品久久忘忧草社区| 中文高清一区| 1000部国产精品成人观看| 国产精品第一区| 欧美激情精品久久久久久| 亚洲乱码国产乱码精品精可以看| 欧美不卡三区| 国产性色一区二区| 欧美日韩成人免费| 午夜精品一区二区三区在线| 国产香蕉97碰碰久久人人| 国产精品xnxxcom| 久久免费国产| 尤物yw午夜国产精品视频明星| 在线成人免费视频| 日韩视频一区二区| 一区二区三区不卡视频在线观看| 99精品热视频只有精品10| 欧美在线播放高清精品| 亚洲精品国产品国语在线app| 亚洲国产另类精品专区| 久久综合给合久久狠狠狠97色69| 国产日韩1区| 午夜在线视频观看日韩17c| 欧美高清视频一区| 国产精品久久一卡二卡| 欧美国产高潮xxxx1819| 欧美一区二区三区在线播放| 欧美电影电视剧在线观看| 久久精品国产精品亚洲精品| 欧美69wwwcom| 欧美一区二区国产| 欧美日韩视频在线| 一区二区三区视频免费在线观看| 蜜桃av一区二区在线观看| 久久午夜羞羞影院免费观看| 亚洲国产精品悠悠久久琪琪| 欧美在线地址| 久久福利视频导航| 狠狠色噜噜狠狠狠狠色吗综合| 国产欧美日韩免费| 一区二区三区偷拍| 亚洲国产激情| 国产精品久在线观看| 久久综合久色欧美综合狠狠| 久久一区免费| 中文日韩在线视频| 亚洲国产精品精华液网站| 欧美日韩亚洲一区在线观看| 国产精品v日韩精品v欧美精品网站| 嫩草伊人久久精品少妇av杨幂| 激情久久久久| 能在线观看的日韩av| 欧美国产日韩a欧美在线观看| 激情久久久久久久久久久久久久久久| 狠狠色丁香久久婷婷综合_中| 亚洲视频一区二区在线观看| 日韩一级在线| 一区二区三区久久| 亚洲高清av在线| 久久精品久久99精品久久| 亚洲第一在线综合网站| 亚洲电影自拍| 亚洲女性裸体视频| 欧美成人性生活| 久久久之久亚州精品露出| 一区二区三区欧美成人| 欧美中文字幕在线| 国产欧美韩国高清| 国产日韩精品在线| 一本大道久久a久久精品综合| 影音先锋亚洲一区| 影音先锋亚洲视频| 亚洲国产精品悠悠久久琪琪| 欧美激情综合五月色丁香小说| 久久午夜激情| 亚洲精品男同| 亚洲午夜一二三区视频| 亚洲免费成人av电影| 久久久久久久综合色一本| 久久成人久久爱| 国产欧美日韩综合一区在线播放| 久久一二三四| 亚洲午夜精品一区二区| 国产亚洲欧美一区二区| 欧美欧美在线| 欧美电影免费观看高清完整版| 欧美手机在线视频| 亚洲免费播放| 亚洲国产精品久久久久久女王| 国产日韩在线一区二区三区| 久久久精品五月天| 久久嫩草精品久久久久| 欧美国产日本韩| 国内精品一区二区三区| 亚洲欧美日韩一区二区三区在线观看| 性欧美办公室18xxxxhd| 久久免费午夜影院| 在线看无码的免费网站| 欧美福利视频在线| 黄页网站一区| 欧美日韩精品免费看| 一卡二卡3卡四卡高清精品视频| 欧美精品久久99久久在免费线| 狠狠久久五月精品中文字幕| 国产婷婷成人久久av免费高清| 国产精品美女一区二区在线观看| 国内精品国产成人| 亚洲高清激情| 久久综合成人精品亚洲另类欧美| 久久蜜臀精品av| 亚洲在线成人| 欧美精品福利在线| 国产精品成人一区二区艾草| 亚洲无毛电影| 欧美日本韩国一区二区三区| 极品少妇一区二区三区精品视频| 欧美中文字幕不卡| 欧美一区二区三区免费大片| 好吊日精品视频| 欧美一区二区三区免费视| 久久久人成影片一区二区三区观看| 亚洲国产一区二区精品专区| 狠色狠色综合久久| 欧美不卡福利| 欧美视频一区| 久久久久久一区二区三区| 一区二区三区欧美视频| 在线观看91久久久久久| 欧美日韩综合视频| 欧美精品久久久久久久久老牛影院| 91久久久久久国产精品| 在线亚洲高清视频| 亚洲少妇中出一区| 韩国精品久久久999| 欧美激情一区二区三级高清视频| 欧美一区三区三区高中清蜜桃| 亚洲一区图片| 在线观看视频欧美| 久久免费国产精品| 香蕉成人啪国产精品视频综合网| 亚洲毛片在线| 欧美风情在线| 欧美色播在线播放| 一本色道久久88亚洲综合88| 国产欧美日韩不卡免费| 亚洲伦理中文字幕| 久久婷婷久久| 欧美自拍丝袜亚洲| 欧美在线视频全部完| 久久精品女人的天堂av| 裸体歌舞表演一区二区| 国产亚洲精品资源在线26u| 欧美日韩高清在线播放| 欧美精品九九99久久| 久久中文精品| 国产午夜精品久久| 国产精品揄拍500视频| 国产视频一区三区| 久久免费国产精品| 国产精品一区二区a| 欧美三区不卡| 99国产精品视频免费观看| 欧美va亚洲va日韩∨a综合色| 欧美在线地址| 亚洲国产日韩欧美综合久久| 欧美日韩一区在线播放| 国产午夜精品视频免费不卡69堂| 99爱精品视频| 一本色道久久综合亚洲精品按摩| 欧美v亚洲v综合ⅴ国产v| 午夜精品视频在线|